in reply to Re^7: Can't run Clustalw through Bioperl
in thread Can't run Clustalw through Bioperl

yeap the file is clastalw2.exe and NOT clustalw.exe as written on perl error.I was cleary searching for wrong file.

If I C:\> where clustalw2.exe I get eventually: C:\Program Files (x86)\ClustalW2\clustalw2.exeSo I can find the executable by command line. But

 'C:\Program Files (x86)\ClustalW2' is the same i use from the beggining, and even though I ve put ENV{CLUSTALDIR} on the script and add it to Windows Path variable i have this error..

Replies are listed 'Best First'.
Re^9: Can't run Clustalw through Bioperl
by poj (Abbot) on Mar 14, 2016 at 20:38 UTC

    Try creating a shortcut clustalw.exe to C:\Program Files (x86)\ClustalW2\clustalw2.exe

    or add this line to your code

    $Bio::Tools::Run::Alignment::Clustalw::PROGRAM_NAME = 'clustalw2';
    poj

      by adding this line:

      'C:\Program' is not recognized as an internal or external command, operable program or batch file. ------------- EXCEPTION ------------- MSG: ClustalW call (C:\Program Files (x86)\ClustalW2\clustalw2.exe align -infile="C:mplamplamplamAppData\Local\Temp\mmbu9X1Xk7\_L046A68Sd" -output=gcg -matrix=BLOSUM -ktuple=3 -outfile="C:mplamplampla\AppData\Local\Temp\mmbu9X1Xk7\QsDsDa0tAB" 2>&1) crashed: 256 STACK Bio::Tools::Run::Alignment::Clustalw::_run C:/Strawberry/perl/site/lib/Bio/Tools/Run/Alignment/Clustalw.pm:768 STACK Bio::Tools::Run::Alignment::Clustalw::align C:/Strawberry/perl/site/lib/Bio/Tools/Run/Alignment/Clustalw.pm:515 STACK toplevel C:mplamplampla\c3.pl:28

        Now that part is bug in the module, its using string form of system, which is subject to shell interpolation, can be fixed like

        ## my $commandstring = $self->executable."$instring"."$param_stri +ng"; ## $commandstring .= ' 1>/dev/null' if $quiet; ## $self->debug( "clustal command = $commandstring"); ## ## my $status = system($commandstring); my @command = ( $self->executable, $instring, $param_string +); $self->debug( "clustal command = @command "); my $status = system(@command);

      You mean creating a shortcut of clustalw2.exe and rename it to clustalw.exe? By the way Windows doen't let me create shrotcut in this folder. Suggested me putting the shortcut to Descktop.