Trinity是Broad Institute和Hebrew University of Jerusalem開發的RNA-Seq數據 轉錄組組裝工具,包括三個模塊,
- Inchworn(尺蠖): 將RNA-seq數據組裝成單個轉錄本,通常是主要轉錄亞型的全長轉錄本
- Chrysalis(蛹): 這一步將上一步得到contig進行聚類,對于每個聚類構建完整的德布羅意圖(de Bruijin graph)。每個轉錄本表示的是給定基因或者一組有著共同序列的基因的全部轉錄組成。 之后會根據圖中不相交的點對全部短讀數據進行拆分
- Butterfly(蝴蝶): 并行處理各個圖(graph), 追蹤每個圖中的短讀和配對短讀的路徑,最后報告可變剪切亞型的全長轉錄本,并且區分出旁系同源基因的轉錄本
如果不能理解上面這段話,就嘗試理解下面這張圖吧
當然如果示意圖也讓你不好理解的話,那就直接用軟件吧,反正這些流程圖的目標就是想告訴你,“用我,沒毛病”
軟件安裝用bioconda就行了。
conda create -n Trinity trinity -y
source activate Trinity
運行流程
當你在命令行敲出Trinity
后,他就會輸出一大堆信息。那么多信息分成3個部分:
- 必須參數:包括
--seqType
表示輸入序列類型,--max_memory
允許使用最大內存(一般64G),還有輸入數據的所在位置 - 可選參數:包括鏈特異性測序參數
--SS_lib_type
, 線程數--CPU
, 允許的最低組裝contig長度--min_contig_length
, 是否標準化--no_normalize_reads
等 - 常見用法說明
Trinity --seqType fq --max_memory 50G \
--left condA_1.fq.gz,condB_1.fq.gz,condC_1.fq.gz \
--right condA_2.fq.gz,condB_2.fq.gz,condC_2.fq.gz \
--CPU 6
# 有基因組引導組裝
Trinity --genome_guided_bam rnaseq_alignments.csorted.bam --max_memory 50G \
--genome_guided_max_intron 10000 --CPU 6
在常見用法中,Trinity提供了兩種使用方式,一種是沒有參考基因組進行組裝,另一種則是先將序列回帖到參考基因組上,然后再進行組裝。
前者很好理解,至于后者,大家可能會有疑問,這和TopHat2+Cufflink或HISAT2+StringTie的組合組裝策略有什么區別呢?
Cufflinks和StringTie是根據參考基因組位置組裝出轉錄本,基于原來的基因組返回GFF3文件,而Trinity只利用了參考基因組的位置信息,將同一個位置的read從頭組裝。這樣的好處是在于,如果一個基因組存在多個旁系同源基因,無參考基因組組裝可能會將這些基因的轉錄本組裝成一個。但是如果原來的組裝N50質量過差,片段化明顯,就還是推薦使用無參考組裝策略。
在運行中過程中,需要注意以下幾點
- 質量控制(Quality control)。Trinity的
--trimmomatic
參數會調用Trimmomatic對數據進行過濾,這一步可以用其他軟件完成。目前的RNA-seq質量也不需要過多的過濾。 - Trinity中有一個"In silico Read Normalization",用于對read進行標準化,適用于超過300M的數據,默認開啟,可以用--no_normalize_reads關閉。標準化的原因是,由于某些高表達基因會被檢測到很多次,但是對于組裝沒有幫助,所以可以提前剔除。
- 如果基因組中基因密度大(比如說真菌),一些轉錄本可能會在UTR區域有重疊。那么為了盡可能降低轉錄本的錯誤融合,需要用到--jaccard_clip。對于植物和脊椎動物,就不需要考慮這一步。
其他參數:
-
normalize_max_read_cov
: 某些基因的表達量特別高,可以通過限制覆蓋度的策略提高組裝效率
輸出解讀
運行結束后,最后的結果是trinity_out_dir
的Trinity.fasta
.Trinity將含有相同序列的轉錄本進行聚類,這種聚類可以被粗粗的被認為成一個基因的多個轉錄本。舉個例子
>TRINITY_DN1000|c115_g5_i1 len=247 path=[31015:0-148 23018:149-246]
AATCTTTTTTGGTATTGGCAGTACTGTGCTCTGGGTAGTGATTAGGGCAAAAGAAGACAC
ACAATAAAGAACCAGGTGTTAGACGTCAGCAAGTCAAGGCCTTGGTTCTCAGCAGACAGA
AGACAGCCCTTCTCAATCCTCATCCCTTCCCTGAACAGACATGTCTTCTGCAAGCTTCTC
CAAGTCAGTTGTTCACAGGAACATCATCAGAATAAATTTGAAATTATGATTAGTATCTGA
TAAAGCA
"TRINITY_DN1000|c115" 是Trinity 聚類編號,“g5”是基因編號,“i1”是轉錄亞型編號
評估組裝質量
有如下幾種方法可以評估組裝的質量
- 使用Bowtie/BWA將RNA-seq回貼到組裝的轉錄組上,有80%以上的回帖率就行了。
- 用全長重構蛋白編碼基因去搜索已知蛋白序列,見representation of full-length reconstructed protein-coding genes,
- 使用BUSCO根據保守同源基因進行評估
- 計算E90N50,
- 計算DETONATE得分
- 使用TransRate評估轉錄組組裝
轉錄本定量
直接根據轉錄本進行基因表達豐度定量工具根據是否比對分為兩類
- alignment-based: RSEM, eXpress
- alignment-free: salmon, kallisto
估計轉錄本豐度
Trinity提供了align_and_estimate_abundance.pl
腳本用于調用不同的程序進行表達量定量。
RSEM相對于salmon或kallisto提供了更多的信息,但是速度明顯地慢于salmon和kallsito。如果僅需要每個轉錄本的count, TPM和FPKM,那么更推薦用salmon。如果你為了更多的信息,愿意等待的話,那么你可以選擇用RSEM.