Bonjour je suis nouveau en perl,
je dois a partir d'un fichier (ceci est un petit bout du fichier):
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 .
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 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.
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.
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; }
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
Partager