Bitte ich brauche wieder Hilfe.Vergleichen des ersten Wörterbuchs mit Werten aus dem zweiten Wörterbuch
Ich habe eine große Datenbankdatei (nennen wir es db.csv) mit vielen Informationen.
Vereinfachtes Datenbankdatei zu veranschaulichen:
Ich betreibe usearch61 -cluster_fast auf meine Gene Sequenzen, um sie zu gruppieren.
Ich habe eine Datei mit dem Namen 'clusters.uc' erhalten. Ich öffnete es als csv und dann machte ich einen Code, um ein Wörterbuch zu erstellen (sagen wir dict_1), um meine Clusternummer als Schlüssel und meine gen_id (VFG ...) als Werte zu haben.
Hier ist ein Beispiel dessen, was ich in einer Datei gespeichert dann gemacht: dict_1
0 ['VFG003386', 'VFG034084', 'VFG003381']
1 ['VFG000838', 'VFG000630', 'VFG035932', 'VFG000636']
2 ['VFG018349', 'VFG018485', 'VFG043567']
...
14471 ['VFG015743', 'VFG002143']
So weit so gut. Dann mit db.csv ich ein anderes Wörterbuch gemacht (dict_2) wurden gene_id (VFG ...) sind Schlüssel und VF_Accession (IA ... oder CVF .. oder VF ...) sind Werte, Abbildung: dict_2
VFG044259 IA027
VFG044258 IA027
VFG011941 CVF397
VFG012016 CVF399
...
Was ich am Ende will, ist für jeden VF_Accession die Zahl der Clustergruppen zu haben, Abbildung:
IA027 [0,5,6,8]
CVF399 [15, 1025, 1562, 1712]
...
Also ich denke, da ich noch ein Anfänger in Codierung bin, die ich brauche einen Code zu erstellen, zu vergleichen, Werte von dict_1 (VFG ...) bis zu Tasten von dict_2 (VFG ...). Wenn sie übereinstimmen, setzen Sie VF_Accession als Schlüssel mit allen Clusternummern als Werte. Da VF_Accession Schlüssel sind, die sie nicht duplizieren können, brauche ich ein Wörterbuch der Liste. Ich denke ich kann das machen, weil ich es für dict_1 gemacht habe. Aber mein Problem ist, dass ich keinen Weg finde, Werte von dict_1 mit Schlüsseln von dict_2 zu vergleichen und jedem Cluster eine VF_Accession-Nummer zu geben. Bitte hilf mir.
ich nicht wissen viel über bio - kann die gleiche gen_id (VFG) in mehreren Clustern erscheinen? –
Ja einige von ihnen sind leider. Vielleicht haben sowas IA027 [0 | 12, 5, 6, 8] oder IA027 [0 (12), 5, 6, 8] –