I recently needed to make a simple, two dimensional figure of a beta-barrel membrane protein. I went hunting for programs that might take a sequence and/or structure and produce a pretty looking diagram to save me constructing everything by hand. Here are two I found and tried.
Ioannis C. Spyropoulos, Theodore D. Liakopoulos, Pantelis G. Bagos and Stavros J. Hamodrakas TMRPres2D: high quality visual representation of transmembrane protein models Bioinformatics. 2004; 20: 3258-3260. (link)
- Cross-platform (Java)
- Simple interface, GUI (zero learning curve)
- Lots of input options (defines transmembrane regions directly from SwissProt or PIR annotations online, takes input from several transmembrane region predictors)
- Lots of output formats and options (Postscript, gif, jpg, png, svg, bmp)
- Various colouring options (hydrophobicity, charge, “printer friendly”)
- Makes reasonable looking diagrams of helical transmembrane proteins
- Doesn’t handle beta-barrel membrane proteins gracefully (strand drawing is overlapped, messy).
- The membrane is assumed to be a eukaryotic plasma membrane, with labels “cytoplasmic/extracellular” (which should be, for instance, “extracellular/periplasm” for a bacterial outer membrane protein). This is easily changed on the diagram with external editing.
Beitz, E. (2000), TeXtopo: shaded membrane protein topology plots in LaTeX2e. Bioinformatics 16: 1050-1051. (link). See the original publication or Professor Eric Beitz’s site for a better example than my image.
- Beautiful, clean, publication quality diagrams, courtesy of LaTeX
- Multiple input options (Swissprot format, PHD, HMMTOP, user defined)
- Multiple sequence annotation options including colouring by various physiochemical properties (hydrophobicity, charge), sequence conservation or user defined schemes.
- Will depict membrane embedded half-loops and lipid anchors.
- Versatile output (Postscript, pdf, dvi, basically anything that LaTex can be rendered as)
- Also can generate attractive looking helical wheel plots
- Did I mention the output is clean and looks great … ?
- Steep learning curve for the uninitiated, despite extensive documentation (ie LaTeX code, no GUI)
- No support for beta-barrel membrane proteins
If I ever need to make a 2D diagram of a helical membrane protein for a publication, TeXtopo would be my first choice. For quickly getting an overview of some transmembrane prediction results or a protein with defined tranmembrane regions in Uniprot, TMRPres2D is the quickest and easiest method.
In the end, since neither program would do a decent job at cleanly depicting the strands of a beta-barrel in a simple 2D plot, I ended up coding my own hackish solution (svg_barrel.tar.gz or svg_barrel_gui_win32.zip) using Python and a tweaked version of SVGdraw.py. This allowed me to generate some SVG graphics to use as a starting point, and then hand edit the result in Inkscape to align strands to loosely match the real hydrogen bonding patterns. I also added some simple beizer curves for the loops, since neat placement of loop residues was the tricky part that I decided I didn’t have time to tackle.
Here’s the end result, after hand editing:
And here is the 3D version, as a point of reference:
The 2D vector diagram could do with some work to aid in a more accurate representation (unfortunately ‘flat’ views of a 3D barrel always have to make some compromises), but it does the job. The goal was to keep it simple … simple it is. One day I may extend this code to actually use known structure coordinates to automatically align the strands (saving tedious manual alignment), and write some code that properly lays out the loops.
Anyone know any other programs of similar functionality I’ve missed ?
The Software review: producing two dimensional diagrams of membrane proteins by Andrew Perry, unless otherwise expressly stated, is licensed under a Creative Commons CC0 1.0 Universal License.