Whole-exome sequencing(WES)は、疾患に寄与する稀少変異を同定するための手頃なアプローチとなった。過去5年間で、PubMedのキーワード「exome sequencing」で索引付けされた論文の数は200倍に増加し、ヒトの遺伝学の明確な傾向を表している。生物学的メカニズムを明らかにするためのWESの有用性は、問題の表現型の遺伝的構造、配列決定技術の質、および配列の変異を同定および遺伝子型を決定するために用いられる分析方法にかなり依存する。近年、Atlas-SNP2(Challis et al、2012)、GATK(DePristo et al、2011; McKenna、2010a)、SeqEM(Martin et al、2010)を含むraw WESデータを解析するためのいくつかの方法が開発されている)、FreeBayes(Garrison and Marth、2012)、SAMtools(Li et al、2009a)、Dindel Albers et al (2011)、SOAPsnp(Li et al、2009b)、Varscan2(Koboldt et al、2012)などがある。
これらの方法は、全エキソームおよび全ゲノム配列決定の両方を含む次世代配列決定(NGS)データの分析における実質的な努力および専門知識を表す。ここでは、CGESと呼ばれるコンセンサスコーリングアプローチを紹介する。このアルゴリズムは、シカゴ大学医学部とComputation Instituteの共同作業として開発され、4つの既存のアルゴリズム(GATKv2.8、Atlas-SNP2、SAMtoolsおよびFreeBayes)の多様なバリアントコール戦略を利用している。オープンソースの、自由に利用可能なユーザーフレンドリーな分析プラットフォームである。
すべてのバリアントコールプログラムは、シーケンスデータの一部のコアプロパティ(リードのデプスやalleleの数など)と比較してパフォーマンスを最適化しようとするが、他のディメンションとは異なる場合がある。 GATKv2.8、SAMtools、Altas-SNP2、およびFreeBayesにコンセンサスベースのパイプラインを構築することを選択した。これらの4つのアルゴリズムは補完的なアプローチを使用するためである。たとえば、すべてのアルゴリズムには遺伝子型とindel尤度モデルが含まれているが、モデルそのものは使用される情報やそのような情報に与えられる重み付けが異なっている[O'Rawe et al 2013)とYu and Sun 2013を参照)。さらに、FreeBayesでは、サンプルにコピー数のバリエーションがある場合は明示的なパラメータ化が可能で、GATKv2.8は特定のデータセットで訓練できる洗練されたフィルタリングオプションを提供する。これらのプログラムは、タイプIおよびタイプIIの両方の誤差を低減するために、以前の変異観察、連鎖不均衡構造および構造変化を含む、可能な限り多くの情報を統合しようとするアルゴリズムのスイートを構成する。
簡単に言えば、CGESは最初に各アルゴリズムは別々に実行し、その結果得られる4つの遺伝子型コールの集合を結合して、サイズは大きくなるが平均品質は低い3つの出力セットを作成する:コンセンサスコール(4つのアルゴリズムすべてによるコール)、部分的コンセンサスコール(例えば、3つ以上のアルゴリズムによって作られたもの)と、すべてのコール(1つ以上のアルゴリズムによって行われた呼び出し)との和集合である。 CGESはまた、各アルゴリズムからのクオリティスコアを調和させて、QCレポートおよびpublish品質のプロット(CGES-QCツール)を提供する。
論文の図1に示すように、CGESとCGES-QCは多段階のパイプラインを形成し、複数のコーラーを実行する必要がある。Galaxyプラットフォーム(Goecks et al、2010)を使用して、パイプラインの各ブランチおよびCGES自体を形成している。 Galaxyは、NGSパイプラインを実行するために必要な計算上の専門知識を削減し、Amazon Web Services、Google、Microsoftなどのパブリッククラウドで実行できるため、Galaxyを使用することでNGSデータ分析を民主化する利点がある。自閉症の被験者とその家族に収集されたexomeデータにCGESのコンセンサスコールアプローチを適用した。この調査の結果を使用して、CGESアプローチの能力を実証し、プロジェクトレベル、バリアントレベル、サンプルレベルおよびファミリーベースのメトリックを、すべてのアルゴリズムに提供する。
インストール
依存
- pysam
- pyvcf
pip install pysam pyvcf
本体 Github
https://github.com/vtrubets/galaxy.consensus
git clone https://github.com/vtrubets/galaxy.consensus.git
cd galaxy.consensus/
> python consensus_tool/consensus_genotyper.py --help
$ python consensus_tool/consensus_genotyper.py --help
usage: consensus_genotyper.py [-h] [--site-threshold SITETHRESH]
[--genotype-threshold GENOTHRESH]
[--ignore-missing]
VCFS [VCFS ...]
Find sites and genotypes that aggree among an arbitrary number of VCF files.
positional arguments:
VCFS List of VCF files for input.
optional arguments:
-h, --help show this help message and exit
--site-threshold SITETHRESH, -s SITETHRESH
Number of inputs which must agree for a site to be
included in the output.
--genotype-threshold GENOTHRESH, -g GENOTHRESH
Number of inputs which must agree for a genotype to be
marked as non-missing.
--ignore-missing, -m Flag specifying how to handle missing genotypes in the
vote. If present, missing genotypes are excluded from
the genotype concordance vote unless all genotypes are
missing.
ラン
テストラン用のデータとして、Githubレポジトリのdataディレクトリに、4つのVCFファイルが準備されている。Atlas-SNP2、GATK UnifiedGenotyper、FreeBayes、SAMtools(mpileup)のバリアントコール結果で、それぞれ132のサンプルを解析したvcfファイルとindexファイル (vcf.gz.tbi) である。
以下のようにそれぞれのvcf.gzを指定するか、vcfのディレクトリを指定してランする(data/*vcf.gz)。
python consensus_tool/consensus_genotyper.py --genotype-threshold 4 --site-threshold 4 data/atlas.vcf.gz data/freebayes.vcf.gz data/gatk.vcf.gz data/mpileup.vcf.gz output.vcf
- --site-threshold Number of inputs which must agree for a site to be included in the output.
- --genotype-threshold Number of inputs which must agree for a genotype to be marked as non-missing.
使用するvcfはvcftoolsのvcf-sortなどでポジションソートされている必要がある。
注: 現在の最新のレポジトリはエラーがあるかもしれない。pythonでよく出るエラーメッセージが出てくる。注意して使ってください。ためしてませんが、galaxyで使ったほうが良いかもしれません。
引用
Consensus Genotyper for Exome Sequencing (CGES): improving the quality of exome variant genotypes
Vassily Trubetskoy, Alex Rodriguez, Uptal Dave, Nicholas Campbell, Emily L. Crawford, Edwin H. Cook, James S. Sutcliffe, Ian Foster, Ravi Madduri, Nancy J. Cox, and Lea K. Davis
Bioinformatics. 2015 Jan 15; 31(2): 187–193.
samtools 使い方 mpileup ( calling SNPs ) & annotation
http://bioinfo-dojo.net/2016/07/13/samtools_calling_snps/