Bonjour,
Je suis nouveau en perl car je fais plus de python, mais la je voulais faire un programme de calcul nucleotidique en perl car on m'a dit que ce serait plus simple:
Voila mon soucis:
J'ai un fichier blast:
Les deux premiers colonne representent mes deux proteines et les 4 autres les positions, exemple C169v2-00001 64 112 et pour Aster-03513 1192 1246
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 C169v2-00001 Aster-03513 64 112 1192 1246 C169v2-00002 Aster-03154 2 83 172 264 C169v2-00003 Aster-06252 74 116 57 96 C169v2-00004 Aster-05984 1 218 24 243
je voudrais a partir des coordonnees genomiques qui sont dans un fichier cds faire la cocordance avec les coordonnees ci dessus.
par exemple restons sur les proteines 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
Voila l'algorithme que j'ai pense:
Si je prends le premier C169v2-00001 3777..3857,4046..4192,4443..4561,4940..5234,5406..5540,5734..5847,6009..6098,6421..6492
Je dois remplir une table C169v2-00001table=(37777,3778,....22362)
ceci est la meme chose que si je dis d'apres ce que j'ai lu en perl @table=(3777..3857,3777..3857,4046..4192,4443..4561,4940..5234,5406..5540,5734..5847,6009..6098,6421..6492)
Ensuite je fais un
Bon je resume car la je suis pas bon en perl:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for(i=0;i<@tailletable;i+3) aa++;
si j'ai coco1 10..39,100..129
je dois remplir une table aa--> codon:
1->10
2->13
.
.
.
arrive a 11->39 il y a la virgule(qui correspond a un intron)
12->112(100+12)
a la fin je dois partir au premier fichier et faire la concordance coco1 10->1,129->19 par exple
Est ce que quelqu' un a une idee d'algorithme car la je suis perdu en perl
Le souci c'est que j'ai fait le programme en python mais j'ai un calcul du dico qui marche pas , donc on m'a dit qu'en perl ca serait plus simple.
Merci
Partager