17
转转转 Trinity 转转转转转转 转转转 转转转 2011-9-16

转录组 Trinity 组装软件介绍

  • Upload
    neka

  • View
    307

  • Download
    0

Embed Size (px)

DESCRIPTION

转录组 Trinity 组装软件介绍. 微生物组: 曾柳红 2011-9-16. Outline. Why do we use Trinity ?. 转录组组装面临的挑战: ﹡ 转录本覆盖度不均匀,一些转录本覆盖度很低,一些则会很高。 ﹡ 由于序列本身偏向性,转录本内 read 覆盖度可能不一致。 ﹡ 与一个测序正确但低表达的转录本相比,一个有测序错误但高表达的转录本,其表达丰度可能更高。 ﹡ 由于可变剪切,构建数据结构需考虑到一个基因有多个转录本的可能。 ﹡ 来自不同基因的重复序列可能给组装带来歧义。. Why do we use Trinity ?. - PowerPoint PPT Presentation

Citation preview

Page 1: 转录组 Trinity 组装软件介绍

转录组 Trinity 组装软件介绍 微生物组: 曾柳红 2011-9-16

Page 2: 转录组 Trinity 组装软件介绍

Outline

Why do we use Trinity ?

How does Trinity work ?

How to run Trinity ?

Page 3: 转录组 Trinity 组装软件介绍

Why do we use Trinity ?• 转录组组装面临的挑战:﹡ 转录本覆盖度不均匀,一些转录本覆盖度很低,一些则会很高。﹡ 由于序列本身偏向性,转录本内 read 覆盖度可能不一致。﹡ 与一个测序正确但低表达的转录本相比,一个有测序错误但高表达的转录本,其表达丰度可能更高。﹡ 由于可变剪切,构建数据结构需考虑到一个基因有多个转录本的可能。﹡ 来自不同基因的重复序列可能给组装带来歧义。

Page 4: 转录组 Trinity 组装软件介绍

Why do we use Trinity ?• 转录组组装方法:

• 把所有 reads 比对到一个未注释的参考基因组中,再通过 overlap 连接序列,横跨 reads 及paired-ends 间的交叉点。

Mapping-first

approaches

• 用 reads 直接组装Assembly-

first(de novo)

methords

ScriptureCufflinks

AbyssSOAPdenovoOasesTrinity

Page 5: 转录组 Trinity 组装软件介绍

How does Trinity work ?• Trinity 破茧成蝶的过程Inchworm ( C+

+ )Chrysalis (C++)

Butterfly (Java)

Page 6: 转录组 Trinity 组装软件介绍
Page 7: 转录组 Trinity 组装软件介绍

• Inchworm﹡ 构建 k-mer 库, K=25 。﹡ 从 k-mer 库中删除可能包含错误的 k-mer 。﹡ 选择最高频度的 k-mer 作为种子(不包括复杂度和单一的 k-mers, 一次用完即从 k-mer 库中剔除),用来 contig 组装。﹡ 延伸种子, k-1 个 overlap 关系。( a greedy k-mer-based approach )﹡ 延伸至不能再延伸,形成线性 contig﹡ 重复 3-5 ,直到 k-mer 库为空。

Page 8: 转录组 Trinity 组装软件介绍

• Chrysalis﹡ 把可能存在可变剪切及其他平行基因的 contigs聚类。 聚类情况:( 1 )如果 contigs 间有 k-1 ( 25-1=24 )个 overlap 。( 2 )如果两个 contig 各有( k-1 ) /2 个 overlap 。﹡ 每个 contigs 集定义成一个 component ,对每个 component 构建 de Bruijn graphs (构建 de

Bruijn 图时, Trinity 利用 k-1mer 作为节点, SOAPdenovo 利用 k-mer 作为节点)﹡ 拿 reads 验证,看每个 component 的 reads 支持情况。

Page 9: 转录组 Trinity 组装软件介绍

• Butterfly﹡graph simplification( 1 )合并在 de Bruijn 图中有连续节点的线性路径,以形成更长的序列。( 2 )剔除可能由于测序错误(只有极少 reads 支持)的分叉,使边均匀。 ( 多倍体多态性似乎比测序错误更常见,保留)

﹡plausible path scoring 用动态规划算法打分,鉴定被 reads 和 read pairs 支持的路径,剔除 reads 支持少的路径。

Page 10: 转录组 Trinity 组装软件介绍

• Butterfly

Page 11: 转录组 Trinity 组装软件介绍

• Butterfly

Page 12: 转录组 Trinity 组装软件介绍

How to run Trinity• 在官网下载,解压缩。 make

