[Bioperl-l] Parsing features

Jason Stajich jason at cgt.duhs.duke.edu
Fri Mar 12 09:24:27 EST 2004


Did you try some of the code in the Feature-Annotation HOWTO?
  http://bioperl.org/HOWTOs/

-jason
On Fri, 12 Mar 2004, Jonathon Greenwood wrote:

> 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;
> }
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at portal.open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioperl-l
>

--
Jason Stajich
Duke University
jason at cgt.mc.duke.edu


More information about the Bioperl-l mailing list