1塩基のブレークポイント分解能で構造変異(SV)の正確な位置を定義することは、アライメントのギャップが大きいために困難な問題である。これまでは、AGE(Alignment with Gap Excision)を用いることで、1塩基分解能でSVのブレークポイントを定義することができたが、長い配列のペアをアライメントする場合、AGEは膨大な量のメモリを必要とする。この問題を解決するために、著者らは古典的なHirschbergアルゴリズムをベースにしたメモリ効率の良い実装であるLongAGEを開発した。LongAGEを使ってPacBioの10Kbpを超える長さのリードのセグメント重複に埋め込まれたSVのブレークポイントを解決し、LongAGEを実証した。さらに、同じ遺伝子座の欠失と重複について異なるブレークポイントが観察され、このようなマルチアレルコピーナンバーバリアント(mCNV)が2つ以上の独立した先祖代々の突然変異から生じることを直接的に証明している。LongAGEはC ++で実装されており、Github(https://github.com/Coaxecva/LongAGE)で利用できる。
インストール
git clone https://github.com/Coaxecva/LongAGE.git
cd LongAGE
make
> ./long_age_align -h
# ./long_age_align -h
Usage:
long_age_align
[-version] [-allpos]
[-indel|-tdup|-inv|-invl|-invr]
[-match=value:1] [-mismatch=value:-3]
[-both] [-revcom1] [-revcom2]
[-coor1=start-end] [-coor2=start-end] file1.fa file2.fa
テストラン
リファレンスとロングリードを指定する。デフォルトはindel検出モード(-indel)になっているが、フラグを立てることで変更可能。
#indel mode
long_age_align -indel part_chr19.fa seq_first.fa
# TDUP mode
long_age_align -tdup part_chr19.fa seq_second.fa
- -indel|-tdup|-inv|-invl|-invr
出力
MATCH = 1, MISMATCH = -3, GAP OPEN = -7, GAP EXTEND = -1, INDEL
First seq [1,33001] => 33001 nucs 'chr19:54210000-54243000'
Second seq [1,17004] => 17004 nucs 'm54015_171028_124452/40502023/4621_21625'
Score: 4819
Aligned: 13127 nucs
Identic: 11683 ( 89%) nucs => 9173 ( 89%) 2510 ( 88%)
Gaps: 855 ( 7%) nucs
Alignment:
first seq => [ 1, 9914] EXCISED REGION [29680,32426]
second seq => [4106,14095] EXCISED REGION [14112,16859]
EXCISED REGION(S):
first seq => 19765 nucs [9915,29679]
second seq => 16 nucs [14096,14111]
Identity at breakpoints:
first seq => 3 nucs [9914,9916] to [29679,29681]
second seq => 0 nucs
Identity outside breakpoints:
first seq => 1 nucs [9914,9914] to [29680,29680]
second seq => 1 nucs [14095,14095] to [14112,14112]
Identity inside breakpoints:
first seq => 21 nucs [9915,9935] to [29659,29679]
second seq => 0 nucs
1 GTTCTAATTCTAGAGGCAAGCCCCTTCCATGT-CCTGAGCTCTGTAAT-GCATCTTTT-C 57
|||||||||||||||||||||||||||||||| |||.||||||||||| ||.|||||| |
4106 GTTCTAATTCTAGAGGCAAGCCCCTTCCATGTTCCTTAGCTCTGTAATCGCCTCTTTTTC 4165
58 TTTCATGAGCCTTGCGAT-CAGGCGATGTTTATTCAGTGGTTACCACATCCAGGCATGCT 116
|||||||||| ||||||| ||||...||||| |||||||||||||||||||||||. ||
4166 TTTCATGAGC-TTGCGATTCAGGGCGTGTTT-TTCAGTGGTTACCACATCCAGGCT--CT 4221
117 GCCAGGAGGAGGGGAGTCGTGGGTGAAGCTGATAGGATTCCTGCTGGACTCACAGAGCCT 176
||||.||||||.| ||||||||| ||||||||||.|||||||||||| |||||.||||||
4222 GCCATGAGGAGTG-AGTCGTGGG-GAAGCTGATATGATTCCTGCTGG-CTCACCGAGCCT 4278
177 GGGTTAATGACACATTACCCATGTTTAGATAGGAGGTAATTCTGCTCCGGTTTCGACAAG 236
|||||| ||||||||||||||| |||||||||| ||||||||||..|||||||||||||
4279 GGGTTA-TGACACATTACCCAT-TTTAGATAGG--GTAATTCTGCCTCGGTTTCGACAAG 4334
(以下略)
引用
LongAGE: defining breakpoints of genomic structural variants through optimal and memory efficient alignments of long reads
Quang Tran, Alexej Abyzov
Bioinformatics, Published: 10 August 2020