0
我有一個包含2個的DNA序列(ORF)的文件(data.txt):R:如何使用'translate'函數的輸出來編寫表格?
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
]。
「不工作」是什麼意思?這兩個向量的長度不同,如果你將它們綁定在一起,這會導致警告。 – Roland
@ Ronald:「tt = do.call(rbind,t)」: .Method錯誤(...,deparse.level = deparse.level): 沒有將此S4類強制爲向量的方法 – YBC
在黑暗中:儘量不要使用't'作爲變量名稱。再試一次,但將其命名爲「t1」或其他。 – joran