假设我有这个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
中具有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]