← 返回分析流程中心创建时间 2026/6/3 分析难度 入门 推荐场景 非模式物种 预计耗时 0.5-1 天
Pipeline Detail
De novo Transcriptomics长读长、翻译组与非模式物种
De novo 转录组组装 Trinity
面向非模式物种无参考基因组的 Trinity de novo 转录组组装流程,覆盖 reads 质控、组装、去冗余、完整性评估、功能注释、表达定量和差异表达。
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
图例解释:
| 指标 | 含义 |
|---|---|
| N50 | contig/transcript 连续性指标,不是越高越好 |
| BUSCO Complete | 保守单拷贝基因完整性 |
| duplicated BUSCO | 可能来自 isoform 或冗余组装 |
| mapping rate | clean 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 富集结果
- 非模式物种转录组分析报告