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

Fields, Christopher J cjfields at illinois.edu
Mon Jan 9 13:29:44 EST 2012

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).


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

More information about the Bioperl-l mailing list