ロングリードシーケンスデータは、大規模で複雑な構造変異の検出に有用だが、技術的なアーティファクトが誤った構造変異の検出を引き起こす可能性がある。解析において、ロングリードデータにおけるフォールドバックアーティファクトの存在に気づいた。そのため、フォールドバックアーティファクトの候補となるリードを検出するオープンソースツール「Breakinator」を開発した。このツールは、既知のキメラアーティファクトも検出できる。アラインメントベースのアプローチにより、Breakinatorは既存の品質管理ツールで検出されなかったアーティファクトを検出できる。ナノポアシーケンスと1分子リアルタイムシーケンスの両方において、サンプルの種類、ライブラリタイプ、シーケンスケミストリ、シーケンスマシン、ベースコールソフトウェアの幅広い範囲にわたって、フォールドバックとキメラリードの発生状況をプロファイリングした。
フォールドバックアーティファクト(fold-back: 折り返し)はロングリードシーケンスの解析で見られる偽の構造変異の一種で、duplicated inversionとも呼ばれる12。この現象では、リードの半分が一方のストランドにマッピングされ、残りの半分も同じ位置にマッピングされるが反対のストランド上にマップされる。リードの正方向と逆方向のストランドがほぼ完璧に連結されたような形態を示す(図1参照)。Sonesonらによる以前の研究では、ONTのダイレクトcDNAデータにおいて、主要なマッピングと反対のストランドで重なる補足的なマッピングを有するバリアントリードの増加が指摘されていた。彼らは、これらのリードがベースコーラーによって分割されずコールされたリードである可能性があるのではないかと仮説が立てられていた[11]。しかし、本著者らの知る限り、これらのフォールドバックアーティファクトの原因や頻度は、最新のONTナノポア(R10.4)やPacBio HiFiなどのより最近のデータを用いた後続の研究で調査されていない。
インストール
依存
- Python 3.7 or higher
git clone git@github.com:jheinz27/breakinator.git
cd breakinator
python breakinator.py -h
$ python breakinator.py -h
usage: breakinator.py [-h] -i FILE [-m INT] [-a INT] [--sym] [--rcoord] [--margin FLOAT] [-o FILE] [--chim INT] [--fold INT] [--tabular]
Flag foldbacks and chimeric reads from PAF input
options:
-h, --help show this help message and exit
-i FILE PAF file sorted by read IDs
-m INT Minimum mapping quality (integer)
-a INT Minimum alignment length (bps)
--sym Only report palindromic foldback reads within margin
--rcoord Print read coordinates of breakpoint in output
--margin FLOAT [0-1], With --sym, Proportion from center on either side to be considered foldback artifact
-o FILE Output file name
--chim INT Minimum distance to be considered chimeric
--fold INT Max distance to be considered foldback
--tabular Return report as a tsv file (useful for evaluating multiple files)
実行方法
1、minimap2を使ってロングリードをリファレンスにマッピングして、アラインメントのPAFを作成する。
minimap2 -cx map-ont --secondary=no genome.fa reads.fastq > alignments.paf
あるいはSAMからPAFに変換する。
paftools.js sam2paf -p alignments.sam > alignments.paf
2、breakinatorのラン。PAF ファイルを解析し、"foldbacks"や"chimeric reads"といったアーティファクトの可能性があるリードを識別し、フラグを立てる。
python breakinator.py -i alignments.paf -m 30 -a 500 --sym --margin 0.03 --rcoord -o results.txt
- -i PAF file sorted by read IDs
- -m Minimum mapping quality (integer)
- -a Minimum alignment length (bps)
- --sym Only report palindromic foldback reads within margin
- --rcoord Print read coordinates of breakpoint in output
- --margin FLOAT [0-1], With --sym, Proportion from center on either side to be
- -o Output file name
Diploidinatorの使用
HG002 のような二倍体アセンブリに対して使う場合は、Diploidinatorという Rust 製ツールで事前処理することが推奨されている。これは、minimap2が、各リードを父方の配列にも母方の配列にもほぼ同じスコアでマッピングすることになるため、マッピングクオリティ(MAPQ)が下がる現象が発生するため。Diploidinatorは、二倍体アセンブリをhap1hap2)に分けてMinimap2で別々にマッピングした結果を入力とし、2つのPAFファイルを比較し、それぞれのリードについてアライメントスコアが高い方のアラインメントを採用する。
cd breakinator/diploidinator
cargo build --release
./target/release/diploidinator
> ./target/release/diploidinator
minimap2 の父方と母方のハプロイド配列へのマッピング。
minimap2 -cx splice -uf -k14 -t 16 --secondary=no --paf-no-hit hg002v1.1.MATERNAL.fasta read.fastq > out_mat.paf
minimap2 -cx splice -uf -k14 -t 16 --secondary=no --paf-no-hit hg002v1.1.PATERNAL.fasta reads.fastq > out_pat.paf
Diploidinatorのラン
diploidinator out_mat.paf out_pat.paf > out_haps_merge.paf
コメント
逆方向反復マッピングは、DNAやRNAの末端がヘアピン構造をしているPacBioのライブラリや一部の細菌染色体・プラスミドでも起こると思うので、生物学的なものを見ているのか、技術的なアーティファクトなのか慎重な判断が必要かと思いますが、興味深い報告だと思います。自分はこのようなものがあるのを知りませんでした。
引用
Detecting Foldback Artifacts in Long Reads
Jakob M. Heinz, Matthew Meyerson, Heng Li
bioRxiv, Posted July 18, 2025.
関連