Trinity是由 Broad Institute开发的,用于转录本的de novo拼接,主要由三个软件模块组成:Inchworm, Chrysalis and Butterfly,能处理大型的RNA数据。
摘自https://github.com/trinityrnaseq/trinityrnaseq/wiki:
Trinity partitions the sequence data into many individual de Bruijn graphs, each representing the transcriptional complexity at a given gene or locus, and then processes each graph independently to extract full-length splicing isoforms and to tease apart transcripts derived from paralogous genes. Briefly, the process works like so:

Inchworm assembles the RNA-seq data into the unique sequences of transcripts, often generating full-length transcripts for a dominant isoform, but then reports just the unique portions of alternatively spliced transcripts.(将RNA-seq reads拼接形成一个unique sequences,也就是contigs,这些contigs可能代表一个全长转录本,也可能为一个转录本中的一部分)

Chrysalis clusters the Inchworm contigs into clusters and constructs complete de Bruijn graphs for each cluster. Each cluster represents the full transcriptonal complexity for a given gene (or sets of genes that share sequences in common). Chrysalis then partitions the full read set among these disjoint graphs.(将contigs进行聚类形成de Bruijn graphs,然后将其区分形成一个个可能的转录本)

Butterfly then processes the individual graphs in parallel, tracing the paths that reads and pairs of reads take within the graph, ultimately reporting full-length transcripts for alternatively spliced isoforms, and teasing apart transcripts that corresponds to paralogous genes.

Trinity的安装
1、下载Trinity:https://github.com/trinityrnaseq/trinityrnaseq/releases
我选择的是2.4.0
2、安装Trinity(先安装bowtie2)
2.1 下载bowties
http://bowtie-bio.sourceforge.net/bowtie2/index.shtml
然后选择版本后,安装并加到环境变量中
2.2 再切换到trinityrnaseq-Trinity-v2.4.0目录下,安装trinity及其相关部件(比如samtools、Trimmomatic等软件):
make plugins
2.3 如有报错:fatal error: zlib.h: No such file or directory
sudo apt-get install zlib1g-dev
3、测试Trinity是否正常安装
cd sample_data/test_Trinity_Assembly/./runMe.sh

Trinity的初步使用
1、查看Trinity相关参数,必须的参数为以下几个:
–seqType : 输入文件的格式,fq or fa
–max_memory : 设置trinity限制的最大使用内存
–left : left reads,多个文件以逗号隔开
–right : right reads,多个文件以逗号隔开
–samples_files : 如果文件过多,可以将信息写入samples文件中,如下:
[AppleScript] 纯文本查看 复制代码

1 cond_A cond_A_rep1 A_rep1_left.fq A_rep1_right.fq
2 cond_A cond_A_rep2 A_rep2_left.fq A_rep2_right.fq
3 cond_B cond_B_rep1 B_rep1_left.fq B_rep1_right.fq
4 cond_B cond_B_rep2 B_rep2_left.fq B_rep2_right.fq

