Bonjour à tous,

je me permets d'ouvrir cette discussion n'ayant pas trouvé de solution à mon problème (je débute en python).
Je cherche à générer ce type de matrice:

L vers C 10325CT 10405GA 10414GA 1057TC 10674CT
10325CT
10405GA
10414GA
1057TC
10674CT

et de la remplir comme suit:

10325CT 10405GA 10414GA 1057TC 10674CT
10325CT ind1_ind2 ind1_ind3
10405GA ind4
10414GA ind6_ind8
1057TC ind1_ind2
10674CT

L'idée est de regrouper les individus qui partagent les même mutations dans cette matrice: exemple l'individu 1 et 2 (ind1_ind2) partagent les mutations 10325CT-10405GA et 1057TC-10405GA pour ensuite générer un network:
En réalité cette matrice à 188 lignes et 188 colonnes et je cherche à la remplir automatiquement.

J'ai fais le script qui me sort les couples de valeurs qui m'intéressent ainsi que le script pour générer le network. Néanmoins je n'arrive pas à remplir la la matrice automatiquement:
Début de mon code;

dicoFUll={....}#dico avec comme clés les mutations et en valeurs les listes d'individus qui partagent ces mêmes mutations
listFull=[...] contient la liste d'individus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
from collections import OrderedDict
dicoFUllb=OrderedDict(sorted(dicoFUllb.items(),key=lambda t: t[0]))#pour ordonner mon dico et que chaque liste d'individus sortent dans le même ordre pour chaque mutation
 
with open ('matriceFinalNetworks.csv','rb') as f:
	reader = csv.DictReader(f, delimiter=',')
	headers = reader.fieldnames
	with open ('matriceFinalNetworks2.csv','ab') as f1:
		fieldnames=headers
		writer = csv.DictWriter(f1, delimiter=',', fieldnames=fieldnames)		
		for cle, value in dicoFUll.items():
			if value == listeFull[0]:# ici je recherche les individus qui partagent une meme mutation. Ce n'est pas hyper optimisé je dois changer manuellement l'indice listeFull[0]...
                                samplesSharesMutations=cle,	value#stock
                                writer.writerow([samplesSharesMutations]) #### c'est ici que je n'arrive pas à écrire les résultats comme dans l'exemple plus haut de ma matrice. J'ai regardé du côté de numpy mais je suis un peu perdu.
Merci pour votre aide