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:
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
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.

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.

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
Voici le debut de mon code:
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
	}
 
 
}
Merci