Mercurial > repos > bimib > cobraxy
changeset 404:08f1ff359397 draft
Uploaded
author | francesco_lapi |
---|---|
date | Mon, 08 Sep 2025 13:50:08 +0000 |
parents | 05092b0cfca0 |
children | 716b1a638fb5 |
files | COBRAxy/custom_data_generator.py COBRAxy/custom_data_generator.xml |
diffstat | 2 files changed, 41 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- a/COBRAxy/custom_data_generator.py Mon Sep 08 13:38:59 2025 +0000 +++ b/COBRAxy/custom_data_generator.py Mon Sep 08 13:50:08 2025 +0000 @@ -159,39 +159,38 @@ Returns: pd.DataFrame: DataFrame with ReactionID and compartment columns """ - compartment_data = [] - - # First pass: determine the maximum number of compartments any reaction has - max_compartments = 0 - reaction_compartments = {} - + pathway_data = [] + + # First pass: determine the maximum number of pathways any reaction has + max_pathways = 0 + reaction_pathways = {} + for reaction in model.reactions: - # Get unique compartments from all metabolites in the reaction + # Get unique pathways from all metabolites in the reaction if type(reaction.annotation['pathways']) == list: - reaction_compartments[reaction.id] = reaction.annotation['pathways'] - max_compartments = max(max_compartments, len(reaction.annotation['pathways'])) + reaction_pathways[reaction.id] = reaction.annotation['pathways'] + max_pathways = max(max_pathways, len(reaction.annotation['pathways'])) else: - reaction_compartments[reaction.id] = [reaction.annotation['pathways']] - - # Create column names for compartments - compartment_columns = [f"Compartment_{i+1}" for i in range(max_compartments)] + reaction_pathways[reaction.id] = [reaction.annotation['pathways']] + + # Create column names for pathways + pathway_columns = [f"Pathway_{i+1}" for i in range(max_pathways)] # Second pass: create the data - for reaction_id, compartments in reaction_compartments.items(): + for reaction_id, pathways in reaction_pathways.items(): row = {"ReactionID": reaction_id} - # Fill compartment columns - for i in range(max_compartments): - col_name = compartment_columns[i] - if i < len(compartments): - row[col_name] = compartments[i] - + # Fill pathway columns + for i in range(max_pathways): + col_name = pathway_columns[i] + if i < len(pathways): + row[col_name] = pathways[i] else: row[col_name] = None # or "" if you prefer empty strings - - compartment_data.append(row) - - return pd.DataFrame(compartment_data) + + pathway_data.append(row) + + return pd.DataFrame(pathway_data) ###############################- FILE SAVING -################################ @@ -301,7 +300,8 @@ reactions = generate_reactions(model, asParsed = False) bounds = generate_bounds(model) medium = get_medium(model) - compartments = generate_compartments(model) + if ARGS.name == "ENGRO2": + compartments = generate_compartments(model) df_rules = pd.DataFrame(list(rules.items()), columns = ["ReactionID", "Rule"]) df_reactions = pd.DataFrame(list(reactions.items()), columns = ["ReactionID", "Reaction"]) @@ -312,7 +312,8 @@ merged = df_reactions.merge(df_rules, on = "ReactionID", how = "outer") merged = merged.merge(df_bounds, on = "ReactionID", how = "outer") - merged = merged.merge(compartments, 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") merged["InMedium"] = merged["InMedium"].fillna(False)
--- a/COBRAxy/custom_data_generator.xml Mon Sep 08 13:38:59 2025 +0000 +++ b/COBRAxy/custom_data_generator.xml Mon Sep 08 13:50:08 2025 +0000 @@ -40,6 +40,14 @@ <conditional name="cond_medium"> <expand macro="options_ras_to_bounds_medium"/> </conditional> + + <param name="gene_format" argument="--gene_format" type="select" label="Gene nomenclature format:"> + <option value="Default" selected="true">Keep original gene nomenclature</option> + <option value="ENSG">ENSNG (Ensembl Gene ID)</option> + <option value="HGNC_symbol">HGNC Symbol</option> + <option value="HGNC_ID">HGNC ID</option> + <option value="entrez_id">Entrez Gene ID</option> + </param> </when> <!-- Recon --> @@ -53,6 +61,9 @@ <!-- Nessun parametro aggiuntivo necessario --> </when> </conditional> + <param name="gene_format" argument="--gene_format" type="select" label="Gene nomenclature format:"> + <option value="Default" selected="true">Keep original gene nomenclature</option> + </param> </when> <!-- Custom model --> @@ -67,16 +78,12 @@ <!-- Nessun parametro aggiuntivo necessario --> </when> </conditional> + <param name="gene_format" argument="--gene_format" type="select" label="Gene nomenclature format:"> + <option value="Default" selected="true">Keep original gene nomenclature</option> + </param> </when> </conditional> - <param name="gene_format" argument="--gene_format" type="select" label="Gene nomenclature format:"> - <option value="Default" selected="true">Keep original gene nomenclature</option> - <option value="ENSG">ENSNG (Ensembl Gene ID)</option> - <option value="HGNC_symbol">HGNC Symbol</option> - <option value="HGNC_ID">HGNC ID</option> - <option value="entrez_id">Entrez Gene ID</option> - </param> </inputs> <outputs>