NAME
Bio::Graphics::DrawTransmembrane - draw a cartoon of an Alpha-helical transmembrane protein.
SYNOPSIS
use Bio::Graphics::DrawTransmembrane;my @topology = (20,45,59,70,86,109,145,168,194,220);## Simple use - -topology is the only option that is requiredmy $im = Bio::Graphics::DrawTransmembrane->new(-title => 'This is a cartoon displaying transmembrane helices.',-topology => \@topology);## More advanced usemy %labels = (5 => '5 - Sulphation Site',21 => '1st Helix',47 => '40 - Mutation',60 => 'Voltage Sensor',72 => '72 - Mutation 2',73 => '73 - Mutation 3',138 => '138 - Glycosylation Site',170 => '170 - Phosphorylation Site',200 => 'Last Helix');my $im = Bio::Graphics::DrawTransmembrane->new(-n_terminal=> 'out',-topology => \@topology,-bold_helices=> 1,-labels=> \%labels,-text_offset=> -15,-outside_label=>'Lumen',-inside_label=>'Cytoplasm',-membrane_label=>'Membrane',-vertical_padding=> 155);## Parse Tmhmm datause Bio::Tools::Tmhmm;my $im = Bio::Graphics::DrawTransmembrane->new(-title=>'Let\'s parse some Tmhmm output...',-bold_helices=> 1);open(FILE, 'tmhmm.out');my $parser = new Bio::Tools::Tmhmm(-fh => \*FILE );while(my $tmhmm_feat = $parser->next_result ) {## Load features into DrawTransmembrane object$im->add_tmhmm_feat($tmhmm_feat);}close FILE;## Now write the image to a .png fileopen(OUTPUT, ">output.png");binmode OUTPUT;print OUTPUT $im->png;close OUTPUT;
DESCRIPTION
A module to draw a cartoon of an alpha-helical transmembrane protein. It uses GD and allows the image to be written to a .png file.
The options are a set of tag/value pairs as follows:
Option Value Default------ ----- --------topology Array containing transmembrane helix noneboundaries. This is the only option thatis required-topology_string Alternative to -topology, provide a string nonecontaining the topology data in the formA.11,31;B.41,59;C.86,107;D.145,166-n_terminal Location of the N-terminal of the sequence, outeither 'in' or 'out'-title Title to add to the image none-inside_label Label for the inside of the membrane Cytoplasmic-outside_label Label for the outside of the membrane Extracellular-membrane_label Label for the membrane Plasma Membrane-colour_scheme Colour scheme to use. Current choices are blueblue, yellow, red, green, pink or white.-labels Label loops and helices using data from a nonehash, e.g.%labels = (138 => 'Glycosylation Site',190 => 'Binding Site');The hash key must be numeric, ranges arenot allowed.-bold_helices Draws black boxes round helices 1-bold_labels Draws black boxes round labels 0-text_offset Shift the text labeling the loops. Use a 0negative value to shift it left, a positivevalue to shift it right-helix_height Transmembrane helix height 130-helix_width Transmembrane helix width 50-loop_width Loop width 20-vertical_padding Vertical padding 140-horizontal_padding Horizontal Padding 150-membrane_offset Offest between helix end and membrane 6-short_loop_height Height of short loops 90-medium_loop_height Height of medium loops 120-long_loop_height Height of long loops 150-short_loop_limit Length in residues below which a loop is 15classed as short-long_loop_limit Length in residues above which a loop is 30classed as long-loop_heights Explicitly set heights of each loop, e.g.%loop_heights = (1 => 45,2 => 220,3 => 50,4 => 220,9 => 70);The key corresponds to the loop number. Bothkey and value must be numeric. If you use-loop_height and there is a defined heightfor the current loop then other height valueswill be overridden-n_terminal_height Height of N-terminal 150-c_terminal_height Height of C-terminal 80-n_terminal_offset Shift the N-terminal left by this amount 0-c_terminal_offset Shift the C-terminal right by this amount 0-helix_label Change the 'S' label on each helix. Only 1 Scharacter is allowed-show_labels Display text labels on-draw_cytosol Show the cytosol false-draw_bilayer Show the membrane true-draw_loops Show the loops true-draw_terminai Show the terminai true-draw_helices Show the helices true-dontsort Don't automatically sort the topology array 0-ttf_font Path to TTF font, e.g. none/usr/share/fonts/msttcorefonts/arial.ttf-ttf_font_size Default size for TTF font. Use 7-9 with 8Arial for best results
Height, width, padding and other numerical values can gernerally be left alone. They are useful if your labels consists of a lot of text as this may lead to them overlapping. In this case try increasing the loop_width or helix_width options. -text_offset is also very useful for avoiding overlapping.
AUTHOR
Tim Nugent <[email protected]>