2011年8月18日木曜日

アミノ酸頻度の類似性を順位相関係数を使って検証するプログラム

何か今Bloggerがメンテしてるのか、新しい方のエディタでは投稿が出来なくなってますね・・・

旧版のエディタに戻しましたので、昨日~今日の間に書きたいことが書けなかった人はどうぞ。

-------------------------------------------------

先日投稿した記事にあったとおり、ある配列とある配列間でのアミノ酸頻度パターンの類似性を検証するプログラムを作りました。

このプログラムでは、手持ちのアミノ酸配列データを入力すると、その中に含まれる全ての配列についてnC2 (nは総配列数)の組み合わせを作ります。それから、全ての組み合わせについて、二つの配列のアミノ酸頻度パターンに相関があるか、スピアマンの順位相関係数あるいはケンドールの順位相関係数を計算して調べます。

計算結果は最終的にn*nの行列として表示されます(必要なのは上三角or下三角行列だけ)。これはテキストファイルとして出力されますが、”スペース”を区切り文字とすればExcelでもテーブルとして見ることが出来ます。勿論各要素がどの配列とどの配列の組み合わせを示しているのかも表示します。

この計算結果の見方としては、自分自身との順位相関係数は1になり、1に近ければ近いほどアミノ酸頻度パターンに相関があると判断します(相関なのか類似性なのかちょっと言い方に戸惑う・・・)。同じlineageに属する配列間の順位相関係数は往々にして大きくなる傾向があります(勿論例外はありますが)。

この中で注目すべきなのは、遠く離れたlineageに属する配列間での順位相関係数が大きくなることがあるということです。distantly relatedな配列間でアミノ酸頻度が特異的に似ているということになれば、それは系統解析の際compositional biasとなって解析結果に悪影響を及ぼす可能性があります。

実際、自分の手持ちのデータを解析すると、確かにcompositional biasがあると思われる配列間で順位相関係数が特異的に大きくなっていることが検出できました。

ちなみに、どのくらい順位相関係数が大きければ”特異的に似ている”かということについては、一応無相関検定のp値を出すようにしてますが、サンプル数(この場合20)が小さいこともあり、殆ど全ての組み合わせで無相関であるとする帰無仮説が棄却されやすくなってしまうため、この値はあまり信用出来ません。なので今回については、注目している配列と他の配列との様々な組み合わせで順位相関係数の大小を比べるしかありません。

プログラムは以下に置いておきますので、万が一御入り用なら使ってください。
(さらにもし万が一研究室メンバー以外が御入り用なら僕に連絡を)
https://sites.google.com/site/memwiki/tips/puroguramingu-kankei/product

使い方は

1、Perl, R,EMBOSSの使えるUNIX環境を用意しておく。
2、ファイルをダウンロードする。
3、コマンドラインで以下のコマンドを打つ。
% perl freqcheck.pl [アミノ酸配列データのファイル名]
(*このプログラムはsequentialなPHYLIPファイルしか読み込めません)
4、プログラムがスピアマンの順位相関係数あるいはケンドールの順位相関係数どちらを使うか聞いてくるので、名前を入力する。
5、freqcheck.plと同じディレクトリに結果のファイルとしてcorrelation.txtが出力されるので、これを見る。


今回のコーディングでは支援BGMとして幽霊楽団に活躍してもらいました。やっぱZ●N曲は偉大だ。

0 件のコメント: