Chromosome::Map

Generate GD images of chromosome maps
Download

Chromosome::Map Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Frédéric Lecerf
  • Publisher web site:
  • http://search.cpan.org/~flecerf/

Chromosome::Map Tags


Chromosome::Map Description

Generate GD images of chromosome maps Chromosome::Map is a Perl module that can produce chromosomal map image file. It can be used to draw genetic or physical maps. Several tracks (i.e. list of marker) can be add to the chromosomal map: markers track and QTL interval region track (see synopsis). A code colors list is available at http://chicken.genouest.org/documentations/chromosomemap/#colorsSYNOPSIS #!/usr/bin/perl -w # This script produce a chromosomal map with several markers and QTL # interval region. A fake %GC content is added to the chromosome use strict; use Chromosome::Map; my %H = (ADL120 => '25', ADL035 => '5', ADL034 => '4', MCW014 => '110', MCW123 => '89', MCW340 => '70', LEI456 => '132', LEI451 => '130', LEI452 => '130.5', LEI453 => '130.7', LEI454 => '131', LEI455 => '131.4', LEI457 => '132', MCW087 => '50', MCW012 => '12', MCW051 => '51', ADL121 => '26', ADL123 => '27', ADL122 => '26.2', MCW114 => '45', LEI258 => '15', MCW240 => '45.1', MCW247 => '110', LEI556 => '44', MCW614 => '45.2', ADL067 => '5.3', MCW140 => '45.2', LEI056 => '45.6', ); my $map = Chromosome::Map->new (-length => '140', -name => 'GGA5', -height => '500', -units => 'cM', ); my $size = $map->get_map_size; my $units = $map->get_map_units; print "Map size: $size $units "; my $mark_track = Chromosome::Map::Track->new (-name => 'Markers', -type => 'marker', ); my $qtl_track = Chromosome::Map::Track->new (-name => 'QTL', -type => 'interval', ); my $GC_track = Chromosome::Map::Track->new (-name => '%GC content', -type => 'feature', -display => 'relative', -render => 'gradient', ); # adding tracks to map $map->add_track($mark_track); $map->add_track($qtl_track); $map->add_track($GC_track); my $nb_track = $map->get_nb_tracks; print "Nb track: $nb_track "; # Generating a fake feature relative elements and add them in track # only for illustrative purpose my %GC; for (my $i=0;$inew (-loc => $nb, -color => 'indigo', -value => $GC{$nb}, -valuetype => 'relative', ); $GC_track->add_element($gc); } my @Color = qw (blueviolet darkgoldenrod black softblue khaki red blue tomato); foreach my $mark (keys %H) { my $i = abs (int( rand ($#Color) ) ); my $marker = Chromosome::Map::Element->new(-name => $mark, -loc => $H{$mark}, -color => $Color, ); $mark_track->add_element($marker); } # Define QTL element my $qtl1 = Chromosome::Map::Block->new (-name => 'BW', -start => '3', -end => '11', -color => 'darkgoldenrod', ); my $qtl2 = Chromosome::Map::Block->new (-name => 'FAT', -start => '92', -end => '100', -color => 'darkgoldenrod', ); my $qtl3 = Chromosome::Map::Block->new (-name => 'LEAN', -start => '112', -end => '120', -color => 'darkgoldenrod', ); my $qtl4 = Chromosome::Map::Block->new (-name => 'EGG DEV', -start => '95', -end => '115', ); my $qtl5 = Chromosome::Map::Block->new (-name => 'IC', -start => '91', -end => '122', -color => 'blueviolet', ); my $qtl6 = Chromosome::Map::Block->new (-name => 'BORN', -start => '20', -end => '130', ); my $qtl7 = Chromosome::Map::Block->new (-name => 'REPRODUCTION', -start => '20', -end => '130', ); $qtl_track->add_element($qtl1); $qtl_track->add_element($qtl2); $qtl_track->add_element($qtl3); $qtl_track->add_element($qtl4); $qtl_track->add_element($qtl5); $qtl_track->add_element($qtl6); $qtl_track->add_element($qtl7); my $png = $map->png; my $filename_png = "chr_map.png"; open (PNG, ">$filename_png") || die "cannot create file: $filename_png! "; binmode PNG; print PNG $png; close PNG; Requirements: · Perl


Chromosome::Map Related Software