ゲノムアセンブリの連続性は、構造的なリアレンジメント、遺伝子の順序、発散したゲノム間のシンテニー、遺伝子バリアント間のリンケージ、ゲノムの反復領域などを解析するために重要である。アセンブリの連続性はスキャフォールディングによって改善することができる。このような情報は、リンクされたゲノムシークエンシングリード(ライブラリ作成時に領域特異的なバーコード配列でタグ付けされたショートリード)に見出すことができ、研究者は、どのリードが互いに近接した領域に由来するかを決定することができる(Bishara et al. リンクリード技術は、最初は10X Genomics GemCodeおよびChromiumシステムによってマーケットに提供され(Eisenstein、2015)、より最近では、Single Tube Long Fragment Read(stLFR)のような代替方法が導入されている(Wang et al.、2019)。
現在のリンクリードスキャフォールディング法は、10X Chromiumデータに基づいており、2つのステップから構成されている。i)ARCSまたはARKSを用いて元のコンティグのリンケージを見つける、およびLINKSを用いてリンクされたコンティグを繋ぎスキャフォールドに死する。ARCSは、リンクドリードマッピングに依存しているのに対し、ARKSは、マッピングステップを回避するためにkmerベースのアプローチを取り、計算時間を短縮する。リンクが決定された後、LINKSはユーザーによって呼び出され、リンクされたコンティグの間にギャップがあるコンティグを結合する。このようなギャップは、場合によっては、リード由来の配列で埋めることで解決できることがある(Boetzer et al., 2012)。しかし、LINKSは元のコンティグが重なっている場合は解決せず、代わりにコンティグ間に1サイズの隙間を空けて結合する。リピートクラスターが短いゲノムでは、このようなオーバーラップは頻繁に発生する可能性があり、無視すると遺伝子などが断片化してしまう危険性がある。
ここでは、ARBitR: Assembly Refinement with Barcode-identity-tagged Readsについて説明する。既存のパイプラインと比較して、ARBitRは、単一のアプリケーションで連続して連結検索とスキャフォールディングのステップを実行し、複数のソフトウェアツールをインストールして実行する必要がないという利点を持っている。さらに、ARBitRはスキャフォールディングの際に、関与するコンティグ間の重複を考慮する。ARBitRは当初、10X Chromiumリンクリード用に開発されたが、stLFRリードも使用可能であり、あらゆるタイプのリンクリードデータに適応することができる。
インストール
本体 Github
conda create -n ARBitR python=3.8 -y
conda activate ARBitR
conda install scipy numpy pandas Pysam Mappy multiprocessing -y
git clone https://github.com/markhilt/ARBitR.git
cd ARBitR/src/
> python arbitr.py
python arbitr.py -h
usage: arbitr.py [-h] [-v] [-i INPUT_FASTA] [-s REGION_SIZE] [-m MOLECULE_SIZE] [-n N_PROC] [-r BARCODE_FRACTION]
[-f BARCODE_FACTOR] [-q MAPQ] [-Q SHORT_MAPQ] [-B SHORT_BC_QUANT] [-F SHORT_BARCODE_FACTOR] [-c COVERAGE]
[-b BC_QUANTITY] [-o OUTPUT]
input_bam
Reads a bam file, creates links between contigs based on linked read information, and outputs a .gfa.
positional arguments:
input_bam Input bam file. Required.
optional arguments:
-h, --help show this help message and exit
-v, --version Print version and exit.
-i INPUT_FASTA, --input_fasta INPUT_FASTA
Input fasta file for contig merging. Optional. If not specified, will only output linkage graph in .gfa
and .tsv format.
-s REGION_SIZE, --region_size REGION_SIZE
Size of region of contig start and end to collect barcodes from. [20000]
-m MOLECULE_SIZE, --molecule_size MOLECULE_SIZE
Estimated mean molecule size that went into Chromium sequencing. Linked reads spanning a distance larger
than this size should be rare. [45000]
-n N_PROC, --n_proc N_PROC
Number of processes to run during scaffolding. [1]
-r BARCODE_FRACTION, --barcode_fraction BARCODE_FRACTION
Minimum fraction of shared barcodes to create a link. [0.01]
-f BARCODE_FACTOR, --barcode_factor BARCODE_FACTOR
Factor to determine outliers. [39]
-q MAPQ, --mapq MAPQ Mapping quality cutoff value for linkgraph. [60]
-Q SHORT_MAPQ, --short_mapq SHORT_MAPQ
Mapping quality cutoff value for pulling in short contigs. [20]
-B SHORT_BC_QUANT, --short_bc_quant SHORT_BC_QUANT
Minimum number of reads per barcode in short contigs. [2]
-F SHORT_BARCODE_FACTOR, --short_barcode_factor SHORT_BARCODE_FACTOR
Factor to determine outliers in short contigs. [25]
-c COVERAGE, --coverage COVERAGE
Coverage cutoff for trimming contig ends. [20]
-b BC_QUANTITY, --bc_quantity BC_QUANTITY
Minimum number of reads per barcode. [3]
-o OUTPUT, --output OUTPUT
Prefix for output files.
実行方法
リンクグラフを構築し、input.fastaのコンティグをマージする。
python arbitr.py -i input.fasta input.bam
ARBitRはリンクグラフを可視化するためのgfaファイルを生成する。また、この例のようにfastaファイルを指定すると、マージ/スキャフォールドされた新しいfastaファイルも生成される。fasta ファイルはリードマッピング(bam出力)に使用されたものと同じでなければならない。
- コンティグ間に無差別にギャップを挿入するのではなく、オーバーラップ・レイアウト・コンセンサス(OLC)によってコンティグ間のリンクを解決する。
- ARBitRは、主にロングリードシーケンシングとOLC法を用いてアセンブルされた小さなゲノムへの応用を目的として開発された。
- 理想的には、ゲノムサイズが1Gb以下で、入力コンティグの数が10000以下であることが望ましい。
- それ以外の場合にも有用な場合がある。例えば10X ChromiumからのSupernova アセンブリを追加的にscaffoldingできる。
- v0.2から、ARBitRはstLFRリンクリードをサポートしている(wiki参照)。
引用
ARBitR: an overlap-aware genome assembly scaffolder for linked reads
Markus Hiltunen, Martin Ryberg, Hanna Johannesson
Bioinformatics, Published: 25 December 2020