6002 words
30 minutes
arriba 使用笔记
2026-09-23
2026-09-23

03 Workflow#

Arriba 基于 STAR,不改变常规比对结果;一次 STAR 比对即可同时获得常规 RNA-seq 比对和融合检测所需的嵌合比对。相比常规比对只增加少量运行时间。

流程分两步:

  1. STAR 开启嵌合比对。必需设置 --chimSegmentMin,并推荐 --chimOutType WithinBAM,使嵌合片段作为 supplementary alignment 写入主 BAM。旧版 STAR 或 SeparateSAMold 模式会将其写到独立的 Chimeric.out.sam;Arriba 可用 -c 读取,但此模式已不推荐。
  2. Arriba 从 supplementary alignments、discordant mates,以及跨越注释基因边界的比对中提取证据,再应用过滤器,分别写出通过过滤的融合和被过滤的候选。

STAR 推荐参数(需 STAR 2.7.6a 或更新版本):

Terminal window
--outFilterMultimapNmax 50 \
--peOverlapNbasesMin 10 \
--alignSplicedMateMapLminOverLmate 0.5 \
--alignSJstitchMismatchNmax 5 -1 5 5 \
--chimSegmentMin 10 \
--chimOutType WithinBAM HardClip \
--chimJunctionOverhangMin 10 \
--chimScoreDropMax 30 \
--chimScoreJunctionNonGTAG 0 \
--chimScoreSeparation 1 \
--chimSegmentReadGapMax 3 \
--chimMultimapNmax 50

Arriba 不要求 BAM 排序或索引。为了节省时间,可将 STAR 输出直接 pipe 给 Arriba;STAR 输出未压缩 BAM 能避免压缩成为多线程运行瓶颈。下面是 paired-end FASTQ 的示例,路径和线程数按实际情况替换:

Terminal window
STAR \
--runThreadN 8 \
--genomeDir /path/to/STAR_index --genomeLoad NoSharedMemory \
--readFilesIn read1.fastq.gz read2.fastq.gz --readFilesCommand zcat \
--outStd BAM_Unsorted --outSAMtype BAM Unsorted \
--outSAMunmapped Within --outBAMcompression 0 \
--outFilterMultimapNmax 50 --peOverlapNbasesMin 10 \
--alignSplicedMateMapLminOverLmate 0.5 \
--alignSJstitchMismatchNmax 5 -1 5 5 \
--chimSegmentMin 10 --chimOutType WithinBAM HardClip \
--chimJunctionOverhangMin 10 --chimScoreDropMax 30 \
--chimScoreJunctionNonGTAG 0 --chimScoreSeparation 1 \
--chimSegmentReadGapMax 3 --chimMultimapNmax 50 \
| arriba \
-x /dev/stdin -o fusions.tsv -O fusions.discarded.tsv \
-a /path/to/assembly.fa -g /path/to/annotation.gtf \
-b /path/to/blacklist.tsv.gz \
-k /path/to/known_fusions.tsv.gz \
-t /path/to/known_fusions.tsv.gz \
-p /path/to/protein_domains.gff3

示例中 -k 和 -t 共用已知融合表:-k 用于对已知融合采用更灵敏的过滤,-t 用于在结果 tags 列标记它们。也可以分别提供不同文件。Arriba 附带的 run_arriba.sh 用于展示流程组件如何配合,并非完整生产流水线:它刻意省略错误检查、输入验证和接头/质量修剪等步骤。

04 Input files#

比对文件#

-x 指向 STAR 主比对文件(SAM/BAM/CRAM)。使用 --chimOutType WithinBAM 时主文件已含 Arriba 所需信息;使用 SeparateSAMold 时,还需通过 -c 传入 Chimeric.out.sam。Arriba 使用三类证据:split reads(STAR supplementary alignments)、discordant mate pairs,以及跨越注释基因边界的比对。最后一类让 Arriba 能在不调低 STAR --alignIntronMax 的情况下识别可能由局部缺失产生的融合,避免损害常规剪接比对。

文件无需排序,但排序后的 BAM 更便于压缩和在 IGV 中检查。SAM、BAM、CRAM、单端、双端以及混合数据均可处理,Arriba 按每条 read 的 BAM_FPAIRED 标志判断类型。

