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"; } } }
Partager