[Bioperl-l] Bio::Tools reorganisation (long)
heikki at sanbi.ac.za
Fri Oct 24 06:04:06 EDT 2008
I was thinking of the proposed simplification of the BioPerl core and
I realised that Bio::Tools really should be reorganised. At the
moment it holds at least five different kinds of categories
The most difficult question here is, of course: How much backward
compatibility should be kept? I am in favour of doing quite
drastic changes if they help clarify the purpose of the modules.
Also, what is the defining rule to categorize the modules?
2. Type of data: Sequences in databases/Analysis tools
3. Type of analysis
Below I've outlined what I think need to be done based on
assumption that local/web rule is primary and type of analysis is the
secondary organising principle.
None of this is in the bioperl wiki but can be put in there at any point of
1. Core functionality
Used by core sequence objects.
Suggestion: Not called directly, so moving to. e.g. Bio::Seq,
should not be a problem. Can be implemented immediately.
Perform a simple analysis related to sequences or sequence
formats. All the code is present within the module.
Suggestion: Separate them from tools into Bio::Utils within the
core package. Seldom used, so should not break backward
compatibility too much.
3. Parsers for program outputs
Bulk of the Bio::Tools name space content. They need to be sorted into
categories when possible according to convention:
Bio::Tools::Alignment, Bio::Tools, Phylo.
Suggestion: Move into Bio::Tools::Parser(, or Bio::Parser).
4. External local programme wrappers
Most of these, but not all, are in Bio::Tools::Run and already in
bioperl-run package. They use parsers in Bio::Tools name
space (category 3.).
Suggestion: Move into Bio::Tools::RunLocal, (or Bio::RunLocal) to shorten the
5. Wrappers for remote (Web based) services
Most of the service wrappers follow Bio::SimpleAlignI and are in
Examples of modules that are using web but are among local
Modules using Web access, but are in the bioperl-run package:
Modules accessing web for retrieving sequences: Bio::DB.
This name space contains modules for managing local sequence databases,
accessing web based sequence databases, and a variety of other
objects: Bibliographic references, sequence annotation, MeSH
Suggestion: move to Bio::Tools::RunExternal, (or
Bio::Web). Reorganise Bio::DB in the similar manner to logical categories.
______ _/ _/_____________________________________________________
_/ _/ _/ Heikki Lehvaslaiho heikki at_sanbi _ac _za
_/_/_/_/_/ Senior Scientist skype: heikki_lehvaslaiho
_/ _/ _/ SANBI, South African National Bioinformatics Institute
_/ _/ _/ University of Western Cape, South Africa
_/ Phone: +27 21 959 2096 FAX: +27 21 959 2512
More information about the Bioperl-l