Bonjour,
je suis nouveau en perl, mon souci cest que j'ai un premier programme qui me donne des valeurs de positions de blast(aligenement de sequence)
Par exemple prenoms pour la premiere sequence:
Je dois a partir de ces donnees verifier si chaque lettre est bein positionne avec l'autre, je m'explique prenons que jai une lettre qui est en position 54 est en face d'une lettre de l'autre sequence 65 donc cest bon, je dois renvoyer les deux positions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $seq1=24 54 92 137 235 275 324 $seq2=65 137 14
Voici , le fichier que je dois verfier, query etant la premiere sequence et sbjct etant la deuxieme, donc le plus plus facil cest tout dabord recuperer les deux valeurs dentree 61 car ca nous donne linformation sur la premiere de lettre de chaque sequence.
Ensuite mon souci cest la lecture de chauqe sequence et verfier si jai la position dans $seq.
Voici le debut de mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Query: 61 PVFRAQFHAMCANIGVDPLASNKGVWAQVLGFGDFYYELGVQIVEACLASRSLNGGLMDM 120 P FRAQFH MCAN+GVDPLASNKG++AQ+LG GDFYY+LGVQI+EACLA+R+ NGG++++ Sbjct: 61 PTFRAQFHVMCANVGVDPLASNKGMFAQLLGIGDFYYQLGVQIIEACLATRTHNGGMIEL 120
Merci
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 #!/usr/local/bin/perl use strict; use warnings; open my $blast_file, '<', "out.bl" or die; my $query_seq = ''; my $sbjct_seq = ''; while (my $line = <$blast_file>){ if ($line =~ m/Query: \d+ ([A-Z]+)/){ $query_seq .= $1 } elsif ($line =~ m/Sbjct: \d+ ([A-Z]+)/){ $sbjct_seq .= $1 } }
Partager