繁体   English   中英

如何按名称对 DNAStringSet 对象进行子集化?

[英]How can I subset a DNAStringSet object by name?

假设我有这个 DNAStringSet(例如)

dataset1

  A DNAStringSet instance of length 38874
        width seq names                  
    [1]  2617 GGC yellow
    [2]  4306 ACG blue
    [3]  1070 CTC red
    [4]  1870 CAC white
    [5]  3732 CAC brown
    ...   ... ...
[38870]   390 TGC black
[38871]  1970 CAG orange

我有一个包含其中一些序列名称的向量:

dataset2 <- c("blue","black","red","brown")

如何从dataset1中对那些在dataset1中具有名称的序列进行子集dataset2

DNAStringSet对象可以按名称作为子集,就像使用方括号表示法的普通 R 列表一样:

afastafile <- DNAStringSet(c("GCAAATGGG", "CCCGGGTT", "AAAGGGTT", "TTTGGGCC")) 
names(afastafile) <- c("ABC1_1", "ABC2_1", "ABC3_1", "ABC4_1")

afastafile
  A DNAStringSet instance of length 4
    width seq                       names               
[1]     9 GCAAATGGG                 ABC1_1
[2]     8 CCCGGGTT                  ABC2_1
[3]     8 AAAGGGTT                  ABC3_1
[4]     8 TTTGGGCC                  ABC4_1

nms <- c('ABC1_1', 'ABC3_1')
afastafile[nms]

  A DNAStringSet instance of length 2
    width seq                        names               
[1]     9 GCAAATGGG                  ABC1_1
[2]     8 AAAGGGTT                   ABC3_1

在您的情况下,您只需执行dataset1[dataset2]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM