Trinity安装与使用-Trinity-v2.15.1(bioinfomatics tools-006)

01 背景介绍

以一篇中文为例,看转录组组装在一篇中文核心或者SCI期刊的地位。

内容如下:参考转录组的组装、 构建和注释使用fastp软件(v0.23.1) (Chen et al., 2018)对RNA-seq测序产生的原始数据进行质控。 该软件能够自动识别并去除测序数据中的接头序列, 删除包含“N”的读数以及质量较低的读数, 最终得到经过处理的高质量、 无污染的测序读数用于下一步分析。 使用hisat2软件(v2.2.1)(Kim et al., 2015)将干净读数比对到割手密参考基因组AP85-441(2 n=4x=32)(http: //sugarcane.zhangjisenlab.cn/sgd/html/download.html)。 比对上参考基因组的读数使用Trinity软件(v2.1.1)(Haas et al., 2013)进行基因组引导的有参转录本组装, 而未比对上的读数经过无参从头组装获得的转录本作为补充, 得到每个甘蔗种质的转录本数据集。 以割手密参考基因序列及S. spontaneum(Y83)的转录本数据集作为比对中心, 与其他种质的转录本数据集建立对应关系, 这一过程使用GMAP软件(v2021-08-25)(Wu and Watanabe, 2005)(参数: -min-Identity 0.9)及CD-HIT-EST软件(v4.8.1)(Li and Godzik, 2006)删除冗余后的序列(参数: -c 0.8), 最终得到这四个种质的代表性转录本数据集, 即参考转录本。 BUSCO用于转录本组装完整性评估(使用数据库: mbryophyta_odb10); (G+C)含量、 Contig N50、 平均长度等指标用于组装质量评估。 功能注释由多个公共数据库参与注释, 参考转录本通过BLASTx分别比对到Nr(ProteinBLAST:http: //blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE=Protein)、 PDB(PBD:http: //www.rcsb.org/)、 KOG(KOG:http: //ftp.ncbi.nih.gov/pub/COG/KOG/kyva)和Swiss-Prot(http: //www.gpmaw.com/html/swiss-prot.html)数据库, 阈值为E-value<10-5。

那么如何对转录组进行组装呢?查阅大量中文英文杂志后发现,多使用trinity进行转录本组装。

1.1 trinity转录本组装原理

目前五种主流的转录组从头组装软件(SOAPdenovo、Trans-ABy SS、Trinity、Bridger和Bin Packer),其中trinity较频繁使用,且一直维护更新。

Trinity是由布罗德研究所和耶路撒冷希伯来大学开发的,代表了一种新颖的方法,用于从RNA-seq数据中高效且稳健地从头重建转录组。Trinity结合了三个独立的软件模块:InchwormChrysalisButterfly,这些模块依次应用于处理大量的RNA-seq读取数据。Trinity将序列数据分割成许多个独立的de Bruijn图,每个图代表在给定基因或位点的转录复杂性,然后独立处理每个图,以提取全长剪接异构体,并区分来自旁系同源基因的转录本。简而言之,该过程如下:

(1) Inchworm将RNA-seq数据组装成转录本的独特序列,经常为主导异构体生成全长转录本,但随后仅报告另类剪接转录本的独特部分。

(2) Chrysalis将Inchworm的连锁片段聚集成簇,并为每个簇构建完整的de Bruijn图。每个簇代表给定基因(或共享共同序列的一组基因)的完整转录复杂性。Chrysalis随后将完整的读取集分配给这些不相交的图。

(3) Butterfly接着并行处理各个图,追踪读取及读取对在图中的路径,最终报告另类剪接异构体的全长转录本,并区分出对应于旁系同源基因的转录本

1.2 Trinity发表

 Trinity发表于《Nature Biotechnology》(顶刊)杂志。我们关于转录组组装和下游分析的协议发表在《Nature Protocols》(顶刊)杂志上,尽管总是在Trinity网站上提供最新的教学材料。

02 参考
https://github.com/trinityrnaseq/trinityrnaseq    #官网
更多详情,请访问:http://trinityrnaseq.github.io
03 安装(含测试)
#下载安装包
wget -c https://github.com/trinityrnaseq/trinityrnaseq/releases/download/Trinity-v2.15.1/trinityrnaseq-v2.15.1.FULL_with_extendedTestData.tar.gz    #带有实例数据
wget -c https://github.com/trinityrnaseq/trinityrnaseq/releases/download/Trinity-v2.15.1/trinityrnaseq-v2.15.1.FULL.tar.gz

#解压
tar -zxvf  trinityrnaseq-v2.15.1.FULL_with_extendedTestData.tar.gz

#make 
#Trinity assembles transcript sequences from Illumina RNA-Seq data.
#Build Trinity by typing 'make' in the base installation directory.
cd trinityrnaseq-v2.15.1
make

#测试,在这个目录
./trinityrnaseq-v2.15.1/sample_data/test_Trinity_Assembly

#First, execute 'runMe.sh' to run the Trinity assembly example.
To test abundance estimation as well, execute 'runMe.sh 1'
vim runMe.sh

#添加TRINITY_HOME信息
TRINITY_HOME=./trinityrnaseq-v2.14.0

#通过提供的脚本直接运行
bash runMe.sh
#Find assembled transcripts as: 'trinity_out_dir.Trinity.fasta'
4.1 依赖安装
# 依赖1 安装bowtie2
# http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml#building-from-source
wget https://sourceforge.net/projects/bowtie-bio/files/bowtie2/2.4.4/bowtie2-2.4.4-source.zip

unzip bowtie2-2.4.4-source.zip
make
make static-libs && make STATIC_BUILD=1
make sra-deps && make USE_SRA=1 	# supports aligning SRA reads

# 依赖2 安装jellyfish
wget https://github.com/gmarcais/Jellyfish/releases/download/v2.3.0/jellyfish-2.3.0.tar.gz
sudo tar -xf jellyfish-2.3.0.tar.gz
cd jellyfish-2.3.0
./configure        #安装到本目录
sudo make
sudo make install


#依赖3,4,比较像胶水,体量很小
## samtools
sudo apt install samtools   #root傻瓜式配置,这四个依赖均可。

wget -c https://github.com/samtools/samtools/releases/download/1.17/samtools-1.17.tar.bz2
tar jxvf samtools-1.17.tar.bz2
mkdir samtoolslocation
cd samtools-1.17
./configure --prefix=./samtoolslocation      #安装在本目录,并创建新文件夹
make
make install

# salmon
https://github.com/COMBINE-lab/salmon/releases/download/v1.10.0/salmon-1.10.0_linux_x86_64.tar.gz
或者conda install -c bioconda salmon    #这个计算表达量,但是表达量也不用这个计算,版本低一点让trinity跑起来就行,conda安装一般版本较低
04 使用
./Trinity -h
Trinity-v2.15.1 的使用说明如下:

## 必需参数:

- `--seqType <string>`: 读取类型,('fa' 或 'fq')
- `--max_memory <string>`: 建议 Trinity 使用的最大内存限制。以Gb的RAM提供,例如:`'--max_memory 10G'`

### 如果是成对的读取:
- `--left <string>`: 左侧读取,一个或多个文件名(用逗号分隔,没有空格)
- `--right <string>`: 右侧读取,一个或多个文件名(用逗号分隔,没有空格)

### 或者,如果是未配对的读取:
- `--single <string>`: 单个读取,一个或多个文件名,逗号分隔(注意,如果单个文件包含配对,可以使用标志:`--run_as_paired`)

### 或者,
- `--samples_file <string>`: 指示生物学重复关系的制表符分隔文本文件。例如:
  ```
  cond_A    cond_A_rep1    A_rep1_left.fq    A_rep1_right.fq
  cond_A    cond_A_rep2    A_rep2_left.fq    A_rep2_right.fq
  cond_B    cond_B_rep1    B_rep1_left.fq    B_rep1_right.fq
  cond_B    cond_B_rep2    B_rep2_left.fq    B_rep2_right.fq
  ```
  如果是单端而不是双端,则将上面的第4列留空。

## 杂项:
- `--SS_lib_type <string>`: 链特异性RNA-Seq读取方向。如果是成对的:RF或FR,如果是单个的:F或R。(dUTP方法 = RF)查看网站文档。
- `--CPU <int>`: 使用的CPU数量,默认为2
- `--min_contig_length <int>`: 报告的最小组装连锁长度(默认=200,必须>=100)
- `--long_reads <string>`: 包含经过错误校正或循环共识(CCS)的pac bio读取的fasta文件(**注意:这是一个实验参数**,此功能仍在开发中)
- `--genome_guided_bam <string>`: 基因组引导模式,提供坐标排序的bam文件路径。(参见`--show_full_usage_info`下的基因组引导参数部分)
- `--long_reads_bam <string>`: 包含用于基因组引导Trinity的长读取(bam文件包含对基因组进行比对的经过错误校正或循环共识(CCS)的pac bio读取)
- `--jaccard_clip`: 选项,如果你有成对读取并且你预期有高基因密度并且UTR重叠,设置此选项(对读取使用FASTQ输入文件格式)。(注意:jaccard_clip是一个昂贵的操作,所以除非因为没有它而发现过多的融合转录本,否则请避免使用它。)
- `--trimmomatic`: 运行Trimmomatic来质量修剪读取,见`--quality_trimming_params`了解详细设置。
- `--output <string>`: 输出目录的名称(如果不存在将会创建)。默认(您当前的工作目录:“/new2pan/xyy230105/240121wuweizi_ke_zhuanluzu/007mcmctree/trinity_out_dir” 注意:名称中必须包含'trinity'作为安全预防措施!)
- `--full_cleanup`: 仅保留Trinity fasta文件,重命名为`${output_dir}.Trinity.fasta`
- `--cite`: 显示Trinity文献引用
- `--verbose`: 在运行过程中提供额外的作业状态信息。
- `--version`: 报告Trinity版本(Trinity-v2.15.1)并退出。
- `--show_full_usage_info`: 显示运行Trinity的更多选项(专家使用)。

*注意,

典型的Trinity命令可能是:

```
Trinity --seqType fq --max_memory 50G --left reads_1.fq  --right reads_2.fq --CPU 6
```
(如果您有多个样本,请使用`--samples_file`...详情请见上文)

对于基因组引导的Trinity,请提供坐标排序的bam:

```
Trinity --genome_guided_bam rnaseq_alignments.csorted.bam --max_memory 50G --genome_guided_max_intron 10000 --CPU 6
```

有关示例数据和示例Trinity执行的`runMe.sh`,请参见:`/new2pan/xyy230105/230817p450jinhuawenxianjishuluxian/001p450apps/trinityrnaseq-v2.15.1/sample_data/test_Trinity_Assembly/`

更多详情,请访问:http://trinityrnaseq.github.io
05 常用命令行
5.1 组装转录本

使用过滤后二代测序数据,详见fastp使用。fastp安装及使用-fastp v0.23.4(bioinfomatics tools-002https://blog.csdn.net/weixin_44874487/article/details/136227247?spm=1001.2014.3001.5501

Trinity --seqType fq --left reads_1.fq --right reads_2.fq --CPU 6 --max_memory 20G --output ./trinity_out_dir_XX
#Find assembled transcripts as: 'trinity_out_dir/Trinity.fasta'
#Use the documentation links in the right-sidebar to navigate this documentation, and contact our Google group for technical support.
#一般默认模式参数适用于大多数情况,默认即可
--output   输出文件前缀,需包含trinity字符,一般默认本目录即可

 多组学的时代,学会转录组分析是必备毕业技能呐!学会转录本组装,助力发表SCI!!!

5.2 获取unigene

冗余:组装出的Unigene的数量大大超过基因数,一般植物的基因数量为4w-5w,过多就是冗余!

冗余的来源:(1) 可变剪切;(2)测序错误引入的“新” 转录本(所以要fastp过滤数据!)

冗余的最大影响:导致多重比对,给定量带来挑战,定量不准!

去冗余方法

(1)筛选同一基因的最长转录本作为unigene

(2)软件:CD-HIT等软件通过聚类筛选unigene   cd-hit安装与使用-cd-hit v4.8.1(bioinfomatics tools-005)https://blog.csdn.net/weixin_44874487/article/details/136440106?spm=1001.2014.3001.5501

# 1.提取最长转录本
perl ./trinityrnaseq-v2.15.1/util/misc/get_longest_isoform_seq_per_trinity_gene.pl \ 
./trinity_out_dir/Trinity.fasta > ./trinity_out_dir/unigene1.fasta

# 2.软件聚类去冗余
cd-hit-est -i ./trinity_out_dir/Trinity.fasta -o  output-cdhit -T 1 -M 1000
5.3 统计unigene
perl ./trinityrnaseq-v2.15.1/util/misc/fasta_seq_length.pl ./trinity_out_dir/Trinity.fasta > ./trinity_out_dir/length.txt
06 参考文献

Trinity can be referenced as:

  • Grabherr MG, Haas BJ, Yassour M, Levin JZ, Thompson DA, Amit I, Adiconis X, Fan L, Raychowdhury R, Zeng Q, Chen Z, Mauceli E, Hacohen N, Gnirke A, Rhind N, di Palma F, Birren BW, Nusbaum C, Lindblad-Toh K, Friedman N, Regev A. Full-length transcriptome assembly from RNA-seq data without a reference genome. Nat Biotechnol. 2011 May 15;29(7):644-52. doi: 10.1038/nbt.1883. PubMed PMID: 21572440.

Protocol for using Trinity for de novo transcriptome assembly and downstream analyses:

  • Haas BJ, Papanicolaou A, Yassour M, Grabherr M, Blood PD, Bowden J, Couger MB, Eccles D, Li B, Lieber M, Macmanes MD, Ott M, Orvis J, Pochet N, Strozzi F, Weeks N, Westerman R, William T, Dewey CN, Henschel R, Leduc RD, Friedman N, Regev A. De novo transcript sequence reconstruction from RNA-seq using the Trinity platform for reference generation and analysis. Nat Protoc. 2013 Aug;8(8):1494-512Open Access in PMC doi: 10.1038/nprot.2013.084. Epub 2013 Jul 11. PubMed PMID:23845962.

Performance tuning of Trinity is described in:

  • Henschel R, Lieber M, Wu L, Nista, PM, Haas BJ, LeDuc R. Trinity RNA-Seq assembler performance optimization. XSEDE 2012 Proceedings of the 1st Conference of the Extreme Science and Engineering Discovery Environment: Bridging from the eXtreme to the campus and beyond. ISBN: 978-1-4503-1602-6 doi: 10.1145/2335755.2335842.

Exploration of Trinity algorithm development for use on Cray supercomputers:

  • Pierre Carrier, Bill Long, Richard Walsh, Jef Dawson, Carlos P. Sosa, Brian Haas, Timothy Tickle, Thomas William. The Impact of High-Performance Computing Best Practice Applied to Next-Generation Sequencing Workflows. bioRxiv 017665; doi: https://doi.org/10.1101/017665.

李思程,冯梦凡,杨细平.甘蔗属及其近缘属代表性种质的转录组比较分析[J].基因组学与应用生物学,2023,42(12):1323-1337.DOI:10.13417/j.gab.042.001323.

陈思远. 大规模转录组数据的整合分析方法和平台[D].西北农林科技大学,2022.DOI:10.27409/d.cnki.gxbnu.2021.000104.

李方东. 茶树转录组组装评估与多组学生物信息平台开发[D].安徽农业大学,2022.DOI:10.26919/d.cnki.gannu.2021.000002.

  • 41
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值