我有一个包含2个DNA序列(ORF)的文件(data.txt):
data = readDNAStringSet(file="data.txt")
data
# A DNAStringSet instance of length 2
# width seq names
#[1] 57 ATGACCCCCACCTCCATCCCCACACTTCTATCCCGCTGCCCCGCCTCTCTCCCCTAA GPG
#[2] 54 ATGACCCATGAGCACCATGCAGCCAAAACCCTGGGAATCGGCAAAGCCATCTAG PfK
我想将它们转换为氨基酸:
t=vector(mode="list", length=length(data))
for (i in seq_along(data))
{
t[[i]]=translate(data[[i]])
}
t
#[[1]]
#19-letter "AAString" instance
#seq: MTPTSIPTLLSRCPASLP*
#[[2]]
#18-letter "AAString" instance
#seq: MTHEHHAAKTLGIGKAI*
然后写一个表并使用输出输出:
tt=do.call(rbind,t)
write.table(tt,"aa.txt",sep="\t\t")
但这些命令不起作用。我找不到问题。我怎么写表?
注意:translate
是[ seqinr
]中的函数,readDNAStringSet
是来自[ Biostrings
<的函数/强>]。
答案 0 :(得分:1)
我不知道你为什么需要 seqinr 。 Biostrings 可以满足您的一切需求。
library("Biostrings")
dna <- readDNAStringSet(file="data.txt")
aa <- translate(dna)
write.table(as.character(aa), file="aa.txt", sep="\t\t")
也许您想使用writeXStringSet
代替write.table
。