03 Workflow
Arriba 基于 STAR,不改变常规比对结果;一次 STAR 比对即可同时获得常规 RNA-seq 比对和融合检测所需的嵌合比对。相比常规比对只增加少量运行时间。
流程分两步:
- STAR 开启嵌合比对。必需设置
--chimSegmentMin,并推荐--chimOutType WithinBAM,使嵌合片段作为 supplementary alignment 写入主 BAM。旧版 STAR 或SeparateSAMold模式会将其写到独立的Chimeric.out.sam;Arriba 可用-c读取,但此模式已不推荐。 - Arriba 从 supplementary alignments、discordant mates,以及跨越注释基因边界的比对中提取证据,再应用过滤器,分别写出通过过滤的融合和被过滤的候选。
STAR 推荐参数(需 STAR 2.7.6a 或更新版本):
--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 50Arriba 不要求 BAM 排序或索引。为了节省时间,可将 STAR 输出直接 pipe 给 Arriba;STAR 输出未压缩 BAM 能避免压缩成为多线程运行瓶颈。下面是 paired-end FASTQ 的示例,路径和线程数按实际情况替换:
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、已知融合、标签和蛋白结构域
-bblacklist 强烈建议提供;缺少它可能使假阳性率增加一个数量级。安装包中的文件位于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。 |
type | translocation、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。 |
confidence | low、medium、high,由支持数、证据平衡、断点距离、事件类型、基因内外位置及不同转录本等因素综合评定。 |
reading_frame | 3’ 基因融合后是否 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/2 | GTF 基因 ID,以及与 reads 剪接模式最匹配的融合转录本 isoform。 |
direction1/2 | downstream 表示融合 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"))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.gff3Bioconda 安装时,脚本可直接从 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
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 FILE | STAR 主比对 SAM/BAM/CRAM,必需。 |
-c FILE | STAR 独立嵌合比对文件;仅 SeparateSAMold 需要。 |
-g FILE | GTF 注释,必需。 |
-G FEATURES | 指定 GTF 属性名称,适配不同来源字段。默认 gene_name=gene_name|gene_id gene_id=gene_id transcript_id=transcript_id feature_exon=exon feature_CDS=CDS。同一属性的替代名用竖线字符分隔。 |
-a FILE | FASTA 参考基因组,必需;CRAM 需要 .fai。 |
-b FILE | blacklist;强烈建议提供。 |
-k FILE | 已知融合清单,提高指定融合灵敏度。 |
-o FILE | 通过过滤的融合结果,必需。 |
-O FILE | 被过滤候选结果。 |
-t FILE | 自定义融合标签表。 |
-p FILE | 蛋白结构域 GFF3。 |
-d FILE | WGS 结构变异 TSV/VCF。 |
-D DISTANCE | RNA 与 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 VALUE | relative_support e-value 阈值;默认 0.3。增大可提高灵敏度但可能明显增加假阳性和运行时间。 |
-S READS | 最少支持 reads;默认 2。 |
-m FRACTION | 错误比对支持 reads 的最大比例;默认 0.8。 |
-L IDENTITY | 判定同源基因的最大序列相似度;默认 0.3。 |
-H LENGTH | 邻近 homopolymer 过滤长度;默认 6。 |
-R DISTANCE | read-through 距离阈值;默认 10000 bp。 |
-A LENGTH | short_anchor 最短 anchor;默认 23 bp。 |
-M COUNT | many_spliced 救回事件所需剪接断点数;默认 4。 |
-K FRACTION | 低复杂度过滤的 3-mer 最大占比;默认 0.6。 |
-V PVALUE | mismatch 过滤 p 值阈值;默认 0.01。 |
-F LENGTH | 单端数据片段长度假设;默认 200。双端数据自动估计,此参数无效。 |
-U COUNT | 单事件支持 reads 超过此数时抽样;默认 300,降低资源占用但超出部分计数不准确。 |
-Q QUANTILE | in_vitro 过滤高表达基因分位数;默认 0.998。 |
-e FRACTION | 基因内事件外显子比例阈值;默认 0.33。 |
-T COUNT | 最多报告表达量最高的病毒 contig 的整合事件数;默认 5。 |
-C FRACTION | 病毒 contig 最低覆盖比例;默认 0.05。 |
-l LENGTH | ITD 最大搜索长度;默认 100 bp。增大可能降低性能并引入未被 blacklist 训练覆盖的胚系伪阳性。 |
-z FRACTION | ITD 最小支持等位比例;默认 0.07。 |
-Z COUNT | ITD 最少支持 reads;默认 10。 |
-@ THREADS | BAM/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 参数
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.sh | extract_fusion-supporting_alignments.sh fusions.tsv Aligned.sortedByCoord.out.bam prefix | 按 read_identifiers 从已排序、已索引 BAM 提取每个融合的支持比对;每个事件生成独立 mini-BAM,文件名带结果排名。 |
convert_fusions_to_vcf.sh | convert_fusions_to_vcf.sh assembly.fa fusions.tsv output.vcf | 将 Arriba TSV 转为 VCF 4.3;缺少 FASTA .fai 时自动建立。 |
run_arriba_on_prealigned_bam.sh | run_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.sh | quantify_virus_expression.sh alignments.bam virus_expression.tsv | 统计映射到 AC_/NC_ 病毒 contig 的高质量 reads;要求无重复、多重比对、完整 read 比对,双端数据还要求 proper pair。相近病毒株只报告最高表达株;至少表达病毒基因组 5% 且 100 bp 才报告。BAM 有索引时更快。 |
annotate_exon_numbers.sh | annotate_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_entropy | 3-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 附加标签及置信度;任何单个阈值都不应代替生物学背景和独立数据验证。