[Bioperl-l] bioperl: cannot run emboss programs using bioperlon windows
Jason Stajich
jason at bioperl.org
Thu Nov 1 18:37:24 UTC 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