[Bioperl-l] newbie needs help with "preferred_id_type"

Jonathan Miller millerj at bcm.tmc.edu
Tue Apr 5 15:02:16 EDT 2005


This works, thank you very much;
suppose however I wanted to write in "GenBank" format;
in this case I get an error message:

Can't locate object method "preferred_id_type" via package
"Bio::SeqIO::genbank" at malcolm.pl line 13.

many thanks

jm

On Tue, 5 Apr 2005, Hilmar Lapp wrote:

> This is a property of the SeqIO stream, so you need to set it on the 
> stream object:
> 
> 	$seqio = Bio:SeqIO->new(-format=>'fasta',-file=>"<blah.fa");
> 	$seqio->preferred_id_type('accession');
> 
> Hth,
> 
> 	-hilmar
> 	
> On Tuesday, April 5, 2005, at 10:08  AM, Cook, Malcolm wrote:
> 
> > hmmm - this is new to me
> >
> > let's see, on my bioperl 1.5 installation, the unix one-liner
> >
> >  perl -MBio::SeqIO::fasta -e 'print "@Bio::SeqIO::fasta::SEQ_ID_TYPES"'
> >
> > returns
> >
> > accession accession.version display primary
> >
> > so, I think you should be able to add, for instance
> >
> > $seq->preferred_id_type('display')
> >
> > or, in your case
> >
> > $seq->preferred_id_type('accession')
> >
> > just before your call to write_seq
> >
> > try it!
> >
> > Malcolm Cook - mec at stowers-institute.org - 816-926-4449
> > Database Applications Manager - Bioinformatics
> > Stowers Institute for Medical Research - Kansas City, MO  USA
> >
> >
> >
> > -----Original Message-----
> > From: bioperl-l-bounces at portal.open-bio.org
> > [mailto:bioperl-l-bounces at portal.open-bio.org] On Behalf Of Jonathan
> > Miller
> > Sent: Monday, April 04, 2005 6:45 PM
> > To: bioperl-l at bioperl.org
> > Subject: [Bioperl-l] newbie needs help with "preferred_id_type"
> >
> >
> >
> > Below, I want write_seq to use the accession,
> > rather than the default.
> > ---------------------------------------------
> > #!/usr/bin/perl
> >  use Bio::SeqIO;
> >
> >   my $infile=shift;
> >   $in  = Bio::SeqIO->new(-file => $infile,
> >                          -format => 'GenBank');
> >   my $outfile= ">" . $infile . ".fa";
> >   $out = Bio::SeqIO->new(-file => $outfile,
> >                          -format => 'fasta'
> >                         );
> >
> >   while ( $seq = $in->next_seq() ) {
> >    print $seq->accession,"\n";
> >    $out->write_seq($seq);
> >   }
> > ------------------------------------------------
> > So, Going to the Bio::Seq docs, I see:
> > ---------------------------------------------------------
> > preferred_id_type	code	top	prev	next
> >
> >  Title   : preferred_id_type
> >  Usage   : $obj->preferred_id_type('accession')
> >  Function: Get/Set the preferred type of identifier to use in the ">ID"
> > position
> >            for FASTA output.
> >  Returns : string, one of values defined in
> > @Bio::SeqIO::fasta::SEQ_ID_TYPES.
> >            Default = $Bio::SeqIO::fasta::DEFAULT_SEQ_ID_TYPE
> > ('display').
> >  Args    : string when setting. This must be one of values defined in
> >            @Bio::SeqIO::fasta::SEQ_ID_TYPES. Allowable values:
> >            accession, accession.version, display, primary
> >  Throws  : fatal exception if the supplied id type is not in
> > @SEQ_ID_TYPES.
> > ----------------------------------------------------------
> > but I have so far been unable to figure out how in fact to
> > set the SEQ_ID_TYPE .
> >
> >
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at portal.open-bio.org
> > http://portal.open-bio.org/mailman/listinfo/bioperl-l
> >
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at portal.open-bio.org
> > http://portal.open-bio.org/mailman/listinfo/bioperl-l
> >
> >
> -- 
> -------------------------------------------------------------
> Hilmar Lapp                            email: lapp at gnf.org
> GNF, San Diego, Ca. 92121              phone: +1-858-812-1757
> -------------------------------------------------------------
> 
> 
> 



More information about the Bioperl-l mailing list