返回分析流程中心

Pipeline Detail

Cancer Transcriptomics肿瘤转录组与临床应用

融合基因检测 STAR-Fusion/Arriba

面向肿瘤 RNA-seq 的融合基因检测流程,覆盖项目目录、示例 FASTQ、STAR-Fusion、Arriba、junction/spanning reads 解读、过滤和可视化。

创建时间
2026/6/3
分析难度
高级
推荐场景
肿瘤转录组
预计耗时
3-5 天

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 readsreads 跨越融合断点,证据强
spanning reads/fragspaired-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 截图或断点浏览图
  • 高可信融合基因解释报告