1000ゲノムプロジェクト(論文より ref.1)は、1000ゲノムの全ゲノムシーケンシング(WGS)の作成と解析を目的として、2008年に開始された。コスト削減とシーケンシングのスループットが向上することで、Human Longevity Inc.(CEOはクレイグベンダー)の公開したWGSゲノム10,000( ref.2)から英国の100,000ゲノムプロジェクト( ref.3)など、WGSプロジェクトの規模と範囲が指数関数的に増加した。アメリカでは数がより曖昧だが1 000 000 の患者のシーケンスも進んでおり((Precision Medicine Initiative( ref.4)と Million Veteran Program( ref.5))、中国でも同様のプロジェクト( ref.6)が提案されている。 このようなプロジェクトは膨大な量のデータを生成し、計算資源を浪費し、現在の能力よりはるかに高速な方法を必要とする( ref.7)。 ゲノムの包括的な分析には、一塩基変異(SNV)、indels(50塩基以下の挿入および欠失)、より大きなコピー数変異(CNV)および欠失、重複、挿入、逆位、転座を含む構造変異(SV)の広範な変異検出が必要である。 各タイプの変異についての方法が開発されている。 典型的なWGS分析ワークフローでは複数のアルゴリズムを実行する必要がある。 最近のパイプラインであるSpeedSeq(ref.8)は、WGS分析に必要な計算資源を削減することに重点を置いていたが、まだ4つの変種検出アルゴリズムを採用していた(speedseq紹介)。 これは入力/出力の繰り返しおよびいくつかのアルゴリズムによる同じシーケンスリードの分析の点で計算資源を無駄に使っている可能性がある。 ここではミスマッチ、スプリットリード、リードペア、およびリードデプスのWGSエビデンスを組み合わせて、バリアント検出の新しい包括的な方法である Genome Rearrangement Omni-Mapper (GROM)を紹介する。 GROMは最先端の変異検出パイプラインよりも桁違いに速いランタイムを示す。 GROMは、計算時間を大幅に短縮しながら、SNV、indels、SV、およびCNVを単一のアルゴリズムで検出し、よく使用されるアルゴリズムと比較して全体的に優れたバリアント検出能力を提供する。
ランタイムの比較。論文より転載。
並列化に対応しており、たくさんのCPUコアを指定してランすると、GATKのManta(v.1)より10~100倍高速に解析できます。
インストール
依存
- SAMtools (version 1.3.1) 本体に含まれる
GitHub - grigoriev-lab/GROM: SNV, Indel, SV, CNV detection
git clone https://github.com/grigoriev-lab/GROM.git
cd GROM/
make
cd bin/
> ./GROM
$ ./GROM
bam (null)
ref (null)
results (null)
ERROR: No bam file specified.
(anaconda3-4.2.0) [uesaka@cyano bin]$ ./GROM -h
GROM, Version 1.0.1
Usage: GROM -i <BAM input file> -r <REFERENCE input file> -o <output file> [optional parameters]
Required Parameters:
-i BAM input file
-r REFERENCE input file (fasta)
-o STRUCTURAL VARIANT output file
Optional Parameters:
-P threads [1]
-M turn on GROM's duplicate read filtering
-q mapping quality threshold [35]
-s minimum standard deviations for discordance [3]
-v probability threshold [0.001]
-g gender (0=female,1=male) [0]
-d minimum discordant pairs [3]
-b base phred quality score threshold [35]
-n minimum SNV bases [3]
-a minimum SNV ratio [0.2]
-y maximum unmapped gap or overlap for split reads [20]
-z minimum split read mapped length (each split) [30]
-S turn off split-read detection
-p ploidy [2]
-e insertion probability threshold [0.0000000001]
-j minimum SV ratio [0.05]
-k maximum homopolymer (indels) [0.05]
-m minimum indel ratio [0.125]
-u maximum evidence ratio (SV except insertion) [0.25]
-A sampling rate [2]
-V read depth p-value threshold [0.000001]
-W window minimum size [100]
-X window maximum size [10000]
-Y minimum number of blocks [4]
-Z block minimum size [10000]
-U excessive coverage threshold [2]
-B chromosome maximum length [300000000]
-D dinucleotide repeat minimum length [20]
-E dinucleotide repeat minimum standard deviation [1.5]
-K ranks (0=no ranking,1=use ranks) [1]
-L duplication coverage threshold [2]
See README file for additional help.
パスの通ったディレクトリにコピーしておく。
Speedseqなどのヒトゲノム解析ツールは、dockerコンテナを使わないと導入が面倒なものが多い。それに対してGROMはずっと簡単に導入できる。
ラン
test_data/を使ってテストランできる。
GROM -i ./test_data/tilapia_SAMD00023995_GL831235-1.bam -r ./test_data/oreNil2_GL831235-1.fa -g 0 -o tilapia_SAMD00023995_GL831235-1_predictions.vcf
- -i BAM input file
- -r REFERENCE input file (fasta)
- -o STRUCTURAL VARIANT output file
- -M turn on GROM's duplicate read filtering
- -g gender (0=female,1=male) [0]
- -p ploidy [2]
- -P threads [1]
-Mをつけるとduplication readsのフィルターもかかる。-gでfemaleかmaleかを指定する。-Pで指定するスレッド数は、指定した値の2倍になる。
出力はVCFに準拠している。
他にも様々なパラメータがある。詳細はGithubで確認してください。
Genome in a Bottle (GiaB)のデータでラン
GiaBの管理するGithubに、様々なライブラリとシーケンス技術でシーケンスしたデータ(vcf、bam、fastqなど)のリンクがある(リンク)。この中からNA12878のWGSデータ: Illumina WGS 2x150bp 300X per individualをダウンロードしようかと思ったが、300xは多すぎたので(およそ1TB)、140407_D00360_0017_BH947YADXXのシーケンスデータだけダウンロードする(paired-end x 48)。
bwa mem -t 20 Homo_sapiens.GRCh38.dna.toplevel.fa.gz R1.fq.gz R2.fq.gz | samtools sort -@ 20 -O BAM -o paired.bam -
samtools index paired.bam
samtools faidx Homo_sapiens.GRCh38.dna.toplevel.fa.gz
引用
Lightning-fast genome variant detection with GROM
Smith SD, Kawash JK, Grigoriev A1.
Gigascience. 2017 Oct 1;6(10):1-7.
Where are the fastq files for NA12878?
https://groups.google.com/forum/#!topic/genome-in-a-bottle/bWvdIpK3ZL4