comparison COBRAxy/ras_to_bounds.py @ 506:ffc234ec80db draft

Uploaded
author francesco_lapi
date Wed, 01 Oct 2025 13:19:03 +0000
parents 97eea560a10f
children 20e135a73cad
comparison
equal deleted inserted replaced
505:96f512dff490 506:ffc234ec80db
176 rules = modelUtils.generate_rules(model, asParsed = False) 176 rules = modelUtils.generate_rules(model, asParsed = False)
177 reactions = modelUtils.generate_reactions(model, asParsed = False) 177 reactions = modelUtils.generate_reactions(model, asParsed = False)
178 bounds = modelUtils.generate_bounds(model) 178 bounds = modelUtils.generate_bounds(model)
179 medium = modelUtils.get_medium(model) 179 medium = modelUtils.get_medium(model)
180 180
181 try: 181 compartments = modelUtils.generate_compartments(model)
182 compartments = modelUtils.generate_compartments(model)
183 except:
184 compartments = None
185 182
186 df_rules = pd.DataFrame(list(rules.items()), columns = ["ReactionID", "Rule"]) 183 df_rules = pd.DataFrame(list(rules.items()), columns = ["ReactionID", "Rule"])
187 df_reactions = pd.DataFrame(list(reactions.items()), columns = ["ReactionID", "Reaction"]) 184 df_reactions = pd.DataFrame(list(reactions.items()), columns = ["ReactionID", "Reaction"])
188 df_bounds = bounds.reset_index().rename(columns = {"index": "ReactionID"}) 185 df_bounds = bounds.reset_index().rename(columns = {"index": "ReactionID"})
189 df_medium = medium.rename(columns = {"reaction": "ReactionID"}) 186 df_medium = medium.rename(columns = {"reaction": "ReactionID"})
190 df_medium["InMedium"] = True 187 df_medium["InMedium"] = True
191 188
192 merged = df_reactions.merge(df_rules, on = "ReactionID", how = "outer") 189 merged = df_reactions.merge(df_rules, on = "ReactionID", how = "outer")
193 merged = merged.merge(df_bounds, on = "ReactionID", how = "outer") 190 merged = merged.merge(df_bounds, on = "ReactionID", how = "outer")
194 191 # Add compartments only if they exist
195 # Add compartments only if they exist and model name is ENGRO2 192 if compartments is not None:
196 if compartments is not None and hasattr(ARGS, 'name') and ARGS.name == "ENGRO2":
197 merged = merged.merge(compartments, on = "ReactionID", how = "outer") 193 merged = merged.merge(compartments, on = "ReactionID", how = "outer")
198 194
199 merged = merged.merge(df_medium, on = "ReactionID", how = "left") 195 merged = merged.merge(df_medium, on = "ReactionID", how = "left")
200 merged["InMedium"] = merged["InMedium"].fillna(False) 196 merged["InMedium"] = merged["InMedium"].fillna(False)
201 merged = merged.sort_values(by = "InMedium", ascending = False) 197 merged = merged.sort_values(by = "InMedium", ascending = False)