参考基因组与注释#

  • -a:参考基因组 FASTA,可 gzip 压缩。处理 CRAM 时需有对应 .fai。参考坐标必须与比对和注释一致。Wiki 支持坐标体系包括 hg19/GRCh37、hg38/GRCh38、mm10/GRCm38、mm39/GRCm39;自定义文件需坐标兼容。
  • -g:基因注释 GTF,可 gzip 压缩,无需排序。用于断点基因注释、剪接位点敏感度、转录本距离和融合方向判定。推荐 GENCODE 或 ENSEMBL;RefSeq 剪接位点和免疫球蛋白/TCR 位点注释较不完整。
  • download_references.sh 可列出或下载 Arriba 提供的参考文件。

Blacklist、已知融合、标签和蛋白结构域#

  • -b blacklist 强烈建议提供;缺少它可能使假阳性率增加一个数量级。安装包中的文件位于 database/blacklist_*。它用于去除重复比对伪影和健康组织中常见转录本(如 read-through、环状 RNA、非经典剪接)。TSV 两列,可 gzip;# 开头为注释。区域可写基因名、CONTIG:POSITION、CONTIG:START-END,也可给坐标加链方向;contig 名尾部 * 可匹配近似名称。第二列特殊值包括 any、split_read_donor、split_read_acceptor、split_read_any、discordant_mates、low_support、filter_spliced、not_both_spliced、read_through,用于按证据类型/方向或剪接条件屏蔽事件。具体语义见 Blacklist 说明。
  • -k 已知融合表用于对指定基因对提高灵敏度。文件两列,指定 5’ 与 3’ 基因/区域;顺序重要。被救回的候选可能为低置信度,灵敏度提高可能带来假阳性。安装包文件在 database/known_fusions_*。
  • -t 标签表三列:区域 1、区域 2、标签。匹配结果会把标签写入 tags 列。区域写法同上,顺序表示融合 5’ 和 3’ 端。已知融合文件通常可同时用于 -k、-t。
  • -p 蛋白结构域 GFF3(可 gzip),将保留结构域写入 retained_protein_domains。第九列至少含 Name=...;gene_id=...;gene_name=...。安装包文件位于 database/protein_domains_*。注释 ID/名称不匹配会导致无法标注,并可能产生警告。

WGS 结构变异#

-d 可接收同一样本 WGS 检出的结构变异,辅助弱表达融合并降低低置信度 RNA 候选的误报;结果可填充 closest_genomic_breakpoint1/2。Arriba 不应用于直接分析 DNA/WGS。

支持四列 TSV(两断点 CONTIG:POSITION,再加两个方向,方向可用 downstream/+、upstream/-)或结构变异 VCF。VCF 的 INFO 必须有 SVTYPE(BND、DEL、DUP、INV);非 BND 还需 END。单断点变异会被忽略。-D 设置 RNA 与 DNA 断点允许的最大距离,默认 100,000 bp;基因内会扩展到基因边界,基因间按距离阈值判断。若变异来自覆盖不完整的 WES,应考虑关闭 no_genomic_support 过滤器,避免因漏检 DNA 变异而压掉 RNA 候选。

05 Output files#

fusions.tsv#

由 -o 指定,含通过全部过滤的预测,按置信度由高到低排列。重要列如下:

