2023/09/20 バージョンされたコマンドに更新
次世代シーケンシング(NGS)技術の進歩により、近い将来に精密医療のさまざまなアプリケーションをサポートできるようになってきている(Ku and Roukos、2013)。ますます多くの医学的および生物学的研究でNGS技術を採用してパーソナル間の遺伝的変異を特徴付けている(Dong、et al、2015; Kulkarni and Frommolt、2017)。このような遺伝的変異は、3つのタイプに分類できる。(1)シングルヌクレオチドバリアント(SNV、SNPとも呼ばれる)、 (2)挿入と欠失(indel); (3)構造変異(SV、転座、逆位、コピー数変動、サイズが少なくとも50 bpのインデルを含む)。
ゲノムのバリアント同定は、臨床ゲノム研究の成功にとって重要な要素である(Hwang、et al、2015)。真のバリアントを偽のバリアントと区別するには、正確で一貫した分析手順が必要である。この手順には、多くの場合、ショートリードアラインメント、アラインメントのrearrangement、およびバリアントコールのステップが含まれる。各ステップで、1つ以上のツールを適用して、目的の出力を生成する。たとえば、BWA(Li and Durbin、2009)、Bowtie(Langmead and Salzberg、2012; Langmead、et al、2009)、GEM(Marco-Sola、et al、2012)、Subread(Liao、et al、 2013)、HISAT / HISAT2(Kim、et al、2015)、およびKART(Lin and Hsu、2017)は、NGSショートリードをリファレンスゲノムにマッピングしてアライメントを生成できるリードアライナーである。 SAMtools(Li、et al、2009)およびPicardは、リードアラインメントを操作するためのさまざまなユーティリティを提供する。バリアントコールについては、Genome Analysis Tool Kit(GATK)(DePristo、et al、2011)、Freebayes(Erik Garrison、2012)、Platypus(Rimmer、et al、2014)、VarScan(Koboldt、et al、2009) )およびSAMtoolsは広く使用されている。
これらのツールのさまざまな組み合わせにより、さまざまな分析パイプラインが生成される。したがって、異なるバリアントコールパイプラインは、バリアントコールの実質的な不一致を生成する場合がある。意見の相違を確認するために、いくつかの研究(Hwang、et al、2015; Yen、et al、2017)が実施されている。その上、すべて
既存のバリアントコールパイプラインは時間とスペースを消費する。リードアラインメントは、必要な形式で並べ替えて保存する必要がある。
この調査では、リードマッピングとバリアントコールのアルゴリズムを統合した、効率的で多用途のNGS分析ツールであるMapCallerを紹介する。リードマッピングでは、分割統治戦略(wiki)を採用して、ギャップのあるアライメントのある領域とない領域にリードを分離する。リードパーティションのこの戦略により、SNV、indel、およびブレイクポイントを効率的に特定できる。バリアントコールの場合、MapCallerはposition frequencyの行列を維持して、入力ゲノム配列のマッピング中にリファレンスゲノムの各位置ですべての塩基の頻度を追跡する。 MapCallerは、リードがリファレンスゲノムにマッピングされている間にバリアントの識別に必要なすべての情報を収集するため、同じプロセスでバリアントを直接コールできる。したがって、従来の分析パイプラインは大幅に簡素化できる。既存のバリアントコール元のほとんどは、少数の特定のタイプのバリアントのみを検出できるが、MapCallerは、SNV、indel、逆位、転座など、複数のタイプのバリエーションを検出できる。 MapCallerは、バリアントコールで同等のパフォーマンスを生成するだけでなく、選択したバリアントコールパイプラインと比較してはるかに少ない時間で済む。 MapCallerはLinux 64ビット環境で開発され、標準のC / C ++で実装された。入力としてリードファイル(FASTA / FASTQ)を受け取り、予測されるすべてのバリアントをVCF形式で出力する。 MapCallerおよびベンチマークデータセットのソースコードは、https://github.com/hsinnan75/MapCallerから入手できる。
インストール
ubuntu19.04でテストした。
git clone https://github.com/hsinnan75/MapCaller.git
cd MapCaller/
make
cd bin/
#conda(未テスト)
mam install -c conda-forge -c bioconda -c defaults mapcaller
> ./bwt_index -h #現在のバージョンではMapCaller indexに変更された
$./bwt_index -h
Usage: ./bwt_index Ref_File[ex. ref.fa] Prefix[ex. MyRef]
> ./MapCaller
$./MapCaller
MapCaller v0.9.9.7
Usage: ./MapCaller -i Index_Prefix -f <ReadFile_A1 ReadFile_B1 ...> [-f2 <ReadFile_A2 ReadFile_B2 ...>]
Options: -i STR BWT_Index_Prefix
-f files with #1 mates reads (format:fa, fq, fq.gz)
-f2 files with #2 mates reads (format:fa, fq, fq.gz)
-t INT number of threads [16]
-size Sequencing fragment size [500]
-ad INT Minimal ALT allele count [10]
-sam SAM output filename [NULL]
-bam BAM output filename [NULL]
-vcf VCF output filename [output.vcf]
-m output multiple alignments
-somatic detect somatic mutations [false]
-no_vcf No VCF output [false]
-p paired-end reads are interlaced in the same file
-filter apply variant filters (under test) [false]
-v version
実行方法
1、indexing
#古いバージョン
bwt_index ref.fasta <index_prefix>
#現在
MapCaller index ref.fasta <index_prefix>
indexingせずに、2のコマンドでゲノムのfastaファイルを指定しても動作する。
2、バリアントコールを行う。indexファイル、ペアエンドfastq(もしくはfasta)と出力のvcfを指定する。
#シングル
MapCaller -i index_prefix -f ReadFile1.fq -f2 ReadFile2.fq -vcf out.vcf -sam out.sam -bam out.bam -t 8
#複数
MapCaller -i index_prefix -f ReadFileA_1.fq ReadFileB_1.fq ReadFileC_1.fq -f2 ReadFileA_2.fq ReadFileB_2.fq ReadFileC_2.fq -vcf out.vcf -t 8
#fastaファイルを指定するには-rを使う
MapCaller -r ref.fasta -f ReadFile1.fq -f2 ReadFile2.fq -vcf out.vcf -sam out.sam -bam out.bam -t 8
bamやsamの出力はオプション。不要なら消す。
引用
MapCaller – An integrated and efficient tool for short-read map- ping and variant calling using high-throughput sequenced data
Hsin-Nan Lin and Wen-Lian Hsu
bioRxiv preprint first posted online Sep. 26, 2019
追記
MapCaller – An Integrated and Efficient Tool for Short-Read Mapping and Variant Calling Using High-Throughput Sequenced Data
Hsin-Nan Lin and Wen-Lian Hsu
Journal of Bioinformatics and Comparative Genomics, May 20, 2021