Bonjour,

L’objectif de ma requête est de prendre les clefs d’un dico pour associé des valeurs d’un autre dico

Le format du dico1 est sous la forme
Dico1[seq] :{ Projet1 , Projet2 }
Soit par exemple :’ATG’ :{ ”ID1”: [1], “ID2”: [A]}
’ATT’ :{ ”ID1”: [2], “ID2”: []}
’ACG’ :{ ”ID1”: [], “ID2”: [B]}
’CCG’ :{ ”ID1”: [3], “ID2”: [X]}

J’ai un fichier issu d’un blast entre ses 2 projets et je souhaite obtenir un dictionnaire avec comme clef la séquence et comme valeur l’identifiant1, identifiant2 et le pourcentage d'homologie


Mon code se déroule
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
For seq in dico1.keys():
 
      For blast in Sortie_blast .readlines():
		Liste1=[blast.strip().split(“\t”)
		Projet2= Liste1[0]
		Projet1= Liste1[1]
		Pourcentage= Liste1[2]
 
	        If  Pourcentage==”100” :
		         Dicoblast[seq]={“ID1”: [Projet1], “ID2”: [Projet2],”Pourcentage” :[ Pourcentage]}
 
Print Dicoblast
Je n’obtiens que la dernière valeur
Soit ’CCG’ :{ ”ID1”: [3], “ID2”: [X], ],”Pourcentage” :[ 100.00]}
Alors que je devrais également avoir ’ATG’ :{ ”ID1”: [1], “ID2”: [A], ],”Pourcentage” :[ 100.00]}

Je pense que le problème vient du placement de la boucle for seq mais ou que je la mette, je n’obtiens pas le bon résultat.
Si quelqu’un à une piste
D’avance merci