ゲノムのバリアント検出は、ゲノミクス、バイオインフォマティクス、生物医学研究およびその応用(1000 Genomes Project Consortium、2012,2015; Pabinger et al、2014)において非常に重要な意味を持つ。次世代シークエンシング(NGS)技術の最近の進歩により、ヒトや他の種に対して費用効果が高く、ハイスループットで大規模なシーケンシングデータを提供することが可能になった(Auton et al、2012; Lek et al、2016)。これは、ゲノムの変異検出を含む幅広いゲノミクスおよびバイオインフォマティクス研究を容易にする。 SNPs、IndelsおよびStructural Variantsを含むゲノムのバリアントコールのための多くのアルゴリズムおよびツールが開発されている。それらの大部分はベイズ法、隠れマルコフモデル、ロジスティック回帰モデルなどの統計的方法に基づいている(Bansal et al、2010; Challis et al、2012; Chen et al、2009; DePristo et al、2011; Garrison Marth、2012; Li、2011; Mose et al、2014; Wang et al、2013; Ye et al、2009)。これらの方法は十分に確立されているが、ゲノムの反復的または高密度に変化した領域におけるIndelsおよび構造変異を検出することには依然として苦しんでいる。 Li(2014)は、お互いに近接したIndelsではアライナーが正しいアライメントを取得するのが困難で、その結果、バリアントコーラーが正しいバリアントを取得するのを困難にしていることを示した。最近、Jiangら(2015)は、Indelsが現在評価されているよりも豊富であることを示している。さらに、Chaissonら(2014)は、一分子リアルタイムDNAシーケンシングを用いて一倍体のヒトゲノム(CHM1)を分析することにより、以前に報告されたよりも数倍多いIndelsを検出した。これらバリアントが欠けていると、腫瘍進化の特徴付けや治療反応の予測などの不正確な下流解析につながる可能性がある。従って、Indel検出の感度を改善する必要性が依然として存在する。
現在のバリアントコールメソッドのほとんどは、外部のアライナーによるアライメント情報に基づいてバリアントを検出する(Pabinger et al、2014)。アラインメントプロセスを高速化するため、ほとんどのアライナは同じ領域からのそれぞれのリード間の依存関係は考えない。これにより、一貫性のないアライメントが生成され、バリアントコールが複雑になる(Li、2014)。研究者は、通常、関心のある領域(Albers et al、2011; DePristo et al、2011)でのミスアライメントを回復するためにリアライメントを実行する。いくつかの方法は、ローカルアセンブリを実行しunitigを構築し、それから、unitigをリファレンスゲノムにマッピングしてバリアントコールする(Carnevali et al、2012; Mose et al、2014)。他のいくつかの方法は、long Indels検出を改善するためにアライメントグラフと呼ばれる特別なデータ構造を利用する(Marschall et al、2013)。研究者はまた、バリアントコールを支援するため複数サンプルを利用する(Bansal et al、2010; Li、2011; Wang et al、2013)。それにもかかわらず、それらのツールは依然として、さまざまな呼び出しプロセスをサポートするための入力データの活用が十分ではない。そのため、通常、バリアントを正確に検出できるようにするには、高いシーケンシングカバレッジが必要になる。
現在、ヒトおよび他の種の集団における多数のゲノムバリアントが公的データベースに集められている。例えば、dbSNP(Wheeler et al、2007)、dbVarおよびDGVa(Lappalainen et al、2013)、1000 Genomes Project(1999)などの多くの努力を払って多数のヒト個体から多くの変異が検出されている(1000ゲノムプロジェクトコンソーシアム、2015)またはExAC(Lek et al、2016)。したがって、新しいゲノムのバリアントコールをサポートするためにそれらを効率的に利用できる方法を設計することが望ましいであろう。この目的のために、SOAPsnp(Li et al、2009b)は、ヒトのデータの分析においてdbSNPを使用することにより、事前genotype確率を計算する。 Atlas(Shen et al、2010)は、トレーニングデータセットの事前SNP確率と事前エラー確率を使用している。それにもかかわらず、これらの方法は、既知のバリアント情報を効率的に利用してバリアントコールをサポートしていない。特に、これらのツールは、既知のバリアントを使用してのアライメント分析をサポートしていない。最近では、BWBBLE(Huang et al、2013)がリードのアラインメントをサポートするために既知のバリアントを利用できる少ないツールの1つだが、このメソッドはバリアントコール問題に適応していない。
本稿では、既知バリアント情報を利用して既知のバリアントと未知のバリアントの両方を、特にIndels近傍で、検出する新規の方法を紹介する。この方法は、リファレンスゲノムとそれに関連する既知バリアントプロファイルを適切な方法で組み合わせて、リードアライメントとバリアントコールを効率的かつ正確に実行する手助けをする。次に、既知のバリアント情報を考慮に入れるアルゴリズムを開発して、リードのリファレンスへのアライメントを行う。この戦略により、リードをより正確にアライメントさせることができ、従来の方法と比較して少ないリード数(低いカバレッジ)であっても、バリアントをより正確にコールすることができる。特に、著者らの方法は、高いカバレッジでもコールが難しい、Indels近傍のコールが改善されている。低カバレッジであっても高精度なこの方法により、変異検出の実験コストが削減できる。
IVC(Integrated Variant Calling)と呼ばれる本発明者らの方法は、(i)リファレンスゲノムと既知のバリアントプロファイルを適切な方法で組み合わせるメタ-ゲノム表現方法、および(ii)既知のバリアント感受性のあるアラインメントアルゴリズム、これは、最適なアラインメントを決定する際に既知のバリアントを考慮に入れることができるもの、の2つを主要なcontributionsに含んでいる。両方とも、標準的なリファレンスゲノムおよび従来のアラインメントアルゴリズムでは困難な、リードアライメントおよびバリアント検出プロセスにおいて既知バリアントを効率的かつ効果的に利用するように設計されている。 (iii)効率的にシードを見つけることができる反復ランダム化アルゴリズム、および(iv)アライメントプロセス中にバリアントプロファイルをアップデートするストラテジーは、リードアライメントの精度を向上させるのを助けることができ、それゆえバリアントコール精度も上がる 。方法については、論文の以降のセクションで説明する。
インストール
ubuntu16.04でテストした。
本体 GIthub
GO言語で実装されている。
インストールの詳細はGIthub参照。指示に従えばできる。
> ./ivc -h
$ ./ivc -h
2018/09/23 14:11:09 IVC - Integrated Variant Caller using next-generation sequencing data.
2018/09/23 14:11:09 IVC-main: Calling variants based on alignment between reads and reference multi-genomes.
Usage of ./ivc:
-1 string
pairend read file, first end
-2 string
pairend read file, second end
-I string
index directory
-O string
variant call output file
-R string
reference genome file
-V string
variant profile file
-d float
threshold of alignment distances
-debug
turn on debug mode.
-e float
gap extension cost
-lmax int
maximum length of seeds
-lmin int
minimum length of seeds
-maxp int
maximum number of paired-seeds
-maxs int
maximum number of seeds
-mode int
searching mode for finding seeds (1: random (default), 2: deterministic)
-o float
gap open cost
-r int
maximum number of iterations
-s float
substitution cost
-start int
starting position on reads for finding seeds
-step int
step for searching in deterministic mode
-t int
maximum number of CPUs
> ./ivc-index -h
$ ./ivc-index -h
2018/09/23 14:12:09 IVC - Integrated Variant Caller using next-generation sequencing data.
2018/09/23 14:12:09 IVC-index: Indexing reference genomes and variant profiles.
Usage of ./ivc-index:
-I string
index directory
-R string
reference genome file
-V string
variant profile file
-debug
turn on debug mode.
実行方法
1、リファレンスゲノムのindex作成
cd $GOPATH/src/github.com/namsyvo/IVC
ivc-index -R test_data/refs/chr1_ref.fasta \
-V test_data/refs/chr1_variant_prof.vcf \
-I test_data/indexes
- -R reference genome (FASTA format).
- -V known variant profile (VCF format).
- -I directory for storing index.
既知バリアントのvcfを指定している。indexes/にindexファイルが出力される。
2、バリアントコール
ivc.go -R test_data/refs/chr1_ref.fasta \
-V test_data/refs/chr1_variant_prof.vcf \
-I test_data/indexes \
-1 test_data/reads/chr1_dwgsim_100_0.001-0.01.bwa.read1.fastq \
-2 test_data/reads/chr1_dwgsim_100_0.001-0.01.bwa.read2.fastq \
-O test_data/results/chr1_variant_calls.vcf
- -R reference genome (FASTA format).
- -V known variant profile (VCF format).
- -I directory for storing index.
- -1 the read file (for single-end reads) (FASTQ format).
- -2 the second end file (for pair-end reads) (FASTQ format).
- -O variant call result file (VCF format).
既知バリアントのvcf、作成したindexesディレクトリ、リードファイルを指定している。results/にバリアントコールの.vcfファイルが出力される。
既知バリアントと合致するポジションも含めてコールされる。
引用
Leveraging known genomic variants to improve detection of variants, especially close-by Indels
Vo NS, Phan V
Bioinformatics. 2018 Mar 24
関連ツール