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

Rohit Ghai Rohit.Ghai at mikrobio.med.uni-giessen.de
Thu Nov 1 14:06:48 EDT 2007



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



More information about the Bioperl-l mailing list