ミトコンドリアなどの特定の細胞小器官には、独自の異なるゲノムが存在している。ミトコンドリアゲノム - the mitogenome - は、真核生物の核ゲノムとは著しく異なる。典型的に環状であり、サイズがより小さい[ref.1]。The mitogenomeは、ミトコンドリアを単離し、closely relatedな生物のmtDNA増幅プライマーを用いてミトコンドリアDNA(mtDNA)をPCRで増幅し、PCR産物をシーケンシングすることによって、実験的に配列を決定することができる。高スループットの全ゲノムシーケンシング(WGS)では、データには核DNAに加えてミトコンドリアDNAが含まれており、事前にミトコンドリアを単離する必要はない。これにより、WGSデータは、mitogenomeの抽出およびアセンブリのための貴重なリソースになるため、ターゲットシーケンシングに取って代わる可能性がある。
WGSデータからmtDNAを抽出する現在の方法は、アセンブリを開始するために短いシード配列を必要とする[ref.2,3 link2, link3]。しかしながら、現在知られているmitogenomes とは著しく異なるmitogenomes を持つ未知の生物の場合、これは不便で困難なことがある。この問題を回避するために、著者たちは、細胞内で核よりも10〜100倍多く存在するミトコンドリア[ref.4 link4]のk-mer頻度に基づくリファレンス非依存の方法を開発した。
これは、シーケンシング実験において、mitogenomesが核ゲノムと比較してより高いリードデプスを有し、このリードデプスレベルの差を用いてリードを2つの群; 核とミトコンドリア起源のものに分離することができることを意味している。
リードを分けるには、リード中の長さkのサブシーケンス- k-mers -の出現数をカウントし、核ゲノムのデプスより何倍も多く見つかるk-mer持つリードを非核ゲノム由来として分類する。核のリードデプスの閾値を超えたk-merを持つリードは、ミトコンドリアおよび色素体、またはリピート、NUMTなどのような核ゲノムの特定の領域に由来している可能性がある。(一部略)Norgalは、このアセンブリメソッドの実装であり、最終的な配列のアノテーションと評価を提供する。アセンブリが部分的または断片化されている場合、ユーザはこの配列を現在のリファレンスベースの抽出ツールの1つのリファレンスとして使用できる。近年、Norgalアセンブリを用いてオリガネズミ(Vespa orientalis)のミトコンドリアゲノムが発表された[ref.5 link5]。
Norgalは、入力としてWGSデータのショートシーケンシングリードを使い、完全または部分的なmitogenomesのいずれかを出力する。 Norgalはpython3で書かれているが、python2.7と下位互換性があり、プロットするにはjavaとpythonライブラリmatplotlibが必要である。図1は、Norgalのワークフローを示している。以下のステップがある。
- AdapterRemoval [ref.6]を使用してNGSのリードからアダプターをトリムおよび除去し、MEGAHIT [ref.7]を使用してデノボアセンブリを実行する。
- nuclear depth threshold(ND threshold)を決定するために、bwa mem [ref.8]を用いてリードを最長のアセンブリ配列にマッピングし、各位置のリードデプスを計算する。
- 全リードのサイズ31のkmersをカウントし、ND thresholdより大きい頻度のkmersを少なくとも1つ以上含むリードサブセットのみ保持する。プログラムBBTools [ref.9]を使用して実行される。
- idba_ud [ref.10]を使って高頻度なkmersを含むリードからde novo assemblyを行い、最も長いコンティグ、または optionalでシトクロムcオキシダーゼサブユニット1(COI)遺伝子を含む最も長いコンティグを抽出する。
- 最も長いコンティグのcircularityを調べ、リードデプスを決定し、潜在的なミトコンドリアおよび葉緑体コンティグを同定し、このコンティグとstep1のアセンブリの最長コンティグとの間のデプスを比較するプロットを出力する。
Norgalのワークフロー。論文より転載。
インストール
macのpython3.4.3環境でテストした。
依存
- Python2.7+ or Python3 (it's written for python3, but should work for 2.7 as well)
- Java
- matplotlib
matplotlibはpipでインストールできる。 ここでは2.0.0をインストールした。
pip install matplotlib==2.0.0
本体
kosaidtu / norgal / source / — Bitbucket
git clone https://bitbucket.org/kosaidtu/norgal.git
cd norgal/
python norgal.py -help #動作確認
user $ python norgal.py -help
usage: python norgal.py -i reads1.fq reads2.fq -O MyProjectFolder
Norgal v.1.0.0: Mitochondrial genomic DNA extraction from NGS reads.
optional arguments:
-h, --help show this help message and exit
-i FILE FILE Input paired fastq-files. (Required)
-o NAME Folder for output. (Required)
-r FILE Optional nuclear genome assembly of organism. Can be contigs,
scaffolds, single nuclear gene etc.
-t INTEGER Number of threads. Default=2
-c INTEGER Depth-cutoff. Default=auto
-m INTEGER Minimum length of scaffold to be considered. Default=10,000bp
-b INTEGER Number of contigs to report with BLAST-hits. Default=10
-e FLOAT E-value cut-off for BLAST-search. Default=1e-5
--trim Remove adapters. Linux-only function. Default=disabled
--blast Use best BLAST-hit from a mitochondrial/plastid database
instead of longest assembled scaffold. Default=disabled
--delete Remove large temporary files (ie slim-mode)
Please see github.com/kosaidtu/norgal for more details.
実行方法
python norgal.py -i pair1.fq pair2.fq -o norgal_output --blast
引用
Norgal: extraction and de novo assembly of mitochondrial DNA from whole-genome sequencing data
Al-Nakeeb K, Petersen TN, Sicheritz-Pontén T
BMC Bioinformatics. 2017 Nov 21;18(1):510
ref.1