返回分析流程中心

Pipeline Detail

De novo Transcriptomics长读长、翻译组与非模式物种

De novo 转录组组装 Trinity

面向非模式物种无参考基因组的 Trinity de novo 转录组组装流程,覆盖 reads 质控、组装、去冗余、完整性评估、功能注释、表达定量和差异表达。

创建时间
2026/6/3
分析难度
入门
推荐场景
非模式物种
预计耗时
0.5-1 天

Metadata

流程元数据

先看应用场景、输入输出和工具依赖,再进入正文命令细节。

Difficulty

入门

Scenario

非模式物种

Estimated Time

0.5-1 天

Tools

DESeq2SalmonTrinity

Inputs

FASTQexpression matrix

Outputs

report

Workflow DAG

流程图

用步骤节点快速理解这个分析从原始数据到结果报告的流转关系。

STEP 1

建立 de novo 项目

STEP 2

reads QC/clean

STEP 3

Trinity 组装

STEP 4

组装质量评估

STEP 5

功能注释

STEP 6

Salmon/RSEM 定量

STEP 7

差异表达

STEP 8

富集分析

STEP 9

组装报告

Protocol

流程文档

正文保留 Markdown 排版、代码语言标识和表格样式,适合边学边复现。

De novo 转录组组装 Trinity

一、项目目录

mkdir -p trinity_denovo_project/{00_metadata,01_raw_data,02_clean_data,03_trinity,04_quality,05_annotation,06_quant,07_differential,08_enrichment,report}

二、示例数据

sample_id,condition,fastq_1,fastq_2
Ctrl_1,Ctrl,01_raw_data/Ctrl_1_R1.fq.gz,01_raw_data/Ctrl_1_R2.fq.gz
Ctrl_2,Ctrl,01_raw_data/Ctrl_2_R1.fq.gz,01_raw_data/Ctrl_2_R2.fq.gz
Treat_1,Treat,01_raw_data/Treat_1_R1.fq.gz,01_raw_data/Treat_1_R2.fq.gz
Treat_2,Treat,01_raw_data/Treat_2_R1.fq.gz,01_raw_data/Treat_2_R2.fq.gz

三、整体流程图

flowchart TD
    A[raw FASTQ] --> B[fastp/FastQC/MultiQC]
    B --> C[Trinity de novo assembly]
    C --> D[TransRate / BUSCO / N50]
    C --> E[CD-HIT / Corset optional clustering]
    D --> F[TransDecoder ORF prediction]
    F --> G[BLAST/InterProScan/eggNOG annotation]
    C --> H[Salmon/RSEM quantification]
    H --> I[Differential expression]
    G --> J[GO/KEGG enrichment]
    I --> J
    J --> K[de novo transcriptome report]

四、质控和清洗

fastqc -t 8 -o 04_quality/raw_fastqc 01_raw_data/*.fq.gz

for sample in Ctrl_1 Ctrl_2 Treat_1 Treat_2
do
  fastp     -i 01_raw_data/${sample}_R1.fq.gz     -I 01_raw_data/${sample}_R2.fq.gz     -o 02_clean_data/${sample}_R1.clean.fq.gz     -O 02_clean_data/${sample}_R2.clean.fq.gz     --detect_adapter_for_pe     --thread 8     --html 04_quality/${sample}.fastp.html
done

multiqc 04_quality -o 04_quality/multiqc

五、Trinity 组装

准备 reads 列表:

ls 02_clean_data/*_R1.clean.fq.gz | paste -sd, - > left_reads.txt
ls 02_clean_data/*_R2.clean.fq.gz | paste -sd, - > right_reads.txt

运行 Trinity:

Trinity   --seqType fq   --left $(cat left_reads.txt)   --right $(cat right_reads.txt)   --CPU 24   --max_memory 150G   --output 03_trinity/trinity_out

输出:

03_trinity/trinity_out/Trinity.fasta

六、组装质量评估

TrinityStats.pl 03_trinity/trinity_out/Trinity.fasta   > 04_quality/trinity_stats.txt

BUSCO:

busco   -i 03_trinity/trinity_out/Trinity.fasta   -l metazoa_odb10   -m transcriptome   -o 04_quality/busco_trinity   -c 16

图例解释:

指标含义
N50contig/transcript 连续性指标,不是越高越好
BUSCO Complete保守单拷贝基因完整性
duplicated BUSCO可能来自 isoform 或冗余组装
mapping rateclean reads 回贴组装结果的比例

七、ORF 和功能注释

TransDecoder.LongOrfs   -t 03_trinity/trinity_out/Trinity.fasta

TransDecoder.Predict   -t 03_trinity/trinity_out/Trinity.fasta

BLAST 注释:

blastx   -query 03_trinity/trinity_out/Trinity.fasta   -db swissprot   -out 05_annotation/trinity_vs_swissprot.tsv   -evalue 1e-5   -num_threads 16   -outfmt 6

eggNOG-mapper:

emapper.py   -i 03_trinity/trinity_out/Trinity.fasta.transdecoder.pep   --itype proteins   -o 05_annotation/eggnog   --cpu 16

八、表达定量

salmon index   -t 03_trinity/trinity_out/Trinity.fasta   -i 06_quant/trinity_salmon_index   -p 12

for sample in Ctrl_1 Ctrl_2 Treat_1 Treat_2
do
  salmon quant     -i 06_quant/trinity_salmon_index     -l A     -1 02_clean_data/${sample}_R1.clean.fq.gz     -2 02_clean_data/${sample}_R2.clean.fq.gz     -p 12     --validateMappings     -o 06_quant/${sample}
done

生成矩阵:

abundance_estimates_to_matrix.pl   --est_method salmon   --out_prefix 06_quant/trinity   --name_sample_by_basedir   06_quant/Ctrl_1/quant.sf   06_quant/Ctrl_2/quant.sf   06_quant/Treat_1/quant.sf   06_quant/Treat_2/quant.sf

九、差异表达

run_DE_analysis.pl   --matrix 06_quant/trinity.isoform.counts.matrix   --method DESeq2   --samples_file 00_metadata/sample_info.txt   --output 07_differential/DESeq2

R 中进一步整理:

library(DESeq2)

counts <- read.delim("06_quant/trinity.isoform.counts.matrix", row.names = 1)
sample_info <- read.delim("00_metadata/sample_info.txt", row.names = 1)

dds <- DESeqDataSetFromMatrix(
  countData = round(as.matrix(counts)),
  colData = sample_info,
  design = ~ condition
)

dds <- dds[rowSums(counts(dds) >= 10) >= 2, ]
dds <- DESeq(dds)
res <- results(dds, contrast = c("condition", "Treat", "Ctrl"))
write.csv(as.data.frame(res), "07_differential/Treat_vs_Ctrl_DESeq2.csv")

十、结果解释示例

Trinity 组装得到 120,000 transcripts,BUSCO complete 为 86%。
Treat_vs_Ctrl 中 3,200 个 transcript 显著上调,富集到 phenylpropanoid biosynthesis。
由于没有参考基因组,应优先报告 transcript-level 结果,并对关键 transcript 做 BLAST/ORF 注释确认。

十一、交付物

  • clean reads 和 MultiQC
  • Trinity.fasta
  • TrinityStats 和 BUSCO 报告
  • TransDecoder ORF 结果
  • BLAST/eggNOG/InterProScan 注释
  • Salmon/RSEM expression matrix
  • DEG transcript table
  • GO/KEGG 富集结果
  • 非模式物种转录组分析报告