[Bioperl-l] Project suggestion: Restriction Enzyme Analysis

Heikki Lehvaslaiho heikki at tiscali.co.uk
Tue Apr 22 22:30:54 EDT 2003


On Tuesday 22 Apr 2003 4:02 pm, Peter Wilkinson wrote:
> If use Bio::Restriction::EnzymeCollection is for returning a digest with
> several enzymes
>
> and the Analysis.pm is the first use of the module, i.e. what performs the
> work of a digest
>
> Then the collection might be:
>
> Bio::Restriction::Analysis::Collection

Collection of what? Analysis?

List of re-enzymes, a EnzymeCollection, can be the list of all known REs, so 
putting it under Analysis would be doubly misleading. The EnzymeCollection is 
an in-memory representation of a database and will have a number of methods 
to query it; each time producing a new  Bio::Restriction::EnzymeCollection 
object.


>
> What would you call the fragments produced by the digests, and how would
> you store a list of fragments?
>
> Bio::Restriction::Fragment              # for each fragment
> Bio::Restriction::Digest                        # for a collection of
> fragments
>
> ?


Hmm, depends how much you want to store. If the lengths are enough,
you do not really need objects, just an array of integer lengths.

On the other hand, the richest possible object would be a a sequence
object with additional information for the single stranded bits, like 
suggested by Steve.  I am not sure is the Digest class is needed, just a set 
(array or hash) of these sequence objects. What methods Digest would have 
apart from sorting? If none, it is not needed.

The superclass for the sequence class would be Bio::LocatableSeq so
that you can indicate start and end positions in the original
sequence. The ends could be taken care by methods:

5overhang_seq() & 3overhang_seq(); sequence string
5overhang_strand() & 3overhang_strand(); 1 or -1
and maybe 
5overhang_re() & 3overhang_re: restriction overhang string 
  to keep track of enzymes creating that cut

Is this new sequence class specific to restriction results? If not,
wouldn't it make sense to put into Bio::Seq namespace? I can not think
of any, so maybe not. Bio::Seq::Fragment or
Bio::Restriction::SeqFragment would be clear enough.

        -Heikki


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



More information about the Bioperl-l mailing list