[Bioperl-l] Parsing features

Jonathon Greenwood jonathon at mgcheo3.med.uottawa.ca
Fri Mar 12 09:08:43 EST 2004


Hi all!

I'm wondering if it is possible to extract the features from a Genbank
file and print out the feature information within a text box (I'm dealing
with the text of the feature I don't want to display them as a glyph). I
tried this already using the Dumper method...but it spews out too much
information. I also get the errors when I run the code(which is for this
feature):
Bio::SeqFeature::Generic=HASH(0x654788) a bunch of times... and
(in cleanup) Undefined subroutine Fh:flush at
/usr/local/lib/perl5/site_perl/5.8.0/Bio/Root/IO.pm line 519

Thanks for any help that can be given...

Jonathan Greenwood
Co-op student,
email: jonathon at mgcheo.med.uottawa.ca

CODE:

#! /usr/local/bin/perl -w

use strict;
use CGI qw / :standard /;
use CGI::Pretty;
use Bio::SeqFeature::Generic;
use Bio::SeqIO;
use Bio::Root::IO;
use File::Temp;

my @features = read_file(param('file'));

print header, start_html('Plasmid Feature Editor');

print start_multipart_form (),
table ({-cellpadding => 10},
TR({-class => 'resultsbody'},
	td (textarea(-name => 'editarea',
		     -values => "@features",
		     -rows   => 20,
		     -cols   => 70,
		     -override => (@features) || (param('clear')),
		    ),
		),
	 ),
TR({-class => 'resultstitle'},
td (filefield(-name => 'file',
	      -length => 40),
	),

td(submit(-name => 'submit_button',
	  -value => 'Click to display features'),
	),
    ),
TR({-class => 'resultstitle'},
td(submit(-name => 'save_button',
	  -value => 'Click here to save your work'),
	),
td(reset(),
),
),
),
end_form;

print end_html;

exit 0;

sub read_file {

my $fh = param('file');
my $gb_parser = Bio::SeqIO->new(-fh=>$fh,-format=>'Genbank');
my @features;

while (my $seq = $gb_parser-> next_seq) {
	push @features, $seq->get_SeqFeatures();
}
return @features;
}



More information about the Bioperl-l mailing list