modules.pl - information about modules in BioPerl core
modules.pl [-V|--verbose] [-c|--count] | [-l|--list] | [-u|--untested] | [-i|--info class] | [-i|--inherit | [-d|--dir path ] | [-v|--version | [-?|-h|--help]
This script counts, lists and provides other information about bioperl modules. It is mainly meant to be run by bioperl maintainers.
The default action is to count modules in the bioperl core distribution. Based on the class name it tries to classify them into categories. The following is a tentative glossary of terms used.
Synonyms: Generic class, parameterized class, generic module.
A class that you don't instantiate in your scripts, but that it's a template for other classes.
Examples: Bio::Tools::Run::WrapperBase - a base object for wrappers around executables. Bio::Tools::Analysis::SimpleAnalysisBase - an abstract superclass for SimpleAnalysis implementations
This are counted with
/:Base/ | /Base$/; They have "Base" in the beginning or end of the name.
Synonyms: protocol, feature set.
Class that defines a set of features that are common to a group of classes.
Example: Bio::Tree::NodeI - interface describing a Tree Node.
This are counted with
/[^A-Z]I$/; They have "I" at the end of the name.
A class that implements a small subset of their superclass. They are in a directory with an identical name of the superclass. There are plenty of them. You need only a small number of methods to be overridden.
This is counted with
/.*:[a-z]/; Classes are inside their base directory and all in lowercase.
The rest of them. It is sometimes helpful to divide them into two types:
- Algorithmic classes
Example: Bio::AlignIO - Handler for AlignIO formats
- Storage classes
Example: Bio::SimpleAlign - Multiple alignments held as a set of sequences
Only one option is processed on each run of the script. The --verbose is an exception, it modifies the amount of output.
- -V | --verbose
Set this option if you want to see more verbose output. Often that will mean seeing warnings normally going into STDERR.
- -d | --dir path
Overides the default directories to check by one directory 'path' and all its subdirectories.
- -c | --count
The default action if no other option is given. Gives the count of modules broken to instance ("usable"), base ( (abstract)? superclass) , interface (the "I" files) and component (used from instantiable parent) modules, in addition to total number of modules.
Note that abstract superclass in bioperl is not an enforced concept and they are not clearly indicateded in the class name.
- -l | --list
Prints all the module names in alphabetical order. The output is a tab separated list of category (see above) and module name per line. The output can be processed with standard UNIX command line tools.
- -u | --untested
Prints a list of instance modules which are not explicitly used by test files in the directory. Superclasess or any classes used by others are not reported, either, since their methods are assumed to be tested by subclass tests.
- -i | --info class
Dumps information about a class given as an argument.
- -i | --inherit
Finds interface modules which inherit from an instantiable class.
Could be extended to check other bad inheritance patterns.
- -s | --synopsis
Test SYNOPSIS section of bioperl modules for runnability
- -v | --version
Test the VERSION of the module against the global one set in Bio::Root::Variation. Print out the different ones.
- -? | -h | --help
This help text.
User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing list. Your participation is much appreciated.
firstname.lastname@example.org - General discussion http://bioperl.org/wiki/Mailing_lists - About the mailing lists
Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. Bug reports can be submitted via the web:
Heikki Lehvaslaiho, heikki-at-bioperl-dot-org
Albert Vilella, avilella-AT-gmail-DOT-com