[Bioperl-l] Bio::Restriction refactor[Was:Bio::Restriction::Analysis. Exception when using rebasefile.]
Mark A. Jensen
maj at fortinbras.us
Tue Jun 16 16:10:34 EDT 2009
Right; will remove branch. Will go ahead with merge at 21:20 UTC.
cheers MAJ
----- Original Message -----
From: "Chris Fields" <cjfields at illinois.edu>
To: "Mark A. Jensen" <maj at fortinbras.us>
Cc: <bioperl-l at lists.open-bio.org>; "Rasmus Ory Nielsen" <ron at ron.dk>
Sent: Tuesday, June 16, 2009 2:31 PM
Subject: Re: [Bioperl-l] Bio::Restriction
refactor[Was:Bio::Restriction::Analysis. Exception when using rebasefile.]
> Everything passes on my end (Mac OS X 10.5, perl 5.10.0). +1 on the merge.
>
> Also (as mentioned some time back w/ Hilmar among others), we can probably
> delete this branch seeing as the code will be merged to trunk (it being a
> feature branch and all). Worth doing the same for a few other feature
> branches as well.
>
> chris
>
> On Jun 16, 2009, at 12:58 PM, Mark A. Jensen wrote:
>
>> Dear All,
>>
>> There are tests for the new functionality of Bio::Restriction
>> now in t/Restriction on the branch, along with the withrefm.906
>> in t/data that revealed the bug in RON's post. All tests pass without
>> warnings on my machine (which is bioperl live, perl 5.10.10,
>> under Vista/cygwin - yes, I still don't have a real computer).
>> We're ready for a merge on my end.
>>
>> Thanks all for your silent assent to these machinations.
>> cheers
>> Mark
>>
>> ----- Original Message ----- From: "Mark A. Jensen" <maj at fortinbras.us>
>> To: "Rasmus Ory Nielsen" <ron at ron.dk>; <bioperl-l at lists.open-bio.org>
>> Sent: Monday, June 15, 2009 7:49 PM
>> Subject: [Bioperl-l] Bio::Restriction refactor
>> [Was:Bio::Restriction::Analysis. Exception when using rebasefile.]
>>
>>
>>> Dear All,
>>>
>>> The revamped Bio::Restriction::* in branch
>>>
>>> REPOS/bioperl-live/branches/restriction-refactor
>>>
>>> passes all existing tests, including those in t/Restriction.
>>> New tests will be added within the next day or so.
>>> The original bug occurred because only a subset of
>>> the possible rebase withrefm-formatted enzymes were
>>> handled; it choked on freshly-downloaded rebase
>>> files because of this.
>>>
>>> The refactored version now handles *all* rebase types,
>>> including those of rebase forms
>>>
>>> XXX^X [ intrasite cutters, the main types
>>> built in to base.pm]
>>> XXXX(m/n) [ right-end extrasite cutters ]
>>> (s/t)XXXX [ left-end ditto ]
>>> (s/t)XXXX(m/n) [ double-end ditto],
>>>
>>> palindromic and non-palindromic, as well as multisite
>>> enzymes that string together combinations of these
>>> forms. Much rationalization (well, seems rational to me
>>> anyway) and cruft removal in the affected code has also
>>> occurred. itype2.pm has been updated as well, to
>>> conform to the refactoring.
>>>
>>> If you're dying to try this now, get a working copy
>>> of the branch like so
>>>
>>> $ svn co svn://code.open-bio.org/bioperl/bioperl-live/branches/
>>> restriction-refactor bioperl-rr
>>> $ cd bioperl-rr
>>> $ perl Build.PL
>>> $ ./Build test
>>> $ ./Build install
>>>
>>> This will only hammer your current installation in the
>>> $SITE_LIB/Bio/Restriction path; I worked only on
>>> a sparse checkout of the necessary files. To revert to your
>>> old install, do
>>>
>>> $ cd $MY_OLD_BIOPERL_WORKINGDIR
>>> $ ./Build install
>>>
>>> [In the possible event that these instructions are in error,
>>> there will be a response on this list in a matter of
>>> milliseconds, so stand by.]
>>>
>>> Happy coding-
>>> Mark
>>>
>>>
>>>
>>>
>>> ----- Original Message ----- From: "Rasmus Ory Nielsen" <ron at ron.dk>
>>> To: <bioperl-l at lists.open-bio.org>
>>> Sent: Wednesday, June 10, 2009 3:35 AM
>>> Subject: [Bioperl-l] Bio::Restriction::Analysis. Exception when using
>>> rebasefile.
>>>
>>>
>>>> Hi,
>>>>
>>>> This is my first time using bioperl for restriction analysis, so please
>>>> bear with me, if this is a FAQ.
>>>>
>>>> I downloaded withrefm.906 from ftp://ftp.neb.com/pub/rebase/ and created
>>>> the script shown at the bottom of the mail.
>>>> My bioperl version is bioperl-live nightly from 09-Jun-2009.
>>>>
>>>> The scripts throws an exception - see below. But, if I comment out the
>>>> '-enzymes' argument, so it uses the built-in collection of enzymes, it
>>>> works.
>>>>
>>>> My problem is, that I need to use some of the enzymes that are only
>>>> available in rebase. So how do I get this working?
>>>>
>>>> Thanks for your attention.
>>>>
>>>> Best regards,
>>>> Rasmus Ory Nielsen
>>>>
>>>>
>>>> ############################################################
>>>> Output from the script:
>>>> ############################################################
>>>>
>>>> [roni at ksdhcp ~]$ ./restriction_test.pl
>>>>
>>>> --------------------- WARNING ---------------------
>>>> MSG: The enzyme name CviKI-1 was changed to CviKI-I
>>>> ---------------------------------------------------
>>>>
>>>> ------------- EXCEPTION -------------
>>>> MSG: Bad end parameter (11). End must be less than the total length of
>>>> sequence (total=7)
>>>> STACK Bio::PrimarySeq::subseq /usr/local/lib/perl5/site_perl/
>>>> 5.10.0/Bio/PrimarySeq.pm:401
>>>> STACK Bio::Restriction::Analysis::_enzyme_sites /usr/local/lib/
>>>> perl5/site_perl/5.10.0/Bio/Restriction/Analysis.pm:900
>>>> STACK Bio::Restriction::Analysis::_cuts /usr/local/lib/perl5/
>>>> site_perl/5.10.0/Bio/Restriction/Analysis.pm:801
>>>> STACK Bio::Restriction::Analysis::cut /usr/local/lib/perl5/
>>>> site_perl/5.10.0/Bio/Restriction/Analysis.pm:379
>>>> STACK Bio::Restriction::Analysis::fragment_maps /usr/local/lib/
>>>> perl5/site_perl/5.10.0/Bio/Restriction/Analysis.pm:515
>>>> STACK toplevel ./restriction_test.pl:30
>>>> -------------------------------------
>>>>
>>>> [roni at ksdhcp ~]$
>>>>
>>>>
>>>> ############################################################
>>>> Output from the script with the '-enzymes' argument commented out
>>>> ############################################################
>>>>
>>>> [roni at ksdhcp ~]$ ./restriction_test.pl
>>>>
>>>> --------------------- WARNING ---------------------
>>>> MSG: The enzyme name CviKI-1 was changed to CviKI-I
>>>> ---------------------------------------------------
>>>> $VAR1 = [
>>>> {
>>>> 'seq' => 'CTCGACCGTTAGCAA',
>>>> 'end' => 15,
>>>> 'start' => '1'
>>>> },
>>>> {
>>>> 'seq' => 'AGCTTTCTACCGTTATCGT',
>>>> 'end' => 34,
>>>> 'start' => '16'
>>>> }
>>>> ];
>>>> [roni at ksdhcp ~]$
>>>>
>>>> ############################################################
>>>>
>>>> #!/usr/bin/perl
>>>> use strict;
>>>> use warnings;
>>>> use Bio::PrimarySeq;
>>>> use Bio::Restriction::IO;
>>>> use Bio::Restriction::Analysis;
>>>> use Data::Dumper;
>>>>
>>>> # create seq obj
>>>> my $seqobj = new Bio::PrimarySeq(
>>>> -seq => 'CTCGACCGTTAGCAAAGCTTTCTACCGTTATCGT',
>>>> -primary_id => 'test',
>>>> -molecule => 'dna'
>>>> );
>>>>
>>>> # read rebase file
>>>> my $rebase_io = Bio::Restriction::IO->new(
>>>> -file => 'withrefm.906',
>>>> -format => 'withrefm',
>>>> );
>>>> my $rebase_collection = $rebase_io->read;
>>>>
>>>> # start restriction analysis
>>>> my $restriction_analysis = Bio::Restriction::Analysis->new(
>>>> -seq => $seqobj,
>>>> -enzymes => $rebase_collection, # it works with this line commented
>>>> out
>>>> );
>>>>
>>>> # retrieve fragment maps
>>>> my @fragment_maps = $restriction_analysis->fragment_maps('HindIII');
>>>> print Dumper \@fragment_maps;
>>>> _______________________________________________
>>>> Bioperl-l mailing list
>>>> Bioperl-l at lists.open-bio.org
>>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l at lists.open-bio.org
>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>>
>>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>
>
More information about the Bioperl-l
mailing list