Re: using Bio::SeqIO to convert from table to genbank format ..... attribute_map example
Brian Osborne <[email protected]> Sat, 12 Sep 2015 09:28:58 -0700
| Newsgroups | gmane.comp.lang.perl.bio.general |
|---|---|
| Message-ID | <[email protected]> |
Malcolm, Can you attach a file with “description” that I can use to test a fix? Thanks again, Brian O > On Sep 11, 2015, at 10:16 PM, Cook, Malcolm <[email protected]> wrote: > > Fellow long-time BioPerlers, > > I am using Bio::SeqIO with success to convert between table (c.f. http://search.cpan.org/~cjfields/BioPerl/Bio/SeqIO/table.pm) and genbank flatfile format. > > I have Bio::SeqIO sequence format conversion wrapped in a command-line script. The script exposes to the command line the parameters to ->new for both input and output objects through judicious use of GetOptions. I have used this script in many conversion tasks between many different formats. > > ... except now ... > > I am having trouble with reading the flatfile format. > > Happily, at first, I see that -display_id and -accession_number are both parameters to Bio::SeqIO::table->new. So they are naturally exposed to the command line as `in format=table header=1 display_id=1 seq=3" > > Alas however -description is not a parameter to ->new. > > The only way I can see to configure table.pm to take the sequence description (aka desc) from the 2nd column of my .tab file is as follows: > > $in->attribute_map({-description => 2}); > > ... however my trace shows me that even though this does work to set the desc attribute of the wrapped Bio::Primary_seq to the value from column 2, unfortunately using the attribute_map also removes the individual values passed in for -display_id and -accession_number > > Ideally (I think) Bio::SeqIO::table->new would take a -description=2 instead of having to call attribute_map. > > Or, Bio::SeqIO::table->new would take -attribute_map and even accept it as a string which gets evaluated to a hash reference, just as I see -colnames can be passed as a string evaling to an array (which I see in the unit test: http://cpansearch.perl.org/src/CJFIELDS/BioPerl-1.6.924/t/SeqIO/table.t). This would allow the hash to be supplied at the command line. > > Or, am I missing something? > > FWIW: I am trying to help a lab convert a few years of plasmids from DNAPlasmid to Genbank (for load into Vector NTI) and I am passing through Bio::SeqiO::table in-so-diong..... > > Cheers, and Thanks for help and suggestions.... > > Malcolm Cook > Stowers Institute for Medical Research > 1000 E 50th Street > Kanas City, MO 64110 > (816) 926-4449 > [email protected] > > > _______________________________________________ > Bioperl-l mailing list > [email protected] > http://mailman.open-bio.org/mailman/listinfo/bioperl-l _______________________________________________ Bioperl-l mailing list [email protected] http://mailman.open-bio.org/mailman/listinfo/bioperl-l