列含义
gene1, gene2融合转录本 5’、3’ 端基因;同一基因可表示基因内事件。基因间断点显示上下游最近基因及距离。
strand1/2(gene/fusion)斜线前为注释基因链,斜线后为推测的转录链;不一致可表示反义转录,未知为 .。
breakpoint1/2两侧转录本断点坐标。只有 discordant mates 时,坐标是最接近真实断点的 mate 位置估计。
site1/2断点位置:5'UTR、3'UTR、UTR、CDS、exon、intron、intergenic;外显子边界会追加 splice-site。
typetranslocation、duplication、inversion、deletion,或 5'-5'、3'-3'。附加标签可能包括 read-through、non-canonical-splicing、ITD。
split_reads1/2以对应基因为 anchor 的 split fragments 数;较长的比对片段定义为 anchor。
discordant_mates支持融合的 discordant mate pairs/fragments 数。
coverage1/2断点保留侧附近覆盖度,计入所有 fragments(含重复);支持 reads 列只计通过过滤的 reads。
confidencelow、medium、high,由支持数、证据平衡、断点距离、事件类型、基因内外位置及不同转录本等因素综合评定。
reading_frame3’ 基因融合后是否 in-frame 或 out-of-frame;stop-codon 表示融合前已有终止密码子;不可预测为 .。
tags-t 匹配到的自定义标签,多个以逗号分隔。
retained_protein_domains-p 提供注释时,列出保留结构域及保留比例;两融合基因以竖线字符分隔。
closest_genomic_breakpoint1/2-d 提供 WGS 变异时,列出最近基因组断点及 RNA/DNA 断点距离。
gene_id1/2, transcript_id1/2GTF 基因 ID,以及与 reads 剪接模式最匹配的融合转录本 isoform。
direction1/2downstream 表示融合 partner 接在断点坐标下游,通常对应 right-clipped;upstream 表示上游,通常 left-clipped。
filters被过滤的支持 reads 类型及数量;可据此还原被丢弃 reads。
fusion_transcript由高表达支持转录本组装的融合序列;竖线字符表示断点,小写字母可表示非模板碱基或参考错配,[...] 插入,- 删除,___ 内含子,? 不确定,... 覆盖不足。启用 -I 时参考序列补片以括号表示,完整序列两端以 ^、$ 标记。
peptide_sequence由融合转录本翻译的肽序列,竖线字符表示断点;小写字符可表示跨断点密码子、非编码区、插入/变异等。不可预测时为 .。
read_identifiers支持 reads 名称列表。

基因方向与融合转录方向不要混为一谈;基因注释链和实际转录链可能不同。read-through 常提示邻近基因转录读穿,non-canonical-splicing 常提示环状 RNA;这类标签是风险提示,不代表一定是假阳性。

fusions.discarded.tsv#

由 -O 指定,含被判定为伪影或健康组织常见事件的候选,格式与 fusions.tsv 相同。用于检查预期事件是否被过滤。为节省时间和空间,默认不填弃置结果中的融合转录本、肽序列和 read 名;加 -X 才输出这些详细信息。

06 Visualization#

绘制融合图#

draw_fusions.R 为每个预测生成一页 PDF,展示融合基因方向、保留外显子、支持 reads 数及(若有)断点附近序列,也可绘制 ideogram、circos、结构域和覆盖度面板。

需要 R。可选依赖:circlize、Bioconductor GenomicRanges、GenomicAlignments。覆盖度需要 samtools,以及坐标排序并建立索引的 STAR 正常比对 BAM。

install.packages("circlize")
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")
BiocManager::install(c("GenomicRanges", "GenomicAlignments"))
Terminal window
draw_fusions.R \
--fusions=fusions.tsv \
--alignments=Aligned.sortedByCoord.out.bam \
--output=fusions.pdf \
--annotation=GENCODE.gtf \
--cytobands=database/cytobands_hg38.tsv \
--proteinDomains=database/protein_domains_hg38.gff3

Bioconda 安装时,脚本可直接从 PATH 调用,数据库一般在 $CONDA_PREFIX/var/lib/arriba。Docker/Singularity 运行时需挂载输出目录、参考目录、融合表和可选 BAM/索引;镜像示例见 Visualization wiki。

IGV 检查#

在 IGV 中检查 Aligned.out.bam 和(旧式 STAR 输出时)Chimeric.out.sam 可帮助识别比对伪影。载入 IGV 前 BAM 需要坐标排序并索引。可把两个断点坐标以空格分隔粘贴到位置栏并排查看,再用 read_identifiers 中的名字通过右键 Select by name... 高亮支持 reads。若支持 reads 有大量错配或软剪切,可在 IGV 对 read 使用 Blat read sequence 搜索 STAR 可能漏掉的替代比对。

07 Command line options#

arriba#

