読者です 読者をやめる 読者になる 読者になる

ピエール瀧になりたい

備忘録として

mafftのオプション

Bioinformatics for DNA Sequence Analysis - Springer

この資料に、mafftのオプションを決める際の指針が記述してあった。

例えば、MSAに多くのinternalなギャップが入ることが予想される場合は-einsi オプション、terminalな領域にのみギャップが入ることが予想される場合は-linsiオプションを用いる、など。

最近見た映画

評価は1.0~10.0で

見た順に列挙していきます 

 

劇場

10.0 マッドマックス 怒りのデスロード 

最高。半数の人にとって人生最高の映画となり、半数の人にとって人生最低の映画となるような、それぐらい振り切った作品。マッドマックス2は見てたんだけど全くの別物だった。

 

6.5 インサイドヘッド

安定のピクサー。それ以上でも以下でもない。ピクサーのキャラは毎回、最初可愛くねぇなぁと思うんだけど最終的には可愛く見えてくる。

 

DVDなど

8.5 コワすぎ!シリーズ全作品 

1-5はニコニコ動画で、6はDVDで。

クトゥルフ神話TRPGをやっているような感じ。

超いいんだけど、ニコニコ動画でコメント付きで見ないと面白くない部分はちょっとあるかもしれない。

 

4.5 インド・オブ・ザ・デッド

ちょいちょい出てくるショーンオブザデッドのフォロワー映画にインド要素で味付けしてある感じ。そこそこお金かかってるし、つまらなくはないんだけど、どうにも

ヒロインがいけ好かない。テンポも微妙だなぁ。そんなに期待しないでだらだら見るにはいいね。

 

5.0 カミングアウト・オブ・ザ・デッド

メッセージ性の強い、差別問題に切り込んだゾンビ物ということでかなり意欲的な作品。原題は「zombies of mass destruction」 で、イラク戦争の時の「Weapon of mass destruction」にかけている。このタイトルじゃないと成立しない映画だと思うんだけど、無理やりショーンオブザデッド系のコメディ映画として売ろうとしてこのタイトルにしたんだろう。バカ映画を見るつもりで軽い気持ちで見たので拷問シーンとかがちょっと見ていられなかったけれど、こういう映画だと知って見れば楽しめた気がする。

 

7.5 スポンジボブ・ザ・ムービー

アメリカが自由の国であることを再認識させられる。こんなサイケ映画が国民的子供向けアニメとして公開された事実に戦慄。後半の怒涛の展開に笑いが止まらない。

 

9.5 ホット・ファズ

みんな大好きショーン・オブ・ザ・デッドのチームによる作品。相変わらずニック・フロストがいい味出してる。漫画だとsoilのような、閉鎖された町の狂気を描いた作品で、えてして暗くなりがちなテーマだけれどちゃんとコメディ映画として明るく終わっているのがとても良い。ショーンより好きかも。

系統解析のワークフロー(MrBayes)

Bayes法による微生物のたんぱく質アミノ酸配列に対しての系統解析手法。

この方がいいという意見あれば教えて下さい。

なんとなく想定してるのは数百オーダーのアミノ酸配列の系統解析をする場合。

 

①MSA(multiple sequence alignment)データの前処理

最初はとても大事。NCBIから取ってきた配列は大体"|"とか" "とか、イヤなものがたくさん入っている。

MrBayesとかはこの辺の変な文字は結構嫌がるし、biopythonでFastaをパースするときも空白以下は読み込んでくれない。

一番いい解決策は、配列を全部 seq001, seq002 ,......, seqXXXみたいに名前を変更して、変更した名前のファイルを紐付けて保存しておくこと。これなら、最後系統樹を描画する直前に名前を戻してやればいいので楽。

 

②アラインメント

mafft。オプションは以下のようにいじるといいらしい。

http://kmooog.hatenablog.com/entries/2015/09/02

 

③カラム抽出

trimal。データにもよるが、-gtオプションを0.8〜1.0くらいの間で振って、抽出される配列の長さを見てどれぐらい厳しくするかを決定する。

 

③モデル推定

AminosanでやるとMrBayesの入力を自動的に出力してくれる。DNAの場合は最適な置換モデル細かくを推定してくれるPartitionFinderの方がいい。でも使い方が割と面倒&計算に時間がかかる&スパコンに入れるのが大変(僕は結局スパコンで使うのは諦めました)。

 

④系統解析

置換モデルについてはAminosanの出力を利用。

その他のコマンドとしては、

 

mcmc Starttree=random ngen = 100000 printfreq = 1000 samplefreq = 100 nchains = 4

mcmcを走らせ、Average standard deviation of split frequenciesの減少が見られなくなるまで続行。ngenはどれだけ時間かかるか予測つかない場合はちょっと少なめに設定して様子を見たりする。

 

 

sump burnin = xxx sumt

*ここでxxxは(最終的な世代数)/ Samplefreq数 / 4 

事後確率が改善されていない(定常期に入っている)ことを確認。事後確率の散布図が出てくるから、それがランダムな分布をしていれば良し。

PSRFが1.0から離れている場合はサンプルの頻度を上げるか世代数(ngen)を増やす。

 

sumt conformat = simple Contype = Allcompat burnin = xxx

conformat = simpleにしないとR(ape)で樹形を弄れない。Contype = Allcompatを指定しない場合は、事後確率50%以下の分岐がコンセンサスになる。

祖先配列再構築-marginal reconstruction と joint reconstruction

Ancestral reconstruction - PLoSWiki

 

祖先配列再構築には大きくmarginal reconstruction と joint reconstructionがある。

marginal reconstructionはその名の通り、それぞれのノードにおいて*周辺確率を最大化する手法。

つまり、与えられた樹形の元で、あるノードで推定されたある祖先配列(β)が、現存する配列を出力する確率を最大化する。ここで、現存する配列というのはそのノード以下にある直系の子孫だけを考慮する。

しかし、それぞれのノードで独立に祖先配列を推定するため(?)、系統樹全体を考慮した最適解は保証されない。

 

対してjoint reconstructionは全てのノードの全ての祖先配列のセットについて周辺確率を最大化する手法っぽい。解析的に難しいし計算時間も遅いとのこと。

 

f:id:kmooog:20150731132600p:plain

 

つまり、☆印の配列を推定する際、marginal reconstructionの場合はABCDの配列の影響しか受けないけど、joint reconstructionではEの配列にも影響を受ける。

 

理屈的にはjoint reconstructionの方がよさそうだけど、外群に大きく気を使わなきゃいけなくなるし、問題設定にもよるけど大抵の場合はmarginal reconstructionの方が良さそうな気がする。系統樹の樹形とか、明らかに配列データが足りていないクレードがあるとか、そんなのによってもどっちの手法が有効かは変わってきそう。

 

 

*周辺確率

訓練標本X = {x1,x2,,,,,,xn}が与えられた時、あるパラメータβの元でXが出力される確率

参考: http://nlp.dse.ibaraki.ac.jp/~shinnou/zemi2010/staml/staml-tsaito-0706.pdf

 

 

MrBayesで出力された樹形をapeで描画する

MrBayesで出力された図形をapeで描画してやろうと思ったのだが、どうにもうまくいかない。

hogehoge.nex.con.treファイルを読み込んでも、事後確率(というか各ノードの情報)を上手く読み込んでくれないのだ。

アノテーション付きのnexファイルを読み込めるライブラリとか色々試したけど上手くいかず。

 

散々苦戦した挙句、Mrbayesの出力を弄り、

sumt conformat = simple burnin = xxx;

とすることで解決。