[Bioperl-l] additional methods for Bio::SeqUtils for in-silico cloning

Frank Schwach fs5 at sanger.ac.uk
Tue Jan 10 13:10:10 UTC 2012


Hi Chris,

I have made the changes in a Git fork and made the pull request now. 
If this is accepted into BioPerl I can also write a little SeqUtils
HOWTO for the BioPerl wiki.

Frank


On Mon, 2012-01-09 at 18:29 +0000, Fields, Christopher J wrote:
> Sounds very promising!  The easiest way to contribute is via a fork of the code on Github with a pull request (as you already know, being a contributor to the Primer3 modules).
> 
> chris
> 
> On Jan 9, 2012, at 11:10 AM, Frank Schwach wrote:
> 
> > Hi all,
> > 
> > I needed to manipulate Bio::Seq objects with annotations and sequence
> > features to simulate molecular cloning techniques, e.g. to cut a vector
> > and insert a fragment into it while preserving all the annotations and
> > moving the features accordingly. 
> > My main aim was to split features that span deletion/insertion sites in
> > a meaningful way, which can not be done with the currently availble
> > methods.
> > I have modified Bio::SeqUtils so that I have the following new methods:
> > 
> > delete
> > ======
> > removes a segment from a sequence object and adjusts positions and types
> > of locations of sequence features:
> > - locations of features that span the deletion sites are turned into
> > Splits.
> > - locations that extend into the deleted region are turned to Fuzzy to
> > indicate that their true start/end was lost.
> > - locations contained inside the deleted regions are lost.
> > - other features are shifted according to the length of the deletion.
> > 
> > insert
> > ======
> > adds a Bio::Seq object into another one between specified insertion
> > sites. This also affects the features on the recipient sequence:
> > - locations of features that span the insertion site are split but
> > position types are not turned to Fuzzy because no part of the original
> > feature is lost.
> > - other features are shifted according to the length of the insertion.
> > 
> > ligate
> > ======
> > just for convenience. Supply a recipient, a fragment and one or two
> > sites to cut the recipient. Can also flip the fragment if required.
> > Simply calls delete [, reverse_complement_with_features] and insert in
> > turn.
> > 
> > 
> > One situation I haven't handled yet is a deletion that spans the origin
> > of a circular molecule but that should be a rare thing to do anyway. The
> > code currently throws an error if this is attempted.
> > 
> > I'm happy to contribute the code on Github if there is interest?
> > Comments on the handling of feature locations highly welcome!
> > 
> > Frank
> 
> 
> 
> 



-- 
 The Wellcome Trust Sanger Institute is operated by Genome Research 
 Limited, a charity registered in England with number 1021457 and a 
 company registered in England with number 2742969, whose registered 
 office is 215 Euston Road, London, NW1 2BE. 



More information about the Bioperl-l mailing list