2017-10-22 20 views
2

私は翻訳機能で苦労しています:機能を翻訳:「エラー:シーケンスは、文字のベクトルではありません」

私は列の行列を持っていると私はなぜ翻訳機能を把握するために管理することはできませんでしょううまくいかない。ここで

は私のスクリプトです:

head(myseq) 
    [,1]                                                                                                                            
[1,] "CAATTAAGATGCAGTTACTTCGCTGTTTTTCAATATTTTCTGTTATTGCTAGCGTTTTAGCAGCTGGAGAAGTCCAGTTGGTTGAATCCGGTGGCGGGTTGGTTCAACCTGGCCGTTCCCTGCGCCTTTCTTGTGCCGCTTCAGGCTTTACCTTCGACGATTATGCCATGCATTGGGTACGCCAAGCTCCGGGCAAAGGTCTGGAATGGGTGAGTGCCATTACCTGGAATAGCGGCCACATTGACTATGCGGATAGCGTCGAAGGGCGCTTTACCATTAGCCGTGATAACGCGAAGAACAGCCTCTATCTGGACATGAACAGCTTACGTGCGGAAGATACCGCAGTGTACTATTGCGCTAAGGTCAGCTATCTGAGTACTGCCAGTTCCCTGGATTATTGGGGTCAAGGAACCCTGGTGACCGTGTCAAGCGGCGGAGGCGGTTCTGGTGGTGGAGGCAGTBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" 
[2,] "CAATTAAGATGCAGTTACTTCGCTGTTTTTCAATATTTTCTGTTATTGCTAGCGTTTTAGCAGCTGGAGAAGTCCAGTTGGTTGAATCCGGTGGCGGGTTGGTTCAACCTGGCCGTTCCCTGCGCCTTTCTTGTGCCGCTTCAGGCTTTACCTTCGACGATTATGCCATGCATTGGGTACGCCAAGCTCCGGGCAAAGGTCTGGAATGGGTGTCTGCGGCTAGTTGGAGTGGTGGCCACATCGATTATGCCGATAGCGTCGAAGGGCGCTTTACCATTAGCCGTGATAACGCGAAGAACAGCCTCTATCTGGACATGAACAGCTTACGTGCGGAAGATACCGCAGTGTACTATTGCGCTAAGGTCAGCTATCTGAGTACTGCCAGTTCCCTGGATTATTGGGGTCAAGGAACCCTGGTGACCGTGTCAAGCGGCGGAGGCGGTTCTGGTGGTGGAGGCAGTBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" 

translate(myseq[1,],frame=2,sens=F) 

Error in s2n(seq, levels = s2c("tcag")) :sequence is not a vector of chars 

私は私のパラメータをチェックする:

class(myseq[1,]) 

[1] "character" 

is.vector(myseq[1,]) 

[1] TRUE 

だから私は、私が何かを逃したが、私は何を理解することはできませんことを前提としています。

答えて

0

ソリューション:

あなたがseqinr::translateを使用している場合、あなたはs2cとあなたのDNA文字列をラップしてみてください。

myString <- "AAACCCGGGTTT" 
library(seqinr) 

# Without s2c 
translate(myString) 
Error in s2n(seq, levels = s2c("tcag")) : 
    sequence is not a vector of chars 

# With s2c 
translate(s2c(myString)) 
[1] "K" "P" "G" "F" 

説明:translate()が必要となる文字の

ベクターは"A" "A" "A" "C" "C" "C" "G" "G" "G" "T" "T" "T"ない"AAACCCGGGTTT"です。
あなたがstrsplit()を使用して、このようなベクトルを生成することができます

strsplit(myString, "") 
[[1]] 
[1] "A" "A" "A" "C" "C" "C" "G" "G" "G" "T" "T" "T" 

all(strsplit(myString, "")[[1]] == s2c(myString)) 
[1] TRUE 
+1

スーパークリアな!ありがとうございました ! –

関連する問題