[Bioperl-l] Bio::SeqIO can't guess the format of data from a pipe

Florent Angly florent.angly at gmail.com
Mon Sep 5 02:14:37 UTC 2011


Thanks for your advice Chris. I put a format() and variant() method in 
Bio::Root::IO. All the Bio::*IO methods inherit these methods.

Regarding the module naming, 8 follow the convention Bio::*IO and 8 
follow the Bio::*::IO convention. If we decide to rename some IO modules 
for consistency, I would prefer the Bio::*::IO convention.

Regards,

Florent


On 29/08/11 11:10, Chris Fields wrote:
> On Aug 28, 2011, at 5:35 PM, Florent Angly wrote:
>
>> Hi,
>>
>> I implemented the format() getter method in Bio::SeqIO as discussed, essentially following the way proposed by Hilmar. The variant() method is not needed since Bio::SeqIO::fastq already has a get/set method for that.
> Right, but the method could be used by other modules if it were moved to Bio::SeqIO. for instance.
>
>> I noticed that there are plenty more Bio*IO modules that could benefit from having a format() method, e.g.:
>>     Bio::AlignIO
>>     Bio::ClusterIO
>>     Bio::FeatureIO
>>     Bio::MapIO
>>     Bio::OntologyIO
>>     Bio::SearchIO
>>     Bio::TreeIO
>>     Bio::Assembly::IO *
>> The code could be copy-pasted for each of them but it is not very graceful. Is there a way we could have all these IO modules share the same format() method?
> Move the method to Bio::Root::IO, the common base class for all of the above.
>
>> * Note how the IO class for Bio::Assembly is called Bio::Assembly::IO, and not Bio::AssemblyIO like for other classes. This may be something to change in the future for consistency.
>>
>> Florent
> That's possible; one could take advantage of that for redesign/API issues if it were needed.
>
> chris




More information about the Bioperl-l mailing list