使用Trinity拼接以及分析差异表达一个小例子
2017-06-12 09:42:47 293 0 0
Trinity 将测序数据分为许多独立的de Brujin graph,理论上每一个图对应一个表达的基因。
整个流程分为三个步骤:Inchworm, Chrysalis, and Butterfly
Inchworm: 从reads中提取所有的重叠k-mers,根据丰度递减的顺序检查每个k-mers,然后将重叠的k-mers延长到不能再延长,称为一个contig
Chrysalis: 将上一部生成的contig聚类,对每个类构建de Brujin graph
Butterfly: 根据构建的de Brujin graph ,寻找具有可变剪接的全长转录本,同时将旁系基因的转录本分开
https://github.com/trinityrnaseq
Trinity的硬件需求:
Inchworm 和 Chrysails 步骤对内存的需求很大,官方给出的说法是大致为每一百万对PE reads需要1g内存
使用的转录组数据为 Schizosaccharomyces pombe ,共4个样本(left right 表示双端测序数据的两端)
- % wget \
- http://sourceforge.net/projects/trinityrnaseq/files/misc/Trinity
- NatureProtocolTutorial.tgz/download
- #解压后得到如下的文件
- tar –xvf TrinityNatureProtocolTutorial.tgz
在拼接时,可以将每个样本都拼接成一个转录组,但是更合理的方法是将所有样本的reads合在一起再进行拼接,所以先将这四个样本的reads合在一起。
- % cat *.left.fq > reads.ALL.left.fq
- % cat *.right.fq > reads.ALL.right.fq
- #添加环境变量
- % export PATH=/usr/local/tools:$PATH
- #一种典型的使用方法入下
- #其中参数SS_lib_type RF 表示数据是双端(RF or FR) 单端(F or R)
- % Trinity --seqType fq --max_memory 1G --left reads.ALL.left.fq --right reads.ALL.right.fq --SS_lib_