macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

ターゲット2倍体ゲノムアセンブラ JTK

 

 ハプロタイプ間の遺伝的差異を解明するためには、Diploid assembly(二倍体アセンブリ)、すなわち相同染色体の配列を別々に決定することが不可欠である。一つのアプローチは、リファレンス配列上で一塩基変異(SNV)をコールし、phase化することである。しかし、この方法は、大きなセグメント重複(SD)や構造変異(SV)では、これらの領域から得られたリードのアラインメントが信頼できない傾向があるため、不安定になる。もう一つのアプローチは、高精度のPacBio HiFiリードを使用して、二倍体アセンブリを直接出力することである。しかし、HiFiリードは、その長さよりも長いホモ接合領域のphaseを決定(位相決定)することができず、完全なphasingされたアセンブリを作成するには、oxford nanopore technology(ONT)リードまたはHi-Cが必要で。ある。正確な2倍体アセンブリを作成するには、単一のロングリードシーケンス技術で十分なのだろうか?

ここでは、メガベーススケールの2倍体ゲノムアセンブラであるJTKを紹介する。JTKは、まずロングリードからキロベーススケールの配列(チャンクと呼ばれる)をランダムにサンプリングし、そこで見つかったバリアントを相補し、2つのハプロタイプを生成する。JTKの斬新なアイデアは、チャンクを利用してSNVとSVを同時に捕捉することである。HG002と日本人サンプルの60倍ONTリードから、組織適合性複合体(MHC)領域と白血球受容体複合体(LRC)領域において、リファレンスベースのアプローチでは不可能であった2つのハプロタイプを約99.9%の精度で完全にアセンブルした。さらに、日本人サンプルのLRC領域では、JTKはハイカバレッジHiFi+Hi-Cから構築されたアセンブリよりも優れた連続性を出力した。これからのパンゲノミクスの時代において、JTKはリファレンスに基づいた相補的な手法で、アセンブルは難しいが医学的に重要な領域をアセンブルすることができるだろう。JTKはhttps://github.com/ban-m/jtk、データセットhttps://doi.org/10.5281/zenodo.7790310、またはDDBJのJGAS000580で入手できる。

 

レポジトリより

JTKは、ヒトゲノムのHLA領域やLILR+KIR領域のような、医学的に重要でアセンブル困難な領域のハプロタイプresolvedな配列再構成を目的としたターゲット型2倍体ゲノムアセンブラである。JTKは、通常、ノイズの多いONTウルトラロングリード(およびオプションで他のタイプのロングリードデータセット)から、指定されたゲノム領域の2つの(ほぼ)完全なハプロタイプ配列のペアをde novoで正確にアセンブルする。

インストール

依存

  • minimap2 with version >= 2.23.
  • Rust with version >= 1.72.0 nightly.

GIthub

git clone https://github.com/ban-m/jtk.git
cd jtk
cargo build --release

$ ./target/release/jtk --help

jtk 0.1

Bansho Masutani <ban-m@g.ecc.u-tokyo.ac.jp>

JTK regional diploid assembler

 

USAGE:

    jtk [SUBCOMMAND]

 

OPTIONS:

    -h, --help       Print help information

    -V, --version    Print version information

 

SUBCOMMANDS:

    assemble                 Assemble reads.

    correct_clustering       Correct local clustering by EM algorithm.

    correct_deletion         Correct deletions of chunks inside the reads.

    encode                   Encode reads by alignments (Internally invoke `minimap2` tools).

    encode_densely           Encoding homologoud diplotig in densely.

    entry                    Entry point. It encodes a fasta file into JSON file.

    estimate_multiplicity    Determine multiplicities of chunks.

    extract                  Extract all the information in the packed file into one tsv

    help                     Print this message or the help of the given subcommand(s)

    mask_repeats             Mask Repeat(i.e., frequent k-mer)

    partition_local          Clustering reads. (Local)

    pick_components          Take top n largest components, discarding the rest and empty reads.

    pipeline                 Run pipeline based on the given TOML file.

    polish                   Polish contigs.

    polish_encoding          Remove nodes from reads.

    purge_diverged           Purge diverged clusters

    select_chunks            Pick subsequence from raw reads.

    squish                   Squish erroneous clusters

    stats                    Write stats to the specified file.

 

> jtk pipeline -h

jtk-pipeline 0.1

BanshoMasutani

Run pipeline based on the given TOML file.

 

USAGE:

    jtk pipeline -p <profile>

 

OPTIONS:

    -h, --help          Print help information

    -p <profile>        TOML configuration file. See example.toml for an example.

    -V, --version       Print version information

 

 

テストラン

各ステップの個別ランに対応するサブコマンドがあるが、jtk pipelineコマンドですべてのプロセスを実行できる。

#fastq(平均長25200-bp)
wget https://mlab.cb.k.u-tokyo.ac.jp/~ban-m/jtk/COX_PGF.fastq.gz
gunzip COX_PGF.fastq.gz
#config
wget https://mlab.cb.k.u-tokyo.ac.jp/~ban-m/jtk/COX_PGF.toml

#jtkのラン
jtk pipeline -p COX_PGF.toml 2> test.log

COX_PGF.toml -TOMLフォーマットの設定ファイルの中身

ロングリードのfastqのパス(5行目)、リードタイプ(7行目)、出力ディレクトリ(13行目)、出力のprefix(15行目)など確認する。

 

出力

cox_pgf/

temp.gfaがGFA形式のアセンブルされたコンティグ。temp.samはリードとアセンブリ間のアラインメント、temp.coverage.tsvアセンブリのカバレージ

 

実際のランでは、minimap2を使ってリファレンスのターゲット領域のリードを集めてランする。レポジトリの例。

THREADS=20
REFERENCE=chm13v2.0.fa #CHM13
READS=ONT.fq
REGION=chr1:10000000-15000000

minimap2 -x map-ont -t $THREADS --secondary=no -a $REFERENCE $READS | samtools sort -@ 4 -O BAM > aln.bam
samtools index -@ 4 aln.bam
samtools view -O BAM aln.bam $REGION| samtools fasta > reads.fasta

 

 

レポジトリより

  • 入力データとして最も有望なのは、ONTの100kbp以上、カバレッジ60倍以上の超ロングリードである。単一の60x ONT ULリードのシーケンス技術からのデータセットが与えられた場合、JTKは両方のハプロタイプの(ほぼ)完全な再構成を達成する。しかし技術的には、JTKはどのようなロングリードのシーケンスデータでも入力として受け付ける。
  • 例えば、2つのヒトサンプル(HG002と日本人サンプル)について、JTKは60x ONTリードから組織適合性複合体(MHC)領域と白血球受容体複合体(LRC)領域の2つの完全なハプロタイプアセンブルに成功した。得られたコンティグの配列精度は約99.9%で、ハイカバレッジHiFi+Hi-Cデータセットからのアセンブリーよりも良好なコンティグを示した。
  • 10Mbp以上の領域はテストされていない。指定しない。

引用

JTK: targeted diploid genome assembler 
Bansho Masutani, Yoshihiko Suzuki, Yuta Suzuki, Shinichi Morishita
Bioinformatics, Volume 39, Issue 7, July 2023