2017-05-16 15 views
0

現在、Bioconductorの「msa」パッケージを使用して複数の配列アラインメントを行っています。私はこれを使ってコンセンサス配列(msaConsensusSequence)と保存スコア(msaConservationScore)を計算しています。これは私に値である出力を与えます...R:コンセンサス出力をデータフレームに変換する

ConsensusSequence:(小文字= 20%+保全、大文字= 80%+保全、= < 20%保護)

i.llE etc (str = chr) 

ConservationScore:

221 -296 579 71 423 etc (str = named num) 

私は最初の行にそれぞれコンセンサス配列の異なる文字である列が含まれ、2番目の行が対応する保存スコアであるテーブルに変換したいと思います。

i  .  l  l E 
221 -296 579 71 423 

この問題について最善の方法をアドバイスしてください。あなたは、このようなデータフレームを取得することができますコメントで言ったことについては

おかげ ナタリー

+0

'msaConservationScore'を使ってみましたか?あなたは使用する保存マトリックスを指定することができ、あなたが求めたものとまったく同じ出力を返します –

+0

msaConservationScoreで得られる出力は、私が望むものを私に与えますが、それはベクトルとして使うことができません。私はそれをデータフレームに変換しようとすると、コンセンサスアラインメントではなく、数字だけを提供します。私は本当にrow1とのdata.frameが必要です:consensus、row2:conservation score。 データをこの形式に変換する方法を知っていますか?ありがとう – NatalieStephenson

答えて

0

data(BLOSUM62) 
alignment <- msa(mySequences) 
conservation <- msaConservationScore(alignment, BLOSUM62) 

# Now create the data fram 
df <- data.frame(consensus = names(conservation), conservation = conservation) 
head(df) 

    consensus conservation 
1   T   141 
2   E   160 
3   E   165 
4   E   325 
5   ?   179 
6   ?   71 
7   T   216 
8   W   891 
9   ?   38 
10  T   405 
11  L   204 

あなたはそれを転置する場合は次のことができます。

df <- t(df) 
colnames(df) <- 1:ncol(df) 
関連する問題