IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Ajout de distance


Sujet :

Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 133
    Par défaut Ajout de distance
    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()

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 133
    Par défaut
    Bon voila j'ai modifie un peu mon code seulement j'arrive pas a savoir ou mettre les veritables positions pour chaque couple avec laquelle ca correrspond:

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 133
    Par défaut
    Voila j'ai modifie mon code, mais j'arrive pas a mettre les coordonnes de distance:

    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
     
    #! /usr/bin/python
     
     
    #coding=utf-8
     
    #parseur 1-----------------------reciprocal best blast hits-------------------------------------------------------------------------------
     
     
    d1, d2 = {}, {} # dcitionnaire
    d3,d4={}, {}
    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]
    		  psositon=line.split('\t')[6:10]
    		  if cv not in d1:
             		 d1[cv] = aster         #remplissage dans un dico
    			 d3[cv] = psositon   
     
     
    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]
    		   psositon=line.split('\t')[6:10]
         		   if aster not in d2 :
             			   d2[aster] = cv  #remplissage dans un dico
     
     
     
    num1 = [(cv, aster) for cv, aster in d1.iteritems()] 
    num2 = [(cv, aster) for aster, cv in d2.iteritems()]
     
     
    num4=	[(cv,  psositon ) for cv,  psositon  in d3.iteritems()] 
    num3 = [t for t in num1 if t in num2]			#best hit
     
     
    print num4

    PS: Si il y a un soucis je peux reexpliquer si vous voulez

    MERCI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/12/2014, 10h06
  2. Ajouter une distance à une coordonnée GPS
    Par jmnicolas dans le forum SIG : Système d'information Géographique
    Réponses: 1
    Dernier message: 06/03/2011, 22h54
  3. probleme ajout et addition distance
    Par shadow19c dans le forum Général Python
    Réponses: 2
    Dernier message: 22/02/2011, 13h47
  4. Réponses: 8
    Dernier message: 20/05/2008, 18h02
  5. executer une application a distance : Sockets ? RPC ? CORBA?
    Par a_hic dans le forum Développement
    Réponses: 5
    Dernier message: 30/05/2006, 13h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo