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

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

Replies are listed 'Best First'.
Re^10: Can't run Clustalw through Bioperl
by dimitris852 (Acolyte) on Mar 14, 2016 at 22:46 UTC

    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);
        Can you plz be more specific? I m really new to pearl. thanks!
Re^10: Can't run Clustalw through Bioperl
by dimitris852 (Acolyte) on Mar 14, 2016 at 21:03 UTC

    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.