Bonjour je suis nouveau en perl,
je dois a partir d'un fichier (ceci est un petit bout du fichier):
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
 
C169v2-04488	Aster-06787
C169v2-04487	Aster-06725
C169v2-04480	Aster-06724
C169v2-04481	Aster-06792
C169v2-03069	Aster-04749
C169v2-03068	Aster-01309
C169v2-03061	Aster-06908
C169v2-03060	Aster-04730
C169v2-03067	Aster-04746
C169v2-03066	Aster-04710
C169v2-03065	Aster-04711
C169v2-03064	Aster-05029
C169v2-03285	Aster-01180
C169v2-03283	Aster-04356
C169v2-03282	Aster-01211
C169v2-03281	Aster-05299
C169v2-03280	Aster-01473
C169v2-03289	Aster-06954
C169v2-07315	Aster-00866
C169v2-07314	Aster-00182
Donc le but est de fixer les C169-***, car je vais dois regarder si deux genes qui se suivent par exemple C169v2-04480 C169v2-04481 n'ont pas de gens orthologues qui se suivent aussi même si ils sont renverses, par exemple si j'avais deux gènes Aster Aster -0002 puis 0001 ca marche .
Donc je voulais savoir je voulais faire un hash qui contiendrait tous les CV et leurs asters puis je pars du premier Cv-** puis je compare si j'ai pas un CV-**** plus grand que un ou plus petit puis je regarde leurs gènes orthologues.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
#!/usr/local/bin/perl
open IN, 'intron2.txt';
while(<IN>){
	my	($A,$B)=(split/\t/);	
	  %hash;
	  $hash{$A}=$B;	
 
}
Donc la je ne sais pas comment parcourir le hash en fixant la premiere valeur de CV-** lui ajouter -1 verfier si il existe la valeur obtenue dans le hash, si il existe je verfie si le aster coorespondant du premier Cv et de celui que je viens de regarder ce suivent ou pas sinon je continue en faisant +1 , et ainsi de suite.

P.S:Je refais l'exemple si je prends le premier C169v2-04488 je lui ajoute +1 je trouve C169v2-04489 je regarde si ce chiffre existe si il existe je vais regarder par la suite si le Aster-06787 correspond soit Aster-06786 ou Aster-06788 si ca ne correspond pas je regarde -1 je fais la meme chose.
Si j'ai fini je passe a l'autre.


merci