Bonjour,

désolé mais le post précédent n'est pas résolu.
Je suis plus à l'aise avec la méthode suivante néanmoins j'ai un souci:
quand ma séquence possède plusieurs fragment de N. Je bloque pour indiquer le nom de la séquence


fichier
>seq_1
ATTTTNNNNNGATCANNNNN
>seq_2
ATTTTGTANNNN
>seq_3
ATTTTAAAAAAGATCA
>seq_4
ATTTTNNNNN

en effet, j'obtiens:
seq_4 6 10
seq_1 6 10
16 20
seq_3 0 0
seq_2 9 12


alors que je voudrais que ce soit
seq_4 6 10
seq_1 6 10
seq_1 16 20#avoir indiqué seq1
seq_3 0 0
seq_2 9 12





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
while( my $ligne=<SEQ>){
  my $current_seq;
  my $pos_debut = 0;
  my $pos_fin = 0;
*
  if($ligne =~ /^>(.+)$/){
    $current_seq = $1;
    print $current_seq."\t";
  }
  else{
    if($ligne =~ /N/){
      while($ligne =~ /(N+)/g){
        $pos_fin = pos($ligne);
        $pos_debut = $pos_fin - length($1) + 1;
        print "$pos_debut\t$pos_fin\n";
      }
    }
    else{
      print "$pos_debut\t$pos_fin\n";
    }
  }
}