シーケンシングリードのリファレンスゲノムへのアライメントは、通常、ほとんどのゲノム解析の第一歩で歩い。しかし、全リードがリファレンスゲノムを正確に表していないため、シーケンシングリードをゲノム変異をまたいでリファレンスゲノムに戻すことは難しい。そのため、構造変化(SV)をコールする感度と精度が影響を受ける可能性がある。これは、SVだけでなく、シングルヌクレオチド変異(SNV)および挿入 - 欠失(indel)変異にも関連するショートリードのアライメントを研究する動機となった。
アライメントツールは、初期はミスマッチのみ許容してリードをアライメントさせるように開発された。 SOAP(ref.1)、RMAP(ref.2)、Bowtie(ref.3)、PerM(ref.4)およびBatMis(ref.5)を含む多くのそのような方法が提案されている。これらは一般的に高速だが、ヒトの多型(7)の7〜8%を占めることが示されているノンSNVの広範囲の捕捉には失敗するだろう。indelsが広範囲の病気に関与していることが示されているが(ref.7)、ミスマッチアライナーは生物学的に重要なイベントの研究に使用するには不適当である。
indelsにまたがるリードをアライメントするため、gapped aligners が提案された。既存のgappedアライメントの方法は、seed-and-extend approachを使って、リードの一部をアライメントさせ、予備的なシード位置を得ている。異なるgapped aligners は異なるシードテクニックを採用しており、contiguous exact match seeds (BLAT(ref.8)、MegaBLAST、SeqAlto(ref.9)、YAHA(ref.10)、BWA-MEM(ref.11))、mismatch-seeds(RMAP(ref.2)、Stampy (ref.13)、PatternHunter(ef.14)、MAQ(ref.15)、ZOOM(ref.16))およびq-gram filters(RazerS(ref.17)、SHRiMP(ref.18)、MASAI(ref.19))が含まれる。次に、シード位置をリード全長に伸ばし、ギャップを許容し、これらの位置合わせをユーザに報告する。
現在のgapped aligners は、一般的に合理的な効率と精度を提供している。しかし、これらは、それぞれのリードの部分が、予備シード位置を得るために使用された部分が少数のミスマッチを有すると仮定する。この仮定はアライメントにバイアスを与える。著者らの分析は、間違ったアラインメントを持つリードの大半は、(1)シードのミスマッチが多いリード、または(2)ペアエンドリードが正しくないペアでレスキューされたリードであることを示している。 (1)は、seed-and-extend approachの好ましくない結果である。リードにindelまたはミスマッチが多すぎる場合、アライナーは、候補位置の不正確なseedingのためにリード位置をずらす。 (2)は、ペアエンドライブラリの推定/指定された名目上のインサートサイズに過度に依存する偏ったペアリング方法論に起因する。既存の手法では、SV上にまたがるペアドリード(すなわち、2つのリードの位置合わせされた位置が予想されるインサートサイズ内にない)は、代わりに一致するようにアライメントされる他のゲノム位置にミスアライメントされる可能性がある。このバイアスはアライメントに影響を与え、バリエーションコールのパフォーマンスに悪影響を与える。
リードのミスアラインメントは一般的には低いが、バリアントに跨る可能性が最も高いため、それらを解決することが重要である。このように、seed-and-extend gapped alignerであるBatAlignは、SNV、indels、SVの上を跨るリードの正確なアラインメントを提供するために開発された。既存のシード戦略とは異なり、BatAlignは高いミスマッチとリードのシーディング領域のギャップを許容する。これは、リードの確実なシード位置を見つけるために、「Reverse-alignment」と「Deep-scan」という2つの戦略を利用している。また、偏りのないマッピングを実行することでSVスパニングするペアエンドリードのミスアライメントを回避する。
この論文の構成は以下の通りである。まず、データのシミュレーションと、アライナーのパフォーマンスをどのように比較しているかを説明する。次に、BatAlignで実装されているルーチンについて説明する。
ディスカッションと結果のセクションでは、現在のシード・アンド・エクステンション手法の不備について触れた後、BatAlignのパフォーマンスと広範囲のデータ・セット(ARTシミュレーション・データ・セット、indel-aberrantデータセット、疑似ペアエンドデータセット、RSVシミュレートSVデータセット、およびリアルデータセットが含まれる。全体的に、この結果は、BatAlignが、比較された方法の中でバリアントまたはゲノムブレークポイントにまたがるリードをアライメントさせる時に最も高いF valueを有することを示している。
BatAlignに関するツイート
インストール
ubuntu18.04でテストした。
以下より実行ファイルを含むzipをダウンロードする。または指示に従いビルドする。
http://compbio.ddns.comp.nus.edu.sg/%7Elimjingq/BATALIGN/
wget http://compbio.ddns.comp.nus.edu.sg/%7Elimjingq/BATALIGN/batalign_Compiled.zip
unzip batalign_Compiled.zip && cd batalign_Compiled/bin/
./configure
make
make copy
> batalign -h
$ batalign -h
Parameters:
--help | -h Print help
--inputfile | -i <filename> Name of input file
--genome | -g <filename> Name of the genome mapped against
--outputfile | -o <filename> Name of output file
--buffersize | -b <integer> Size of disk buffers
--location | -l <filename> use this file to filter locations by region. If N, use N locations file ...
--indelsize indel size....
--maxhits | -m maximum number of pairings to find....
--maxmismatches | -n maximum mismatches allowed due to seq. errors....
--mishits | -x output unmapped hits to mishits.fq ....
--unmapped | -X output unmapped hits to file ....
--single | -u output singly mapped hits to file ....
--editdist | -e maximum edit distance/percentage to allow in mate rescue....
--matchlen | -E minimum match len to allow in mate rescue....
--multi | -M Output multi hits to file....
--disc | -D Output discordant hits to file....
--nhits | -r <number> for a single mapped read with many locations, number of hits to output....
--maxtags | -t <integer> maximum pairs to scan...
--std | -d <integer> standard deviatiion of reads distribution...
--swon | -w(=rescdisc) perform Smith-Waterman mate rescue. if rescdisc is set, try to rescue discordant pairs before marking them as discordant..
--swlow | -Z Assign low quality to rescued mates..
--flanksize | -f <integer> size of flanking region for Smith-Waterman...
--forcelength | -F <integer> map only the first <integer> bases ...
--solidmap | -S map solid pairs..
--bwapol | -B descend only one mismatch mote than opt hit..
--unique | -U Mark unique hits ..
--lowestmis | -P Pair Hits having lowest count of mismatches in Head and Tail ..
--config | -c <file> Load settings from configuration <file> ..
--verbose | -v <number> 1-turn off general info 2-turn off progress bar ..
--noheader | -H Do not print SAM header ..
--ntorand | N Replace N's in the read with random characters.. --ncount | C Maximum N's allowed in the read.. --logfile | -L Log exit status to this log ..
--print_unique_sw_only Print_only_unique SW recovered hits..
--print_tophits | Print only single hits with unique mappings..
--heuristic | Skip 2 mismatch scan of end anchors..
--no_phred_filter | do not apply phred filter..
--easyphred | apply lenient phred filter..
--general | try to get most accurate mapping..
--swlimit | <integer> try at most <integer> sw extensions ..
--threads | <integer> Launch <integer> threads..
--splitout
テストデータ実行方法
Index of /~limjingq/BATALIGNから、hg19.BatAlign.index.tbzをダウンロード。ファイルサイズは14.5GBほどある。indexはすでにできているが、ここではやり直す。
1、index
build_indexX hg19.fa
複数のindexファイルができる。
2、mapping
batalign -g hg19.fa -q ART.100bp.1millionreads.fq -o CML.out.sam --threads 20
samが出力される。
引用
BatAlign: an incremental method for accurate alignment of sequencing reads
Lim JQ, Tennakoon C, Guan P, Sung WK
Nucleic Acids Res. 2015 Sep 18;43(16):e107