[Bioperl-l] Bio::Index::Fasta return object problem

Jason Stajich jason at cgt.mc.duke.edu
Mon Apr 28 10:53:12 EDT 2003


Bio::Seq ISA Bio::PrimarySeqI

You might want some code to verify that $seq is defined - it is possible
you aren't actually retrieving anything when you call fetch.  Just do a
grep "accession" filename

If the accession doesn't match exactly you need to write your own
id_parser function which will (For example) drop the .1 or some thing.

Also you really don't want to be calling
for $id ($Index_File_Name) {
you want to be calling
for $id ( @accession ) {
}

where @accession is the list of accession numbers or unique Ids you want
to retrieve with



On Mon, 28 Apr 2003, [iso-8859-1] david vilanova wrote:

> Dear all,
> I have some problems when I try to retreive sequences from an indexed file.
> The Index::Fasta  seems to return a Bio::Seq object however the method
> write_seq requires a valid Bio::PrimarySeqI object. How can I can go through
> this problem.
>
> Thanks
> ------------- EXCEPTION  -------------
> MSG: Did not provide a valid Bio::PrimarySeqI object
> STACK Bio::SeqIO::fasta::write_seq
> /usr/local/psu/bioperl-live/Bio/SeqIO/fasta.pm:175
> STACK toplevel fasta.pl:21
>
>
> use Bio::Index::Fasta;
> use strict;
>
> my ($Index_File_Name,$Fasta_File) = @ARGV;
> my $inx = Bio::Index::Fasta->new(
> '-filename' => $Index_File_Name,
> '-write_flag' => 1);
> $inx->make_index($Fasta_File);
>
> # Print out several sequences present in the index
> # in Fasta format
>
> my $out = Bio::SeqIO->new('-format' => 'Fasta','-fh' => \*STDOUT);
>
> foreach my $id ($Index_File_Name) {
> my $seq = $inx->fetch($id); # Returns Bio::Seq object
> $out->write_seq($seq);#requires a valid Bio::PrimarySeqI object
> }
>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l
>

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


More information about the Bioperl-l mailing list