macでインフォマティクス

macでインフォマティクス

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

SuperTranscripts 其の1

 ハイスループットシークエンシングは、cDNA配列のシーケンスを可能にし、単一の手頃なアッセイを用いて発現レベルを定量化することができるため、トランスクリプトミクスに革命をもたらした[論文より ref.1,2]。 RNAシークエンシング(RNA-seq)は、遺伝子レベルでの発現を調べるだけでなく、転写産物の存在量および異なるアイソフォームを推測することができる。オルタナティブスプライシングは、遺伝子機能を変えることができ、真核生物の全体的な転写多様性に寄与する[ref.3、4]。さらに、RNA-seqは、一塩基変異[ref.5]、転写後editing[ref.6]および融合遺伝子[ref.7]など検出する能力を有する。モデル生物のトランスクリプトームに関する我々の知識は、ENCODE [ref.4]のようなプロジェクトを通じて成熟し、現在ではRNA-seqデータ解析のための堅牢で十分に確立された方法を持っている[ref.8]。これらの方法のほとんどは、モデル生物に対して現在利用可能な正確なリファレンスゲノムおよびアノテーションを使用する。 しかしながら、非モデル生物については、リファレンスゲノムは一般に利用可能ではない。代わりに、実験特異的なトランスクリプトームは、発現しているトランスクリプツの完全長配列を再構成するように設計されたプロセスである、de novoトランスクリプトームアセンブリ[ref.9]を介してRNA-seqデータから構築することができる。しかし、データのダウンストリーム分析は困難なままである。 Kallisto [ref.10](紹介)、Salmon [ref.11](紹介)およびRSEM [ref.12]を用いたRNA定量のような最近のいくつかの方法を除いて、RNA-seqのほとんどの分析アプローチは、トランスクリプトームではなくリファレンスゲノムで機能するように設計されている。これらの方法は、しばしば、ショートリードデータのde novoアセンブリでは必ずしも生成されない正確な遺伝子モデルに依存する。加えて、リファレンストランスクリプトームを使用すると、遺伝子全体にわたる範囲の視覚化は不可能である。せいぜい、最も長いアイソフォームのような各遺伝子の代表的な転写産物に対してリードをマッピングし可視化するだけであり、遺伝子配列のかなりの部分が見逃される可能性がある(論文 Additional file1:表S1、図S1)。

 ここでは、各遺伝子の代替の表現方法を提案する。これはスーパートランスクリプトと呼ばれる。 SuperTranscriptには、重複のない遺伝子のすべてのエキソン配列が含まれる(論文 図1a pubmed)。SuperTranscriptsはde novoアセンブリを含む転写産物セットから構築でき、著者らはそれらを構築するためLaceと呼ばれるPythonプログラムを開発した(https://github.com/Oshlack/Lace/wikiから入手可能)。 本ツールは、各遺伝子のスプライスグラフ[ref.13]を構築し、Kahnのアルゴリズム[ref.14](図1b)を用いてトポロジー的にソートする。 superTranscriptsの構築は、非モデル生物(図1c)のための多数の分析アプローチを解くことを約束する簡単なポストアセンブリステップである。

 SuperTranscriptsは必ずしも真の生物学的な分子を表すとは限らないが、リファレンスゲノムの実用的な置き換えを提供する。例えば、スプライスアライナーを使用してリードをsuperTranscriptomeにアライメントし、続いてIGV [ref.15]などの標準ツールを使用して視覚化できる。 また、superTranscripts機能と重複するリードを数えることで、既存のソフトウェアで定量を実行することもできる。 非モデル生物では、superTranscriptsを用いて変異コールできることを実証し、またアイソフォームを正確に検出できることを示す。 著者らはまた、モデル生物へのsuperTranscriptsの応用を実証している。 具体的には、新規転写配列の同定を可能にするために、チキンのRNA-seqデータを使用して、コンパクトなsuperTranscriptリファレンスおよびde novoアセンブリトランスクリプトームを組み合わせた。 著者らは、現在のチキンリファレンスゲノムgalGal5において欠けていた500以上の遺伝子において、保存されたコード配列を見出した。

 

Lace wiki

Home · Oshlack/Lace Wiki · GitHub

f:id:kazumaxneo:20180618123043j:plain

SuperTranscriptsの構築。wikiより転載。

 

trinityrnaseqでも、trinityのアセンブリ結果からSuperTranscriptsを構築する方法が解説されています。

https://github.com/trinityrnaseq/trinityrnaseq/wiki/SuperTranscripts

 

インストール

mac os 10.13でテストした。

依存

Github

https://github.com/Oshlack/Lace

git clone https://github.com/Oshlack/Lace.git
cd Lace/
#依存するツールも全て導入される。仮想環境で使用する。
conda env create environment.yml
source activate lace

#他の導入方法はwikiのインストール参照

python Lace.py -h

$ python Lace.py --help

 

 __      __    ____  ____ 

(  )    / _\  /    )(  __)

