Skip to content

Releases: MOMA-AUH/gcnvplot

First Stable Release!

Choose a tag to compare

@micknudsen micknudsen released this 08 Jul 11:32

gcnvplot v1.0.0

First stable release! 🥳

Highlights

  • Stable CLI with three core commands:
    • create-background
    • index-gtf
    • plot
  • Python API for:
    • building and loading background summaries
    • rendering SVG plots directly from Python
    • reusing a SQLite-backed transcript index across plots
  • Transcript-aware plotting with exon tracks from indexed GTF annotations
  • Support for optional highlighted genomic regions in plots
  • Strict interval validation by default for both background creation and plotting, with an explicit override when partial interval overlap is intentional
  • Synthetic BRCA1 example demonstrating transcript plotting, highlighted deletions, non-exonic intervals, and uncovered exon markers

Installation

conda install MOMA-AUH::gcnvplot

API

API

Choose a tag to compare

@micknudsen micknudsen released this 07 Jul 10:31

gcnvplot 0.5.0

Added

  • Added a Python API for rendering plots from code.
  • New render_plot_svg function returns the SVG as a string, which is useful for embedding plots in reports or notebooks, post-processing the SVG, or integrating plotting into a larger Python workflow.
  • New write_plot function provides a convenience wrapper for rendering and writing the SVG directly to disk.

Documentation

  • Added README examples showing how to use both Python API entry points.

Notes

  • No changes to the existing CLI behavior.

Transcript Database

Choose a tag to compare

@micknudsen micknudsen released this 07 Jul 08:29

gcnvplot 0.4.0

This release improves transcript annotation performance.

Highlights

  • Added SQLite-based transcript annotation indexing with index-gtf.
  • Changed plot to use a pre-built transcript SQLite database instead of reading GTF files directly.

CLI change

Transcript plotting now requires a SQLite transcript database.

Create the database once:

gcnvplot index-gtf \
  --gtf annotations.gtf.gz \
  --output annotations.sqlite

Then use it for plotting:

gcnvplot plot \
  --read-counts sample.tsv \
  --background background.tsv \
  --transcript NM_007294.4 \
  --transcript-db annotations.sqlite \
  --output plot.svg

Installation

conda install MOMA-AUH::gcnvplot

Documentation

Choose a tag to compare

@micknudsen micknudsen released this 06 Jul 13:59

gcnvplot 0.3.2

This release improves plotting and includes a synthetic BRCA1 example and documentation of the normalization and plotting mathematics.

Highlights

  • Less aggressive pruning of exon labels when exons are close to each other.
  • Added a synthetic BRCA1 example showing a multi-exon deletion, intronic open dots, and an uncovered exon marker.
  • Expanded the README with an inline example plot and a short description of the normalization and signal calculations used by create-background and plot.

Documentation

The repository now includes a synthetic example in examples/brca1_synthetic and shows the rendered SVG directly in the README. The README also documents the current median-baseline / median-of-ratios normalization and the stabilized log2 ratio used for plotting.

Installation

conda install MOMA-AUH::gcnvplot

Plotting Details

Choose a tag to compare

@micknudsen micknudsen released this 06 Jul 12:33

gcnvplot 0.3.1

This release improves transcript plot readability and makes long sample names and exon coverage status easier to interpret.

Highlights

  • Long --sample-name values now expand the SVG width instead of being squeezed, so the label stays readable without spilling off the figure.
  • Added clearer point semantics in transcript plots: filled dots indicate intervals that overlap an exon, and open dots indicate intervals outside exons.
  • Added support for uncovered exons in transcript plots using a small triangle marker under the exon.

Installation

conda install MOMA-AUH::gcnvplot

Plotting

Choose a tag to compare

@micknudsen micknudsen released this 29 Jun 13:50

gcnvplot 0.3.0

This release improves transcript plotting clarity and adds optional sample and highlight labels for SVG output.

