macでインフォマティクス

macでインフォマティクス

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

ロングリードのde novo transcriptomeのクラスタリングツール isONclust

 

 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トランスクリプト再構築のためのよりスケーラブルでより正確な方法の開発への扉を開く。

 


インストール

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

 

参考


 

 関連