Choosing a module name
From DrugPedia: A Wikipedia for Drug discovery
Many people want to know how to name their modules. We have tried to organize things under top level names that logically separate the datatypes or functionality. Most of the BioPerl modules focus on sequence analysis and related data, here is a table of a summary of namespace and the associated functionality.
Namespace | Description |
Template:PM | Multiple sequence alignment input and output |
Bio::Align | Alignment data functions including distance functions and misc utilities |
Bio::Annotation | Annotation data objects for Comments, DBLinks, OntologyTerms, References |
Bio::Assembly | Assembly objects |
Template:PM | Bibliographic objects |
Bio::Cluster | Clusters like groups of sequences from a family or UniGene clusters |
Template:PM | Cluster format input and output like unigene |
Bio::CodonTable | Codon Usage Tables |
Bio::Coordinate | Tools for mapping coordinates between different coordinate systems (like genomic to protein or CDS to genomic) |
Bio::DB | A collection of database interfaces including Template:PM, Template:PM, Template:PM, Template:PM, Template:PM |
Bio::Das | Some DAS interfaces (implementations in this namespace are in other modules, see CPAN) |
Bio::Event | Event handling interfaces defined |
Bio::Expression | Expression data interfaces defined |
Bio::Factory | Factory interfaces for a number of different functionality - this is where the interfaces are defined only. |
Bio::FeatureIO | New system for processing feature data (GFF, BED) |
Bio::Graph | A (perhaps outdated) Graph interface and implementation for feature graphs and network representation |
Template:PM | Interface for rendering graphics, basis for Gbrowse track rendering. |
Bio::Index | A set of modules for building local indexed files for fast random access to a sequences in file. Some conflict between whether modules should go in here or Bio::DB |
Bio::LiveSeq | |
Bio::Location | Locations are for representing locations in sequence typically. These include non-consecutive locations (Split) and those with undefined start or stop (Fuzzy). |
Bio::Map | Represent biological maps like genetic maps and physical maps which are ultimately just an ordering of markers. |
Bio::Matrix | Matricies of either sequence distances and substitution matricies. |
Bio::Ontology | Ontology data representation (DAG) |
Bio::OntologyIO | Parsing ontology data (GO, OBO) |
Bio::Phenotype | Phenotypic data representation (typically data from OMIM) |
Bio::Root | The key definitions in BioPerl objects including error handling and basic inheritance |
Bio::Search | Key objects for parsing database sequence search results as parsed by Template:PM, this includes HSP, Hit and
Result objects |
Template:PM | Parsing database sequence search results |
Template:PM | Sequence object extensions |
Template:PM | Sequence input and output |
Bio::Structure | PDB and other protein sequence structure data parsing and representation |
Bio::Symbol | An antiquitated set of objects for representing the symbols for sequence alphabets |
Template:PM | Representation of the taxonomy hierarchy |
Bio::Tools | This is grabbag of modules whose function ranges from Phylogenetics to Gene prediction tools. A more comprehensive list of Bio::Tools functionality needs to be written... |
Bio::Tree | Phylogenetic tree data objects and construction tools |
Template:PM | Parsing phylogenetic tree data in several formats. |
Bio::Variation | TODO |
Avoiding conflicts with non-BioPerl modules
Of course BioPerl is not the only package producing modules which fall in the Bio namespace. It is important to look in CPAN to see what other module names are already used. If you are a developer and want to put a new module in the namespace try and not use the namespaces we have already used to avoid confusion and collisions between our package and yours. If you plan to use a particular directory or module name we are happy to avoid using it if you just send and email to the Mailing lists.