← 返回分析流程中心创建时间 2026/6/3 分析难度 高级 推荐场景 肿瘤转录组 预计耗时 3-5 天
Pipeline Detail
Cancer Transcriptomics肿瘤转录组与临床应用
融合基因检测 STAR-Fusion/Arriba
面向肿瘤 RNA-seq 的融合基因检测流程,覆盖项目目录、示例 FASTQ、STAR-Fusion、Arriba、junction/spanning reads 解读、过滤和可视化。
Metadata
流程元数据
先看应用场景、输入输出和工具依赖,再进入正文命令细节。
Difficulty
高级
Scenario
肿瘤转录组
Estimated Time
3-5 天
Tools
STARSTAR-FusionArriba
Inputs
FASTQBAMGTF
Outputs
fusion candidatesreport
Workflow DAG
流程图
用步骤节点快速理解这个分析从原始数据到结果报告的流转关系。
STEP 1
→建立 fusion 项目目录
STEP 2
→示例 FASTQ 与样本表
STEP 3
→FASTQ QC
STEP 4
→STAR-Fusion 检测
STEP 5
→Arriba 检测
STEP 6
→候选融合过滤
STEP 7
→junction/spanning reads 证据
STEP 8
→融合可视化
STEP 9
候选 fusion 报告
Protocol
流程文档
正文保留 Markdown 排版、代码语言标识和表格样式,适合边学边复现。
融合基因检测 STAR-Fusion/Arriba
一、项目目录
mkdir -p fusion_project/{00_metadata,01_fastq,02_qc,03_starfusion,04_arriba,05_integration,06_visualization,report}
mkdir -p fusion_project/02_qc/{fastqc,multiqc}
fusion_project/
├── 00_metadata/
│ └── sample_info.csv
├── 01_fastq/
├── 02_qc/
├── 03_starfusion/
├── 04_arriba/
├── 05_integration/
├── 06_visualization/
└── report/
二、示例数据
00_metadata/sample_info.csv:
sample_id,condition,fastq_1,fastq_2
Tumor_1,Tumor,01_fastq/Tumor_1_R1.fq.gz,01_fastq/Tumor_1_R2.fq.gz
Tumor_2,Tumor,01_fastq/Tumor_2_R1.fq.gz,01_fastq/Tumor_2_R2.fq.gz
Normal_1,Normal,01_fastq/Normal_1_R1.fq.gz,01_fastq/Normal_1_R2.fq.gz
融合候选结果示例:
fusion_name,junction_reads,spanning_frags,tool
EML4--ALK,24,18,STAR-Fusion
TMPRSS2--ERG,35,21,Arriba
三、整体流程图
flowchart TD
A[paired-end RNA-seq FASTQ] --> B[FastQC/MultiQC]
B --> C[STAR-Fusion]
B --> D[STAR + Arriba]
C --> E[fusion candidates]
D --> E
E --> F[filter artifacts and recurrent false positives]
F --> G[junction reads / spanning reads evidence]
G --> H[visualization: arriba draw_fusions / IGV]
H --> I[clinical or mechanism report]
四、FASTQ 质控
fastqc -t 8 -o 02_qc/fastqc 01_fastq/*.fq.gz
multiqc 02_qc/fastqc -o 02_qc/multiqc
融合检测对 read 长度、paired-end 信息和测序深度敏感。肿瘤样本建议优先使用 paired-end 100/150 bp。
五、STAR-Fusion
STAR-Fusion 依赖 CTAT genome lib。
STAR-Fusion --genome_lib_dir /ref/ctat_genome_lib_build_dir --left_fq 01_fastq/Tumor_1_R1.fq.gz --right_fq 01_fastq/Tumor_1_R2.fq.gz --CPU 16 --output_dir 03_starfusion/Tumor_1
批量运行:
tail -n +2 00_metadata/sample_info.csv | while IFS=, read sample condition fq1 fq2
do
STAR-Fusion --genome_lib_dir /ref/ctat_genome_lib_build_dir --left_fq ${fq1} --right_fq ${fq2} --CPU 16 --output_dir 03_starfusion/${sample}
done
关键输出:
| 文件 | 说明 |
|---|---|
star-fusion.fusion_predictions.tsv | 主结果表 |
FusionName | 融合基因名 |
JunctionReadCount | 跨断点 reads |
SpanningFragCount | 支持融合的 paired fragments |
六、Arriba
Arriba 通常基于 STAR chimeric alignment。
STAR --runThreadN 16 --genomeDir /ref/star_index --readFilesIn 01_fastq/Tumor_1_R1.fq.gz 01_fastq/Tumor_1_R2.fq.gz --readFilesCommand zcat --outSAMtype BAM Unsorted --outSAMunmapped Within --chimSegmentMin 10 --chimOutType WithinBAM HardClip --chimJunctionOverhangMin 10 --alignSJDBoverhangMin 10 --alignMatesGapMax 100000 --alignIntronMax 100000 --chimSegmentReadGapMax 3 --outFileNamePrefix 04_arriba/Tumor_1_
arriba -x 04_arriba/Tumor_1_Aligned.out.bam -o 04_arriba/Tumor_1_fusions.tsv -O 04_arriba/Tumor_1_fusions.discarded.tsv -a /ref/genome.fa -g /ref/genes.gtf -b /ref/blacklist_hg38_GRCh38.tsv.gz -k /ref/known_fusions_hg38_GRCh38.tsv.gz -t /ref/known_fusions_hg38_GRCh38.tsv.gz
可视化:
draw_fusions.R --fusions=04_arriba/Tumor_1_fusions.tsv --alignments=04_arriba/Tumor_1_Aligned.out.bam --output=06_visualization/Tumor_1_fusions.pdf --annotation=/ref/genes.gtf --cytobands=/ref/cytobands_hg38_GRCh38.tsv
七、整合 STAR-Fusion 与 Arriba
import pandas as pd
from pathlib import Path
sf = pd.read_csv("03_starfusion/Tumor_1/star-fusion.fusion_predictions.tsv", sep=" ")
arriba = pd.read_csv("04_arriba/Tumor_1_fusions.tsv", sep=" ")
sf_simple = sf.rename(columns={
"FusionName": "fusion_name",
"JunctionReadCount": "junction_reads",
"SpanningFragCount": "spanning_reads"
})[["fusion_name", "junction_reads", "spanning_reads"]]
sf_simple["tool"] = "STAR-Fusion"
arriba_simple = arriba.rename(columns={
"#gene1": "gene1",
"gene2": "gene2",
"split_reads1": "junction_reads",
"discordant_mates": "spanning_reads"
})
arriba_simple["fusion_name"] = arriba_simple["gene1"] + "--" + arriba_simple["gene2"]
arriba_simple = arriba_simple[["fusion_name", "junction_reads", "spanning_reads"]]
arriba_simple["tool"] = "Arriba"
merged = pd.concat([sf_simple, arriba_simple], ignore_index=True)
summary = merged.groupby("fusion_name").agg(
tools=("tool", lambda x: ";".join(sorted(set(x)))),
max_junction_reads=("junction_reads", "max"),
max_spanning_reads=("spanning_reads", "max"),
).reset_index()
summary.to_csv("05_integration/Tumor_1_fusion_integrated.tsv", sep=" ", index=False)
八、结果解释图例
| 证据 | 含义 |
|---|---|
| junction reads | reads 跨越融合断点,证据强 |
| spanning reads/frags | paired-end 两端分别落在两个基因,支持融合 |
| in-frame | 可能形成融合蛋白 |
| recurrent fusion | 文献/数据库中反复出现,可信度更高 |
| normal 样本存在 | 需警惕假阳性或 read-through |
九、候选过滤建议
junction_reads >= 3
spanning_reads >= 5
至少一个工具 high confidence
优先保留已知 cancer fusion 或 in-frame fusion
去除 read-through、同源基因、线粒体、低复杂度区域假阳性
十、交付物
- STAR-Fusion 结果表
- Arriba 结果表
- integrated fusion candidate table
- junction/spanning reads 证据表
- fusion visualization PDF
- IGV 截图或断点浏览图
- 高可信融合基因解释报告