Pacific Biosciences(PacBio)Iso-SeqおよびOxford Nanopore Technologies(ONT)を用いた転写産物のロングリードシークエンシングは、植物[ref.6]、真菌[ref.7]、ウイルス[ref.8]、ヒトなどの複雑なアイソフォームランドスケープの研究の中心となることが証明されている[ref.1-4]。ロングリードはショートRNA-seqリードよりも複雑な領域を再構築することができる。ただし、エラー率が高いため、さまざまな問題がある。リファレンスゲノムを使用することでこれらの課題を軽減することができるが、非モデル生物または複雑な遺伝子ファミリーには、de novo転写産物再構築が必要になる[ref.2、9]。
非モデル生物のIso-Seqデータの場合、de novoトランスクリプト再構築のために広く使用されているツールはPacBioのToFUパイプラインである[ref.7]。しかしながら、ToFUは大量の冗長なトランスクリプトを作成し[ref.10、11、7]、ほとんどの研究は追加のショートリードシーケンシング[ref.11、12]またはドラフトのリファレンス[ref.5]に頼る必要があった。 ONTデータに関しては、本著者らの知る限りでは、de novo転写産物再構築のための方法はまだない。したがって、非ターゲットデータからのde novo転写産物再構築のためのロングリード技術の潜在能力は、まだ十分に実現されていないと考えられる。
これについてのアルゴリズムは大きく2つのステップで構成されている[ref.2、7]。ほとんどの転写産物は一部のリードによって全長がキャプチャーできるため、リード間のオーバーラップを検出する必要はない(RNA-seqアセンブリの場合のように)。代わりに、最初のステップは、リードをその出所に従ってクラスターにまとめてグループ化することになる。次に、各クラスター内の情報を使用してリードをエラー訂正する。これはToFUによって取られたアプローチだが、それは(遺伝子ではなく)それらの起源のアイソフォームに従ってリードをクラスター化する。これは、エクソンを共有するリードを異なるクラスターに分離する - ダウンストリームのエラー修正の有効範囲を減らす。複数のアイソフォームを持つ遺伝子の場合、これはクラスタリングを有意に断片化し、我々(著者ら)が疑っているように、報告されている多くの重複した転写物を引き起こす。 ONTデータについては、リードをそれらの遺伝子ファミリーに集めるためのツール(carnaclr [ref.9])が存在するが、それは我々(著者ら)の実験では最適には機能せず、より大きなデータセットに対してはスケーリングが不十分である。したがって、この設定でロングリードの可能性を最大限に引き出すには、より優れたクラスタリング方法が必要になる。
一般的なヌクレオチド - [ref.13-16]、およびタンパク質配列[ref.17]、[ref.14]、[ref.18]、[ref.19]のde novoクラスタリングアルゴリズムは数多くある。バーコード配列[ref.20]、EST配列[ref.21-23]、完全長cDNA [ref.24]、RAD-seq [ref.25]、ゲノムまたはメタゲノムショートリードなど、特定のヌクレオチドデータをクラスタリングするためのアルゴリズムもいくつか提案されている。(一部略)
しかしながら、この我々(著者ら)のクラスタリング問題は独自の際立った特徴を持っている:同じ遺伝子からの転写物はオルタナティブスプライシングのためにlarge indelを持ち、そしてエラー率とプロファイルは[ref.2]と[ref.35]のリード間で異なる。さらに、多数のリードによりall versus allの類似度計算を必要とするアルゴリズムのスケーラビリティを制限する。ロングリード転写産物配列の新規クラスタリングは、本著者らの知る限りでは、Iso-Seqデータについては[ref.2、36、7]、ONTデータについては[ref.9]においてのみ研究されている。しかし、IsoCon [ref.2]もCogent [ref.36]も大規模なデータセットに対応しておらず、ToFu [ref.7]とcarnac-lr [ref.9]の限界についてはすでに説明した。 [ref.30]では、クオリティ値を使用すると、特にエラー率が高い場合、クラスタリング精度が大幅に向上する可能性があることが実証されているが、彼らの方法はロングリード用に設計されていない。
既存のツールの欠点によって動機付けられて、本著者らはisONclust、De novo clustering of long-read transcriptome data using a greedy, quality-value based algorithmm、を開発した。isONclustはhttps://github.com/ksahlin/isONclustで入手できる。 isONclustは(スケールするために)貪欲であり、(可変エラー率を処理するために)クオリティ値を利用する。3つのシミュレートされた生物学的データセットと5つbiologicalデータセットを使って、幅広い生物、技術、そしてリードデプスについて、isONclustをテストした。 結果は、isONclustが、全体的な正確性および/または大規模データセットへのスケーラビリティの点で、以前のアプローチを大幅に改善していることを示している。 isONclustは、ロングリードデータセットからのde novoトランスクリプト再構築のためのよりスケーラブルでより正確な方法の開発への扉を開く。
isONclust v0.0.3 (https://t.co/f08u3EvHZp) has now been parallelized. It can process >10M ONT transcript reads in 40h (Dataset: "Native RNA Pass" @ https://t.co/BEkO4lG19F) and clusters ~1M Iso-Seq reads in about an hour. #Iso-Seq #ONT #transcriptome #clustering
— kristoffer sahlin (@krsahlin) January 28, 2019
インストール
macos10.14の python3.7.1環境でテストした。
isONclust is distributed as a python package supported on Linux / OSX with python v>=3.4 as of version 0.0.2 and above (due to updates in python's multiprocessing library).
依存
本体 Github
#pipかcondaで導入可能
pip install isONclust
#condaはgithub参照
> isONclust -h
# isONclust
usage: isONclust [-h] [--version] [--fastq FASTQ] [--flnc FLNC] [--ccs CCS]
[--t NR_CORES] [--ont] [--isoseq] [--k K] [--w W]
[--min_shared MIN_SHARED]
[--mapped_threshold MAPPED_THRESHOLD]
[--aligned_threshold ALIGNED_THRESHOLD]
[--min_fraction MIN_FRACTION]
[--min_prob_no_hits MIN_PROB_NO_HITS] [--outfolder OUTFOLDER]
{write_fastq} ...
isONclust: error: too few arguments
root@75e9ec583bf5:~# isONclust -h
usage: isONclust [-h] [--version] [--fastq FASTQ] [--flnc FLNC] [--ccs CCS]
[--t NR_CORES] [--ont] [--isoseq] [--k K] [--w W]
[--min_shared MIN_SHARED]
[--mapped_threshold MAPPED_THRESHOLD]
[--aligned_threshold ALIGNED_THRESHOLD]
[--min_fraction MIN_FRACTION]
[--min_prob_no_hits MIN_PROB_NO_HITS] [--outfolder OUTFOLDER]
{write_fastq} ...
De novo clustering of long-read transcriptome reads
positional arguments:
{write_fastq} sub-command help
write_fastq a help
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--fastq FASTQ Path to consensus fastq file(s) (default: False)
--flnc FLNC The flnc reads generated by the isoseq3 algorithm (BAM
file) (default: False)
--ccs CCS Path to consensus BAM file(s) (default: False)
--t NR_CORES Number of cores allocated for clustering (default: 8)
--ont Clustering of ONT transcript reads. (default: False)
--isoseq Clustering of PacBio Iso-Seq reads. (default: False)
--k K Kmer size (default: 15)
--w W Window size (default: 50)
--min_shared MIN_SHARED
Minmum number of minimizers shared between read and
cluster (default: 5)
--mapped_threshold MAPPED_THRESHOLD
Minmum mapped fraction of read to be included in
cluster. The density of minimizers to classify a
region as mapped depends on quality of the read.
(default: 0.7)
--aligned_threshold ALIGNED_THRESHOLD
Minmum aligned fraction of read to be included in
cluster. Aligned identity depends on the quality of
the read. (default: 0.4)
--min_fraction MIN_FRACTION
Minmum fraction of minimizers shared compared to best
hit, in order to continue mapping. (default: 0.8)
--min_prob_no_hits MIN_PROB_NO_HITS
Minimum probability for i consecutive minimizers to be
different between read and representative and still
considered as mapped region, under assumption that
they come from the same transcript (depends on read
quality). (default: 0.1)
--outfolder OUTFOLDER
A fasta file with transcripts that are shared between
samples and have perfect illumina support. (default:
None)
> isONclust write_fastq -h
$ isONclust write_fastq -h
usage: isONclust write_fastq [-h] [--clusters CLUSTERS] [--fastq FASTQ]
[--outfolder OUTFOLDER] [--N N]
optional arguments:
-h, --help show this help message and exit
--clusters CLUSTERS the file "final_clusters.tsv created by isONclust."
--fastq FASTQ Input fastq file
--outfolder OUTFOLDER
Output folder
--N N Write out clusters with more or equal than N reads
テストラン
git clone https://github.com/ksahlin/isONclust.git
#実行
isONclust --fastq isONclust/test/sample_alz_2k.fastq --outfolder outdir
> ls -alth outdir/
$ ls -alth outdir/
total 21792
-rw-r--r-- 1 kazuma staff 3.6M 4 11 23:11 final_cluster_origins.csv
-rw-r--r-- 1 kazuma staff 451K 4 11 23:11 final_clusters.csv
drwxr-xr-x 9 kazuma staff 288B 4 11 23:11 ./
drwxr-xr-x 4 kazuma staff 128B 4 11 23:11 3/
drwxr-xr-x 4 kazuma staff 128B 4 11 23:11 2/
drwxr-xr-x 4 kazuma staff 128B 4 11 23:11 1/
-rw-r--r-- 1 kazuma staff 176B 4 11 23:11 logfile.txt
-rw-r--r-- 1 kazuma staff 6.6M 4 11 23:11 sorted.fastq
実行方法
ONT
IsoCon pipeline --ont --fastq input.fastq --outfolder output_dir --t 8
- --ont Clustering of ONT transcript reads. (default: False)
- --t Number of cores allocated for clustering (default: 8)
pacbioのデータを用いる場合はgithubを参照してください。
ラン後、 isONclust write_fastqコマンドでクラスタリングされたfastqを出力できる。
isONclust write_fastq --N <int> --fastq input.fastq --clusters final_clusters.tsv --outfolder fastq_outdir
- --clusters The file "final_clusters.tsv created by isONclust."
- --fastq Input fastq file
- --outfolder Output folder
- --N <INT> Write out clusters with more or equal than N reads
--N intの指定以上のfastqが個別に出力される。先ほどの出力とは別のディレクトリを指定した方が無難。
引用
De novo clustering of long-read transcriptome data using a greedy, quality-value based algorithm
Kristoffer Sahlin, Paul Medvedev
bioRxiv preprint first posted online Nov. 6, 2018
参考
関連