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
Partager