macでインフォマティクス

macでインフォマティクス

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

ショートリードとロングリードのhybrid-assemblyにより de novo transcriptomeアセンブリを行う IDP-denovo

2020 5/3 docker imagesアップ

 

 新世代のシークエンシング技術がトランスクリプトームの探索において実質的な進歩をもたらすにつれて、スプライス検出および転写物再構成などの関連するバイオインフォマティクス方法が数多く開発され、様々な種で広く使用されてきた(Grabherr  et al、2011; Pertea et al、 2015; Schulz et al、2012;Trapnell et al、2010)。特にモデル生物のトランスクリプトーム分析は途方もない進歩を遂げた(Darmanis et al、2015; Gonzalez-Porta et al、2013; Su et al、2002; Tang et al、2009)、なぜなら、それらの十分に確立されたリファレンスゲノムが問題の複雑さをかなり減少させ、そしてそれ故シーケンシングデータ分析精度を改善するからである(Au et al、2013; Oliver et al、2016)。モデル生物の数が限られているのとは対照的に、生態学微生物学、進化生物学および農業科学などの広範な研究分野にとって極めて重要である何十万もの非モデル生物がいる(da Fonseca et al、2016; Ekblom and Galindo,  2011).。例えば、伝統的な漢方薬植物であるDendrobium officinaleは、干ばつ耐性と治療効果を示す(Yan et al、2015)。painted saw-scale viper,、Echis coloratusの毒腺トランスクリプトームに関する研究は、抗毒素製造への道を切り開いた(Hargreaves and Mulley、2015)。しかしながら、非モデル生物のde novoゲノム構築は特に高価で計算量が多い(Meyer et al、2015; Rokas and Abbot、2009)。さらに、アセンブリされたゲノムは、長年にわたって洗練されてきたモデル生物のものほど正確かつ完全ではない。非モデル生物のトランスクリプトームシークエンシングのコストは、すべてのサイズの研究室で入手可能であるので(Wang et al、2009)、de novoトランスクリプトームアセンブリを行うために多くのバイオインフォマティクスエフォートがなされてきた(Grabherr et al., 2011; Robertson et al., 2010; Schulz et al., 2012).。

 現在の進歩にもかかわらず、第二世代シークエンシング(SGS)ショートリード(SR)に基づく新規のトランスクリプトームアセンブリは、非モデル生物を調査するための一般的なアプローチである(Chen et al、2011; Surget-Groba and Montoya-Burgos、2010)。まだ満足からは程遠い。ほとんどのSGSベースの方法は、SRから抽出​​されたk-merのde Bruijnグラフを構築し、ヒューリスティックまたはカスタマイズされた基準(例えば、適用範囲)を用いてトランスクリプトを表すパスを検索する (Chang et al., 2015; Fu et al., 2014; Grabherr et al., 2011; Luo et al., 2015; Pevzner et al., 2001; Simpson et al., 2009; Zerbino and Birney, 2008). 。これらの方法は、いくつかの点でSGSデータのSRの長さによって制限される。(i)転写産物アセンブリは、多数のあいまいさを含むか、または相同もしくは反復領域でさえ失敗する。 (II)遺伝子が複雑なアイソフォーム発現を示す場合、転写産物アセンブリの正確性が問題となる。 (iii)特に発現量が少ないために特定のk-merが欠損している場合は、低発現レベルの転写産物を再構築するのは困難になる。 (iv)長いk-merは高い計算強度を必要とするが、短いk-merは高い偽陽性アセンブリをもたらす(Miller et al、2010)。

 SGSプラットフォームから生成された50〜300 bpのリード長とは対照的に、Pacific Biosciences(PacBio)を含むThird Generation Sequencing(TGS)(English et al、2012; Rhoads and Au、2015; Tilgner et al、2015) Oxford Nanopore Technologies(ONT)(Laver et al、2015; Oikonomopoulos et al、2016)は、はるかに長いリード(1〜100 kb)を生成する。 TGSロングリード(LR)は、ゲノムのアラインメントに基づく方法によってヒト由来の遺伝子アイソフォームを同定するのに首尾よく利用されてきた。なぜなら、それらは全長の転写物までの長い範囲の配列をカバーできるからである(Au et al、2013; Sharon et al、2013; Tigner et al、2014; Weirather et al、2015)。非モデル生物に対するリファレンスゲノムの欠如のために、非常に長い転写物のフラグメントを単にカバーするTGS LRを利用するための新規なアセンブリ方法が必要とされる。さらに、TGSの高いエラー率はアセンブリの正確さを制限し、そしてTGSの低い処理量およびシーケンシングバイアスはそれをアイソフォーム存在量の統計的推定には不適切なものにする。

 SGS単独およびTGS単独のデータ分析の限界に対処するために、ハイブリッドシークエンシング(「ハイブリッドシーク」)がTGSデータとSGSデータとを統合するための新規なアプローチとして登場した。出力データの全体的なパフォーマンスと精度を向上させることができる。確かに、LSC、IDP、IDP-fusionおよびIDP-ASEを含むHybrid-Seqトランスクリプトームデータのための一連のバイオインフォマティクスツールは、アイソフォームレベルでモデル生物のトランスクリプトームを高精度かつ高感度で解明することが実証されている (Au et al., 2012, 2013; Deonovic et al., 2016; Weirather et al., 2015)。 Hybrid-Seqによる高品質の転写産物アセンブリは、アノテーションの正確性とアイソフォームの定量化を保証する。

 ここでは、IDP-denovo(www.healthcare.uiowa.edu/labs/au/IDP-denovo/)、Hybrid-Seqデータによるde novoトランスクリプトームアセンブリを実行するための新しい方法を提示し、さらに遺伝子アイソフォーム構造とオルタナティブスプライス部位にアノテーションを付け、リファレンスゲノムを必要とせずにアイソフォーム存在量の推定を行う。リンパ芽球様細胞株[GM12878(Tilgner et al、2014)]のヒトHybrid-Seqトランスクリプトームデータをゴールドスタンダードとして使用して、IDP-denovoによる完全長転写産物アセンブリの優れた性能を示し、LRの利点を実証する。(一部略)