Terminal window
arriba [-c Chimeric.out.sam] -x Aligned.out.sam \
-g annotation.gtf -a assembly.fa \
[-b blacklist.tsv] [-k known_fusions.tsv] [-d variants.tsv] \
[-t tags.tsv] [-p protein_domains.gff3] \
-o fusions.tsv [-O fusions.discarded.tsv] [OPTIONS]
参数用途与默认值/说明
-x FILESTAR 主比对 SAM/BAM/CRAM,必需。
-c FILESTAR 独立嵌合比对文件;仅 SeparateSAMold 需要。
-g FILEGTF 注释,必需。
-G FEATURES指定 GTF 属性名称,适配不同来源字段。默认 gene_name=gene_name|gene_id gene_id=gene_id transcript_id=transcript_id feature_exon=exon feature_CDS=CDS。同一属性的替代名用竖线字符分隔。
-a FILEFASTA 参考基因组,必需;CRAM 需要 .fai。
-b FILEblacklist;强烈建议提供。
-k FILE已知融合清单,提高指定融合灵敏度。
-o FILE通过过滤的融合结果,必需。
-O FILE被过滤候选结果。
-t FILE自定义融合标签表。
-p FILE蛋白结构域 GFF3。
-d FILEWGS 结构变异 TSV/VCF。
-D DISTANCERNA 与 WGS 断点允许距离;默认 100000。
-s MODE链特异性:auto 自动判断(默认)、yes read1 链同转录链、reverse read1 链反向、no 非链特异。
-i CONTIGS感兴趣 contig;其他 contig 融合忽略。支持 chr 前缀和 * 通配。默认 1-22 X Y AC_* NC_*。
-v CONTIGS病毒 contig 列表,用于整合位点;默认 AC_* NC_*。
-f FILTERS关闭指定过滤器,逗号/空格分隔;默认全开。名称见下方过滤器说明。
-E VALUErelative_support e-value 阈值;默认 0.3。增大可提高灵敏度但可能明显增加假阳性和运行时间。
-S READS最少支持 reads;默认 2。
-m FRACTION错误比对支持 reads 的最大比例;默认 0.8。
-L IDENTITY判定同源基因的最大序列相似度;默认 0.3。
-H LENGTH邻近 homopolymer 过滤长度;默认 6。
-R DISTANCEread-through 距离阈值;默认 10000 bp。
-A LENGTHshort_anchor 最短 anchor;默认 23 bp。
-M COUNTmany_spliced 救回事件所需剪接断点数;默认 4。
-K FRACTION低复杂度过滤的 3-mer 最大占比;默认 0.6。
-V PVALUEmismatch 过滤 p 值阈值;默认 0.01。
-F LENGTH单端数据片段长度假设;默认 200。双端数据自动估计,此参数无效。
-U COUNT单事件支持 reads 超过此数时抽样;默认 300,降低资源占用但超出部分计数不准确。
-Q QUANTILEin_vitro 过滤高表达基因分位数;默认 0.998。
-e FRACTION基因内事件外显子比例阈值;默认 0.33。
-T COUNT最多报告表达量最高的病毒 contig 的整合事件数;默认 5。
-C FRACTION病毒 contig 最低覆盖比例;默认 0.05。
-l LENGTHITD 最大搜索长度;默认 100 bp。增大可能降低性能并引入未被 blacklist 训练覆盖的胚系伪阳性。
-z FRACTIONITD 最小支持等位比例;默认 0.07。
-Z COUNTITD 最少支持 reads;默认 10。
-@ THREADSBAM/CRAM 读取线程数;后续过滤不并行。通常 1 线程已足够,超过 2 线程通常无益。
-u关闭内部重复标记,改用 BAM 的 BAM_FDUP 标记;UMI 或合并多个 library 时应考虑使用。
-X在 -O 弃置候选表中也输出序列、肽段、read 名等详细列。
-I尽可能用参考序列填充不完整融合转录本,并扩展至转录本边界;可能掩盖少数与参考不一致的真实细节。
-h打印帮助并退出。

-f 可关闭的过滤器为:top_expressed_viral_contigs、viral_contigs、low_coverage_viral_contigs、uninteresting_contigs、no_genomic_support、short_anchor、select_best、many_spliced、long_gap、merge_adjacent、hairpin、small_insert_size、same_gene、genomic_support、read_through、no_coverage、mismatches、homopolymer、low_entropy、multimappers、inconsistently_clipped、duplicates、homologs、blacklist、mismappers、spliced、relative_support、min_support、known_fusions、end_to_end、non_coding_neighbors、isoforms、intronic、in_vitro、intragenic_exonic、internal_tandem_duplication。关闭过滤器会改变灵敏度/特异性,应保留参数记录并检查弃置结果。

draw_fusions.R 参数#

Terminal window
draw_fusions.R --fusions=fusions.tsv --annotation=annotation.gtf --output=output.pdf \
[--alignments=Aligned.sortedByCoord.out.bam] \
[--cytobands=cytobands.tsv] [--proteinDomains=protein_domains.gff3]

