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

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

  • Comment on Re^10: Can't run Clustalw through Bioperl

Replies are listed 'Best First'.
Re^11: Can't run Clustalw through Bioperl
by Anonymous Monk on Mar 14, 2016 at 23:14 UTC

    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!

        I Just made it work! Steps to make it work:

        1)copy the clustalw2.exe

        2)paste it on your e.g. Desktop

        3)Rename it to clustalw.exe

        4)Give the $ENV{CLUSTALDIR}the new path to clustalw.exe

        and it works!

        (at first tried to rename the basic clustalw2.exe of 'C:\Program Files (x86)\ClustalW2' but didn't work)

        Thanks everybody for your help and your time! Have a nice day!