Bonjour,
voila toujours des problemes avec le perl,
mon souci c'est que je dois construire un hash de taille d'intron a partir de fichier cds:
Je dois recuperer les coordonnees et construire lhash pour chaque id (CV-****),
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 # Colonne 1: scaffold # 2: gene id # 3: start # 4: dir # 5: origine gene model # 6: proteinId # 7: ex-nom # 8: coordonnees genomiques # 9: structure intron/exon # 10: segments du CDS couvert par EST C169-scaffold_1 C169v2-00001 3777 - ORIGINAL JGI 55057 Genemark1.1_g 3777..3857,4046..4192,4443..4561,4940..5234,5406..5540,5734..5847,6009..6098,6421..6492 C169-scaffold_1 C169v2-00002 12682 - ORIGINAL JGI 55058 Genemark1.2_g 12682..12691,13195..13445,13694..13711 C169-scaffold_1 C169v2-00003 18095 + ORIGINAL JGI 31905 fgenesh1_kg.1_#_1_#_4092_1_CBOZ_CBPA 18095..18097,18280..18410,18690..18972 C169-scaffold_1 C169v2-00004 20452 + ORIGINAL JGI 6968 gw1.1.615.1 20452..20496,20636..20726,20881..21046,21194..21382,21567..21735
pour cela si j'ai une coordonne que voici: a..b,c..d,e..f , les "," correspondent aux introns pour cela donc je dois prendre le couple(b,c) et (d,e) et faire la soustraction du start et end de lintron et calculer par la suite la taille de l'intron.
Voici mon code du debut mais j'arrive pas a regler le probleme du regex, mais aussi a lui dire que hash{$id}{$aa}=taille de l'intron et pour ca je dois faire pour chaque couple d'intron donc je devrais avoir pour cette exemple deux tailles dintron du couple (b,c) et (d,e).
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 (DESC1, "coco_cds"); while(<DESC2>){ next if /^\#/; chomp; my @exon=(split/,/,$coord); (my @intron)=($coord=~s/(/d+,/d+)/g); if ($strand eq '-'){ reverse(@exon,@intron); } for(0<$i<întron){ $exon=$exon[i]; $intron=$intron[i]; ($s,$e)=(split/,/,$intron); $taille=abs($e-$s+1); push @cds,($exon); $aa=int(@cds/3); hash{$id}{$aa}=#taille je ne sais pas comment lui dire } }
Est ce que vous pouvez m'aider pour mon code .
Merci
Partager