非モデル生物に対するIDP-denovoの有用性を実証するために、本著者らはIDP-denovoを概念実証研究としてD.officinaleに適用し、その結果を既存のアノテーションライブラリと比較した。 IDP-denovoは、既存のアノテーションライブラリーでは見逃されている7831個の新規遺伝子を発見した。これは、以前の研究での遺伝子配列の複雑さまたはゲノム構築の質の低さによるものと考えらる。

(以下略) 

 


インストール

ubuntu16.04のminiconda2.4.0.5環境でテストした(docker使用、ホストOS macos10.12)。

依存(PDFより)

  • 1. x86_64 Linux operation system (CentOS-6.5, Fedora 21, Ubuntu 16.04 in test)
  • 2. G++ (version 4.4.7, 4.9.2, 5.4.0 and 6.1.0 in test)
  • 3. Boost library (version 1.41.0, 1.55.0 and 1.58 in test)
  • 4. Python 2.7 and NumPy installed

HPからIDP-denovoパッケージをダウンロードする(650MBくらい)。中にはPDFマニュアルも含まれている。BOOSTは"apt install libboost-dev"で導入した。

http://augroup.org/IDP-denovo.20160829/idp-denovo

cd idpdenovo-v.2/
./install.sh

#インストール確認
./run_check.sh

python version is 2.7

.//test_data

.//bin/idpdenovo.py .//test_data/scaffold_for_test .//test_data/lr_for_test .//test_data/sr_1.fa .//test_data/sr_2.fa --test -o TESTING

starting in directory: /data/idpdenovo-v.2

executing in directory: /data/idpdenovo-v.2/bin

working directory: /tmp/idpdenovouser.iNvXIW

building the configuration file

storing environment variables temporarily

executing: /data/idpdenovo-v.2/bin/pre-test ./config_file

usage: pre-test config_file

=====TEST before Running IDP-denovo====

environment variable PATH is: /data/idpdenovo-v.2/bin/../plugins/IDP_0.1.9/bin:/data/idpdenovo-v.2/bin/../plugins/BIN/bin:/data/idpdenovo-v.2/bin/../plugins/BIN:/data/idpdenovo-v.2/bin/../utilities:/root/.pyenv/versions/miniconda2-4.0.5/bin:/root/.pyenv/libexec:/root/.pyenv/plugins/python-build/bin:/root/.pyenv/shims:/root/.pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

 

******TEST for Python Version ********* 

Python 2.7.13 :: Continuum Analytics, Inc.

......................SUCCESS

 

*******TEST for GMAP installation **********

/data/idpdenovo-v.2/bin/../plugins/BIN/bin/gmap

......................SUCCESS

 

*******TEST for CAP3 **********

/data/idpdenovo-v.2/bin/../plugins/BIN/cap3

......................SUCCESS

 

*******TEST for HISAT **********

/data/idpdenovo-v.2/bin/../plugins/BIN/hisat

pyenv: perl: command not found

 

