[Bioperl-l] Bio::Tools::Run::Cap3 - Parameters
Chris Fields
cjfields at illinois.edu
Wed May 6 16:07:00 UTC 2009
Jonathan,
Have a diff file? We can fix that on main trunk for the next release.
chris
On May 6, 2009, at 10:45 AM, Jonathan Crabtree wrote:
> The "new" argument to Cap3 expects an array, not a string. So I
> think you
> need to do this:
>
> my $cap3Factory = Bio::Tools::Run::Cap3->new('y', '150');
>
> rather than this:
>
> my $cap3Factory = Bio::Tools::Run::Cap3->new('y 150');
>
> Otherwise it will silently ignore the parameter. There are also
> several
> problems with the Cap3 module itself, at least the version shown here:
>
> http://cpansearch.perl.org/src/CJFIELDS/BioPerl-run-1.6.1/Bio/Tools/Run/Cap3.pm
>
> Those problems are:
>
> 1. "y" is not in the PARAMS array, as Brian and Kevin have noted
> 2. $PROGRAMDIR appears to be hard-coded to /usr/local/bin (OK if
> that's
> where your cap3 is installed)
> 3. The run() method does this:
>
> my $commandstring = $exe . $param_string . " $infilename1";
>
> but at least for the version of cap3 I'm using, you need to put the
> $param_string _after_ the $infilename1 for it to work. Once all these
> things are corrected it worked for me and correctly passed the -y
> 150 to
> cap3 when new() was called as shown above.
>
> Jonathan
>
>
> On Wed, May 6, 2009 at 11:23 AM, Kevin Brown <Kevin.M.Brown at asu.edu>
> wrote:
>
>> BEGIN {
>>
>> @PARAMS = qw(a b c d e f g m n o p s u v x);
>> $PROGRAMDIR = '/usr/local/bin';
>>
>> # Authorize attribute fields
>> foreach my $attr (@PARAMS) { $OK_FIELD{$attr}++;
>>
>> }
>>
>> That is the list of params that Cap3 will accept in the BioPerl
>> module.
>> I'm guessing if you add the y to that list that it might work.
>>
>>> -----Original Message-----
>>> From: bioperl-l-bounces at lists.open-bio.org
>>> [mailto:bioperl-l-bounces at lists.open-bio.org] On Behalf Of
>>> Michael Stubbington
>>> Sent: Wednesday, May 06, 2009 7:39 AM
>>> To: bioperl-l at lists.open-bio.org
>>> Subject: [Bioperl-l] Bio::Tools::Run::Cap3 - Parameters
>>>
>>> Dear all,
>>>
>>>
>>>
>>> I am using the Bio::Tools::Run::Cap3 wrapper to the Cap3 assembly
>>> program. I have some reads that will only assemble if cap3 is
>>> used with
>>> the '-y 150' option. This is fine from the command line but I
>>> can't work
>>> out how to pass this option to the Cap3 factory object in my script.
>>>
>>>
>>>
>>> If I do the following
>>>
>>>
>>>
>>> my $params = "y 150" ;
>>>
>>> my $cap3Factory = Bio::Tools::Run::Cap3->new($params);
>>>
>>> my $assembly = $cap3Factory->run($file);
>>>
>>>
>>>
>>> Then I get an exception as follows:
>>>
>>>
>>>
>>> ------------- EXCEPTION: Bio::Root::Exception -------------
>>>
>>> MSG: Unallowed parameter: y !
>>>
>>> STACK: Error::throw
>>>
>>> STACK: Bio::Root::Root::throw
>>> /Users/mike/lib/perl5/site_perl/5.8.9/Bio/Root/Root.pm:357
>>>
>>> STACK: Bio::Tools::Run::Cap3::AUTOLOAD
>>> /Users/mike/lib/perl5/site_perl/5.8.9/Bio/Tools/Run/Cap3.pm:116
>>>
>>> STACK: Bio::Tools::Run::Cap3::new
>>> /Users/mike/lib/perl5/site_perl/5.8.9/Bio/Tools/Run/Cap3.pm:101
>>>
>>> STACK: /Users/mike/perlScripts/QGenotype.pl:150
>>>
>>>
>>>
>>> If I don't try to pass any parameters to Cap3 it runs fine but just
>>> fails to assemble the reads that need the -y 150 flag.
>>>
>>>
>>>
>>> I'd very much appreciate any help with this. I'm pretty new
>>> to bioperl,
>>> hope I haven't missed anything obvious!
>>>
>>>
>>>
>>> Thanks in advance,
>>>
>>>
>>>
>>> Mike
>>>
>>>
>>>
>>> --------------------------------------------------------------
>>> ----------
>>> ----
>>>
>>> Mike Stubbington
>>>
>>> Novel and Dangerous Pathogens
>>>
>>> Health Protection Agency
>>>
>>> Centre for Emergency Preparedness and Response
>>>
>>> Porton Down
>>>
>>> Salisbury
>>>
>>> SP4 0JG
>>>
>>>
>>>
>>> Tel: +44 1980 619812
>>>
>>>
>>>
>>>
>>>
>>> -----------------------------------------
>>> **************************************************************
>>> ************
>>> The information contained in the EMail and any attachments is
>>> confidential and intended solely and for the attention and use of
>>> the named addressee(s). It may not be disclosed to any other person
>>> without the express authority of the HPA, or the intended
>>> recipient, or both. If you are not the intended recipient, you must
>>> not disclose, copy, distribute or retain this message or any part
>>> of it. This footnote also confirms that this EMail has been swept
>>> for computer viruses, but please re-sweep any attachments before
>>> opening or saving. HTTP://www.HPA.org.uk
>>> **************************************************************
>>> ************
>>> _______________________________________________
>>> 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