TAFFISH wrapper for plotsr, a Python/Matplotlib tool for visualizing structural similarities, synteny, and rearrangements between chromosome-level genome assemblies.
This app packages upstream tag v1.1.1 as 1.1.1-r3. GitHub's latest Release
entry for the project currently points at v1.1.0, but the upstream repository
has a newer v1.1.1 tag with plotsr.__version__ = "1.1.1"; this app follows
that highest versioned upstream tag.
Release 1.1.1-r3 is a license-metadata TAFFISH update. It keeps the upstream
software, Dockerfile, runtime dependencies, smoke tests, help text, and command
behavior unchanged from 1.1.1-r2, while correcting the app/upstream license
boundary.
Package metadata:
name: plotsr
command: taf-plotsr
version: 1.1.1-r3
kind: tool
image: ghcr.io/taffish/plotsr:1.1.1-r3
upstream release/tag: v1.1.1
upstream runtime version: 1.1.1
taf install plotsrThen run:
taf-plotsr --help
taf-plotsr --version
taf-plotsr -- --version
taf-plotsr plotsr --versiontaf-plotsr --help shows TAFFISH wrapper help. Use -- when the first upstream
argument starts with -, for example taf-plotsr -- --version or
taf-plotsr -- --bp input.bedpe --genomes genomes.txt -o out.png. Command mode
is also available: taf-plotsr plotsr --version.
plotsr needs:
- a genomes file listing chromosome-level assemblies or chromosome-length files;
- pairwise structural annotations in SyRI
syri.outformat via--sr, or BEDPE format via--bp; - optional tracks, markers, chromosome order/name files, and config files.
The genomes file is tab-separated:
#file name tags
A.chrlen A ft:cl;lw:1.2
B.chrlen B ft:cl;lw:1.2
For BEDPE input, plotsr expects seven required columns:
ref_chr ref_start ref_end query_chr query_start query_end type
Valid structural annotation types include SYN, INV, TRA, INVTR, DUP,
and INVDP. BEDPE inputs must contain syntenic (SYN) rows so plotsr can map
homologous chromosomes.
Plot BEDPE annotations:
taf-plotsr -- --bp A_B.bedpe --genomes genomes.txt -o A_B.pngPlot SyRI output:
taf-plotsr -- --sr A_Bsyri.out --genomes genomes.txt -o A_B.svgAdd tracks, markers, and a config file:
taf-plotsr -- \
--sr A_Bsyri.out \
--genomes genomes.txt \
--tracks tracks.txt \
--markers markers.bed \
--cfg base.cfg \
-o annotated.png \
-W 7 -H 10 -f 8Select chromosomes or regions:
taf-plotsr -- --sr A_Bsyri.out --genomes genomes.txt --chr Chr1 --chr Chr3 -o chr13.png
taf-plotsr -- --sr A_Bsyri.out --genomes genomes.txt --reg A:Chr3:6600000-10000000 -o region.pngThe runtime image installs plotsr 1.1.1, Python 3, NumPy, pandas, Matplotlib,
fontconfig, DejaVu fonts, gzip, and file. The Matplotlib backend is fixed to
Agg for headless container plotting, with cache directories under /tmp.
Upstream defaults some track and marker text to the Arial font family. Arial is
not redistributed in this image, so Matplotlib may warn and fall back to an
available font unless you set tf: or nf: tags to a bundled family such as
DejaVu Sans.
Upstream config and example files are kept at:
/usr/local/share/doc/plotsr/config/
/usr/local/share/doc/plotsr/example/
This app packages plotsr only. It does not include SyRI, minimap2, samtools, whole-genome alignment workflows, genome download tools, or large external datasets. Generate pairwise structural annotations outside this app, then pass the resulting SyRI or BEDPE files to plotsr.
plotsr reads gzip-compressed FASTA through Python's gzip support. Upstream
example track files are compressed and are normally decompressed before plotting;
this container includes the gzip command for that convenience, but plotsr
itself does not call external compression tools.
The image is built for native linux/amd64 and linux/arm64. plotsr is a
Python package and has no compiled plotsr extension; its runtime dependencies
come from Debian 12 packages.
Runtime version output is:
1.1.1
Smoke tests check:
- the package version marker and
plotsr --version; - upstream help text;
- Python imports for plotsr, NumPy, pandas, and Matplotlib with the
Aggbackend; - packaged upstream examples/config/license;
- a tiny BEDPE-to-PNG path with tracks, markers, and config;
- a tiny SyRI-to-SVG path with chromosome selection.
These checks verify packaging and representative plotting paths. They do not replace biological review of large SyRI/BEDPE annotations, publication-quality figure tuning, or validation of upstream alignment/SV-calling workflows.
The TAFFISH app packaging files are licensed under Apache-2.0. The packaged upstream plotsr software is covered by: MIT. Bundled third-party components, datasets, models, and external resources keep their own license terms.
- Upstream repository: https://github.com/schneebergerlab/plotsr
- Packaged tag: https://github.com/schneebergerlab/plotsr/releases/tag/v1.1.1
- Upstream license: MIT
- Citation: Goel M, Schneeberger K. 2022. plotsr: visualizing structural similarities and rearrangements between multiple genomes. Bioinformatics 38(10):2922-2926.
- DOI: https://doi.org/10.1093/bioinformatics/btac196
- PMID: 35561173