1. Trinity进行转录组组装

Trinity进行转录组组装的典型命令如下:

$ /opt/biosoft/trinityrnaseq_r20131110/Trinity.pl --seqType fq --JM 50G\--left sample1_1.clean.fastq sample2_1.clean.fastq\--right sample1_2.clean.fastq sample2_2.clean.fastq\--jaccard_clip --CPU 6 --SS_lib_type FR

–JM后的参数设定与转录组的大小有关,在内存足够的情况下,设定大点能节约时间;
–left 和 –right后可以接多个样平的数据,并用空格隔开,值得注意的是,left reads name以/1结尾,rigth reads name以/2结尾;
–jaccard_clip 适合于基因稠密的真菌物种;
–SS_lib_type 适合于链特异性测序

大数据量(>300M pairs)的RNA-seq数据,最好使用TRINITY_RNASEQ_ROOT/util/normalize_by_kmer_coverage.pl对reads进行处理后再使用trinity进行组装,以降低内存消耗和大量时间。
也可以设置–min_kmer_cov 2,丢弃uniquely occurring kmer, 从而降低内存消耗。

参考文献:
1. 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.
2. Borodina T, Adjaye J, Sultan M. A strand-specific library preparation protocol for RNA sequencing. Methods Enzymol. 2011;500:79-98. PubMed PMID: 21943893.

2. Trinity输出结果的统计

Trinity默认的输出结果为:trinity_out_dir/Trinity.fasta。
该fasta格式文件中序列名例如:

>comp6749_c0_seq1 len=328 path=[471:0-83 388:84-208 679:209-327]
>comp6749_c0_seq2 len=328 path=[304:0-83 388:84-208 679:209-327]
>comp6749_c0_seq3 len=245 path=[901:0-125 679:126-244]

可以看到,trinity生成的结果为components,而一个components可能有多个seq。这相当于一个gene能有多个transcripts。

可以使用trinity自带的程序TrinityStats.pl对components和transcripts的数目,大小和N50等进行统计。

$ $TRINITY_HOME/util/TrinityStats.pl trinity_out_dir/Trinity.fasta
Total trinity transcripts:  40138
Total trinity components:   31067
Percent GC: 61.31

3. 将reads比对到转录组,并进行可视化

TRINITY_RNASEQ_ROOT/util/alignReads.pl能调用bowtie将reads map到转录组,并可以设置链特异性参数。

$ TRINITY_RNASEQ_ROOT/util/alignReads.pl --left left.fq --right right.fq --seqType fq\--target Trinity.fasta --aligner bowtie --retain_intermediate_files

结果中生成coordSorted和nameSorted的sam和bam文件。如果设置了链特异性参数,则额外生成+链和-链的比对结果文件。

TRINITY_RNASEQ_ROOT/util/SAM_nameSorted_to_uniq_count_stats.pl用于统计比对结果

$ $TRINITY_HOME/util/SAM_nameSorted_to_uniq_count_stats.pl bowtie_out.nameSorted.sam.+.sam
#read_type  count   pct
proper_pairs    21194964    93.22    both read pairs align to a single contig and point toward each other.
left_only   836213  3.68             only the left (/1) read is reported in an alignment
right_only  687576  3.02             only the right (/2) read is reported in an alignment
improper_pairs  16640   0.07         both left and right reads align, but to separate contigs, or to a single contig in the wrong expected relative orientations.

可以将Trinity.fasta导入到IGV中作为genome,上载bam文件,从而可视化比对结果。

4. 使用RSEM进行表达量计算

首先,需要下载最新版本的RSEM,安装并将程序加入到$PATH中。

$ wget http://deweylab.biostat.wisc.edu/rsem/src/rsem-1.2.8.tar.gz
$ tar zxf rsem-1.2.8.tar.gz
$ cd rsem-1.2.8
$ make
$ echo "PATH=$PWD:\$PATH" >> ~/.bashrc

使用$TRINITY_HOME/util/RSEM_util/run_RSEM_align_n_estimate.pl可以调用RSEM,从而计算表达量。如果是链特异性测序,则加入–SS_lib_type参数。

$TRINITY_HOME/util/RSEM_util/run_RSEM_align_n_estimate.pl --transcripts Trinity.fasta \--seqType fq --left left.reads.fq --right right.reads.fq --SS_lib_type FR \--prefix RSEM --thread_count 4 -- --bowtie-phred64-quals --no-bam-output

将rsem-calculate-expression程序的参数–bowtie-phred64-quals和–no-bam-output加入到run_RSEM_align_n_estimate.pl中,则如上所示。这两个参数分别代表fastq的质量格式是phred64,不输出bam文件(节约大量时间)。
若运行出现问题,点击:RSEM的README文件。

结果生成两个abundance estimation information文件:
RSEM.isoforms.results : EM read counts per Trinity transcript
RSEM.genes.results : EM read counts on a per-Trinity-component (aka… gene) basis, ‘gene’ used loosely here.

