Releases: MOMA-AUH/gcnvplot
Release list
First Stable Release!
gcnvplot v1.0.0
First stable release! 🥳
Highlights
- Stable CLI with three core commands:
create-backgroundindex-gtfplot
- 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::gcnvplotAPI
gcnvplot 0.5.0
Added
- Added a Python API for rendering plots from code.
- New
render_plot_svgfunction 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_plotfunction 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
gcnvplot 0.4.0
This release improves transcript annotation performance.
Highlights
- Added SQLite-based transcript annotation indexing with
index-gtf. - Changed
plotto 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.sqliteThen use it for plotting:
gcnvplot plot \
--read-counts sample.tsv \
--background background.tsv \
--transcript NM_007294.4 \
--transcript-db annotations.sqlite \
--output plot.svgInstallation
conda install MOMA-AUH::gcnvplotDocumentation
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-backgroundandplot.
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::gcnvplotPlotting Details
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-namevalues 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::gcnvplotPlotting
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>toplotand show it asSamplein 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, andRegionappear together, with a visually separatedHighlightandExonssection 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::gcnvplotTranscripts
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
plotrequires exactly one of--regionor--transcript.
Transcript plotting update
The new transcript workflow works in three steps:
- Parse transcript and exon coordinates from the provided GTF file.
- Set the plotting span from the full transcript interval (not only covered CNV intervals).
- 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::gcnvplotNormalization
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-backgroundnow computes and stores a per-intervalBASELINE_MEDIANfrom the background cohort.plotnow 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:
- Estimate a per-interval baseline from the background cohort using the median positive count for each interval.
- 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::gcnvplotFirst Release
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-backgroundbuilds interval-wise background statistics from a list of GATKCollectReadCountsTSV files.plotgenerates 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-AUHconda channel.
Input format
gcnvplot expects GATK CollectReadCounts tables with the columns:
CONTIGSTARTENDCOUNT
Output format
create-backgroundwrites a background cohort TSV with normalized summary statistics per interval.plotwrites an SVG showing the sample log2 signal relative to the background.
Installation
conda install MOMA-AUH::gcnvplot