bonjour,
J'ai fait un programme qui recupere les couples CV -*** et Aster-*** en recupereant tot le temps la premiere ligne quand il est repete plusieurs fois que la premiere, ensuite je verifie s'ils apparaissent dans les deux fichiers.
Mon souci c'est que j'arrive pas a recuperer les distances qui sont par exemple
C169v2-00004 Aster-05984 1 218 24 243.
Est ce que vous savez comment je peux recuperer sans modifier mon programme, car le soucis cest mon remplissage du dictionnaire.
Merci
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 C169v2-00004 Aster-05984 47.09 223 110 4 1 218 24 243 9e-55 207 C169v2-00005 Aster-03546 66.67 264 88 0 1 264 13 276 5e-101 362 C169v2-00006 Aster-06981 29.01 262 162 6 119 362 180 435 2e-20 96.3 C169v2-00006 Aster-06981 28.30 318 190 9 114 410 133 433 6e-19 91.3 C169v2-00006 Aster-03892 26.11 383 219 15 48 384 294 658 8e-19 90.9 C169v2-00006 Aster-03892 26.92 208 114 8 223 396 359 562 1e-11 67.0 C169v2-00006 Aster-05468 33.71 178 108 7 228 398 297 471 7e-18 87.8 C169v2-00006 Aster-05468 27.20 250 172 7 177 419 296 542 6e-16 81.3 C169v2-00006 Aster-05468 28.63 248 157 11 122 359 295 532 2e-12 69.3 C169v2-00006 Aster-05468 29.93 137 92 3 276 409 295 430 3e-09 59.3 C169v2-00006 Aster-05468 29.32 133 82 5 116 244 394 518 4e-07 52.0 C169v2-00006 Aster-02833 26.71 337 167 16 96 376 67 379 9e-15 77.4 C169v2-00006 Aster-02833 31.36 118 69 5 289 396 94 209 3e-06 49.3 C169v2-00006 Aster-00915 29.12 182 114 5 213 382 13 191 2e-13 72.8 C169v2-00006 Aster-00915 28.38 148 96 5 259 399 9 153 8e-11 64.3 C169v2-00006 Aster-00915 24.33 300 185 12 116 385 20 307 8e-08 54.3 C169v2-00006 Aster-00915 26.37 201 127 7 114 296 125 322 1e-07 53.9 C169v2-00006 Aster-00915 27.52 109 72 3 308 410 7 114 1e-05 47.4 C169v2-00006 Aster-00691 37.66 77 47 1 104 180 1 76 4e-08 55.5 C169v2-00006 Aster-00690 55.00 40 18 0 746 785 39 78 4e-08 55.5 C169v2-00007 Aster-02416 71.79 156 42 2 3 158 4 157 5e-53 201 C169v2-00008 Aster-00624 54.82 166 74 1 144 308 1 166 2e-48 187 C169v2-00008 Aster-02060 29.09 385 190 10 3 316 5 377 9e-36 145 C169v2-00008 Aster-01379 37.10 62 39 0 251 312 414 475 2e-08 54.7 C169v2-00008 Aster-01379 35.29 85 52 2 12 94 14 97 1e-07 52.0 Aster-05984 C169v2-00004 40.35 575 297 10 415 987 30 560 2e-92 336 Aster-03090 C169v2-05737 33.23 668 374 14 413 1069 11 617 3e-84 308 Aster-03090 C169v2-02908 33.28 601 380 7 413 1003 106 695 5e-84 308 Aster-03090 C169v2-00572 33.39 593 342 10 413 1002 49 591 1e-76 283 Aster-03090 C169v2-07329 33.45 586 312 15 387 946 19 552 1e-71 267 Aster-03090 C169v2-06044 23.17 164 103 3 6 155 1868 2022 3.7 29.6 Aster-03090 C169v2-02562 26.67 60 42 1 286 343 1046 1105 8.2 28.5 Aster-03546 C169v2-00005 30.16 63 42 1 129 189 163 225 8.2 28.5 Aster-03091 C169v2-07318 37.23 188 108 4 131 317 161 339 2e-26 115 Aster-03091 C169v2-07317 25.00 180 115 4 83 251 1371 1541 7e-06 46.6 Aster-03091 C169v2-07556 30.37 135 80 5 135 266 110 233 5e-05 43.9 Aster-03091 C169v2-00620 30.82 146 87 6 75 220 84 215 5e-05 43.9 Aster-03091 C169v2-01590 29.06 117 70 4 134 245 537 645 1e-04 42.4 Aster-03091 C169v2-02099 30.83 120 75 4 113 232 214 325 7e-04 40.0 Aster-03091 C169v2-01148 26.79 112 78 2 120 228 102 212 9e-04 39.7 Aster-03091 C169v2-06954 30.17 116 68 4 124 238 354 457 0.003 37.7 Aster-03091 C169v2-09185 33.04 112 54 5 37 148 1140 1230 0.004 37.4 Aster-02416 C169v2-00007 26.92 104 69 2 138 241 122 218 0.004 37.4 Aster-03091 C169v2-05464 24.59 183 118 6 59 231 106 278 0.006 37.0 Aster-03091 C169v2-00127 27.27 99 66 2 127 222 670 765 0.007 36.6 Aster-03091 C169v2-00984 26.60 94 61 3 130 223 103 188 0.010 36.2 Aster-03091 C169v2-07569 35.80 81 40 4 139 210 125 202 0.016 35.4 Aster-03091 C169v2-02230 27.74 137 78 5 26 147 289 419 0.021 35.0 Aster-03091 C169v2-02230 28.04 107 68 3 44 143 2125 2229 1.2 29.3
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 #! /usr/bin/python #coding=utf-8 #parseur 1-----------------------reciprocal best blast hits------------------------------------------------------------------------------- d1, d2 = {}, {} # dcitionnaire d3={} essai1=[] with open('coco_aster.txt') as fichier:# ouverture du fichier coco_aster, lecture de chaque ligne et comparaison des doublons.... for line in fichier: cv, aster = line.split('\t')[:2] if cv not in d1: d1[cv] = aster #remplissage dans un dico with open('aster_coco.txt') as fichier:# ouverture du fichier aster_coco, lecture de chaque ligne et comparaison des doublons.... for line in fichier: aster, cv = line.split('\t')[:2] if aster not in d2: d2[aster] = cv #remplissage dans un dico num1 = [(cv, aster) for cv, aster in d1.iteritems()] # elimination des repetitions en gardant que le bon hit num2 = [(cv, aster) for aster, cv in d2.iteritems()] num3 = [t for t in num1 if t in num2] #best hit print d1 #ecriture dans un fichier filout = open('ok.txt', 'w') for (a, b) in num3: filout.write (str(a)) filout.write ("\t") filout.write (str(b)) filout.write ("\t") filout.write ("\n") #with open('ok.txt', 'w') as fichier: # fichier.write('\n'.join('{0}\t{1}'.format(a, b) for a, b in num3)) filout.close()
Partager