Highlights

  • Added --sample-name <LABEL> to plot and show it as Sample in the right-side info panel.
  • Added optional --highlight <CONTIG:START-END> support to emphasize a genomic interval in the plot.
  • Added a plot info panel so Gene, Transcript, and Region appear together, with a visually separated Highlight and Exons section when applicable.
  • Added exon-label pruning making sure that the first and last exon labels are preserved more often in crowded transcript plots.

CLI change

plot now accepts these optional labels and annotations:

  • --sample-name <LABEL>
  • --highlight <CONTIG:START-END>

If provided, the sample label is shown in the plot info panel as Sample, and the highlight interval is rendered as a shaded band.

Installation

conda install MOMA-AUH::gcnvplot

Transcripts

Choose a tag to compare

@micknudsen micknudsen released this 26 Jun 09:13

gcnvplot 0.2.0

This release adds transcript-aware plotting, including exon visualization from GTF annotations.

Highlights

  • Added transcript plotting mode via plot --transcript <TRANSCRIPT_ID> --gtf <annotations.gtf[.gz]>.
  • Added exon track rendering beneath the signal plot when plotting by transcript.
  • Updated CLI behavior so plot requires exactly one of --region or --transcript.

Transcript plotting update

The new transcript workflow works in three steps:

  1. Parse transcript and exon coordinates from the provided GTF file.
  2. Set the plotting span from the full transcript interval (not only covered CNV intervals).
  3. Render interval-level CNV signal with an exon track aligned to the same coordinate axis.

This ensures transcript context is preserved, even when interval coverage is incomplete.

CLI change

plot now uses mutually exclusive targeting options:

  • --region <CONTIG:START-END>
  • --transcript <TRANSCRIPT_ID> (requires --gtf)

Installation

conda install MOMA-AUH::gcnvplot

Normalization

Choose a tag to compare

@micknudsen micknudsen released this 25 Jun 09:21

gcnvplot 0.1.1

This release improves the initial proof-of-concept with a more robust normalization approach and a cleaner internal structure.

Highlights

  • Replaced the original simple median normalization with a baseline-driven median-of-ratios normalization.
  • create-background now computes and stores a per-interval BASELINE_MEDIAN from the background cohort.
  • plot now normalizes the sample against the same background-derived interval baselines used to build the cohort summary.
  • Refactored the codebase so the CLI layer is separated from the core parsing, normalization, and plotting logic.
  • Updated tests and documentation to match the new normalization model and output format.

Normalization update

The new normalization works in two steps:

  1. Estimate a per-interval baseline from the background cohort using the median positive count for each interval.
  2. Normalize each sample with a DESeq-style median-of-ratios size factor based on count / baseline.

This makes the normalization less dependent on each sample’s raw count distribution alone and better aligned with interval-specific background behavior.

Output format change

Background TSV files now include:

  • BASELINE_MEDIAN

and the metadata header now records the normalization method used.

Installation

conda install MOMA-AUH::gcnvplot

First Release

Choose a tag to compare

@micknudsen micknudsen released this 25 Jun 07:37

gcnvplot 0.1.0

First proof-of-concept release of gcnvplot, a small command-line tool for plotting GATK germline CNV read-count signals against a background cohort. The core workflow is functional, but the interface, plot styling, and output format may evolve in future versions.

Highlights

  • create-background builds interval-wise background statistics from a list of GATK CollectReadCounts TSV files.
  • plot generates an SVG view of one sample against the background cohort for a chosen genomic region.
  • Supports plain TSV and gzipped TSV input files.
  • Outputs a compact background summary TSV and a publication-friendly SVG plot.
  • Packaged for installation from the MOMA-AUH conda channel.

Input format

gcnvplot expects GATK CollectReadCounts tables with the columns:

  • CONTIG
  • START
  • END
  • COUNT

Output format

  • create-background writes a background cohort TSV with normalized summary statistics per interval.
  • plot writes an SVG showing the sample log2 signal relative to the background.

Installation

conda install MOMA-AUH::gcnvplot