【发布时间】:2020-12-18 17:06:26
【问题描述】:
我有这个 DNAStringSet(基因组),需要将每个基因组作为一个单独的 FASTA 文件放在一个目录中,但它们仍然是长度为 1 的字符串集。每个文件的名称都连接在一个向量(名称)中,因为它们太多了我创建了这个循环:
n <- seq_len(length(names))
for(i in 1:n){
for(j in seq_len(length(names))){
writeXStringSet(genomes[i],names[j])
}
}
并返回:
Warning message:
In 1:n : numerical expression has 95 elements: only the first used
我检查了结果,文件名称正确但所有文件的顺序都是第一个。 我改变了循环:
for(i in seq_len(length(genomes))){
for(j in seq_len(length(names))){
writeXStringSet(genomes[i],names[j])
}
}
没有出现错误,但现在所有文件都包含 StringSet 的最后一个序列。
我是使用Biostrings 包的新手,我认为我不能使用lapply 或其中的任何一个,因为该对象不是列表。有什么办法可以解决这个问题,以便我可以获取所有带有相应基因组的文件?
对象示例:
> genomes
DNAStringSet object of length 2:
width seq names
[1] 47 TATAAAACACCCTCAATTCAAGGGTTTAATTTTTCACAATCATTAAA HP83
[2] 47 TAAAACACCCTCAATTCAAGGGTTTCATTTTTTAAAACTATTAAATA HPS49
[3] 47 AAAAACCTTGTTTTAGTCTTTTTTATAGATTTCATGTTCAAGTCTTC P49
>names <- c("HP83.fasta","HPS49.fasta","P49.fasta")
【问题讨论】:
标签: r loops fasta dna-sequence writefile