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

2023-05-16

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-rep2

conditionB   condB-rep1
conditionB   condB-rep2

conditionC   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序列,有利于于下一步的功能注释。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Trinity进行转录组组装(2)) 的相关文章

  • Nginx的临时文件权限问题

    问题 在重启了nginx发现部分较大的Post请求出现了500错误 xff0c 然后 xff0c 查看Nginx错误日志 xff0c 类似如下 xff1a nginx open 34 usr local nginx client body
  • Spring Security中启用CSRF防护(REST版)

    问题 之前文章 Spring Security 43 Spring Session Redis 43 JJWT 介绍了怎么使用Spring Security实现restful风格的登录api 现在 xff0c 我们在这个基础上面实现csrf
  • Android Editable

    简单记一下 xff0c 以前没怎么用过 EditText View的getText直接返回的就是 Editable 而 TextView则是getEditableText才返回 Editable 还有就是注释所说 Replaces the
  • Linux虚拟机断电后开机出现:Entering emeryency mode. Exit the shell to continue.

    在一台服务器上 xff0c 搭建了4个linux虚拟机 可是昨晚不知道怎么的 xff0c 公司断电 今早来的时候发现服务器关机了 然后开机 xff0c 启动虚拟机 xff0c 其中有一台启动不了 xff0c 提示信息如下 xff1a 解决方
  • Web标准和常用浏览器及其内核

    Web标准 Web标准是由W3C组织和其他标准化组织制定的一 系列标准的集合 W3C 万维网联盟 是国际最著名的标准化组织 Web标准的优点 xff1a 1 遵循Web标准除了可以让不同的开发人员写出的页面更标准 更统一 2 让Web的发展
  • java集合集锦_

    java集合集锦 文章目录 java集合集锦一 java集合框架图二 集合简介三 集合遍历四 Arraylist 与 LinkedList 区别 五 ArrayList 与 Vector 区别呢 六 要对集合更新操作时 xff0c Arra
  • java map转为实体类的方法

    一 自己定义方法 span class token keyword public span span class token keyword static span span class token generics function sp
  • oracle 一行转多行

    span class token keyword SELECT span substr span class token punctuation span PBTYPE span class token punctuation span i
  • MiroTik 路由器配置无线中继模式(超细教程)

    关于MikroTik 看一下百度百科中关于MikroTik的介绍吧 MikroTik成立于1995年 xff0c 总部位于拉脱维亚首都里加 xff0c 主要从事开发路由器和无线ISP系统 1997年RouterOS系统 xff0c 2002
  • springmvc项目,启动报错Context initialization failed

    错误描述如下 xff1a springmvc项目 tomcat启动报错 Context initialization failed org span class token punctuation span springframework
  • Spring 总结(学习+面试)

    Spring学习笔记 文章目录 Spring学习笔记1 0 概述1 1使用Spring框架的好处1 2特点 2 0体系结构3 0创建Spring java工程 xff08 eclipse xff09 4 0通过Spring创建对象的方式5
  • tomcat启动,报错Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]

    严重 RMI TCP Connection 3 127 0 0 1 org apache catalina core ContainerBase addChildInternal ContainerBase addChild start o
  • chrome扩展:manifest.json文件详解

    manifest json是扩展的配置文件 xff0c 指明了扩展的各种信息 一个manifest json格式如下 xff1a 必须的字段 3 个 34 name 34 34 MyExtension 34 扩展名称 34 version
  • 检测链表中是否存在回环(Java 版)

    检测链表中是否存在回环 xff0c 这里介绍两种方法 xff1a 快慢指针 xff1b HashSet 存储原理 xff1b 1 快慢指针 快慢指针检查 xff0c 就是定义两个指针 xff0c 一个走的快 xff0c 一个走的慢 xff0
  • 通过http接口进行批量post操作(json格式)

    通过 64 Test或者main方法来进行 相关依赖 poi lt dependency gt lt groupId gt org apache poi lt groupId gt lt artifactId gt poi lt artif
  • spring容器初始化bean后执行方法

    有时 xff0c 我们需要在启动bean时初始化bean属性 xff0c 例如读取perporties文件 xff0c 对属性进行赋值 xff1b 启动容器时让某个method方法执行等等 这时需要在进行配置 xff0c 让bean在注入时
  • 4个简单有效的网页视频下载方法,超级简单好用

    有很多网站的视频是没有下载功能的 xff0c 想要下载视频怎么办呢 xff1f 今天就分享给大家4个简单有效的网页视频下载方法 xff0c 多个平台都适用 xff0c 而且操作简单 xff0c 一看就会 xff01 一 审查元素下载 一个简
  • iptables详解

    5链 INPUT OUTPUT PREROUTING FORWARD POSTROUTING INPUT OUTPUT gt PREROUTING gt 是否为本机 gt FORWARD gt POSTROUTING gt 其他主机 所以
  • 浅谈一致性哈希算法 consistent hashing

    接触过分布式的小伙伴一定对一致性哈希算法这个词语不陌生 xff0c 那么到底什么是一致性哈希算法呢 xff1f 了解一致性哈希算法之前我们先了解下哈希取模 假设我们有三台服务器 xff0c 缓存3万张图片 当然我们可以均匀的分配到每个服务器

