使用R中的Biostrings合并单个变量中的多个序列

ogsagwnx  于 2023-01-22  发布在  iOS
关注(0)|答案(1)|浏览(122)

我有一个包含多个Biostrings序列(基因组)的R列表,每个元素包含4000个基因(序列)或更多

class(myseq)
[1] "list"

names(myseq)
 [1] "Genome-01" "Genome-02" "Genome-03"

myseq[["Genome-01"]]
DNAStringSet object of length 4368:
       width seq                                                                    names               
   [1]   516 ATGACAACTGAGCCAACAGTCATAATTGGACTGC...AACAAAAACCGTTTGCGGGTTAAGGAAAGCTGA CPLOIJDP_00001
   [2]   408 ATGTCCAACACTGAATCGATCTGCGTATCAACGC...CAGCCAGAGCGCGTGGGCGAGTTTCATTTGTAA CPLOIJDP_00002
[4367]    76 GCGACACTAGCTCAGTTGGTAGAGCGCAACCTTG...AGGTCACGAGTTCGAACCTCGTGTGTCGCTCCA CPLOIJDP_04367
[4368]    72 GGTGGAGCAGCTTGGTAGCTCGTCGGGCTCATAA...AGGTCGTCGGTTCAAATCCGGCCCCCGCAACCA CPLOIJDP_04368

等等,还有多个基因组(-02,-03...... genome-n),所以我只想从mylist中的所有基因组中提取所有序列,并生成一个包含所有序列的DNAStringSet(Biostrings)变量。

allgenes <- c(myseq[[1]], myseq[[2]], myseq[[3]])
or 
allgenes <- c(myseq[["Genome-01"]], myseq[["Genome-02"]], myseq[["Genome-03"]])

但我需要循环执行
我只是试过

allgenes <- c()
for(i in 1:length(myseq)){ 
      allgenes[i] <- myseq[[i]]
}

而且在所有基因中没有[i],但是它不起作用!!!
谢谢你的帮助!!!!

ovfsdjhp

ovfsdjhp1#

做个除名吧:

dna <- Biostrings::DNAStringSet(x=c(string1="ATCCG", string2="TTTT"), use.names = TRUE)
dna
#> DNAStringSet object of length 2:
#>     width seq                                               names               
#> [1]     5 ATCCG                                             string1
#> [2]     4 TTTT                                              string2

unlist(dna)
#> 9-letter DNAString object
#> seq: ATCCGTTTT

相关问题