About
GFViewer visualizes the localization of multigene families along the
chromosomes of a genome and quantifies how those families are distributed.
Each family is drawn in its own colour along round-capped chromosome
ideograms — horizontally or vertically — with the
+ and - strands on opposite sides of the axis and,
optionally, a cytogenetic-style centromere (p-arm, primary constriction,
q-arm).
What this server does
- Inputs — one or more annotation files as a table
(
.xlsx/.csv/.tsv), BED, GFF3 or GTF, plus a genome FASTA, a.fai, achrom.sizes, or achromosome,lengthtable. An optional colour-map, gene→family mapping, or reusable style file can be supplied. - Gene families — there is no fixed limit; the first 20 colours are a maximally-distinct set and further colours are generated automatically. A readability warning appears above ~25 families and a hard cap at 40, which "collapse rare families into Other" lifts.
- Output — publication-quality vector figures (the chromosome ideogram and the analytics charts) in PDF, SVG, PNG, JPG, TIFF and EPS, individually or as a single ZIP — either as produced or re-rendered in every format.
- Interactive editing — after a figure renders you can choose which families and chromosomes to draw, recolour families, drag the legend and labels, change fonts, mark style, legend position and orientation, toggle whether titles are baked into the exported image files, then regenerate and export — without re-uploading. The layout and spacing are recomputed for whatever subset is kept.
- Analytics — per-family counts, density, gene length and
strand composition; permutation tests for telomere- and (with a
centromere track) centromere-proximal bias and p-/q-arm occupancy;
tandem-array detection and a tandem / proximal / dispersed
duplication mode; multi-scale (1-D Ripley's K/L) clustering;
per-(family × chromosome) enrichment; strand bias;
per-chromosome family diversity; a binned positional density
(“metachromosome”) profile; a family–family proximity
matrix with hierarchical clustering; a multigene-family hotspot scan
(table + BED); and optional pairwise co-localization. Every
per-family / per-pair / per-window test carries a
Benjamini–Hochberg
q-value. All tables download as CSV/JSON/BED, with four accompanying figures. - Usage monitor — an aggregate, privacy-respecting counter (/stats) records page views, unique visitors per day (a salted daily hash — no IP addresses, cookies or other personal data are stored), and job / download counts, so we can report how widely the tool is used.
The command-line tool (gfviewer, pip install gfviewer
— also installable from
bioconda or the
GitHub repository) exposes
the same engine plus additional batch options; run
gfviewer --help. See the
installation guide.
Implementation
The renderer and the analytics charts are built on
matplotlib; input parsing uses
Biopython and
pandas; the analytics module uses
only NumPy and pandas — every
statistical test, including the permutation nulls, the 1-D Ripley
estimator, the binomial and Poisson tail probabilities and the
Benjamini–Hochberg correction, is implemented without SciPy. The web
portal is a Flask application that runs renders in-process on a
background worker pool behind an asynchronous job API, so uploads are
validated with clear error messages and long renders never block a
request. The previous Biopython BasicChromosome engine is
retained as gfviewer.legacy for one release.
Creators
GFViewer — this web server, the GitHub repository, and the conda package — was developed by Sakshar Chakravarty, then a Ph.D. student in Computer Science at the University of California, Riverside (UCR) and now a Postdoctoral Associate at Weill Cornell Medicine, New York. Please direct inquiries to Dr. Stefano Lonardi, Professor, Computer Science, UCR (stelo@ucr.edu).
Code and downloads
- Install the CLI:
pip install gfviewer— see the installation & command-line guide (Markdown) - PyPI: pypi.org/project/gfviewer
- GitHub: github.com/sakshar/GFViewer · release downloads
- Conda: anaconda.org/bioconda/gfviewer
- Example datasets: browse them on the home page or download every dataset (ZIP)
Acknowledgments
Development of GFViewer was supported by NIH grant 1-R01-AI169543-01 and NSF grant IIS-2444456, both to SL.
Citation
Chakravarty S. & Lonardi S. Visualizing multigene families with GFViewer. (in revision)
License
GFViewer is free for all users, academic and commercial alike. Please cite it in any work derived from its use.