/  (_/\/    \(  (__  ) _) 

\_____/\_/\_/\_____)(____)

Lace Version: 0.82

Last Editted: 30/01/17

usage: Lace.py [-h] [--cores CORES] [--alternate] [--tidy] [--maxTran MAXTRAN]

               [--outputDir OUTPUTDIR]

               GenomeFile ClusterFile

 

positional arguments:

  GenomeFile            The name of the fasta file containing all transcripts

  ClusterFile           The name of the text file with the transcript to

                        cluster mapping

 

optional arguments:

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

  --cores CORES         The number of cores you wish to run the job on

                        (default = 1)

  --alternate, -a       Create alternate annotations and create metrics on

                        success of SuperTranscript Building

  --tidy, -t            Move intermediate fasta files into folder: SuperFiles

                        after running

  --maxTran MAXTRAN     Set a maximum for the number of transcripts from a

                        cluster to be included for building the

                        SuperTranscript (default=50).

  --outputDir OUTPUTDIR, -o OUTPUTDIR

                        Output Directory

python Checker.py -h

$ python Checker.py --help

usage: Checker.py [-h] [--cores CORES] SuperFile

 

positional arguments:

  SuperFile      The name of the SuperDuper.fasta file created by

                 SuperTranscript

 

optional arguments:

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

  --cores CORES  The number of cores you wish to run the job on (default = 1)

python STViewer.py

$ python STViewer.py

No fasta file for gene/cluster of interest

 

 

 

 ラン

テストラン(オリジナル) 。

1、superTranscriptを構築したいfastaを指定する。またそのヘッダー名(1列目)と遺伝子名(2列目)を記載したテキストファイルも準備する。アセンブリして5つの配列になったという設定の fastaを使う。

python Lace.py Example/Example_Genome.fasta Example/clusters.txt -t -o Test

 > cat Lace/Example/clusters.txt   #clusters.txtの中身

 $ cat Lace/Example/clusters.txt 

ENST00000406599.1 GeneA

ENST00000456483.2 GeneA

ENST00000338799.5 GeneB

ENST00000443427.1 GeneB

——

コマンドを開始すると、superTranscriptを構築するため、blatを使いpair-wise alignmentが実行される。

 

ジョブが終わると、Test/の中にsuperTranscriptのfasta:SuperDuper.fastaとgtf: SuperDuper.gtfが出力される。

$ ls -alth

total 32K

drwxr-xr-x 3 uesaka user 4.0K Jun 18 12:55 .

drwxr-xr-x 2 uesaka user 4.0K Jun 18 12:55 SuperFiles

-rw-r--r-- 1 uesaka user   84 Jun 18 12:55 SuperDuper.gff

-rw-r--r-- 1 uesaka user  13K Jun 18 12:55 SuperDuper.fasta

drwxr-xr-x 7 uesaka user 4.0K Jun 18 12:55 ..

Exampleのfastaは5つの配列からなる。一番短い配列は1251bp、一番長い配列は6455bp。それがsuperTranscriptを構築すると、6141bpと7738bpの2つの配列に統合されている。

