bonjour,

J'ai une séquence et j'aimerais connaître le nombre de N dans celle-ci.
la position du premier N rencontré et celle du dernier N rencontré

fichier
>seq_1
ATTTTNNNNNGATCA
>seq_2
ATTTTAAAAAAGATCA

ce que je souhaite faire dans mon script c'est lorsque l'on rencontre un N on conserve la position et lorsque l'on rencontre le dernier N on conserve la poisition.

Ce que je n'arrive pas à traduire c'est garder le dernier N.



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
my $nbre =0;
open (SEQ, "< interm") or die("Impossible de lire dans le fichier$!");
 
while( my $ligne=<SEQ>){
    if($ligne =~ /^>(.+)$/){
	$nbre ++; 
    }
    else{
	if($ligne =~ /N/){
           for(my $i=1; $i<= length($ligne) ; $i++){
                if(substr("$ligne",0,$i) =~  /N/){
                       if( substr("$ligne",0,$i+1) ne  "N"){
                               #si la base suivante n'est pas un N, on conserve la position
	                       my $x=$i+1;
                               print("début: $i\tfin: $x");
	              }	
	       }
	  }
      }
   }
}

au final j'aimerais avoir
seq_1 \t2569 \t3520
seq_2 \t0 \t0



Pouvez vous m'orienter, merci