やっぱりLinux
自分で機械学習させることもないのでしばらくPythonは趣味にとどめておくことにする。ただ機械学習自体は、さらに深層学習自体は何らかに使いたいという願望はあるので、継続はする。
バイオ系でPython使えるイメージがまだまだないので、今後新しいツールが出てきたらそのソースコードから見てみて、イメージをつかみたいところ。
調べたらPerlとRが使えそう。Perlは使用者が比較的少ないし、まだ未発達ということもあり、PythonのNumpyの方がPerlよりもいいですよ、という声もあるので微妙なところだが。でもBioPerlの有用性も、特に配列を用いた計算においては有用ということらしいので、んまあ時間があったら取り組みたい。
最も優先順位が高いのはやっぱRです。Pythonと比べて実装してるバイオ系のツールがケタ違いに多い。Pythonと同じオブジェクト指向型言語ということなので、勉強し始めにそれほど苦労しないだろうということを期待しつつ、こちらもやっていきたい。
で、話は変わり今の問題に対処するために何をすべきかの方向性が定まってきた。
前回挙げた選択肢の中で、特にメタゲノム解析ツール、blobtools(をはじめとする種々のツール)とマッピング・アラインメントを駆使したコンティグ整理、の二つをやっていこうと思う。
blobtoolsのコンセプトは、「シーケンスの際のContaminant(他の生物のゲノム)をスクリーニングする」というもの。実際結構他の生物種のコンタミは多いらしく、blobtoolsの論文の中には他の生物種の遺伝子が混じってただけなのにろくにスクリーニングしないで水平伝播だと勘違いされていた例も多いらしい。
こんなのがまかり通ってたらデータベース自体も汚染されるし、もっと注目されるべき問題なんだろうなあ。
blobtoolsの論文内にあった使えそうなツールをいくつか列挙する。
Anvi’O、t-SNE、ProDeGe、あとQC-Blind。PubMedで調べればもっと出てきそうだけどひとまずこんなもんで。さらっと見た感じQC-Blindがリファレンスゲノムもいらないらしくて一番期待。
これで何ともなんなかったらメタゲノム解析ツール使おう。
メタゲノムデータのtaxonomy assignmentを行う k-SLAM - macでインフォマティクス (hatenablog.com)
この記事参照かな。
最後にblobtoolsのもと論文を読んだから少し書き残しとく。
必要なファイルはnBlastとDiamond Blastxで作ったtsvファイル(シーケンスに相同配列検索が掛けられたもの)、アッセンブルした後のFASTAファイル、元リードをアッセンブルした後のBAMファイルである。
こいつらを準備したら下のworkflawA(リファレンスゲノムがないもの)に従って処理していく。
もとファイルを集めたblobDBファイルを作って、それをpartition及びplotしてもらい、次にBAMファイルとこのpartitionの結果を合わせてリードの分割を行って終了。
この処理は二回以上行うのが推奨ぽい?
メタゲノムcontigのカバレッジ、GC、taxonomy情報を可視化して分析できる BlobTools - macでインフォマティクス (hatenablog.com)
に実行したときのこととかエラーのことが詳しく書かれているので実際にやるときにはこれを参照されたい。