[Bioperl-l] bioperl: cannot run emboss programs using bioperlonwindows
Chris Fields
cjfields at uiuc.edu
Thu Nov 1 20:07:39 UTC 2007
I did a little investigating using my old PC and was able to get
fuzznuc to run using BioPerl and EMBOSS v5. I had to jump through a
hoop or two but I managed to get it working.
First, realize that EMBOSSWin is NOT the latest EMBOSS for Windows.
You need to remove EMBOSSWin and install the one I linked to
previously (this is an actual EMBOSS beta release). It's possible
older EMBOSSWin can be configured, but I don't plan on checking it
out myself.
Next, you need to ensure the binaries are in your PATH env. variable
(test by running 'wossname' on the command line), then set
EMBOSS_DATA to point at the EMBOSS data directory using a UNIX-like
path (i.e. 'C:/mEMBOSS/data'); regular Win32 paths didn't work for me
and WinXP recognizes the UNIX'y form as a valid path. If you don't
know how to set env. variables go here:
http://vlaurie.com/computers2/Articles/environment.htm
Once that is set up you should be able to run the script using the
latest (greatest?) EMBOSS.
chris
On Nov 1, 2007, at 1:41 PM, Rohit Ghai wrote:
> Hi Jason
>
> I tried this as well. This also gives the same error message.
>
> -Rohit
>
> Jason Stajich wrote:
>> 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>
>>>>> <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
>>> <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
Christopher Fields
Postdoctoral Researcher
Lab of Dr. Robert Switzer
Dept of Biochemistry
University of Illinois Urbana-Champaign
More information about the Bioperl-l
mailing list