[Bioperl-l] BioPerl 1.6 and parsing multiple EMBL records

Peter biopython at maubp.freeserve.co.uk
Mon Jan 11 14:16:45 UTC 2010


Hi,

I'm running bioperl-live from SVN, just updated to revision 16648.

$ perl -MBio::Root::Version -e 'print $Bio::Root::Version::VERSION,"\n"'
1.0069

I am trying to get Bio::SeqIO to convert a multiple record EMBL
file into GenBank format, piping the data via stdin/stdout using
the following trivial Perl script:

#!/usr/bin/env perl
use Bio::SeqIO;
my $in  = Bio::SeqIO->new(-fh => \*STDIN, -format => 'embl');
my $out = Bio::SeqIO->new(-format => 'genbank');
while (my $seq = $in->next_seq) { $out->write_seq($seq) };

This only seems to find the first EMBL record in my example
files. For example, this simple file has just two contig records:
http://biopython.open-bio.org/SRC/biopython/Tests/EMBL/Human_contigs.embl

This is just the first two records taken from a much larger EMBL file
rel_con_hum_01_r102.dat downloaded and uncompressed from:
ftp://ftp.ebi.ac.uk/pub/databases/embl/release/rel_con_hum_01_r102.dat.gz

Trying both these examples as input, BioPerl just gives a single
GenBank record as output (the first EMBL entry in the input).

Is this a BioPerl bug, or am I missing something?

Peter



More information about the Bioperl-l mailing list