The `perl' command exists in these Python versions:

  miniconda3-4.0.5

 

......................FAIL

 

*******TEST for Clustal Omega **********

/data/idpdenovo-v.2/bin/../plugins/BIN/clustalo-1.2.0-Ubuntu-x86_64

......................SUCCESS

 

*******TEST for path to IDP executables *****

/data/idpdenovo-v.2/bin/../plugins/IDP_0.1.9/bin/runIDP.py

......................SUCCESS

 

*******TEST for path to IDP-denovo executables *****

correct path to IDP-denovo executables

 

*******TEST for path to input files *****

scaffold file exists. /data/idpdenovo-v.2/test_data/scaffold_for_test

LR file exists. /data/idpdenovo-v.2/test_data/lr_for_test

SR mate 1s file exists. /data/idpdenovo-v.2/test_data/sr_1.fa

SR mate 2s file exists. /data/idpdenovo-v.2/test_data/sr_2.fa

 O.K

cd idpdenovo-v.2/bin/

> .idpdenovo.py -h

# .idpdenovo.py -h

usage: idpdenovo.py [-h] [-k K_MER_LENGTH] [-f K_MER_FREQUENCY] -o OUTPUT

                    [-t THREADS]

                    [--tempdir TEMPDIR | --specific_tempdir SPECIFIC_TEMPDIR]

                    SR_scaffold long_reads SR_left SR_right

 

IDP-denovo

 

positional arguments:

  SR_scaffold           Short read scaffold

  long_reads            Long reads in FASTA format

  SR_left               1s Left mate short reads reads in FASTA format

  SR_right              2s Right mate short reads reads in FASTA format

 

optional arguments:

  -h, --help            show this help message and exit

  -k K_MER_LENGTH, --k_mer_length K_MER_LENGTH

                        k-mer length used in clustering of unaligned long

                        reads (default: 15)

  -f K_MER_FREQUENCY, --k_mer_frequency K_MER_FREQUENCY

                        k-mer frequency cutoff (default: 0.05)

  -o OUTPUT, --output OUTPUT

                        REQUIRED Output directory (default: None)

  -t THREADS, --threads THREADS

                        INT number of threads to run. (default: 1)

  --tempdir TEMPDIR     The temporary directory is made and destroyed here.

                        (default: /tmp)

  --specific_tempdir SPECIFIC_TEMPDIR

                        This temporary directory will be used, but will remain

                        after executing. (default: None)

 

2020 5/3

オフィシャルレポジトリにアクセスできないので持ってないかと言う問い合わせをいただきました。ソースコードは残してあったので、依存をインストールしてすぐに使える状態のイメージをdockerhubにプッシュしました。スナップショットですが、よかったら使ってください。

#warning
#this is not the offical collabolation with the authors.
docker pull kazumax/idpdenovo

#run
docker run -itv $PWD:/data kazumax/idpdenovo
> cd /home/idpdenovo-v.2/
> conda activate idpdenovo
> conda install numpy -y
> ./run_check.sh

#test run
> rm -rf test_output/ test_temp/
> gzip -dv test_data/sr_*.fa
> ./run_test.sh

stdout

cat extendTx largeCluster.fa unannotated.fa > idpdenovoSeq

gmap_build -D extendTx_gmapIndex -d extendTx_gmapIndex extendTx >>

gmapLog 2>>gmaplog

gmap -D extendTx_gmapIndex -d extendTx_gmapIndex -B5 -A -f samse

--no-sam-header --nofails -n1 -t24 lr_input >lrGmap2ExtendTx.sam

2>>gmaplog

lrCount lrGmap2ExtendTx.sam > lr_quantify

./lrCount <lr_gmap2_assembled_tx.sam>

srAbundance /home/idpdenovo-v.2/test_data/sr_1.fa

/home/idpdenovo-v.2/test_data/sr_2.fa report.gpd report_seq 24

>srAbundanceLog 2>srAbundancelog

/home/idpdenovo-v.2/test_temp

Saving outputs

restoring environment variables

(idpdenovo) root@89fd39189dd0:/home/idpdenovo-v.2#

successfully finished ! 

 

 

テストラン

cd test_data/
../bin/idpdenovo.py -t 12 -o outout \
scaffold_for_test lr_for_test sr_1.fa sr_2.fa

> ls -alth outout/

# ls -alth outout/

total 2.2M

drwxr-xr-x 10 root root  340 Jun  1 18:43 .

drwxr-xr-x  7 root root  238 Jun  1 18:43 ..

-rw-r--r--  1 root root 826K Jun  1 18:43 combine_seq

-rw-r--r--  1 root root    0 Jun  1 18:43 confirmed_gap

-rw-r--r--  1 root root 888K Jun  1 18:43 lr_input

-rw-r--r--  1 root root 2.3K Jun  1 18:43 lr_quantify

-rw-r--r--  1 root root  13K Jun  1 18:43 report.gpd

-rw-r--r--  1 root root 503K Jun  1 18:43 report_seq

-rw-r--r--  1 root root 4.1K Jun  1 18:43 seq_cluster

-rw-r--r--  1 root root    0 Jun  1 18:43 sr_quantify

出力について(PDFマニュアルより)

f:id:kazumaxneo:20190601180045j:plain

 

実行方法

ショートリードから構築したscaffoldsとロングリード、ペアエンドショートリードを指定する。

idpdenovo.py -k 15 -f 0.05 -t 16 -o output \
short_reads_scaffold.fasta long_reads.fasgta pair_1.fq pair_2.fq

 

 

 引用

IDP-denovo: de novo transcriptome assembly and isoform annotation by hybrid sequencing
Shuhua Fu, Yingke Ma, Hui Yao, Zhichao Xu, Shilin Chen, Jingyuan Song, Kin Fai Au
Bioinformatics, Volume 34, Issue 13, 01 July 2018, Pages 2168–2176,

 

関連


参考

De novo transcriptome assembly workflow