常用选项:--fusions 接 Arriba 或 STAR-Fusion 表;--annotation GTF;--output PDF;--cytobands 绘制染色体 ideogram/circos 所需带型表;--alignments 坐标排序并索引的 STAR 正常比对 BAM,绘制 coverage;--proteinDomains 绘制保留结构域。其它控制项:--mergeDomainsOverlappingBy(默认 0.9)、--optimizeDomainColors(FALSE)、--sampleName、--minConfidenceForCircosPlot(默认 medium)、--pdfWidth(11.692 英寸)、--pdfHeight(8.267 英寸)、--squishIntrons(TRUE)、--color1(#e5a5a5)、--color2(#a7c4e5)、--printExonLabels(TRUE)、--render3dEffect(TRUE)、--plotPanels(默认 fusion,circos,domains,readcounts)、--fontSize(1)、--fontFamily(Helvetica)、--showIntergenicVicinity(默认 0)、--transcriptSelection(provided、coverage 或 canonical)、--fixedScale(0 自动缩放)、--coverageRange(默认 0,按峰值同尺度)。各选项的细节见 命令行选项 Wiki。

08 Interpretation of results#

置信度代表什么#

置信度描述转录本是否异常(健康组织中少见)、是否可能由基因组重排解释、是否不像伪影;它不代表致癌能力。高置信度乘客事件也可能不具肿瘤生物学作用。结果按整体可信度排序,支持 read 数影响很大,但断点位置、背景噪声、事件类型和多个转录本等也参与判定。Wiki 所述内部评估中,高/中/低置信度与基因组重排的相关比例约为三分之二、三分之一和 5–10%;这是下限估计,不能代替验证。

低置信度一般应谨慎,除非有同癌种已知事件、配对肿瘤 WGS 结构变异、或同一肿瘤的独立转移灶 RNA-seq 等证据支持。低肿瘤纯度或低文库复杂度场景可能需要更关注灵敏度。

激活型与失活型融合#

激活型融合(常涉及 oncogene)往往支持 reads 较多、融合转录本表达升高、转录链与编码链一致,并常保留开放阅读框和关键蛋白结构域。检查 strand1/2、reading_frame、断点是否位于剪接位点,以及 retained_protein_domains;受体酪氨酸激酶融合通常应确认激酶结构域是否保留。TCR/免疫球蛋白相关增强子劫持是例外,断点可能处于基因间区。失活型融合常涉及抑癌基因,未必需要保持阅读框,断点可在基因任意位置,也可能涉及反义链或基因间区域,并因表达低而置信度偏低。

支持证据的读法#

10 条支持 reads 在许多场景下较有说服力,但阈值依表达量、可比对性和事件类型变化;真实融合也可能只有 2–5 条支持 reads。若高表达基因仅有极少融合 reads,要谨慎。通常真实事件的 split_reads1、split_reads2、discordant_mates 中至少两个非零且相对平衡;只有一种证据且达到 5 条以上值得复核。支持 reads 通常至少占断点 coverage 的约 1%。这些是经验线索,不是硬性诊断标准。检查 filters 了解被排除证据;注意 coverage 包含重复 reads,而支持数排除了重复,并可能受 -U 抽样影响,两者并不严格可比。

常见假阳性#

  • Read-through:邻近同链基因发生转录读穿,健康组织中也可见。Arriba 以 blacklist 过滤但不能完全排除;结果可能带 read-through 或 deletion/read-through 标记。结合表达、WGS/CNV 缺失和同区域多个事件判断。
  • 环状 RNA:RNA-seq 中常表现为基因内、两端在剪接位点的 duplication,结果可能带 non-canonical-splicing。无 WGS 时难区分真实基因组 duplication。
  • 体外建库伪影:高表达基因(血红蛋白、纤维蛋白原、胶原等)逆转录时模板切换形成嵌合分子。常见特征为 split reads 少、discordant mates 多、许多高表达基因互相成网、断点落在外显子内部而非剪接边界。
  • ITD:FLT3、BCOR、EGFR、ERBB2 等 ITD 可是驱动事件,但胚系 ITD 也存在;无正常对照时难以判断体细胞/胚系,查看 type 中 ITD 标记并用其他证据确认。
  • 已知融合表救回事件:-k 可能救回支持较弱的事件;其低置信度标记应结合独立证据评估。

09 Utility scripts#

Arriba 的 scripts 目录提供小型辅助脚本:

脚本用法作用与注意事项
extract_fusion-supporting_alignments.shextract_fusion-supporting_alignments.sh fusions.tsv Aligned.sortedByCoord.out.bam prefix按 read_identifiers 从已排序、已索引 BAM 提取每个融合的支持比对;每个事件生成独立 mini-BAM,文件名带结果排名。
convert_fusions_to_vcf.shconvert_fusions_to_vcf.sh assembly.fa fusions.tsv output.vcf将 Arriba TSV 转为 VCF 4.3;缺少 FASTA .fai 时自动建立。
run_arriba_on_prealigned_bam.shrun_arriba_on_prealigned_bam.sh STAR_genomeDir annotation.gtf assembly.fa blacklist.tsv known_fusions.tsv protein_domains.gff3 threads alignments.bam仅重比对未比对和 clipped reads,旧 aligner 或旧 STAR BAM 可省时间。需要参考坐标相容;与全量重新比对结果可能略有差异,最高准确度仍建议按主流程全量比对。已按推荐流程生成的 BAM 不需要此脚本。
quantify_virus_expression.shquantify_virus_expression.sh alignments.bam virus_expression.tsv统计映射到 AC_/NC_ 病毒 contig 的高质量 reads;要求无重复、多重比对、完整 read 比对,双端数据还要求 proper pair。相近病毒株只报告最高表达株;至少表达病毒基因组 5% 且 100 bp 才报告。BAM 有索引时更快。
annotate_exon_numbers.shannotate_exon_numbers.sh fusions.tsv annotation.gtf output.tsv按 transcript_id1/2 对断点补充 exon_number1/2 两列。

10 Current limitations#

  • Arriba 可检出基因内 inversion 和 duplication,但不报告基因内 deletion,因为 RNA-seq 中难以与正常剪接区分;此类问题应使用 indel caller、WGS 或差异外显子表达分析。
  • 官方支持人类 hg19/GRCh37、hg38/GRCh38,以及小鼠 mm10/GRCm38、mm39/GRCm39。其他物种理论上可运行,但缺少训练好的 blacklist、已知融合和蛋白结构域等参考,结果准确度与注释完整度较低。
  • 常见内存量低于 10 GB;粗略约每百万嵌合 read pairs 增加 1 GB,另有约 4 GB 静态开销。异常高内存先检查 STAR Log.final.out 中 % of chimeric reads,排查 FASTQ mate 顺序错误或 read 未按名称配对/整理;骨髓瘤等免疫球蛋白重排丰富样本可自然偏高。-U 默认每事件 300 条后抽样。
  • 多数情况下无需接头修剪,STAR 可部分剪切比对;若 Log.final.out 的 % of reads unmapped: too short 偏高且 reads 含大量接头,可考虑 --clip3pAdapterSeq 或修剪工具,以改善融合灵敏度。
  • 病毒检测范围取决于 STAR index 和组装中包含的病毒。Arriba download_references.sh 生成的参考包括大量 RefSeq 病毒及相关人感染株;额外病毒需自行加入序列并重建 STAR index。相近病毒株可能被错分,载体序列也可能被报告为相似病毒整合。
  • 靶向 panel 的局部超深覆盖不符合 Arriba 背景模型,假阳性更高,尤其邻近基因 read-through;低置信度结果应更谨慎。可考虑额外要求支持 reads 至少达到 coverage 总和的 1%,并对使用 UMI 的样本先按 UMI 外部去重,再以 -u 运行。
  • 支持数和 coverage 的计数口径不同:支持数为通过过滤的非重复 reads,且默认可抽样;coverage 包括重复且不经过相同过滤。想要口径接近,需在运行 Arriba 前从 BAM 中移除(不是只标记)重复 reads。
  • 其他 aligner 原则上可用,但必须按 SAM 规范表示 split reads 和 discordant mates:supplementary alignment 要正确设置 0x800 与 SA 标签,discordant mate 不得标 proper pair。当前多于一个 supplementary alignment 的 read 会被忽略;多重嵌合比对需记录一致的 HI 标签。

11 Internal algorithm#

STAR 负责产生融合候选,Arriba 主要是一组过滤器:read-level 过滤器先检查单个 read/pair,再由 event-level 过滤器综合多个 reads。所有过滤器默认开启;-f 可按名关闭。输出 filters 列记录过滤事件或支持 reads 的过滤器及数量,过滤顺序也可帮助追踪候选如何被处理。

Read-level filters#

过滤器作用
duplicates默认按片段两端坐标内部标重复,不使用 BAM read group 的 library (LB) 区分;-u 改为依赖 BAM BAM_FDUP 外部标记,适合 UMI 或多 library 合并。
uninteresting_contigs去掉非主要染色体、decoy/未组装 contig 事件;可用 -i 指定感兴趣 contig。
viral_contigs、top_expressed_viral_contigs、low_coverage_viral_contigs分别筛病毒与宿主融合、限制到表达最高的病毒 contig(-T)、移除覆盖过于局部且全 contig 覆盖不足的病毒候选(-C)。
read_through去除靠近基因、方向符合正常剪接的 mates;默认 -R 10 kb。会牺牲部分靠近基因末端的小缺失检测。
inconsistently_clipped当两端都跨断点时,若只有一条 mate 被剪切、另一条还能匹配参考至少 3 bp,则认为剪切可疑并去除。
homopolymer去掉断点邻近长同聚物的候选,默认长度阈值 -H 6。
small_insert_size去除几乎完全重叠、方向像 duplication 的极短插入片段伪影。
long_gap去除极长 gap(>700 kb)却靠很短片段(<15 nt)比对的可疑 alignment。
same_gene去掉同一基因内、方向可由正常剪接解释的 mate pair。
hairpin去除转录距离小于平均片段长度加 3 个标准差的候选,降低建库/测序中分子折返伪影;单端默认片段长度由 -F(默认 200)给定。
mismatches用假设测序错误率 1% 的二项模型移除错配过多的 reads,阈值由 -V 控制。
low_entropy3-mer 过度重复的 reads 视为低复杂度,默认任一 3-mer 占比达 60%(-K)即过滤。

Event-level filters#

过滤器作用
multimappers多重比对保留最佳分数;同分时优先归入支持数最多的融合候选。
merge_adjacent将相距 5 bp 内的重复断点合并到支持最多者。
non_coding_neighbors去除相邻、注释不完善的非编码基因之间容易误注释成 deletion 的事件。
intragenic_exonic去除基因内两断点都在外显子、但间隔主要为内含子的可疑事件;比例由 -e 控制。
min_support支持 reads 少于 -S(默认 2)时过滤。
relative_support根据基因整体嵌合噪声估计随机出现该支持数的 e-value;-E 默认 0.3,调高会增加灵敏度也降低特异性。
internal_tandem_duplication对同一外显子内的 ITD 候选严格过滤,但支持极强时可救回;最大长度由 -l 控制。
intronic若所有证据都在内含子/基因间区域且无 reads 覆盖外显子,则过滤。
known_fusions用 -k 清单救回支持偏少但无其他明显伪影的已知融合。
in_vitro识别高表达基因、外显子内部断点异常多、split/discordant 证据失衡的体外模板切换伪影。
spliced、many_spliced若两端在剪接位点且同一基因对还有其它候选,或同一基因对出现多个剪接事件,可救回因支持不足被过滤的候选。
select_best同一基因对有多个断点时优先保留 split reads 两侧都有、证据更多且更可信者。
marginal_read_through进一步区分读穿与局部缺失:邻近同链基因、断点落在两个基因边缘的候选更可能是 read-through。
no_genomic_support若提供 WGS 变异(-d),可过滤未获基因组证据支持的低置信度事件。
blacklist去除与 blacklist 断点匹配的候选;只有 discordant mates 时会按片段长度范围匹配。
short_anchor若 split reads 在一侧基因只有很短累计比对片段,视为错配风险;阈值 -A 默认 23 bp。
end_to_end两融合端都只保留 3’ 末端通常缺失启动子,多数可疑;除非 split reads 两侧均有或兼有 discordant mates 等强证据。
no_coverage对内含子/基因内或 read-through 断点,若正常(非嵌合)比对在附近没有覆盖,提示 alignment artifact。

其余过滤器名单也可在 命令行参数说明 查询。实际审查时先检查支持 reads、断点和 coverage,再看 filters、type 附加标签及置信度;任何单个阈值都不应代替生物学背景和独立数据验证。

Wiki 页面#

arriba 使用笔记
https://blog.lihuax.online/posts/work/dev/arriba/
Author
Lihuax
Published at
2026-09-23
License
CC BY-NC-SA 4.0