[Bioperl-l] bioperl reorganization

Chris Fields cjfields at illinois.edu
Sat Jul 18 17:11:10 UTC 2009


Nice graph!  We should probably attempt something similar to  
Graph::Dependency to actually visualize some of the clusters.

BTW, as long as one follows the rules doing this is fairly easy via  
Moose using the metaclass (can check both class and instance  
attributes).  Not so much here.

One other thing: dependencies.pl isn't completely full-proof though it  
strives to be. For instance, it currently doesn't catch loading  
modules dynamically via _load_module(), and understandably borks out  
on interpolated evals (something like 'eval "require $module; return  
1;"').  Catching inheritance hierarchies via 'use base' alleviates  
that to a certain degree (IO modules for instance), but it's not  
perfect.

pyrimidine1:bioperl-live cjfields$ ack _load_module

Bio/AlignIO/Handler/GenericAlignHandler.pm
316:        $self->_load_module($class);
323:            $self->_load_module('Bio::Seq::Meta');

Bio/AlignIO.pm
407:      $ok = $self->_load_module($module);

Bio/Annotation/AnnotationFactory.pm
162:           $self->_load_module($type);
196:        $self->_load_module($type);

Bio/Assembly/IO.pm
192:      $ok = $self->_load_module($module);

Bio/ClusterIO.pm
270:      $ok = $self->_load_module($module);

Bio/DB/Expression.pm
198:    eval { $ok = $self->_load_module($module) };

Bio/DB/SeqVersion.pm
168:	eval { $ok = $self->_load_module($module) };

Bio/DB/Taxonomy.pm
264:    eval { $ok = $self->_load_module($module) };

Bio/DB/TFBS.pm
151:    eval { $ok = $self->_load_module($module) };

Bio/Factory/DriverFactory.pm
167:=head2 _load_module
169: Title   : _load_module
170: Usage   : $self->_load_module("Bio::Tools::Genscan");
178:sub _load_module {

Bio/Factory/ObjectFactory.pm
184:		$self->_load_module($type);

Bio/Factory/SeqAnalysisParserFactory.pm
161:    $self->_load_module($module); # throws an exception on failure  
to load

Bio/FeatureIO.pm
420:	$ok = $self->_load_module($module);

Bio/Location/Atomic.pm
97:	Bio::Root::Root->_load_module($class);

Bio/MapIO.pm
209:      $ok = $self->_load_module($module);

Bio/Matrix/IO.pm
215:      $ok = $self->_load_module($module);

Bio/Matrix/PSM/IO.pm
195:      $ok = $self->_load_module($module);

Bio/OntologyIO.pm
273:        $ok = $self->_load_module($module);

Bio/PopGen/IO.pm
272:      $ok = $self->_load_module($module);

Bio/Restriction/IO.pm
169:      $ok = $class->_load_module($module);

Bio/Root/Root.pm
409:=head2 _load_module
411: Title   : _load_module
412: Usage   : $self->_load_module("Bio::SeqIO::genbank");
420:sub _load_module {

Bio/Search/Hit/HitFactory.pm
123:   eval { $self->_load_module($type) };
143:       # redundancy with the create method which also calls  
_load_module
146:       eval {$self->_load_module($type) };

Bio/Search/HSP/HSPFactory.pm
124:   eval { $self->_load_module($type) };
143:	# redundancy with the create method which also calls _load_module
146:	eval {$self->_load_module($type) };

Bio/Search/Result/ResultFactory.pm
123:   eval { $self->_load_module($type) };
143:       # redundancy with the create method which also calls  
_load_module
146:       eval {$self->_load_module($type) };

Bio/SearchIO/blastxml.pm
313:            $ok = $self->_load_module($VALID_TYPE{$value});

Bio/SearchIO.pm
180:        $class->_load_module($output_module);
446:      $ok = $self->_load_module($module);

Bio/SeqEvolution/Factory.pm
158:		$ok = $self->_load_module($module);
188:       $self->_load_module($self->{'_type'});
295:       $self->_load_module($self->{'_seq_type'});

Bio/SeqIO.pm
568:		$ok = $self->_load_module($module);

Bio/Tools/EUtilities.pm
1589:        $ok = $self->_load_module($module);

Bio/Tools/Run/StandAloneBlast.pm
381:    Bio::Root::Root->_load_module($module);

Bio/Tree/Tree.pm
381:    $self->_load_module($iomod);

Bio/TreeIO/TreeEventBuilder.pm
103:      $self->_load_module($treetype);
104:      $self->_load_module($nodetype);

Bio/TreeIO.pm
243:      $ok = $self->_load_module($module);

Bio/Variation/IO.pm
279:      $ok = $class->_load_module($module);

-c

On Jul 18, 2009, at 11:10 AM, Mark A. Jensen wrote:

> Hi All,
>
> After carefully reading this thread, weighing the pro and cons of  
> the different positions, and searching out both the scientific and  
> personal content of the reponses, I am compelled as a new core  
> developer to say emphatically:
>
> "So long, and thanks for all the fish."
>
> No. I actually thought that a little analysis might tell us what  
> BioPerl thinks its core is. So I invite you to check out
> http://www.bioperl.org/wiki/Module_Connectivity
> and come back swinging.
>
> Cheers, MAJ
>
> ----- Original Message ----- From: "Robert Buels" <rmb32 at cornell.edu>
> To: "Mark Jensen" <maj.fortinbras at gmail.com>; "BioPerl List" <bioperl-l at lists.open-bio.org 
> >
> Sent: Wednesday, July 15, 2009 9:05 PM
> Subject: Re: [Bioperl-l] Tree refactor? was Re: Bootstrap, root,  
> reroot...
>
>
>> Rather than putting this in bioperl-dev, perhaps this would be a  
>> nice opportunity to make a new distribution called something  
>> standard like "Bio-Tree", with a standard directory structure, and  
>> a sane number of modules in it.
> ...




More information about the Bioperl-l mailing list