view release on metacpan or search on metacpan
lib/Bio/Graphics/Feature.pm view on Meta::CPAN
Title : alphabet
Usage : if( $obj->alphabet eq 'dna' ) { /Do Something/ }
Function: Returns the type of sequence being one of
'dna', 'rna' or 'protein'. This is case sensitive.
This is not called <type> because this would cause
upgrade problems from the 0.5 and earlier Seq objects.
Returns : a string either 'dna','rna','protein'. NB - the object must
make a call of the type - if there is no type specified it
has to guess.
Args : none
Status : Virtual
=head2 desc
Title : desc
Usage : $seqobj->desc($string) or $seqobj->desc()
Function: Sets or gets the description of the sequence
Example :
Returns : The description
lib/Bio/Graphics/FeatureDir.pm view on Meta::CPAN
while (<$fh>) {
# figure out transitions
$new_status = /^\#\#gff-version\s+3/i ? 'gff3'
:/^\#\#gff/i ? 'gff2'
: /^track/i ? 'wig'
: /^\[(.+)\]/i ? 'conf'
: /^>\w+/i ? 'fa'
: /^reference/i ? 'ff'
: undef;
unless ($status || $new_status) { # guess what it is
my @tokens = split /\s+/;
$new_status = 'gff3' if @tokens >= 9 && $tokens[8] =~ /=/;
$new_status = 'ff' if $tokens[2] =~ /\d+(\.\.|-)\d+/;
}
if ($new_status) {
# this will create a new conf file for each section
if ($new_status eq 'conf') {
lib/Bio/Graphics/Glyph/image.pm view on Meta::CPAN
}
my $gd = $format eq 'image/png' ? GD::Image->newFromPngData($image,1)
: $format eq 'image/jpeg' ? GD::Image->newFromJpegData($image,1)
: $format eq 'image/gif' ? GD::Image->newFromGifData($image)
: $format eq 'image/gd' ? GD::Image->newFromGdData($image)
: $format eq 'image/gd2' ? GD::Image->newFromGd2Data($image)
: $self->throw("This module cannot handle images of type $format");
return $gd;
}
sub _guess_format {
my $self = shift;
my $path = shift;
return 'image/png' if $path =~ /\.png$/i;
return 'image/jpeg' if $path =~ /\.jpe?g$/i;
return 'image/gif' if $path =~ /\.gif(87)?$/i;
return 'image/gd' if $path =~ /\.gd$/i;
return 'image/gd2' if $path =~ /\.gd2$/i;
my ($extension) = $path =~ /\.(\w+)$/; #cop-out
return $extension;
}
lib/Bio/Graphics/Glyph/image.pm view on Meta::CPAN
my $ua = LWP::UserAgent->new(env_proxy => 1);
my $response = $ua->get($path);
if ($response->is_success) {
return ($response->content_type,$response->content);
} else {
$self->throw($response->status_line);
}
} else {
my $content_type = $self->_guess_format($path);
open F,$path or $self->throw("Can't open $path: $!");
binmode F;
my $data;
$data .= $_ while read(F,$_,1024);
close F;
return ($content_type,$data);
}
}
sub pad_left {
lib/Bio/Graphics/Glyph/processed_transcript.pm view on Meta::CPAN
package Bio::Graphics::Glyph::processed_transcript;
use strict;
use base qw(Bio::Graphics::Glyph::transcript2);
use constant DEFAULT_UTR_COLOR => '#D0D0D0';
sub new {
my $class = shift;
my $self = $class->SUPER::new(@_);
$self->guess_options if !defined $self->option('implied_utrs')
&& !defined $self->option('adjust_exons');
$self;
}
sub guess_options {
my $self = shift;
my ($exons,$utrs,$cds);
foreach ($self->parts) {
$exons++ if $_->feature->type =~ /exon/i;
$utrs++ if $_->feature->type =~ /utr$/i;
$cds++ if $_->feature->type =~ /^cds/i;
$self->configure(implied_utrs=>1) if $exons && $cds && !$utrs;
$self->configure(adjust_exons=>1) if $exons && $utrs;
}
}
lib/Bio/Graphics/Glyph/trace.pm view on Meta::CPAN
return \%scf;
}
else{
my %scf;
tie %scf, 'Bio::SCF', $trace_file;
$self->{'max_trace'} = 1600;
return \%scf;
}
}
sub _guess_format {
my $self = shift;
my $path = shift;
my $modded_path = $path;
$self->{'gzipped'} = ($modded_path =~ s/\.gz\s*$// );
if ($modded_path =~ /\.scf/){
$self->{'content_type'} = 'Bio::SCF';
}
elsif ($modded_path =~ /\.ab1/){
$self->{'content_type'} = 'ABI';
lib/Bio/Graphics/Glyph/trace.pm view on Meta::CPAN
return unless $basename;
return $basename if $basename =~ m!^\w+:/!; # looks like a URL
return $basename if $basename =~ m!^/!; # looks like an abs path
return "$dirname/$basename";
}
sub trace_data {
my $self = shift;
my $path = $self->trace_path;
$self->_guess_format($path);
if ( $path =~ m!^\w+:/! ) { # looks like a URL
require LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $response = $ua->get($path);
if ( $response->is_success ) {
# In the future, make extensible to ABI format
my $data = $response->content;
my $signature = md5_hex($data);
scripts/contig_draw.pl view on Meta::CPAN
Options:
-i/--input The input filename, otherwise input is assumed from STDIN
-o/--output The output filename, this is optional, if you do not
provide the output filename the script will create a file
using the name of the query sequence and will process
all the sequences in the file. If an output filename
IS provided the script will only display an image for the
first one.
-f/--format The SearchIO format parser to use, if not provided
SearchIO will guess based on the file extension.
-l/--labels Display the hit sequence name as a label in the overview.
For lots of sequences this will make the image very long
so by default it is turned off.
=head1 AUTHOR Jason Stajich
Jason Stajich, jason[-at-]open-bio[-dot-]org.
=cut
scripts/render_msa.pl view on Meta::CPAN
use Bio::Tools::GuessSeqFormat;
use Getopt::Long;
my ($inputfile,$debug);
GetOptions(
'i|input|inputfile:s' => \$inputfile,
'debug' => \$debug,
);
my $guessed_format = new Bio::Tools::GuessSeqFormat
(-file=>"$inputfile"
)->guess;
my $aio = Bio::AlignIO->new(-file => $inputfile,
-format => $guessed_format) or die "parse failed";
my $aln = $aio->next_aln() or die "no alignment";
my $panel = Bio::Graphics::Panel->new(
-image_class => 'SVG',
-length => $aln->length,
-width => 800,
-pad_left => 150,
-pad_right => 10,
);
scripts/search_overview.pl view on Meta::CPAN
Options:
-i/--input The input filename, otherwise input is assumed from STDIN
-o/--output The output filename, this is optional, if you do not
provide the output filename the script will create a file
using the name of the query sequence and will process
all the sequences in the file. If an output filename
IS provided the script will only display an image for the
first one.
-f/--format The SearchIO format parser to use, if not provided
SearchIO will guess based on the file extension.
-l/--labels Display the hit sequence name as a label in the overview.
For lots of sequences this will make the image very long
so by default it is turned off.
=head1 AUTHOR Jason Stajich
Jason Stajich, jason[-at-]open-bio[-dot-]org.
=cut