[Bioperl-l] Re: Bio::Tree::Compatible, Bio::Tree::Draw::Cladogram

Heikki Lehvaslaiho heikki at ebi.ac.uk
Wed Jul 6 12:28:43 EDT 2005

Hi Gabriel,

I thought this must have been through Jason ;-)  He is the most active 
contributor to bioperl but this just demonstrates how complex bioperl have 
got. One person just can not monitor everything. We can easily put blame on 
him. He can take it like a man!

On Wednesday 06 July 2005 17:52, Gabriel Valiente wrote:
> Dear Heikki,
> I've been discussing all about these modules with Jason Stajich, I just
> didn't know of the need for moving the discussion to any mailing list.
> Sorry about that. Please tell me how to proceed, I haven't yet
> subscribed to any BioPerl mailing list.

To keep everyone informed about commits it is customary to 
- be a member of the bioperl mailing list
- announce plans and major code commits to the list
- commit tests, preferable at the same time as code

(There is no more than a paragraph in biodesign.pod, so here is a beginning of 
a new tutorial... I just remembered that I wrote something about this in 
docbook format more than a year ago, but I can not find it now. If I ever 
gave the text to anyone, I'd love to see it again!)

Take a look at a few example test file in the t directory, e.g. t/Spidey.t.
They all contain a BEGIN statement of variable complexity that uses the Test 
module and declares how many tests there will be. Test (see 'man Test') 
exports function ok() that takes care of printing the output. That output is 
all this file should write out when run using 'perl -w t/Spidey.t' or using 
make to run the perl test harness (see 'man Test::Harness').

Running these tests periodically enables maintainers see if a change somewhere 
has broken some other feature.

You normally start with testing if you can 'use' your new module, then that 
you can create an object and then proceed by testing at least all the public 
methods. Data files can be put into t/data. You can have output from your 
test script, but it should clean up all new files at exit (do that within END 

> In a nutshell, I've written these modules to support my research on
> algorithms in bioinformatics. Bio::Tree::Draw::Cladogram is in an early
> stage, I'm still working on the optimal tanglegram layout problem (to
> minimize the number of edge crossings among the taxa of the two trees).

If there is more interest, it would be cool to have an abstaction layer and be 
able to output more formats.

I guess we can not do anything to the PostScript::TextBloc dependency here.

> Bio::Tree::Compatible is perhaps in much better shape, I've tested it
> over all pairs of trees from the TreeBASE database. There's a paper
> (still under review) about it, the preprint is available from any of:
>     http://www.lsi.upc.es/dept/techreps/listado_concreto.php?id=766
>     http://arxiv.org/abs/cs.DM/0505086

Is the use of Set::Scalar really necessary? It is yet an other dependency, 
although I do like it myself, and it might turn out to be useful to other 
modules, too, in the future.

> I don't know much about including test code in the distribution. Please
> give me some guidelines, I definitely want to see these modules (and
> whatever else I may write in the future) included in the whole BioPerl
> distribution. I'm on vacation now, but will try to keep along the
> discussion anyway.

They are in. No real hurry with the tests.


> Thanks,
> Gabriel
> >Gabriel,
> >
> >While testing bioperl module SYNOPSIS sections for runnability I found out
> >that there are two modules in bioperl-live that have external dependencies
> >that are not in Makefile.PL:
> >
> >Bio::Tree::Compatible
> >  Testing compatibility of phylogenetic trees with nested taxa.
> >  depends on Set::Scalar
> >
> >Bio::Tree::Draw::Cladogram
> >  Drawing phylogenetic trees in Encapsulated PostScript (EPS) format.
> >  depends on PostScript::TextBlock.pm
> >
> >They both are yours.
> >
> >I have not been that active on the mailing list lately, so I searched the
> > list for a discussion on these new modules. I started getting a bit
> > alarmed that there were none, no emails ever to the bioperl mailing list
> > from you. Finally, I checked the t (test) directory and there were no
> > tests for these modules.
> >
> >Could we have that discussion now and hopefully at the end of the
> > discussion add the dependencies to the Makefile.PL? In a project this
> > big, we have to keep each others informed so that we can keep all parts
> > of bioperl functional and to avoid confusing and alienating users.
> >
> >
> >Where do these modules come from?
> >What functionality do they add?
> >Is the name space used correct?
> >Could we see test code that demonstrates the functionality?
> >Is there something else that you are planning to do?
> >
> >
> >Yours,
> >
> > -Heikki, who feels that he is probably overreacting ;-)
> >                 ... so do not take it personally

______ _/      _/_____________________________________________________
      _/      _/                      http://www.ebi.ac.uk/mutations/
     _/  _/  _/  Heikki Lehvaslaiho    heikki at_ebi _ac _uk
    _/_/_/_/_/  EMBL Outstation, European Bioinformatics Institute
   _/  _/  _/  Wellcome Trust Genome Campus, Hinxton
  _/  _/  _/  Cambridge, CB10 1SD, United Kingdom
     _/      Phone: +44 (0)1223 494 644   FAX: +44 (0)1223 494 468
___ _/_/_/_/_/________________________________________________________

More information about the Bioperl-l mailing list