可以根据得到的结果,去除掉IsoPct低于1%的transcripts。可以依据RSEM.isoforms.results使用TRINITY_RNASEQ_ROOT/util/filter_fasta_by_rsem_values.pl过滤掉trinity组装结果中的lowly supported transcripts。
但不推荐过滤掉这些序列。

5. 鉴定差异表达transcripts

Trinity可以使用Bioconductor package中的edgeR或DESeq来鉴定差异表达trancripts。因此,需要安装R和相关的一些包。

source("http://bioconductor.org/biocLite.R")
biocLite('edgeR')
biocLite('DESeq')
biocLite('ctc')
biocLite('Biobase')
install.packages('gplots’)
install.packages(‘ape’)

5.1 使用上一节中的RSEM来分别对每个样品的每个生物学重复进行表达量计算

5.2 将每个样的RSEM的结果进行合并

$ $TRINITY_HOME/util/RSEM_util/merge_RSEM_frag_counts_single_table.pl \
sampleA.RSEM.isoform.results sampleB.RSEM.isoform.results ... \
> transcripts.counts.matrix
$ TRINITY_HOME/util/RSEM_util/merge_RSEM_frag_counts_single_table.pl \
sampleA.RSEM.gene.results sampleB.RSEM.gene.results ... \
> genes.counts.matrix

然后修改生成的两个matrix文件的column headers(代表着样品和重复的名字),有利于下游的分析。如果要分析transcripts水平的差异表达,则使用transcripts.counts.matrix文件;若要分析gene水平的差异表达,则使用genes.counts.matrix。

5.3 无生物学重复进行差异表达分析

$TRINITY_HOME/Analysis/DifferentialExpression/run_DE_analysis.pl用于调用edgeR或DESeq进行差异表达基因分析。直接输入该命令查看其用法。
Trinty推荐使用edgeR进行差异表达分析。

$TRINITY_HOME/Analysis/DifferentialExpression/run_DE_analysis.pl \
--matrix counts.matrix --method edgeR

注意输入的matrix是counts的数据,而不要是FPKM的数据。

5.4 有生物学重复进行差异表达分析

首先,要建立文件samples_described.txt,内容为:

conditionA   condA-rep1
conditionA   condA-rep2conditionB   condB-rep1
conditionB   condB-rep2conditionC   condC-rep1
conditionC   condC-rep2

condA-rep1, condA-rep2, condB-rep1… 等对应着counts.matrix文件中的column names。
命令如下:

$TRINITY_HOME/Analysis/DifferentialExpression/run_DE_analysis.pl \
--matrix SP2.rnaseq.counts.matrix --method edgeR \
--samples_file samples_described.txt

结果文件中 logFC 是 log2 Fold Change; logCPM 是 log2-counts-per-million。

值得注意的是:程序默认去除counts数都少于10的transcripts或genes,不对其进行差异分析。所以有差异分析的genes或transcripts数目低于原始的数目。

5.5 提取差异表达基因,对其进行聚类分析

5.5.1 表达量的 NORMALIZED

使用TMM方法将counts转换为FPKM。
首先从1个样平的RSEM结果中提取长度数据:

$ cut -f 1,3,4 sampleA.RSEM.isoforms.results > feature_lengths.txt

然后使用TMM方法将counts数据转换为FPKM数据:

$ $TRINITY_HOME/Analysis/DifferentialExpression/run_TMM_normalization_write_FPKM_matrix.pl \
--matrix counts.matrix --lengths feature_lengths.txt

5.5.2 提取差异表达转录子

注意的是,这一步要在edgeR的结果文件中运行程序:

$ $TRINITY_HOME/Analysis/DifferentialExpression/analyze_diff_expr.pl \
--matrix matrix.TMM_normalized.FPKM -P 0.001 -C 2

默认下选择FDR值低于0.001,log2fold-change的绝对值>=2为差异表达基因。
程序输出差异表达基因FPKM、log2FC、FDR等值 和 聚类图 Heat Map.

5.5.3 根据聚类图提取子类

根据聚类结果,可以自动或手动确定子类。
自动确定子类:

$ $TRINITY_HOME/Analysis/DifferentialExpression/define_clusters_by_cutting_tree.pl \
--Ptree 20 -R file.all.RData

上例中从数的20%处来自动划分子类。
手动确定子类:

$ R
> load("all.RData") # check for your corresponding .RData file name to use here, replace all.RData accordingly
> source("$TRINITY_HOME/Analysis/DifferentialExpression/R/manually_define_clusters.R")
> manually_define_clusters(hc_genes, centered_data)
然后左键点击选择子类,右键结束选择

6. 提取蛋白编码区

使用transdecoder从trinity的转录子中提取coding region。最新版的transdecoder貌似有点问题。

$ $TRINITY_HOME/trinity-plugins/transdecoder/transcripts_to_best_scoring_ORFs.pl \
-t transcripts.fasta -m 100

默认下允许的最小的protein长度为100.
提取出了coding region,得出对应的protein序列,有利于于下一步的功能注释。

原文出自:http://www.chenlianfu.com/?p=2026

转载于:https://www.cnblogs.com/ZHshuang463508120/p/3607933.html

Trinity 一条龙策略相关推荐

  1. 8.6M超轻量中英文OCR模型开源,训练部署一条龙 | Demo在线可玩

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 要说生活里最常见.最便民的AI应用技术,OCR(光学字符识别)当属其中之一. 寻常到日常办理各种业务时的身份证识别,前沿到自动驾驶车辆的路牌 ...

  2. 全面了解风控策略体系

    模型和策略的开发是一个系统工程,这其中需要有业务经验.统计理论.算法运用.和数据认知,是一个不断反思,不断积累经验的过程.沙滩上建不起摩天大楼.扎扎实实的基本功永远有价值,永远不会过时. --余旭鑫博 ...

  3. 智慧零售的分级战场,苏宁618的升降策略能否厚积薄发?

    文|曾响铃 来源|科技向令说(xiangling0815) 又是一年618,智慧零售战场时间未到战火先燃. 5月15日,苏宁易购在南京举行了"苏宁618年中大促媒体发布会",为品牌 ...

  4. 使用Trinity进行转录组组装

    Trinity Trinity是Broad Institute和Hebrew University of Jerusalem开发的RNA-Seq数据 转录组组装工具,包括三个模块, Inchworn( ...

  5. 人类高质量 Java 学习路线【一条龙版】

    大家好,我是张讨嫌.现在网上的编程资料实在太多了,而且人人肯定都说自己的最好,那就导致大家又不知道怎么选了.大部分的博主推荐资源,也就是把播放量高的视频说一遍,水一期视频,没有一条很清晰的学习路线. ...

  6. 怒肝 Java 学习路线一条龙!

    文章为转载   请关注鱼皮好友  持续获取 有效学习知识 现在网上的编程资料实在太多了,而且人人肯定都说自己的最好,那就导致大家又不知道怎么选了.大部分的博主推荐资源,也就是把播放量高的视频说一遍,水 ...

  7. java实验五圣三一,什么是三位一体架构Trinity Architecture? – Oregor

    这里提出的Trinity Architecture是后端企业应用程序的架构模式.它源于采用依赖性倒置原理(DIP)的典型4层架构.它非常适合(但不限于)领域驱动设计(DDD)应用程序. 三位一体的三大 ...

  8. ”微服务一条龙“最佳指南-“最佳实践”篇:Dockerfile

    这是"微服务一条龙"的项目第三篇,最近有很多网友私聊我希望我能够讲讲Dockerfile的相关注意事项,毕竟Dockerfile也是微服务部署的一个最最最-.基础的一个组件,大家不 ...

  9. JavaScript 设计模式核⼼原理与应⽤实践 之 行为型:策略模式——重构小能手,拆分“胖逻辑”

    JavaScript 设计模式核⼼原理与应⽤实践 之 行为型:策略模式--重构小能手,拆分"胖逻辑" 行为型:策略模式--重构小能手,拆分"胖逻辑" 策略模式和 ...

最新文章

  1. csdn博客怎么修改字体的大小和颜色
  2. 陶哲轩实分析命题 11.10.7
  3. redis desktop manager_面试官:Redis分布式锁如何解决锁超时问题?
  4. fusion构建器代码语法_构建器模式:适用于代码,适用于测试
  5. 在Linux系统环境下修改MySQL的root密码
  6. windows动态库和静态库VS导入
  7. 三角传输的在链路均衡项目中的灵活应用
  8. php数组排序不要用函数,PHP数组排序函数使用方法
  9. EPC(建筑工程总承包)行业解决方案(汉得咨询)
  10. 教你制作一个自动发摩斯电码的PYTHON小程序
  11. EEPROM存储电路(M24C64芯片)
  12. 企业级大数据智能分析平台 -- DataA
  13. html 设置打印纸张大小怎么设置,打印机纸张大小怎么设置 打印机纸张大小设置方法【详细介绍】...
  14. 《C#之集训1-20121019c#基础》
  15. MySQL查询不同年份母亲节_不同国家的母亲节发展故事
  16. 图像处理笔记(0)---- 图像空间知识
  17. 京东批量一键评价代码
  18. 概率论在实际生活的例子_日常生活中的概率统计
  19. Win7安装 boost库
  20. 【微信小程序】设备判断android还是ios及微信版本信息 ( 含工具类 )

热门文章

  1. 电子签章平台三管齐下“治”印章,充分发挥集团管控权
  2. Nature:Hinton、LeCun、Bengio三巨头权威科普深度学习
  3. “北斗一号”卫星导航系统与GPS系统比较
  4. 学习笔记—网页设计基础知识(一)
  5. 模拟DNF放技能的蓝耗问题(洛谷P2006题题解,Java语言描述)
  6. Docusign多部分请求以使用Java SDK创建信封
  7. 如何撰写博客文章:22 个可行的技巧
  8. 【JZOJ5489】海明距离
  9. Apple Watch Ultra 省电配置
  10. 纯js实现点击预览图片效果