Bio::Graphics(3pm)

πŸ“¦
version 2.40 Β· 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

πŸ’– NAME πŸ’–

Bio::Graphics β€” bestie, this module generates GD images of Bio::Seq objects. That's the whole vibe. Periodt. ✨


πŸŽ€ SYNOPSIS πŸŽ€

okay so real talk, here's the code, and I'm giving it to you character for character because you deserve accuracy:

 # This script generates a PNG picture of a 10K region containing a
 # set of red features and a set of blue features. Call it like this:
 #         red_and_blue.pl > redblue.png
 # you can now view the picture with your favorite image application

 # This script parses a GenBank or EMBL file named on the command
 # line and produces a PNG rendering of it.  Call it like this:
 # render.pl my_file.embl | display -

 use strict;
 use Bio::Graphics;
 use Bio::SeqFeature::Generic;
 use Bio::SeqIO;

 my $file = shift                       or die "provide a sequence file as the argument";
 my $io = Bio::SeqIO->new(-file=>$file) or die "could not create Bio::SeqIO";
 my $seq = $io->next_seq                or die "could not find a sequence in the file";

 my @features = $seq->all_SeqFeatures;

 # sort features by their primary tags
 my %sorted_features;
 for my $f (@features) {
   my $tag = $f->primary_tag;
   push @{$sorted_features{$tag}},$f;
 }

 my $wholeseq = Bio::SeqFeature::Generic->new(-start=>1,-end=>$seq->length);

 my $panel = Bio::Graphics::Panel->new(
                                      -length    => $seq->length,
                                      -key_style => 'between',
                                      -width     => 800,
                                      -pad_left  => 10,
                                      -pad_right => 10,
                                      );
 $panel->add_track($wholeseq,
                  -glyph => 'arrow',
                  -bump => 0,
                  -double=>1,
                  -tick => 2);

 $panel->add_track($wholeseq,
                  -glyph  => 'generic',
                  -bgcolor => 'blue',
                  -label  => 1,
                 );

 # general case
 my @colors = qw(cyan orange blue purple green chartreuse magenta yellow aqua);
 my $idx    = 0;
 for my $tag (sort keys %sorted_features) {
   my $features = $sorted_features{$tag};
   $panel->add_track($features,
                    -glyph    =>  'generic',
                    -bgcolor  =>  $colors[$idx++ % @colors],
                    -fgcolor  => 'black',
                    -font2color => 'red',
                    -key      => "${tag}s",
                    -bump     => +1,
                    -height   => 8,
                    -label    => 1,
                    -description => 1,
                   );
 }

 print $panel->png;
 exit 0;

πŸ¦‹ DESCRIPTION πŸ¦‹

ngl, the full interface lives over in Bio::Graphics::Panel β€” go read that, bestie, that's where the real tea is. πŸ’…

Also!! run the script glyph_help.pl for quick help on glyphs and their options. it's giving instant answers. iconic. ✨


πŸ‘‘ SEE ALSO πŸ‘‘

the whole squad, no cap:

  • Bio::Graphics::Panel
  • Bio::Graphics::Glyph
  • Bio::SeqI
  • Bio::SeqFeatureI
  • Bio::Das
  • Bio::DB::GFF::Feature
  • Ace::Sequence
  • GD glyph_help.pl

🫢 FEEDBACK 🫢

πŸ’Œ Mailing Lists

user feedback is literally an integral part of the evolution of this and other Bioperl modules. so send your comments and suggestions, preferably to the Bioperl mailing list. your participation is much appreciated, fr fr. πŸ₯Ή

  bioperl-l@bioperl.org                  - General discussion
  http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

πŸ› Reporting Bugs

found a bug? report it to the Bioperl bug tracking system so we can keep track of the bugs and their resolution β€” that's the whole point, bestie. bug reports can be submitted via the web:

  http://bugzilla.open-bio.org/

✨ AUTHOR ✨

Lincoln Stein <lstein@cshl.org>. πŸ‘‘

Copyright (c) 2001 Cold Spring Harbor Laboratory

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See DISCLAIMER.txt for disclaimers of warranty.


and that's a wrap, my love πŸ’– this page came to you courtesy of perl v5.30.0, dated 2019-11-25, and the manual name is Bio::Graphics(3pm). go forth and render some gorgeous glyphs, you absolute main character. πŸŒˆπŸ¦‹πŸ’…

πŸ“¦ where this page comes from