–SS_lib_type : 如果是链特异性测序,则使用
–CPU : 设置CPU的使用数目(但是并不是trinity的所有程序都是能多线程使用最大的CPU的)
2、还有些参数一般都是默认设定,如:
–min_contig_length : 拼接产生的contig的最小长度,默认200
–long_reads : fasta file containing error-corrected or circular consensus (CCS) pac bio reads
–genome_guided_bam : genome guided mode, provide path to coordinate-sorted bam file
–jaccard_clip : 减少拼接时产生融合转录子的可能。但是这个参数比较适合于真菌物种(由于其基因组比较稠密,转录子经常在UTR区域重叠),脊椎动物以及植物则不需要使用该参数
–no_normalize_reads : 不对reads进行silico normalization,但是默认是开启的(能有效减少trinity运行时间)
–output : 输出结果目录,默认是当前目录下的trinity_out_dir文件下
–full_cleanup : only retain the Trinity fasta file, rename as ${output_dir}.Trinity.fasta
3、如果要查看trinity的完整的全部参数:
Trinity --show_full_usage_info
从中我们可以看到Trinity其实还分别对Inchworm、Chrysalis以及Butterfly有各自的参数设定,以及一些特殊情况下的适用参数
4、对于大样本的mRNA的测序数据,现在最新的Trinity已经将对reads进行normalization设置为默认开启状态,所以如果需要关闭的话使用参数–no_normalize_reads,我觉得没必要关闭。。毕竟能节省计算资源嘛
5、除了上述参数外,还有一个参数–min_kmer_cov min count for K-mers to be assembled by, Inchworm (default: 1),可以理解为k-mer 的coverage
如果服务器配置不够,可以将–min_kmer_cov设置为2,这样做会去除unique occurring kmer,从而降低内存消耗,并且减少拼接过程中的噪音。但是,这会导致低表达量的转录本不再被拼接(在拼接过程中直接被舍弃),而且也会导致一些低表达量的转录本变得更加碎片化。因此看情况取舍吧
6、此外–min_glue min number of reads needed to glue two inchworm contigs together. (default: 2),也就是在inchworm步骤中(在contig聚类成component的时候),两个contigs之间连接部位需要至少有多少个reads比对上。默认是2,但是可以人为设置以减少最后拼接出来的gene数目。
7、对于以上两个参数,Trinity作者对此做了一定的解释,具体可见:https://github.com/trinityrnaseq/trinityrnaseq/issues/92
8、查看Trinity的FAQ以及别人提交的报错问题(几乎你的遇到的问题都能在里面找到别人提交并回答了的类似的问题)
https://github.com/trinityrnaseq/trinityrnaseq/wiki/Trinity-FAQ
https://github.com/trinityrnaseq/trinityrnaseq/issues

Trinity的拓展使用
通过上述Trinity的初步使用,并且基本按照默认参数运行后,会产生一个Trinity.fasta文件,这也是唯一我们需要后续分析使用的文件

Trinity官网不仅发布了Trinity对于无参转录组的组装使用教程,其还为组装后的接下来的转录本的评估,基因/转录本的定量,差异基因分析以及注释都做了流程化的搭建,对于每一步都有其建议以及相关代码,所有代码都是用perl写的,所以会perl的很容易就看懂哈

下面介绍几个配套流程的代码,有需要的话可以直接使用,免去自己写代码的过程哈

1、TrinityStats.pl
$TRINITY_HOME/util/TrinityStats.pl Trinity.fasta
了解这个代码前,需要理解一个概念:Trinity.fasta文件中转录本的id命名的规则,比如TRINITY_DN25847_c1_g2_i3,TRINITY_DN25847_c1表示Trinity read cluster(不同reads在拼接中聚类在一起的代号?),g2表示拼接出来可能的gene(2代表前面read cluster所所组装出的第2个可能的gene?),i3表示g2这个gene的第3个可能的转录本
因此这个代码会在基因水平和转录本水平上分别统计组装序列的一些统计信息,如:N50,序列个数、GC含量以及序列长度等
2、align_and_estimate_abundance.pl
$TRINITY_HOME/util/align_and_estimate_abundance.pl --transcripts Trinity.fasta --seqType fq --left reads_1.fq --right reads_2.fq --est_method RSEM --aln_method bowtie2 --trinity_mode --output_dir rsem_outdir
这个能在基因/转录本水平上进行表达丰度定量,主要调用bowtie/bowtie2比对到组装后的Trinity.fasta序列上,然后用RSEM进行表达丰度估算,最后得到在基因和转录本上的表达丰度定量值。当然比对软件以及定量软件都可以选择其他,比如kallisto,salmon等
3、run_DE_analysis.pl
$TRINITY_HOME/Analysis/DifferentialExpression/run_DE_analysis.pl
–matrix counts.matrix –method edgeR –dispersion 0.1
这个主要用于差异分析,比如这个是调用edgeR包来做差异表达分析,trinity套件还提供其他方法,如DESeq2,voom,ROTS等

PS:当然还有其他脚本代码,可以通过查看perl代码来学习其运行原理,然后再自己来写一遍符合自己分析情况的脚本
Trinity官网的教程也是非常棒的学习途径
https://github.com/trinityrnaseq/trinityrnaseq/wiki

