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:
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
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
je voudrais a partir des coordonnees genomiques qui sont dans un fichier cds faire la cocordance avec les coordonnees ci dessus.
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
par exemple restons sur les proteines CV

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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
for(i=0;i<@tailletable;i+3)
         aa++;
Bon je resume car la je suis pas bon en perl:
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