MetaPhase: Hi-C を使用したメタゲノム デコンボリューション用のソフトウェア ツール。
米国ワシントン州シアトルのワシントン大学ゲノム科学部の Josh Burton ( jnburton at uw.edu
) によって作成されました。
G3 での出版物: Genes |ゲノム |遺伝学(引用してください) はここにあります: http://dx.doi.org/10.1534/g3.114.011825
MetaPhase とは何ですか? なぜ気にするのでしょうか?
MetaPhase を使用するには何が必要ですか?
システム要件
MetaPhase パッケージのダウンロード
MetaPhase パッケージのコンパイル
ウォークスルー: サンプル データセットで MetaPhase を試してみる
入力ファイルリスト
ドラフトメタゲノムアセンブリの作成
Hi-C リードをドラフトメタゲノムアセンブリにアライメントする
参照ゲノムの提供
TSVファイルの作成
必須のコマンドライン引数
オプションのコマンドライン引数
出力コマンドライン引数 (すべてオプションの切り替え)
チャート
画像
出力ディレクトリ内のファイル
LACHESISを実行する
メタフェーズが実行されません!
メタフェーズがクラッシュしています!
MetaPhase が奇妙な結果を生み出しています!
MetaPhase は、メタゲノム デコンボリューションを実行するソフトウェア ツールです。 つまり、メタゲノム アセンブリ (通常は多くの異なる微生物種の混合ゲノム サンプルから作成されたアセンブリ) を入力し、そのアセンブリ内のどのコンティグが同じゲノムに一緒に属しているかを決定します。 メタゲノム アセンブリには、混合サンプル内の 1 つの種の完全なゲノムが含まれていませんが、デコンボリューションされたアセンブリには、多くの個別の種のほぼ完全なゲノムが含まれている可能性があります。 MetaPhase は、クロマチンの立体構造を研究する確立された分子技術である Hi-C によって生成されたデータに依存しています (論文)。
微生物群集を研究していて、個々の微生物種のゲノムを知りたい場合は、MetaPhase を使用します。 MetaPhase はかなり複雑なコミュニティでうまく機能し、真核生物と原核生物を同様にうまく研究できます。 MetaPhase は、同じ種の密接に関連した株をデコンボリューションできません。これらすべての株を 1 つのクラスターにまとめます。 MetaPhase は、人間の腸内マイクロバイオームなど、数千の種が存在するコミュニティではテストされておらず、存在量が 1% をはるかに下回る種を確実に検出することもできません。 (ここでの制限は、MetaPhase がこれらのコンティグをデコンボリューションする能力ではなく、標準的なde novoメタゲノム アセンブリ ソフトウェアが希少種のコンティグを含むドラフト メタゲノム アセンブリを生成できないことであることに注意してください。)
単一種内の株の変動を研究している場合は、MetaPhase を使用しないでください。 あるいは、ヒトのがんゲノムのゲノム再構成を研究している場合。 また、メタゲノム Hi-C データセットを持っているか、作成する意思がない限り、MetaPhase は使用しないでください。 Hi-C は簡単に習得できるテクニックではありません。 (分子ではなく) 純粋に計算によるメタゲノム デコンボリューションは困難ですが、不可能ではありません。MetaPhase 論文の序文で引用されている論文を参照してください。
大まかに言えば、MetaPhase を実行するために必要なのは次の 2 つだけです。
de novoメタゲノム アセンブリの草案。 これは、Velvet、IDBA-UD、ABySS、SPAdes などの任意の数のアセンブリ ツールを使用して、ショットガン メタゲノム シーケンス ライブラリから作成できます。
メタゲノム サンプルから作成された Hi-C シーケンシング ライブラリ。できれば、 de novoメタゲノム アセンブリの作成に使用されたサンプルと同じサンプル、または非常によく似たサンプルです。
低レベルでは、MetaPhase にはいくつかの異なる入力ファイルと、いくつかのオプションの入力が必要です。 入力ファイルの詳細については、セクション C1「入力ファイルのリスト」を参照してください。
MetaPhase をセットアップして実行するには、少なくとも 16 GB のメモリを搭載し、次のソフトウェアがインストールされた UNIX 環境で実行されているコンピュータが必要です。
gcc、C++ コンパイラー (http://gcc.gnu.org/)
zlib 圧縮ライブラリ (http://www.zlib.net/)
次のソフトウェアも必要になる場合があります。
ショートリード アライナー BWA (http://bio-bwa.sourceforge.net/) または別の同様のアライナー
コマンドライン形式の BLAST アライナー (http://www.ncbi.nlm.nih.gov/books/NBK1763/) (コマンドblastn
、 tblastx
、およびmakeblastdb
を含む)
メタゲノミクス データセットから人間の読み取りを削除する bmtagger ソフトウェア (http://biowulf.nih.gov/apps/bmtagger.html)
MetaPhase には、Boost C++ ライブラリ (http://www.boost.org/) と SAMtools ツールキット (http://samtools.sourceforge.net/) も必要ですが、これらは MetaPhase インストール パッケージに含まれています。
MetaPhase パッケージを https://github.com/shendurelab/MetaPhase/archive/master.zip から UNIX ファイルシステムにダウンロードします。 tarball ( MetaPhase.tar.gz
) をダウンロードした場合は、次の UNIX コマンドを使用して解凍します。
tar xzvf MetaPhase.tar.gz
cd MetaPhase/
ここからは、メインの MetaPhase ディレクトリを<MetaPhase>
として参照します。
MetaPhase をコンパイルするには、 <MetaPhase>
ディレクトリにmake
と入力するだけです。 MetaPhase を実行するには、 $LD_LIBRARY_PATH
に<MetaPhase>/include/boost_1_47_0/stage/lib
を追加する必要がある場合もあります (問題を回避するため: cannot open shared object file...
)。最後に、次のいずれかを実行してください。 <MetaPhase>
ディレクトリから MetaPhase を取得するか、そのディレクトリを$PATH
に追加します。 一部の MetaPhase モジュールは、MetaPhase パッケージに含まれる実行可能スクリプトFastaSize
、 CountMotifsInFasta.pl
、 Fig2a.R
、およびMakeClusteringResultHeatmap.R
にアクセスする必要があるため、これは重要です。
MetaPhase パッケージには、MetaPhase がどのように機能するかを知るために実行できる小さなテスト ケースが含まれています。 これはディレクトリtest_case
に含まれており、このディレクトリには次のサブディレクトリがあります。
<MetaPhase>/test_case/assembly/
: de novoメタゲノム アセンブリのドラフト、 assembly.fasta
が含まれています。 このアセンブリは、細菌性膣炎サンプルのはるかに大きなアセンブリから採取された 20 個のコンティグで構成されています。 ここでは、メタゲノムアセンブリのおもちゃの例として機能します。
<MetaPhase>/test_case/HiC/
: 2 つの fastq ファイル、BV.H3.head.bmt.1.fq および BV.H3.head.bmt.2.fq が含まれています。 これらのリードは、細菌性膣炎サンプルから配列決定されたはるかに大きな Hi-C データセットのサブセットです。 これらはすでに bmtagger でフィルタリングされ、人間による読み取りが削除されています。
<MetaPhase>/test_case/refs/
: 細菌Lactobacillus inersの 1 つの公的に利用可能な参照ゲノムLI.fasta
が含まれています。 これは、MetaPhase がそのクラスターがL. inersゲノムと一致するかどうかを確認するために使用するオプションの入力です。
<MetaPhase>/test_case/tsvs/
: 他の入力ファイルの場所を記述し、MetaPhase によって使用される 2 つの TSV ファイルが含まれています。
<MetaPhase>/test_case/out/
: このディレクトリは初期状態では存在しません。 MetaPhase がテスト ケースで実行されると、このディレクトリが作成され、その出力がここに配置されます。
test_case に欠けている 1 つの (オプションの) 入力は、ヌクレオチド シーケンスの BLAST データベースです。 このデータベースは、メタゲノム アセンブリのコンティグをすべての既知の配列に対してクエリできるようにするもので、テスト パッケージとしては大きすぎますが、BLAST Web サイトからダウンロードできます。 このデータベースを使用するには、 --blast_dir
コマンドライン引数を設定する必要があります。
MetaPhase を test_case に適用するには、次のコマンドを実行します。
bwa とのアラインメントのためにドラフトde novoメタゲノム アセンブリを準備します。 bwa
$PATH
に存在する必要があることに注意してください。 cd <MetaPhase>/test_case/assembly
../../FastaSize assembly.fasta
bwa index -a bwtsw assembly.fasta
Hi-C 読み取りをドラフト アセンブリに合わせます。 これは、すでに提供されているスクリプトalign.sh
使用し、 bwa aln
およびbwa sampe
を実行し、MetaPhase が使用する BAM ファイルを作成します。 bwa mem
ではなく、 bwa aln
およびbwa sampe
使用する必要があることに注意してください。 cd <MetaPhase>/test_case/HiC
align.sh
TSV ファイルを調べて、その内容を確実に理解してください。 cd <MetaPhase>/tsvs
cat test_case.refs.tsv
cat test_case.HiC_libs.tsv
ここで、基本的なコマンドライン引数セットを使用して MetaPhase テスト ケースを実行します。 これらすべてのコマンドライン引数の目的については、以下のセクション D「メタフェーズの実行」で説明します。 cd <MetaPhase>
MetaPhase -s test_case -a test_case/assembly/assembly.fasta -i test_case/tsvs --refs_dir test_case/refs -o test_case/out -N 3 --isolated_component_size 2 --jarvis_patrick_K 2
MetaPhase が最初に行うことは、ドラフト アセンブリのコンティグを参照ゲノム LI.fasta に対して位置合わせすることです。 これには数分かかる場合がありますが、待ち時間は 1 回だけです。結果は特別なファイルにキャッシュされます。 次に、MetaPhase は、ドラフト アセンブリ内の 20 個のコンティグを Hi-C リンケージによってクラスター化し、3 つのクラスターを作成します ( -N 3
のため)。最後に、MetaPhase は、作成したクラスターに関する基本的な統計を報告します。
ここで、コマンドライン引数--report_unclustered
、 --output_cluster_fastas
、 --output_heatmaps
、 output_network_image
の 1 つ以上を追加して、MetaPhase を再度実行してみてください。 これらの各オプションにより、より多くの情報がさまざまな形式 (画面、ファイル、画像など) で出力されます。 詳細については、セクション D2「オプションのコマンドライン引数」を参照してください。
次に、 test_case/out/test_case
を調べます。 これは、MetaPhase の実行によって作成された出力ディレクトリです。 いくつかの出力ファイルが含まれています。 ファイルcluster.*.fasta
はクラスターfastasです( --output_cluster_fastas
を指定して実行した場合にのみ存在します)。サブディレクトリcached_data
には、BLAST実行とMetaPhaseクラスタリングの結果を含むキャッシュされたデータファイルが含まれています。
test_case は非常に小さなデータセットであり、その結果は生物学的に有用でも典型的でもないことに注意してください。 たとえば、Hi-C リード ペアが非常に少ないため、20 個のコンティグのうち 10 個が完全にリンクされておらず、リンクされているものは 3 つの別々のクラスターに含まれています (したがって、3 個未満のクラスターを生成することは不可能です)。これにより、別の有用なコンティグを示すことができなくなります。 MetaPhase の特徴は、それを使用してクラスターの数を予測できることです。 サンプルでは (残念なことに、test_case ではありませんが)、 -N 1
を指定して MetaPhase を実行すると、MetaPhase 論文の図 S4 にあるようなE(N)濃縮曲線が生成されます。 これにより、メタゲノム アセンブリ内の種の大まかな数、つまり最適なクラスター数を決定できます。
MetaPhase は、次の入力ファイルを直接使用します。 これらすべてのファイルがどのようなものかを示す図については、test_case を参照してください。
必要なファイル:
fasta 形式のメタゲノム アセンブリのドラフト
ドラフトメタゲノムアセンブリに対する Hi-C リードのアラインメントを記述する 1 つ以上の SAM/BAM ファイル。 これらの SAM/BAM ファイルは、各読み取りを 1 回だけリストする必要があることに注意してください。つまり、これらのファイルは、bwa mem ではなく、bwa aln および bwa sampe を使用して生成する必要があります。
2 つの TSV ファイル、 <scenario>.HiC_libs.tsv
および<scenario>.refs.tsv
。それぞれ、BAM 入力ファイルのセットと参照ゲノムのセットを記述します。オプションのファイル:
すべての既知のヌクレオチド ( nt
) および/またはタンパク質 ( nr
) 配列を記述する BLAST データベース。 このデータベースの更新バージョンは BLAST Web サイトからダウンロードできます。この Web サイトには、必要なblastn
およびtblastx
コマンド ライン ユーティリティをインストールする方法の説明も含まれています。 これらのデータベースは大きいことに注意してください (2015 年の時点で、 nt
は約 25 Gb、 nr
は約 50 Gb)。
fasta 形式の参照ゲノムのセット。サンプル内に存在すると考えられる種、またはサンプル内の物体に関連する種を記述します。 サンプルのすべてを知っているわけではない (そしておそらく知らない) 場合は、メタゲノム アセンブリを BLAST 検索でアラインメントするまで待ってから、それらの検索結果から提案を得ることができます。 種の参照ゲノム アセンブリを見つけるには、NCBI アセンブリ データベースを検索します。
ドラフトメタゲノムアセンブリに対するショットガンリードのアライメントを記述する SAM/BAM ファイル。 ショットガンの読み取りは、アセンブリの作成に使用された読み取りと同じです。 MetaPhase はこのファイルを使用して、サンプル内の各コンティグ、つまり各クラスターの存在量を推定できます。 現在のところ、MetaPhase.cc を少しハックしないと利用できません (申し訳ありません)。
MetaPhase への最も重要な入力の 1 つは、de novoメタゲノム アセンブリのドラフトです。 サンプルからのショットガン読み取りを使用して、このアセンブリを自分で作成する必要があります。 Velvet、IDBA-UD、ABySS、SPAdes など、非常にうまく機能する公開されているde novoメタゲノム アセンブリ ツールが多数あります。 MetaPhaseの開発中にIDBA-UDを使用しました。
MetaPhase は新しいシーケンスを生成しないことを認識することが重要です。すでにアセンブリ内にあるシーケンスのみをクラスター化します。 サンプルの一部の配列が、頻度が少なすぎる、GC のバランスが取れていない、反復が多すぎる、またはその他の理由でドラフト アセンブリに含まれない場合、MetaPhase はそれをゲノムにクラスター化することができません。 最大量の配列と最長のコンティグ N50 を含むアセンブリを取得するために、メタゲノム アセンブラーやさまざまなメタゲノム アセンブリ ツールでさまざまなオプションを試してみる価値はあるかもしれません。
MetaPhase は、入力コンティグが長いほど、使用する Hi-C リンケージの信号がより明確になるため、パフォーマンスが大幅に向上します。 特に、 MetaPhase は、制限酵素部位を含まないコンティグをクラスター化できません。これは、Hi-C リードが確実にコンティグにアライメントできないためです。 Hi-C 実験に使用する制限酵素を選択するときは、この事実に留意してください。 メタゲノム アセンブリの N50 が小さい場合は、6 カッターの代わりに 4 カッター制限酵素を使用するとよいでしょう。 (たとえば、メタゲノム アセンブリの N50 が 4 Kb しかない場合、およそ 4 Kb ごとにカットする 6 カッターで作成された Hi-C ライブラリでは、アセンブリの配列の 50% を完全にクラスター化することができません。)
MetaPhase は、メタゲノム アセンブリ自体に加えて、Hi-C リードのアライメントをメタゲノム アセンブリに入力します。 このファイルは SAM または BAM 形式である必要があり、各 Hi-C 読み取りは 1 回のみ含まれている必要があります。 SAM/BAM ファイルを生成する任意のアライナーを使用できます。 MetaPhas の開発中に bwa を使用しました。 bwa を使用する場合は、それぞれの読み取りを複数回出力する bwa mem ではなく、必ず bwa aln と bwa sampe を使用してください。)
Hi-C リードは独特です。制限酵素によって配列が既知であるキメラ ライゲーション部位を備えた意図的にキメラになっています (たとえば、HindIII は AAGCTT で切断し、再ライゲーション時に AAGCTAGCTT を生成します)。このため、直接的なアラインメント アプローチでは、多くの便利な Hi-C ペアリングを見逃しています。 収量を最大化するためにカスタム調整パイプラインを設計することもできます。もしそうなら、スクリプトalign.iter.interactive.sh
を見てください。これは私自身の開発で使用したもので、カスタム パイプラインのアイデアが得られるかもしれません。
MetaPhase への参照ゲノムの提供は完全にオプションですが、非常に便利です。 MetaPhase は、ドラフト アセンブリのコンティグを位置合わせして、それらがどの種のものである可能性が高いかを知ることができます。 これを行うには 2 つの方法があります。1 つはすべての既知の配列を含む BLAST データベースにアライメントする方法です。単一の参照ゲノムアセンブリを含むローカルの fasta ファイルにアライメントします。 前者の方法は、サンプル中にどの分類群が含まれているかという問題を調査するのに役立ちます。後者の方法は、サンプル内に存在することがわかっている (またはサンプル内の物体に関連する) 個々の種に焦点を当てる場合や、ヒートマップおよびクラスター ネットワーク イメージを作成する場合に役立ちます (セクション E2「イメージ」を参照)。 BLAST アライメントのみから開始し、そこからのヒットを使用して遭遇する可能性のある種を特定し、それらの参照をダウンロードして MetaPhase にフィードすることができます。 参照ゲノム アセンブリのリストは、ファイル<scenario>.refs.tsv
で MetaPhase に提供されます。
MetaPhase は、BLAST データベースと参照ゲノムの両方に対するすべてのアライメントを実行します。 MetaPhase は、BLAST コマンドblastn
、 tblastx
、およびmakeblastdb
を呼び出すことができます。これらはすべて BLAST コマンド ライン コード パッケージの一部です。これらのコマンドが$PATH
にあることを確認してください。 特に--use-tblastx
を設定した場合、BLAST は多くのランタイムを使用する可能性があることに注意してください。 ただし、MetaPhase は、後で実行時間を節約するために、BLAST 実行の結果を<out_dir>/cached_data
にキャッシュします。
MetaPhase には 2 つの入力 TSV (タブ区切り値) ファイルが必要です。1 つは SAM/BAM アライメント ファイルのセットを与えるため、もう 1 つは参照ゲノム アセンブリのセットを与えるためです。 これらのファイルは小さいため、後で手動での変更が必要になる可能性があるため、手動で作成することをお勧めします。 最も簡単な方法は、 test_case/tsvs
の TSV ファイルの例に従うことです。
MetaPhase のすべてのコマンドライン引数の簡単な概要を取得するには、 MetaPhase -help
を実行します。 より詳しい説明はこちらです。
-s
<string>
: シナリオ名。 これは、実行に名前を付けるために MetaPhase によって使用されます。 これは、tsv ファイルの名前の先頭として使用され (下記の-i
を参照)、また出力ディレクトリの名前としても使用されます (下記の-o
参照)。 最後に、これは無視して構いませんが、いくつかのシナリオ名には、私が開発で使用した固定的なコマンドライン オプションが含まれています (たとえば、これが、メタフェーズで-a
が「必須」引数としてリストされていない理由ですMetaPhase -help
コマンド)
-a
<string>
: ドラフトde novoメタゲノム アセンブリ fasta ファイルの場所。 これは相対パスではなく絶対パスである必要があります。つまり、 /
で始まる必要があります。
-N
<integer>
: 作成するクラスターの数。 1 に設定すると、MetaPhase はすべてを 1 つのクラスターにクラスター化し、その過程でクラスター内リンクのエンリッチメントである E(N) を計算し、ファイルenrichment_curve.jpg
を書き込みます。サンプル内の種。 0 やコンティグ数より大きな数値を設定しないでください。
これらの引数の一部には、デフォルト値に$HOME
が含まれています。 これは、UNIX ホーム ディレクトリ ( cd ~
またはcd $HOME
と入力したときに移動する場所) を指します。
-i
<string>
: 入力ディレクトリ。 これは、 tsv ファイル<scenario>.HiC_libs.tsv
および<scenario>.refs.tsv
を含むディレクトリです。デフォルト: ./input
。
-o
<string>
: ルート ディレクトリを出力します。 この実行からの出力ファイルは<out_dir>/<scenario>
に配置されます。デフォルト: $HOME/MP/out
。
--blast_dir
<string>
: MetaPhase がアライメントに使用する BLAST データベース ( nt.*
およびnr.*
) を含むディレクトリ。 これらのファイルは BLAST Web サイトからダウンロードできます。デフォルト: $HOME/extern/blast
。
--refs_dir
<string>
: refs.tsv
ファイルにリストされている参照ゲノム アセンブリを含むディレクトリ。 この実行からの出力ファイルは<out_dir>/<scenario>
に配置されます。デフォルト: $HOME/MP/refs
。
--use_tblastx
: 切り替えます。 設定されている場合、MetaPhase はblastn
の代わりにtblastx
を使用して BLAST アライメントを実行します。これにより、コンティグのヌクレオチド配列をヌクレオチド データベースに対してアライメントする代わりに、ヌクレオチドをアミノ酸に翻訳し、タンパク質データベースにアライメントします。 タンパク質配列はヌクレオチド配列よりも保存されているため、 tblastx
より遠い系統関係、つまり種ではなく科や属のレベルでの系統関係を検出しますが、これは望む場合と望まない場合があります。 tblastx
もblastn
よりもはるかに遅いです。
--force_blast_realign
: 切り替えます。 設定されている場合、MetaPhase は BLAST アライメントを記述するキャッシュされたファイルを無視して上書きします。
-b
: 切り替えます。 統計的ブートストラップをリンク マトリックスに適用します。 つまり、Hi-C リンクのマトリックスが作成されたら (正規化される前に)、置換によってマトリックスをリサンプリングし、リンクの総数は同じだが、リンクの正確な配置がランダムに変化する新しいマトリックスを作成します。 クラスタリング結果の堅牢性をテストしたい場合は、 -b
指定して MetaPhase を数回実行し、結果を比較します。結果は確率的に異なるはずです。
--isolated_component_size <integer>
: リンク マトリックスからコンティグ接続グラフを作成した後、この数より少ないコンティグを持つグラフ内のコンポーネントをすべて破棄します。 ほとんどのデータセットでは、このようなコンポーネントはどの種にも確実に分類できないノイズで構成されており、これらのコンポーネントは他のコンポーネントと決して組み合わせることができないため、見かけのクラスター数が狂う可能性があります。 ただし、Hi-C リンク データがまばらな場合は、実際のクラスターのジャンクを避けるために、これを減らす必要がある場合があります。デフォルト: 100
。
--jarvis_patrick_K <integer>
: Jarvis-Patrick の事前クラスタリング ステップで使用される K の値。 値を大きくすると実行時間が長くなりますが、精度が向上する可能性があります。 この数値を詳しく理解するには、Jarvis と Patrick、「Clustering using aimilarity Measure Based on Shared Near Neighbors」(1973 年) を参照してください。デフォルト: 100
。
--min_cluster_norm <integer>
: 許容されるクラスターの最小ノルム。 コンティグの「ノルム」は、コンティグに含まれる制限酵素 (RE) サイトの数であり、クラスターのノルムはコンティグのノルムの合計です。 このパラメーターは出力に大きな影響を与える可能性があります。min_cluster_norm min_cluster_norm
増やすと、クラスターの可能な最小サイズが増加し、小さな種を表すクラスターが破壊される可能性があります。しかし、データ内のノイズやコンティグの繰り返しによって生じる、少数のコンティグ (2 ~ 3 個) のみを含む迷惑な小さなミニクラスターの形成も防ぎます。 ほとんどのコンティグを含む 1 つの巨大なクラスターが得られ、他のすべてのクラスターが小さい場合は、この値を増やす必要があります。 クラスターのノルムは、RE サイト頻度で割った bp 単位の長さにほぼ等しいため、最適な数は RE の種類によって異なる可能性があることに注意してください。デフォルト: 25
。
-merge
: 切り替えます。 いくつかの実験的なクラスタリング アルゴリズムを適用して、異なる Hi-C ライブラリから生じる複数の独立したクラスタリングをマージします。 お勧めしません。
--load_cached_clusters
: 切り替えます。 設定されている場合、MetaPhase はクラスタリングを実行する代わりに、以前に計算されたクラスタリング結果を含む<out_dir>/<scenario>.cached_data
でキャッシュされたファイルを検索します。 このファイルは、MetaPhase が以前にこのシナリオで現在と同じ-N
値を使用し、フラグ--dont_output_cache
なしで実行されていた場合に存在します。 これは、クラスタリングを再実行せずにクラスタリング結果を分析する場合に時間を節約する方法です。
--dont_output_cache
: 切り替えます。 --load_cached_clusters
を使用して後でロードできるクラスター キャッシュ ファイルを作成 (または上書き) しないでください。 このオプションは--load_cached_clusters
によってオーバーライドされます。
--report_unclustered
: 切り替えます。 設定されている場合、MetaPhase は、クラスター化されなかったコンティグに関する最終レポートを作成します。つまり、それらがどの種に一致するか、完全にリンクされていないためにクラスター化されていないコンティグの数などです。
--output_cluster_fastas
: 切り替えます。 設定されている場合は、ファイルcluster.*.fasta
およびunclustered.fasta
<out_dir>/<scenario>/
に書き込みます。 これらは、MetaPhase がコンティグをどのようにクラスター化したかを示す fasta ファイルです。
--output_network_image
: 切り替えます。 設定されている場合は、スクリプトFig2a.R
を実行し、MetaPhase 論文の図 2A に示されているようなクラスター ネットワーク イメージを作成します。
--output_heatmaps
: 切り替えます。 設定されている場合、スクリプトMakeClusteringResultHeatmap.R
を実行し、MetaPhase 論文の図 2B および図 S5 に示されているようなヒートマップ イメージを作成します。
--reorder_clusters_by_refs
: 切り替えます。 設定すると、 --output_heatmaps
で作成されたヒートマップの対角線上の信号が最大化されるようにクラスターの順序が変更されます。 これは、 refs.tsv
ファイル内にどの参照ゲノムがあるか、およびファイル内でのそれらの参照ゲノムの順序に依存することに注意してください。 一貫したクラスター番号が必要な場合は、これを設定しないでください。
MetaPhase の最も基本的な出力は画面への出力です。 MetaPhase は、前処理、BLAST アライメント、クラスタリング、およびクラスタリング後の分析を実行するときに、その進行状況に関する詳細なレポートを提供します。 クラッシュしないと仮定すると、MetaPhase はクラスタリング結果の優れた便利なグラフを生成します。 このグラフの列は次のとおりです。
クラスター番号
このクラスター内のコンティグの数
このクラスター内のすべてのコンティグの合計長
存在量: このクラスターの DNA 存在量 (種の存在量ではない) の推定値。 このクラスター内のコンティグに一致するショットガン リードの割合として定義されます。 ショットガンの豊富な SAM/BAM ファイルが必要ですが、現時点ではハッキングが必要です。
複数参照: 複数の配列がアラインメントする参照ゲノム アセンブリ ( refs.tsv
ファイルにリストされているもののうち)
%eukaryotic、%rDNA、%tRNA、%mtDNA: このクラスター内の配列内容の予測されたアノテーション。 BLAST データベースへの BLAST アライメントに基づいています。
複数性分類: このクラスター内の配列コンテンツの最も一般的な分類上の配置。 BLAST データベースへの BLAST アライメントに基づいています。
--report_unclustered
を設定すると、MetaPhase は非クラスター化コンティグを説明するはるかに小さくて単純なチャートも作成します。
MetaPhase 論文の図 2A と 2B にあるような美しい画像を作成できます。 ネットワーク イメージまたはヒートマップを作成するには、 --output_network_image
または--output_heatmap
それぞれ設定します。 ファイルはそれぞれ、スクリプトFig2a.R
およびMakeClusteringResultHeatmap.R
によって作成されます。 これらは、ggplot2 を使用した非常に単純な R スクリプトです。画像の外観を微調整したい場合は、スクリプトを微調整するだけです。 これらのファイルは、デフォルトでは$HOME/public_html
に作成されます。ファイルを表示するには、このディレクトリを作成する必要がある場合があります。
MetaPhase は、 <out_dir>/<scenario>
に次のファイルを作成します。
assembly.blastn_report
: ドラフト アセンブリと nt データベースの BLAST アラインメントを簡単に要約した人間が読めるファイル。
result.human_readable.txt
: ドラフトメタゲノムアセンブリ内の各コンティグをリストし、それがどのようにクラスター化されているかを示す人間が判読可能なファイル。
cluster.*.fasta
およびunclustered.fasta
: 各クラスターのコンティグを含む Fasta ファイル。 --output_cluster_fastas
を指定して実行した場合にのみ作成されます。
サブディレクトリcached_data
: 参照ゲノムへの BLAST アライメントを記述したキャッシュ ファイル (MapToRefs.txt*) が含まれます。 nt データベースへの BLAST アライメント ( assembly._blast);およびクラスタリングの結果 (クラスター。 )。 これらのファイルは、特に人間が判読できるものではない可能性があります。
サブディレクトリLACHESIS
: MetaPhase の実行後に Lachesis を実行しない限り、空になります (次のセクションを参照)。
MetaPhase の論文で実証されているように、MetaPhase を実行して種ごとに個別のクラスターを作成し、その後 LACHESIS を実行してそのクラスター内のコンティグの染色体スケールの足場を作成することで、高品質の単一種アセンブリをゼロから生成することができます。しかしメタゲノムデータ。 ただし、いくつかの注意事項が適用されます。
LACHESIS の方法は実際には原核生物のゲノムには適用されないため、これは真核生物に対してのみ機能すると考えられます。
LACHESIS は MetaPhase が種数を予測できるほど正確に染色体数を予測できないため、種の染色体数を知る必要があります。
Hi-C リードを、調査しているクラスター内のコンティグに再調整する必要があります。
酵母種では、セントロメアを含むコンティグのすべてが単一の染色体にクラスター化しないように注意してください。 LACHESIS のCLUSTER_CONTIGS_WITH_CENS
オプションを使用する必要があります。
MetaPhase
という実行可能ファイルがあるはずです。 コマンドラインにMetaPhase
と入力します。 「コマンドが見つかりません」のようなエラーが発生した場合は、正しい MetaPhase ディレクトリに存在していないか、コンパイルが正常に完了していません。 MetaPhase を実行する準備ができている場合、 MetaPhase
と入力するとPARSE ERROR
発生し、MetaPhase が必要なコマンドライン引数を説明します。
次のエラーが発生した場合: MetaPhase: error while loading shared libraries: libboost_filesystem.so.1.47.0: cannot open shared object file: No such file or directory
libboost_filesystem.so.1.47.0
を含むディレクトリを追加する必要があります。環境変数$LD_LIBRARY_PATH
。 次のコマンドを入力します: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<MetaPhase>/include/boost_1_47_0/stage/lib
MetaPhase がクラッシュした場合、最初に行うべきことは、その出力を注意深く確認することです。 何が問題だったのかについて詳細な説明が得られ、それを修正する方法についての良いアイデアが得られるかもしれません。 最も一般的な問題は、入力ファイルの 1 つが見つからないか、意味のないデータが含まれていることです。
次のような「アサーション エラー」が表示される場合もあります。 Assertion ... failed.
これは、アルゴリズムのある段階で、MetaPhase が予期していなかった特定の何かに遭遇したことを意味します。 アサーション エラーには、ファイル ( *.cc
または*.h
) への参照と、エラーが発生した行番号が含まれます。 ファイル内のその行を調べてください。この行には関数assert()
が含まれているはずです。 その行の周囲に、アサーション エラーの原因を説明するコメントがいくつかあるはずです。
一般に、私たちは MetaPhase を適切に設計され、適切にコメントされたコードにするために多大な努力を払ってきました。 C++ に精通している場合は、ソース コードをざっと調べて、何が起こっているのかを理解できるはずです。 最上位モジュールMetaPhase.cc
から始めて、そこから作業することをお勧めします。
MetaPhase を適切に実行できたら、出力、特にレポート グラフをよく見てください。 奇妙な結果が得られる場合 (たとえば、ごくわずかなシーケンスがアセンブルされている、またはシーケンスの大部分が 1 つのクラスターにクラスター化されている (よくある問題)) 場合は、MetaPhase のパフォーマンスを調整する必要がある可能性があります。 セクション D2「オプションのコマンドライン引数」をよく見てください。
MetaPhase ソフトウェア パッケージ、およびそれに含まれるすべてのソフトウェアおよびドキュメントの著作権は、Josh Burton およびワシントン大学の著作権 © 2013-2014 に帰属します。すべての権利は留保されます。
このソフトウェアは「現状のまま」提供され、保証やサポートの保証はありません。ワシントン大学は、その使用、誤用、または機能について責任を負いません。いかなる場合においても、作者または著作権所有者は、このソフトウェアから生じる、このソフトウェアに起因する、またはそれに関連する、いかなる請求、損害、またはその他の責任に対しても責任を負いません。
MetaPhase プロジェクトを可能にし、MetaPhase ソフトウェアで使用されるすべての Hi-C データを生成した Ivan Liachko に感謝します。
リーダーシップ、マネジメント、アイデアを提供してくれた Maitreya Dunham と Jay Shendure に感謝します。
MetaPhase のテストとトラブルシューティングを辛抱強く手伝ってくれた Kathryn Bushley、David Fredricks、Steve Salipante、Laura Sycuro、Andrew Wiser に感謝します。
MetaPhase を GitHub 経由で利用できるようにしてくれた Aaron McKenna に感謝します。
(Andrew より) LD_LIBRARY_PATH に追加することで、ユーザーがシステムの残りの部分と対話したくない可能性のある、新しい制限付き BOOST インストールをユーザーに提供することになります。 私の提案は、可能であれば、ユーザーに include/boost_1_47_0/stage/lib ディレクトリを LD_LIBRARY_PATH に追加することを推奨しますが、代わりに実行時に環境変数を設定するラッパー スクリプトも提供することです。 ユーザーの LD_LIBRARY_PATH に正しいパスがあるかどうかを確認し、見つからない場合は設定してからプログラムを実行する Python プログラムは、非常に簡単に素早く作成できます。