Bonjour,
Je souhaite réaliser un alignement multiple de type clustalW. Etant donnée que je n'ai pas trouvé d'executable de cette algorithme, je suis passé par l'installation du module Run de Bioperl...

Helas lorsque je lance mon script, une exception est levée...Je ne comprends pas pourquoi...

Voila mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
#nombre de sequence 3, sortie redirigée vers un fichier 
@params = ('ktuple' => 3, 'outfile' => 'fichier.txt');
# on crée un objet
$factory = Bio::Tools::Run::Alignment::Clustalw->new(@params);
# on lance l'alignment des sequences contenue dans le fichier $ARGV[0]
$aln = $factory->align($ARGV[0]);

L'exception qui est levée est:

------------- EXCEPTION -------------
MSG: Clustalw call ( align -infile=seqs.fa -output=Clustal -output=Clustal -ktuple=3 -outfile=tests.txt) crashed: -1

STACK Bio::Tools::Run::Alignment::Clustalw::_run /Library/Perl/5.8.1/Bio/Tools/Run/Alignment/Clustalw.pm:556
STACK Bio::Tools::Run::Alignment::Clustalw::align /Library/Perl/5.8.1/Bio/Tools/Run/Alignment/Clustalw.pm:472
STACK toplevel clustalw.pl:6

--------------------------------------
J'ai regardé a quelle ligne de code dans le module clustalw.pm cela correspondait...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
    my $commandstring = $self->executable." $command"." $instring".
	" -output=$output". " $param_string";
 
    $self->debug( "clustal command = $commandstring");
    my $status = system($commandstring);    
    $self->throw( "Clustalw call ($commandstring) crashed: $? \n") unless $status==0;
Voila, j'ai du mal a interprété cela...Faut 'il un executable avec ce module...Si oui, lequel???

Merci