Bioperl: Alignment factories
Ewan Birney
birney@sanger.ac.uk
Sat, 8 May 1999 12:08:12 +0100 (BST)
On Fri, 7 May 1999, Ian Holmes wrote:
> Matt mentioned alignment factories the other day. I wonder if anyone
> (Ewan?) can tell me how these are meant to work. Eg I assume that
> $factory->pairwise_alignment($seq1,$seq2) is meant to be a base method of
> the AlignmentFactory interface but from the website docs it appears to be
> just in the pSW class. There are a couple of other things like this; the
> documentation is pretty sparse and yet Matt sounded like he had a firmish
> idea of the abstract concept of an AlignmentFactory even though it isn't
> really explained on the website.
The docs are pretty thin aren't they ;). The alignment factory base class
was orginally intended from my perspective to be somewhere where you could
modify the
- reporting to stderr
- memory usage of the algorithm.
All my alignment algorithms allow these things to be twiddled, but not
everyone elses, and it seems pretty silly to enforce other people's to.
I guess in a roundabout way I am trying to say that AlignmentFactory is
a pretty Ewan (or rather Dynamite) specific base class, and probably
should be renamed <grin>. A bit of a design error there.
Aaron has been talking about a pure perl SW implementation, and we have
notionally agreed that Aaron's and my pSW should have the same interface
so people can switch at will. We haven't defined that in a 'Protein SW
Interface' way (perhaps that is what Matt was talking about), but we
should do.
Yours would be a multiple alignment factory and I am not sure to what
extent a MA alignment interface should interact with a pairwise alignment
interface. But I am keen to define an abstract interface, as one can
imagine a number of different implementations. Perhaps something like:
MultipleAlignmentI # 'I' indicates this is an interface
$factory->align(\%param,@seqs);
# reference to a hash of string parameter values
# followed by an array of sequences
but just a suggestion: I am sure you have a better idea of what is going
on.
We should probably thrash this out on the guts list. Are you thinking
about an XS interface or a system call/pipe?
>
> can anyone enlighten me? I'm currently writing C++ code to handle multiple
> alignment in a probabilistic manner and would like to make a perl wrapper
> that fits the AlignmentFactory API... if only i can work out what that is.
> ;->
>
> yam
>
> =========== Bioperl Project Mailing List Message Footer =======
> Project URL: http://bio.perl.org/
> For info about how to (un)subscribe, where messages are archived, etc:
> http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl.html
> ====================================================================
>
Ewan Birney
<birney@sanger.ac.uk>
http://www.sanger.ac.uk/Users/birney/
=========== Bioperl Project Mailing List Message Footer =======
Project URL: http://bio.perl.org/
For info about how to (un)subscribe, where messages are archived, etc:
http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl.html
====================================================================