随机推荐

  • ubuntu20.04启用SSH

    新安装的ubuntu20 04默认是没有开启ssh的 xff0c 所以无法使用ssh登录系统 1 安装openssh server span class token function sudo span span class token f
  • 密码生成器

    import random def Range get num alist listout 61 while num gt 0 listout append alist random randint 0 len alist 1 num 61
  • centos7安装oracle中遇到的常见问题解决方法

    1 安装图形界面 yum y install gnome 2 安装vnc server yum y install vnc server vncpasswd 设置密码 vncserver启动vnc windows安装vnc客户端客户端 通过
  • java中keytool生成的jks证书转换为openssl格式证书

    一 通常jks文件包含了服务器的私钥 server key xff0c 服务器证书 server crt 根证书 ca crt 二 通过java的keytool工具导出成 PKCS12 格式文件 my p12 keytool importk
  • IBMX3650M4安装win2008Server操作指南

    IBMX3650M4安装win2008Server操作指南 由于IBM服务器是IBM原有的Linux系统 xff0c 所以需要在此硬件上安装Win 2008 Server系统 xff08 以下简称win8 xff09 xff0c 中间遇到了
  • windows远程桌面连接到服务器黑屏问题

    任务管理器使用组合键 Ctrl 43 Alt 43 End xff0c 于是打开了远程电脑的任务管理器 xff0c 取消 xff0c 即可返回桌面正常显示
  • p2p数据分析

    大数据在许多国家具有战略意义 xff0c 其原因不仅在少数巨头公司的应用 xff0c 而是大 中 小 微企业乃至个人 xff0c 都能利用大数据来创造新的价值 而互联网本身就是一个大数据的金矿 xff0c 利用它创造价值 xff0c 是时代
  • 关于The GPG keys listed for the "***" repository are already installed but they are not corret

    这个问题是在自己制作的repo源码库的时候出现的 xff0c 从字面上理解 xff0c 是 为 源码仓库出示的GPG密钥已经安装 xff0c 但不正确 首先 xff0c GPG密钥存在的目的是处于安全和规范考虑 xff0c RedHat在发
  • __stack_chk_fail问题分析

    一 问题 进程收到SIGABRT 信号异常退出 xff0c 异常调用栈显示 stack chk fail Build fingerprint 39 Pico A7H10 PICOA7H10 10 5 5 0 smartcm 16769120
  • 十套精美个人博客网站模板

    文件资源 点击下载 展示在下方 xff0c 点击你想下载的文件 xff0c 然后点击普通下载就能下载了 紫色的图片博客个人页面模板 红色的微博社交平台HTML模板 响应式生活博客设计网站HTML5模板 程序员个人博客模板 响应式的互联网IT
  • 高性能无锁环形队列 Disruptor

    Disruptor 环形队列 JLog 秒级百G级日志搜集 传输 存储解决方案 高性能无锁队列 Disruptor 高性能队列 Disruptor 使用教程 高性能队列Disruptor框架的详细说明与实战使用 SpringBoot 并发框
  • ubuntu20.04更换阿里的软件源

    新安装的ubuntu20 04的软件源是使用的国外的源 xff0c 因此在使用apt安装软件时速度并不怎么快 xff0c 建议大家更换为国内的源 xff0c 这样在使用apt安装软件时速度会有明显的提升的 ubuntu20 04 apt的配
  • mpi运行窗口无反应或者闪退

    原因有三 1 xff0c 服务未启动 2 xff0c 系统防火墙拦截
  • Newtonsoft.Json使用,C# Json文件读取,写入

    用学校作为例子 xff0c 有学校名称 xff0c 学校下面有班级 xff0c 班级有名字 xff0c 班级下面有学生 xff0c 这里面有数组 xff0c 有字段 using System using System Collections
  • Motrix全能下载工具使用

    Motrix是一款界面简约 功能丰富 专业可靠的全能下载工具 先下载 CSDN下载 Motrix zip下载 官方下载地址 Motrix 打开Motrix xff0c 将种子文件放到这里 开始下载
  • ActiveMQ-JMS(五):ObjectMessage的安全问题

    安全问题 按照apache官网的说明 xff0c 为了避免收到恶意代码 xff0c 引入了安全机制 xff0c 只允许指定的包里的对象能够被传输 原文如下 xff1a ObjectMessage objects depend on Java
  • 剑指offer 03

    span class token keyword class span span class token class name Solution span span class token punctuation span span cla
  • 「得印度者,得天下」聊聊你不知道的印度在线视频江湖

    印度 xff0c 一个神奇古老的国度 千百年来 xff0c 恒河水鉴证了古印度王朝的兴衰更迭 xff0c 壮丽的历史文化 xff0c 和印度文明缘起缘灭的生死轮回 时光飞转 xff0c 来到公元 2018年 恒河水波澜不惊一切如昨 xff0
  • Trinity简介(1)--用于无参考基因组的转录组de novo组装

    一 Trinity简介 Trinity xff0c 是由 the Broad Institute 开发的转录组de novo组装软件 xff0c 由三个独立的软件模块组成 xff1a Inchworm Chrysalis和Butterfly
  • Trinity进行转录组组装(2))

    1 Trinity进行转录组组装 Trinity进行转录组组装的典型命令如下 opt biosoft trinityrnaseq r20131110 Trinity pl seqType fq JM 50G left sample1 1 c