From eac8ba7708fd281bb937b08486b1ff3a7ed81398 Mon Sep 17 00:00:00 2001 From: "Samuel E. Miller" Date: Thu, 3 Oct 2024 15:44:17 -0500 Subject: [PATCH] fix merged KO EC number and KEGG aliases --- anvio/reactionnetwork.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/anvio/reactionnetwork.py b/anvio/reactionnetwork.py index ee408b461..a0cb083e1 100644 --- a/anvio/reactionnetwork.py +++ b/anvio/reactionnetwork.py @@ -2349,26 +2349,24 @@ def _merge_network(self, network: ReactionNetwork) -> ReactionNetwork: merged_ko.reaction_ids = sorted(set(ko.reaction_ids + merged_ko.reaction_ids)) - for kegg_reaction_id, modelseed_reaction_ids in merged_ko.kegg_reaction_aliases.items(): + for modelseed_reaction_id, kegg_ids in ko.kegg_reaction_aliases.items(): try: - merged_modelseed_reaction_ids = merged_ko.kegg_reaction_aliases[ - kegg_reaction_id - ] + merged_kegg_ids = merged_ko.kegg_reaction_aliases[modelseed_reaction_id] except KeyError: - merged_ko.kegg_reaction_aliases = modelseed_reaction_ids.copy() + merged_ko.kegg_reaction_aliases[modelseed_reaction_id] = kegg_ids.copy() continue - merged_ko.kegg_reaction_aliases[kegg_reaction_id] = sorted( - set(merged_modelseed_reaction_ids + modelseed_reaction_ids) + merged_ko.kegg_reaction_aliases[modelseed_reaction_id] = sorted( + set(merged_kegg_ids + kegg_ids) ) - for ec_number, modelseed_reaction_ids in merged_ko.ec_number_aliases.items(): + for modelseed_reaction_id, ec_numbers in ko.ec_number_aliases.items(): try: - merged_modelseed_reaction_ids = merged_ko.ec_number_aliases[ec_number] + merged_ec_numbers = merged_ko.ec_number_aliases[modelseed_reaction_id] except KeyError: - merged_ko.ec_number_aliases = modelseed_reaction_ids.copy() + merged_ko.ec_number_aliases[modelseed_reaction_id] = ec_numbers continue - merged_ko.ec_number_aliases[ec_number] = sorted( - set(merged_modelseed_reaction_ids + modelseed_reaction_ids) + merged_ko.ec_number_aliases[modelseed_reaction_id] = sorted( + set(merged_ec_numbers + ec_numbers) ) # Copy modules from the second network. Modules from the two networks can contain different