Trinity的安装与使用相关推荐

  1. Trinity安装与报错

    提取线粒体基因组 Trinity安装与报错 (仅作为学习的记录,以下命令是小伙伴儿整理给我用的) #寻找近缘种建立参考基因组(这里的ref要自己创建,将参考基因组下载至文件夹中) $ hisat2-b ...

  2. Trinity简介(1)--用于无参考基因组的转录组de novo组装

    一. Trinity简介 Trinity,是由 the Broad Institute 开发的转录组de novo组装软件,由三个独立的软件模块组成: Inchworm,Chrysalis和Butte ...

  3. Gene Prediction Commend 01

    若使用本方法,请引用此文,谢谢! JoF | Free Full-Text | Genome Re-Annotation and Transcriptome Analyses of Sanghuang ...

  4. 如何对基因组序列进行注释

    基因组组装完成后,或者是完成了草图,就不可避免遇到一个问题,需要对基因组序列进行注释.注释之前首先得构建基因模型,有三种策略: 从头注释(de novo prediction):通过已有的概率模型来预 ...

  5. 安装trinity、解决报错

    生信软件安装 Trinity安装 文章目录 生信软件安装 一.安装trinity报错 二.解决报错 一.安装trinity报错 解压代码: tar -zxvf trinityrnaseq-v2.14. ...

  6. Trinity安装全过程并解决部分报错

    Trinity安装全过程并解决部分报错 简单的安装方式: # Hompage : https://github.com/trinityrnaseq/trinityrnaseq/wiki# 安装 sud ...

  7. java 铁三车强度如何_工欲善其事,必先利其器--GIANT TRINITY铁三车

    最近这两年铁三很火,包括首富都收购了铁三,足以证明铁三的魅力. 铁三分别是游泳.骑车.跑步. 但是大组车在铁三比赛里还是非常吃亏的,毕竟铁三车辆不需要UCI认证,在空气动力学方面可以做到毫无顾忌,造型 ...

  8. 安装EXSI遇到No Network Adapters的解决方案

    安装esxi途中遇到了找不到网卡驱动的问题: 这是因为iso文件中本身没有添加当前设备网卡的驱动,需要手动导入属于自己网卡的的驱动. 第一步先确定自己的网卡型号: 1 2 3 4 5 6 7 [ma@ ...

  9. Trinity进行转录组组装(2))

    1. Trinity进行转录组组装 Trinity进行转录组组装的典型命令如下: $ /opt/biosoft/trinityrnaseq_r20131110/Trinity.pl --seqType ...

最新文章

  1. 每日一皮:新年好...
  2. python在线读-用python实现自己的小说阅读器
  3. 请简短说明一下你对AQS的理解
  4. LeetCode之Hamming Distance
  5. 部门名称部门结构叠用_金属结构分公司三部门联合开展工会小组活动
  6. 压缩pdf大小_PDF压缩到指定大小该怎么操作?分享完成PDF压缩超好用的方法
  7. eclipse出现String错误,问题已解决
  8. 问题-Fastreport4 Memo打印时中文显示不全
  9. 推荐 | 一个超好的OpenCV4学习社区
  10. 红帽学习笔记[RHCSA] 第七课[网络配置相关]
  11. provide sth for sb; provide sb with sth
  12. Nexus 的下载和部署
  13. 人工智能搜索算法案例分析
  14. uniapp跳转指定小程序
  15. html 里面的 role 属性是什么意思和用途
  16. 《合约星期五》OKEx BTC季度合约 0726周报
  17. 耶利哥打不开因计算机丢失,我的电脑游戏打不开说什么应用程序错误。是不是中毒了...
  18. cocos creator微信棋牌小游戏 幼麟棋牌服务端分析笔记
  19. oracle04052,案例学习Oracle错误:ORA-04052
  20. 程序员想要兼职,推荐些给大家(加班996,更应该兼职)

热门文章

  1. 三次技术转型的我在帝都的北漂奋斗史
  2. 拉格朗日插值、分段线性插值、三次样条插值
  3. singletask和onNewintent
  4. [翻译]如何用YII写出安全的WEB应用
  5. C++中typeid的使用
  6. 信息安全主题的高清PPT背景图110张,打包下载
  7. 1、ubuntu 安装docker
  8. 一文彻底搞懂Mybatis系列(十六)之MyBatis集成EhCache
  9. 上位机软件开发流程是怎样的?上位机开发软件分享
  10. 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一2.9 疏密相间构图法