0

我有一个包含 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

4

1 回答 1

1

我不知道你为什么需要seqinrBiostrings 可以满足您的一切需求。

library("Biostrings")

dna <- readDNAStringSet(file="data.txt")
aa <- translate(dna)

write.table(as.character(aa), file="aa.txt", sep="\t\t")

也许您想使用writeXStringSet而不是write.table.

于 2013-07-31T21:29:42.287 回答