Module Connectivity
From BioPerl
A simple analysis
Here's a conversation starter bearing on the great discussion (see thread) concerning what people like to call the monolithic quality of good ol' BP.
Here I've considered each module as a node in a network, and graphed and tabulated some simple facts. I thought this might allow BioPerl itself to tell us what it thinks the Core is.
--maj 16:03, 18 July 2009 (UTC)
Module degree
- Here's a log plot of the degree of each module, with the "Index" ordered as described in the Connectivity Table below. The module of highest degree is Bio::Root::Root with 333 connections, followed by Bio::Root::RootI, with 89, and Bio::SeqFeature::Generic, with 87. The clusters jumping out of this plot arise from the ordering: the modules are first ordered by the number of modules that depend on the given module, then by the number of dependencies possessed by the given module. So, the clusters could be thought of as natural groupings, with clusters to the left more "Core-like", and those to the right more "Package-like". My guess is that the NumDependencies values (which move fastest in the Degree sum and create the sawtooth pattern) reflect dependencies among the modules within the clusters. Wouldn't that be cool? I don't think this works, but the data could certainly be cajoled into giving us this.
Connectivity Table as of r15867
- Here's a table of modules, ordered first by the number of dependent modules each has, then by the number of dependencies on other modules, and finally alphabetized. The algorithm for identifying dependencies is based on CJF's dependencies.pl, but modified to find not only use and require statements, but the use base pragma as well.
- Apparent Orphans: Bio::DB::Fasta::Subdir, Bio::DB::GFF::Adaptor::dbi::faux_dbh, Bio::DB::ReferenceI, Bio::DB::SeqFeature::NormalizedFeature, Bio::DB::SeqFeature::NormalizedFeatureI, Bio::DB::SeqFeature::NormalizedTableFeatureI, Bio::DB::SeqFeature::Store::bdb, Bio::DB::SeqFeature::Store::berkeleydb::Iterator, Bio::DB::SeqFeature::Store::FeatureFileLoader, Bio::DB::SeqFeature::Store::memory::Iterator, Bio::SeqIO::flybase_chadoxml
