Hola de nuevo explorer,
La verdad es que necesito ser capaz de dibujar gráficas simples tipo "tarta", para luego poderlas poner en un HTML como imagen. Pero como aun no he preparado ese código (probé los del
tutorial de Uriel, pero fui incapaz de visualizarlos), te mando un código generado a partir de un ejemplo, para dibujar un mapa de genes (usando como
input un archivo que detalla unas coordenadas) usando el módulo Bio::Graphics.
Este sería el archivo de entrada llamado "Gtest.txt":
Using text Syntax Highlighting
B0511.1 218 516 619
B0511.1 222 3185 3294
B0511.1 198 10946 11208
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Y este el programa:
Using perl Syntax Highlighting
#!c:/perl/bin/perl.exe
# This is code example 3 in the Graphics-HOWTO
use strict;
#use lib '/home/lstein/projects/bioperl-live';
use Bio::Graphics;
use Bio::Graphics::FeatureFile;
use Bio::SeqFeature::Generic;
print"Enter your file to draw\:\n";
my $draw = <STDIN>;
open (INFILE, "$draw") || die ("can´t open input file");
chomp(my @data = <INFILE>);
my $panel = Bio::Graphics::Panel->new(
-length => 1000,
-width => 800,
-pad_left => 10,
-pad_right => 10,
);
my $full_length = Bio::SeqFeature::Generic->new(
-start => 1,
-end => 1000,
);
$panel->add_track($full_length,
-glyph => 'arrow',
-tick => 2,
-fgcolor => 'black',
-double => 1,
);
my $track = $panel->add_track(
-glyph => 'graded_segments',
-label => 1,
-bgcolor => 'blue',
-min_score => 0,
-max_score => 1000,
-font2color => 'red',
-sort_order => 'high_score',
-description => sub {
my $feature = shift;
my $score = $feature->score;
return "score=$score";
},
);
while (<INFILE>) { # read blast file
chomp;
next if /^\#/; # ignore comments
my($name,$score,$start,$end) = split /\t+/;
my $feature = Bio::SeqFeature::Generic->new(
-score => $score,
-display_name => $name,
-start => $start,
-end => $end,
);
$track->add_feature($feature);
}
binmode(STDOUT);
print $panel->png;
Coloreado en 0.007 segundos, usando
GeSHi 1.0.8.4
La duda ahora es cómo obtener un archivo para poder visualizar la imagen. ¿Se puede redirigir de alguna forma la salida para que vaya a un archivo tipo png en Windows?
Gracias por adelantado