Skip to content

taffish/plotsr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

plotsr

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

Install

taf install plotsr

Then run:

taf-plotsr --help
taf-plotsr --version
taf-plotsr -- --version
taf-plotsr plotsr --version

taf-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.

Inputs

plotsr needs:

  • a genomes file listing chromosome-level assemblies or chromosome-length files;
  • pairwise structural annotations in SyRI syri.out format 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.

Examples

Plot BEDPE annotations:

taf-plotsr -- --bp A_B.bedpe --genomes genomes.txt -o A_B.png

Plot SyRI output:

taf-plotsr -- --sr A_Bsyri.out --genomes genomes.txt -o A_B.svg

Add 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 8

Select 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.png

Package Contents

The 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/

Boundaries

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.

Platform

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 Coverage

Smoke tests check:

  • the package version marker and plotsr --version;
  • upstream help text;
  • Python imports for plotsr, NumPy, pandas, and Matplotlib with the Agg backend;
  • 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.

License Boundary

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors