[Bioperl-l] bioperl: cannot run emboss programs using bioperlon windows

Jason Stajich jason at bioperl.org
Thu Nov 1 14:37:24 EDT 2007


You could try this - can't test it though so not sure.
my $fuzznuc = $f->program('fuzznuc');
$fuzznuc->executable('C:\EMBOSSwin\fuzznuc');

-jason
On Nov 1, 2007, at 2:06 PM, Rohit Ghai wrote:

>
>
> Thanks for all the suggestions... but I unfortunately still cannot run
> emboss. I am running the latest version of embosswin  (2.10.0- 
> Win-0.8),
> and the
> path is set correctly. I printed $ENV{$PATH} and this contains
> C:\EMBOSSwin which is the correct location.
> I also tried setting the path directly but I'm not sure how to do  
> this,
> so I tried this...
>
> my $fuzznuc = $f->program('C:\\EMBOSSwin\\fuzznuc');
>
> this also did not work.
>
> Also tried printing...
> $fuzznuc->executable()
>
> gave the following error again
> -------------------- WARNING ---------------------
> MSG: Application [C:\EMBOSSwin\fuzznuc] is not available!
> ---------------------------------------------------
>
> Any more ideas ?
>
> thanks !
> Rohit
>
>
> here's the code...
>
> use strict;
> use Bio::Factory::EMBOSS;
> use Data::Dumper;
>
> #
> # print "PATH=$ENV{PATH}\n";
> # path contains C:\EMBOSSwin which is the correct location
> # embossversion is 2.10.0-Win-0.8
>
>  my $f = Bio::Factory::EMBOSS->new();
>  # get an EMBOSS application  object from the factory
>  print Dumper ($f);
>  my $fuzznuc = $f->program('C:\\EMBOSSwin\\fuzznuc'); #tried  
> fuzznuc.exe
> as well,
>  print Dump ($fuzznuc);
>
>  #dump of fuzznuc
>  #$VAR1 = bless( {
>  #                '_programgroup' => {},
>  #                '_programs' => {},
>  #                '_groups' => {}
>  #              }, 'Bio::Factory::EMBOSS' );
>
>  #print "executing -- >", $fuzznuc->executable, "\n" ; # doesn't work
>
>  my $infile = "temp.fasta";
>  my $motif  = "ATGTCGATC";
>  my $outfile = "test.out";
>
>
>  $fuzznuc->run(
>                   { -sequence  => $infile,
>                     -pattern   => $motif,
>                     -outfile   => $outfile
>               });
>
> Here's the error again....
>
> #-------------------- WARNING ---------------------
> #MSG: Application [C:\EMBOSSwin\fuzznuc] is not available!
> #---------------------------------------------------
>
>
>
>
> Jason Stajich wrote:
>> Presumably the PATH is not getting set properly - you should play
>> around printing the $ENV{PATH} variable in a perl script to see if
>> actually contains the directory where the emboss programs are
>> installed.  Bioperl can only guess so much as to where to find an
>> application.  It is also possible that we aren't creating the proper
>> path to the executable - you can print the executable path with
>> print $fuzznuc->executable
>> I believe unless it is throwing an error at the program() line.
>>
>> It looks like the code in the Factory object is a little fragile
>> assuming that the programs HAVE to be in your $PATH.  I don't know if
>> windows+perl is special in any way that it run things so I can't
>> really tell if there is specific things you have to do here. You may
>> have to run this through cygwin in case PATH and such are just not
>> available properly to windowsPerl.
>>
>> -jason
>> On Nov 1, 2007, at 5:45 AM, Rohit Ghai wrote:
>>
>>> Dear all,
>>>
>>> I have emboss installed on a windows machine. (Embosswin). I can run
>>> this from the dos command line and the path is present. However,  
>>> when I
>>> try to call
>>> an emboss application from bioperl I get a "Application not found  
>>> error"
>>>
>>>
>>>   my $f = Bio::Factory::EMBOSS->new();
>>>   # get an EMBOSS application  object from the factory
>>>   my $fuzznuc = $f->program('fuzznuc');
>>>     $fuzznuc->run(
>>>                   { -sequence  => $infile,
>>>                         -pattern   => $motif,
>>>                        -outfile   => $outfile
>>>               });
>>>  gives the following error
>>>
>>> -------------------- WARNING ---------------------
>>> MSG: Application [fuzznuc] is not available!
>>> ---------------------------------------------------
>>> Can't call method "run" on an undefined value at  
>>> searchPatterns.pl line
>>> 102.
>>>
>>> Can somebody help me fix this ?
>>>
>>> best regards
>>> Rohit
>>>
>>> -- 
>>>
>>> Dr. Rohit Ghai
>>> Institute of Medical Microbiology
>>> Faculty of Medicine
>>> Justus-Liebig University
>>> Frankfurter Strasse 107
>>> 35392 - Giessen
>>> GERMANY
>>>
>>> Tel  : 0049 (0)641-9946413
>>> Fax  : 0049 (0)641-9946409
>>> Email:  Rohit.Ghai at mikrobio.med.uni-giessen.de
>>> <mailto:Rohit.Ghai at mikrobio.med.uni-giessen.de>
>>>
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l at lists.open-bio.org <mailto:Bioperl-l at lists.open-bio.org>
>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>
>> --
>> Jason Stajich
>> jason at bioperl.org <mailto:jason at bioperl.org>
>>
>
> -- 
>
> Dr. Rohit Ghai
> Institute of Medical Microbiology
> Faculty of Medicine
> Justus-Liebig University
> Frankfurter Strasse 107
> 35392 - Giessen
> GERMANY
>
> Tel  :	0049 (0)641-9946413
> Fax  :	0049 (0)641-9946409
> Email:  Rohit.Ghai at mikrobio.med.uni-giessen.de
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l

--
Jason Stajich
jason at bioperl.org



More information about the Bioperl-l mailing list