> seqkit stats Lace/Test/SuperDuper.fasta 

file                                          format  type  num_seqs  sum_len  min_len  avg_len  max_len

/Users/user/local/Lace/Test/SuperDuper.fasta  FASTA   DNA          2   13,879    6,141  6,939.5    7,738

 superTranscript.fastaを開いてみる。

> open superTranscript.fasta  #デフォルトのエディタで開く(mi のvesion3)f:id:kazumaxneo:20180621191459j:plain

画像では見えないが、大文字と小文字の領域がある。

 

もう1つの重要な出力はexon境界を記したgtfファイル。

> column -t Lace/Test/SuperDuper.gff 

 $ column -t Lace/Test/SuperDuper.gff 

GeneA  SuperTranscript  exon  1     147   .  .  0  .

GeneA  SuperTranscript  exon  148   310   .  .  0  .

GeneA  SuperTranscript  exon  311   833   .  .  0  .

GeneA  SuperTranscript  exon  834   1280  .  .  0  .

GeneA  SuperTranscript  exon  1281  6141  .  .  0  .

GeneB  SuperTranscript  exon  1     168   .  .  0  .

GeneB  SuperTranscript  exon  169   1548  .  .  0  .

GeneB  SuperTranscript  exon  1549  1557  .  .  0  .

GeneB  SuperTranscript  exon  1558  1571  .  .  0  .

GeneB  SuperTranscript  exon  1572  1572  .  .  0  .

GeneB  SuperTranscript  exon  1573  7738  .  .  0  .

 

 

2、アノテーション( 先のコマンドで-aをつけてランしてない場合)。

cd Test/
python ../Checker.py SuperDuper.fasta

 

Optional

IGVで可視化できる。

igv -g SuperDuper.fasta SuperDuper.gff 

 

3、SuperTranscriptsのカバレッジを可視化。SuperFiles/にある各SuperTranscriptsのfastaを指定する。

python ../STViewer.py SuperFiles/GeneA.fasta

出力。SuperTranscriptsのカバレッジが可視化される。

f:id:kazumaxneo:20180622105803j:plain

カバレッジのグラフ(一番下)を見ると、2領域でカバレッジが2倍になっている。 ページ上に張ったSuperTranscriptsの構築の図の一番下のイラストの、赤色の下線と青色の下線が重なっている領域(AATとAT)がここに相当する。

 

 

感想

実際のde novo assemblyでは数十万のcontigが出来てくるので、SuperTranscriptsの構築はかなりの時間がかかります。また、ジャンクを含むcontigsが出来てくる可能性もあります。以下のようなアドバイスがされてます。

Githubより)One problem that users have encountered are what to do with large clusters! These large clusters can sometimes include several hundred contigs, or some contigs which have serveral hundred kbp of sequence. De Novo assembly is a really hard job and often junk can be compiled into contigs or a group of many junk contigs can be clustered together, sweeping up the garbage. One can try and cluster them into superTranscripts but BLAT may take a long time to align them (and stall) and Lace may not like making such a large graph! So if you run into issues where Lace takes too long or BLAT hangs e.t.c i would edit your cluster file and remove the cluster or contig which is causing the issue, whilst there may be some real sequence buried in the junk it will be had to see the forest from the trees...so in our experience it is best to just cut your losses!

問題を起こしている配列を見つけ出して消すか、何らかの妥当なmetricsに従いSuperTranscripts構築前に問題を起こす可能性が高い配列を除く、ということでしょうか。いずれもアドホックな対症療法にしかならないのが気になります。また、フィルタリングは必ず典型的なTPとFPの感度と精度のバランス問題(トレードオフ)を引き起こすので、実行しなくて支障ないならそれが一番ですが...

 

ワークフローも紹介されていますが、長くなりそうなので、一旦切って"SuperTranscripts その2"で紹介します。


引用

SuperTranscripts: a data driven reference for analysis and visualisation of transcriptomes

Davidson NM, Hawkins ADK, Oshlack A

Genome Biol. 2017 Aug 4;18(1):148.