[Bioperl-l] using Bio::SeqIO to convert from table to genbank format ..... attribute_map example
Brian Osborne
bosborne11 at verizon.net
Sat Sep 12 16:28:58 UTC 2015
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 <MEC at stowers.org> 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
> mec at stowers.org
>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at mailman.open-bio.org
> http://mailman.open-bio.org/mailman/listinfo/bioperl-l
More information about the Bioperl-l
mailing list