Skip to content

v2.0.0

Choose a tag to compare

@jluebeck jluebeck released this 22 Jul 17:07
· 14 commits to main since this release
f12309c

AmpliconClassifier v2.0.0

TL;DR - adds FAN classification, BFBArchitect integration, CoRAL output compatibility, and multi-threading

Overview

AmpliconClassifier 2.0.0 is a major classification and reporting release. It introduces FAN classification for neochromosome-like focal amplifications, integrates BFBArchitect as an additional source of BFB evidence, improves classification of several difficult amplification structures, and adds native parallel processing and end-to-end summary generation.

Because the classification model and output schema have changed, users comparing cohorts across AC versions should treat 2.0.0 as a new analysis version and record it explicitly.

FAN: focal amplification in neochromosome

AC now reports FAN+ as an independent mechanistic call for broad, structurally complex, often multi-chromosomal focal amplifications whose dominant architecture appears chromosomal or neochromosomal rather than an extrachromosomal circle.

The FAN classifier uses an interpretable logistic-regression model based on five breakpoint-graph properties:

  • Amplified genomic span
  • Number of large or interchromosomal SV junctions
  • Fraction of amplified material contributed by the dominant chromosome
  • Fraction of crossing/interleaved SV junctions
  • Span of extremely high-copy-number material

FAN is not merely a label for a large amplification, and it is not mutually exclusive with ecDNA+ or BFB+. A FAN may contain evidence of ecDNA- or BFB-associated processes within the same reconstruction.

Some broad, SV-dense amplicons classified as ecDNA+ by AC 1.x will now be reported as FAN+. This is an intentional interpretation change. When FAN is detected, ordinary cyclic evidence must pass a stricter copy-number requirement before AC also reports ecDNA.

New FAN outputs include:

  • FAN+ in _amplicon_classification_profiles.tsv
  • Per-amplicon probabilities and model features in _fan_calls.tsv
  • FAN_1 features and FAN probability in the results table
  • BED files describing FAN intervals

See the FAN primer (https://github.com/AmpliconSuite/AmpliconClassifier/blob/v2.0.0/docs/fan_primer.md) for worked examples, comparison with ecDNA, and interpretation guidance. A complete description of the phenotype and model validation is in preparation.

BFBArchitect integration

BFBArchitect 1.0.1 is now a pinned core dependency and provides an optimization-based second source of BFB evidence. AC applies BFBArchitect to candidate regions derived from the breakpoint graph, integrates passing reconstructions into BFB+ and BFB feature calls, and can retry an appropriate whole-graph reconstruction when the initial regional analysis does not produce a passing result.

New default classification-profile fields include:

  • BFBArchitect_min_score: the best reconstruction score, where lower values indicate better agreement
  • BFB_source: AC, BFBArchitect, or AC|BFBArchitect

Passing BFBArchitect reconstructions write graph, cycles, PNG, and PDF visualization outputs under bfbarchitect_outputs/, regardless of whether verbose classification is enabled. --verbose_classification adds extended diagnostics, while --no_bfbarchitect disables the integration.

BFBArchitect automatically tries Gurobi, then Mosek, then the license-free CBC solver. Commercial licenses are optional; their main benefit is speed, especially for large cohorts.

This integration uses the reconstruction framework described in:

Li C, Raeisi Dehkordi S, Muliaditan D, et al. Detecting and reconstructing breakage-fusion-bridge cycles from long-read sequencing using BFBArchitect
(https://academic.oup.com/bioinformatics/article/42/Supplement_1/btag225/8726302). Bioinformatics. 2026;42(Supplement_1):btag225. doi:10.1093/bioinformatics/btag225.

CoRAL compatibility

AC 2.0 adds support for CoRAL-generated graphs, cycles, paths, summary naming, and long paths crossing low-complexity regions. The results table generated is AmpliconRepository-compatible.

Parallel classification and cohort analysis

  • --jobs N classifies multiple amplicons concurrently while preserving input order in output tables.
  • --bfb_threads N controls the per-amplicon BFBArchitect solver budget.
  • AC reports the potential combined solver-thread budget in its log.
  • Feature-similarity scoring is now integrated into the main AC run.
  • Large similarity analyses use bounded-memory sorting to avoid hangs or excessive memory use.
  • Multi-sample runs generate _result_table.tsv and _result_data.json by default. Use --no_results_table when another workflow will create the table separately.

Classification and input improvements

  • Refined tandem inverted duplication detection to prevent TIDs from being misclassified as ecDNA.
  • Improved BFB filtering, candidate-region selection, whole-graph safeguards, and foldback-artifact QC.
  • Improved low-complexity filtering using both affected base-pair fraction and discordant-breakend fraction.
  • Improved detached-sliver, copy-number-boundary, patch-region, and complex-amplification handling.
  • Added explicit viral-content reporting for GRCh38_viral: pure viral amplicons retain the Virus class, while human–viral hybrids report their human amplification mechanism and set contains_viral=True.
  • Improved mouse oncogene annotation for lowercase mm10 chromosome names.
  • Prevented BFBArchitect-generated graph and cycles files from being rediscovered as new AC inputs.

Output and packaging changes

  • Added FAN+, contains_viral, BFBArchitect_min_score, and BFB_source to the default classification profile.
  • Renamed _feature_entropy.tsv to _feature_complexity.tsv and clarified its column names.
  • Results tables now include FAN probability, viral content, and AC version information.
  • AC and BFBArchitect versions are recorded in logs.
  • Added modern pyproject.toml packaging and editable-install support with python -m pip install -e ..
  • Removed the deprecated radar-plotting implementation.

Downstream parsers should be updated for the expanded profile schema and the renamed complexity output.

Full comparison: v1.5.2...v2.0.0 (v1.5.2...v2.0.0)