Does anyone know of a good tool for visualizing gene loci? Basically, I'd like to show how a group of genes look in different strains of a bacteria. I have annotation of course, I just need a tool to plug it into and get an image of the locus to compare.

I'm talking something basic like this:

enter image description here


I think in R, Gviz is the best choice. I have used it for human sequences but it will probably also be suitable for Prokaryotes.

Another option is MS powerpoint, if you only need the arrows...

  • $\begingroup$ yah +1 gviz is great, i've used it for bacteria $\endgroup$ Mar 27 '18 at 21:21
  • $\begingroup$ I wanted to avoid putting something together manually with powerpoint, even though I suspect that's how my supervisor does it... I'll take a look at Gviz though! $\endgroup$
    – Mgall
    Mar 27 '18 at 22:04

GFF2PS was developed for exactly this sort of thing. It takes a GFF file as input, and will produce a pretty PS output showing the annotations. It was used to create the poster for Celera's human genome draft [1].

Here's a very simple example of what it can do:

gff2ps example

And a more complex one from the mosquito genome paper [2] (click here for a full size, 1.5M gzipped PostScript file):

anopheles gambiae genome

If you are happy with the defaults, it is very easy to use, but otherwise it is a bit of a pain to configure. It is absurdly powerful though.

  1. Venter et al. Science 291(5507):1304-1351 (2001)
  2. Holt et al. Science 298(5591):129-149 (2002)

I ended up using Easyfig, which is made for the task and requires little tinkering around, once fed the genbank files. (Granted, being so simple, it's hard to make the image more advanced, but it serves my purposes for now).

Easyfig example from the homepage.

Here's an example of my image.

  • $\begingroup$ Could you post an image from the software (to help future readers) ? Thanks for coming back $\endgroup$
    – llrs
    Jun 15 '18 at 9:43

gggenes is a ggplot2 based solution and looks very appealing. Plus, it has a nice introduction with examples.

ggplot(example_genes, aes(xmin = start, xmax = end, y = molecule, fill = gene)) +
  geom_gene_arrow() +
  facet_wrap(~ molecule, scales = "free", ncol = 1) +
  scale_fill_brewer(palette = "Set3") +


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.