http://sourceforge.net/projects/trinityrnaseq/• 目前版本 trinityrnaseq_r2011-08-20 (比原版本 trinityrnaseq-03122011 运行效率快很多)• perl

/ifs2/BC_MG/RNA/bin/denovo_2.0/trinityrnaseq_r2011-08-20/Trinity.pl --seqType fq --left *_1.fq --right *_2.fq --output outdir --min_contig_length 100 --paired_fragment_length 199 --run_butterfly --CPU 10

• 参数设置见: http://trinityrnaseq.sourceforge.net/#running_trinity

Page 13: 转录组 Trinity 组装软件介绍

• 具体执行步骤( 2011-08-20 版)CMD: java -jar util/ExitTester.jar 0CMD: java -jar util/ExitTester.jar 1CMD:util/fastQ_to_fastA.pl -I *_1.fq> left.faCMD: util/fastQ_to_fastA.pl -I *_2.fq> right.faCMD: cat left.fa right.fa > both.faCMD: util/strip_fasta_header.pl both.fa > both.fa.headlessCMD: trinity-plugins/kmer/meryl/meryl -v -B -m 25 -s both.fa.headless -o meryl_kmer_db -CCMD: kmer/meryl/meryl -Dt -n 1 -s meryl_kmer_db > meryl.kmers.min1.faCMD: Inchworm/bin/inchworm --kmers meryl.kmers.min1.fa --run_inchworm -K 25 -L 48 --monitor 1 --DS 2>monitor.out > inchworm.K25.L48.DS.faCMD: Chrysalis/Chrysalis -i both.fa -iworm inchworm.K25.L48.DS.fa -o chrysalis -min 100 -dist 199 -butterfly Butterfly/Butterfly.jarCMD: util/cmd_process_forker.pl -c outdir/chrysalis/quantifyGraph_commands --CPU 10 --shuffleCMD: touch outdir/chrysalis/quantifyGraph_commands.run.finishedCMD: util/cmd_process_forker.pl -c outdir/chrysalis/butterfly_commands.adj --CPU 10 --shuffleCMD: find ./chrysalis -name "*allProbPaths.fasta" -exec cat {} \; > Trinity.fasta

Page 14: 转录组 Trinity 组装软件介绍

• 产生文件(夹): ﹡ left.fa right.fa both.fa* inchworm.K25.L48.DS.fa meryl_kmer* meryl.kmers.min1.fa monitor.out chrysalis/ 及 Trinity.fasta( 为最终组装结果 )

﹡Trinity 最终组装成 contig ,不含 N ,而不是scaffold, 组装的序列也无须补洞、优化。

﹡Trinity 组装很占内存及空间,一般, 2G 以内包括2G clean data , 4~15G 内存足够;若 clean data 大于 2G , 内存要设大于 15G,4G 以上就要大于 20G 内存。

Page 15: 转录组 Trinity 组装软件介绍

• 文件内容说明:﹡ inchworm.K25.L48.DS.fa>a1;142 K: 25 length: 3697GGAGCTGGAGGCCCCCAGGCAACTACACCGTCCACGTA....

序列 id a1;平均 k-mer丰度值为 142,序列长 3697bp

﹡chrysalis intermediate outputs﹡chrysalis/RawComps.0/comp9.raw.graph :de Bruijn graph based on Inchworm contigs onlychrysalis/RawComps.0/comp9.raw.fasta :raw RNA-Seq reads that map to the Inchworm contigs based on k-mer composition*chrysalis outputs to be used by Butterfly as inputs*chrysalis/RawComps.0/comp9.out :the de Bruijn graph with edge weights incorporating the mapped readschrysalis/RawComps.0/comp9.reads :the read sequences and anchor points within the above graph

Page 16: 转录组 Trinity 组装软件介绍

• 文件内容说明:﹡Trinity.fasta

>comp2_c0_seq1_FPKM_all:33112.497_FPKM_rel:9549.731_len:2433_path:[0,588,1077,1146] GAGCTCTTCAGGAGGGGGAATGTGCTTGTGGTTTTTGGTCTTGTGCATTTTGTGACAAAG… …

comp2: contig is derived from Chrysalis component # 2 c0: contig also corresponds to Butterfly sub-component # 0 (during graph compaction and pruning, some components are partitioned into disconnected subcomponents). seq1: contig sequence count from chrysalis component 2, butterfly subcomponent zero. If this subcomponent yields multiple sequences, these will have different seq numbers. len: contig 长度FPKM: 比对到多个路径的近似值

Page 17: 转录组 Trinity 组装软件介绍

the end

thank you!