Bonjour !
La chose semble simple. Je suis relativement contente du code que j'ai pondu mais il marche pas et je sais pas pourquoi.

Le principe : parcourir une sequence LRAEMN.... et remplacer chaque position par la lettre en cours
exemple :
la lettre en cours est A
donc dans la sequence MTESTAAVTTSGHSLT :
dans mon fichier sortie je devrais avoir
ATESTAAVTTSGHSLT
MAESTAAVTTSGHSLT
MTASTAAVTTSGHSLT
ainsi de suite jusqu' à la derniere
MTESTAAVTTSGHSLA

puis on fait la même chose pour la lettre suivante (les lettres sont determines dans @AcideAmine)
voici ce que j'ai fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
my $seq = "";
 
while (my $ligne = <INFILE>) {
 
	if ($ligne =~ /^[\s\t]+$/) 
		{ next }   
 
	else {		
              #mutation de chaque position de la chaine 
		my @AcideAmine= ();
		@AcideAmine =("A","R","N","D","C","Q","E","G","H","I","L","K","M","F","P","S","T","W","Y","V");
 
		my $aa;
		chomp($ligne); #enleve le saut à la ligne à la fin 
		my @seq = split(//,$ligne);
		foreach $aa(@AcideAmine) {		
			#induction de la mutation pour chaque lettre de la sequence
			foreach my $lettre(@seq){
 
				my $x= $lettre cmp $aa;
				if ($x != 0){
					splice(@seq,$seq[$lettre],1,$aa);
					$seq = join(";",@seq);
					$seq=~ s/;$//;
					print OUTFILE $seq."\n"
							}
				else 
					{next}
 
						}
					}
 
		}
}
mon message d'erreur est :
Argument "N" isn't numeric in array element at Mutation.pl line 39, <INFILE> line 4.
Argument "D" isn't numeric in splice at Mutation.pl line 39, <INFILE> line 4.

Je suis d'accord que c'est pas numerique et justement c'est pas ce que je veux !
en plus j'utilise splice qui est fait pour les listes???
no comprendo
danke schon sehr sehr