Mercurial > repos > bimib > cobraxy
diff COBRAxy/custom_data_generator_beta.py @ 426:00a78da611ba draft
Uploaded
author | francesco_lapi |
---|---|
date | Wed, 10 Sep 2025 09:25:32 +0000 |
parents | ed2c1f9e20ba |
children | 06564187fba3 |
line wrap: on
line diff
--- a/COBRAxy/custom_data_generator_beta.py Tue Sep 09 15:05:02 2025 +0000 +++ b/COBRAxy/custom_data_generator_beta.py Wed Sep 10 09:25:32 2025 +0000 @@ -9,6 +9,7 @@ from typing import Optional, Tuple, Union, List, Dict import utils.reaction_parsing as reactionUtils import utils.model_utils as modelUtils +import logging ARGS : argparse.Namespace def process_args(args: List[str] = None) -> argparse.Namespace: @@ -173,19 +174,42 @@ model.reactions.get_by_id(reaction).lower_bound = -float(value) if ARGS.name == "ENGRO2" and ARGS.gene_format != "Default": + logging.basicConfig(level=logging.INFO) + logger = logging.getLogger(__name__) - model = modelUtils.convert_genes(model, ARGS.gene_format.replace("HGNC_", "HGNC ")) + model = modelUtils.translate_model_genes( + model=model, + mapping_df= pd.read_csv(ARGS.tool_dir + "/local/mappings/genes_human.csv"), + target_nomenclature=ARGS.gene_format.replace("HGNC_", "HGNC "), + source_nomenclature='HGNC_ID', + logger=logger + ) + #model = modelUtils.convert_genes(model, ARGS.gene_format.replace("HGNC_", "HGNC ")) + + if ARGS.name == "Recon" and ARGS.gene_format != "Default": + logging.basicConfig(level=logging.INFO) + logger = logging.getLogger(__name__) + + model = modelUtils.translate_model_genes( + model=model, + mapping_df= pd.read_csv(ARGS.tool_dir + "/local/mappings/genes_human.csv"), + target_nomenclature=ARGS.gene_format.replace("HGNC_", "HGNC "), + source_nomenclature='HGNC_symbol', + logger=logger + ) # generate data rules = modelUtils.generate_rules(model, asParsed = False) reactions = modelUtils.generate_reactions(model, asParsed = False) bounds = modelUtils.generate_bounds(model) medium = modelUtils.get_medium(model) + objective_function = modelUtils.extract_objective_coefficients(model) + if ARGS.name == "ENGRO2": compartments = modelUtils.generate_compartments(model) - df_rules = pd.DataFrame(list(rules.items()), columns = ["ReactionID", "Rule"]) - df_reactions = pd.DataFrame(list(reactions.items()), columns = ["ReactionID", "Reaction"]) + df_rules = pd.DataFrame(list(rules.items()), columns = ["ReactionID", "GPR"]) + df_reactions = pd.DataFrame(list(reactions.items()), columns = ["ReactionID", "Formula"]) df_bounds = bounds.reset_index().rename(columns = {"index": "ReactionID"}) df_medium = medium.rename(columns = {"reaction": "ReactionID"}) @@ -193,6 +217,7 @@ merged = df_reactions.merge(df_rules, on = "ReactionID", how = "outer") merged = merged.merge(df_bounds, on = "ReactionID", how = "outer") + merged = merged.merge(objective_function, on = "ReactionID", how = "outer") if ARGS.name == "ENGRO2": merged = merged.merge(compartments, on = "ReactionID", how = "outer") merged = merged.merge(df_medium, on = "ReactionID", how = "left")