NAME
modules.pl - information about modules in BioPerl core
SYNOPSIS
modules.pl [-V|--verbose] [-c|--count] | [-l|--list] | [-u|--untested] | [-i|--info class] | [-i|--inherit | [-d|--dir path ] | [-v|--version | [-?|-h|--help]
DESCRIPTION
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.
- Base
-
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. - Interface
-
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. - Component
-
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.
Example: Bio::SeqIO::fasta.
This is counted with
/.*:[a-z]/
; Classes are inside their base directory and all in lowercase. - Instance
-
The rest of them. It is sometimes helpful to divide them into two types:
OPTIONS
Only one option is processed on each run of the script. The --verbose is an exception, it modifies the amount of output.
- -V | --verbose
-
INACTIVE
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.
FEEDBACK
Mailing Lists
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.
bioperl-l@bioperl.org - General discussion
http://bioperl.org/wiki/Mailing_lists - About the mailing lists
Reporting Bugs
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:
https://github.com/bioperl/bioperl-live/issues
AUTHOR
Heikki Lehvaslaiho, heikki-at-bioperl-dot-org
Contributors
Albert Vilella, avilella-AT-gmail-DOT-com