changeset 551:d45a37837ffa draft default tip

Uploaded
author francesco_lapi
date Thu, 11 Dec 2025 11:17:33 +0000
parents 4cf00f21f609
children
files ._COBRAxy COBRAxy/._.DS_Store COBRAxy/._.gitignore COBRAxy/._GSOC project submission.html COBRAxy/._README.md COBRAxy/._dist COBRAxy/._docs COBRAxy/._src COBRAxy/._test COBRAxy/dist/._.DS_Store COBRAxy/dist/._cobraxy COBRAxy/dist/cobraxy/._meta.yaml COBRAxy/docs/._.nojekyll COBRAxy/docs/._README.md COBRAxy/docs/.__media COBRAxy/docs/.__sidebar.md COBRAxy/docs/._getting-started.md COBRAxy/docs/._index.html COBRAxy/docs/._installation.md COBRAxy/docs/._quickstart.md COBRAxy/docs/._reference COBRAxy/docs/._tools COBRAxy/docs/._troubleshooting.md COBRAxy/docs/._tutorials COBRAxy/docs/_media/._logo-dark.png COBRAxy/docs/_media/._logo-light.png COBRAxy/docs/_media/._logo.png COBRAxy/docs/_media/._logoBLACK_GALAXY.png COBRAxy/docs/_media/._logoBLACK_PURPLE.png COBRAxy/docs/_media/._logoBORDERS.png COBRAxy/docs/_media/._logoWHITE_GALAXY.png COBRAxy/docs/_media/._logoWHITE_PURPLE.png COBRAxy/docs/reference/._built-in-models.md COBRAxy/docs/tools/._README.md COBRAxy/docs/tools/._export-metabolic-model.md COBRAxy/docs/tools/._flux-simulation.md COBRAxy/docs/tools/._flux-to-map.md COBRAxy/docs/tools/._import-metabolic-model.md COBRAxy/docs/tools/._marea-cluster.md COBRAxy/docs/tools/._marea.md COBRAxy/docs/tools/._ras-generator.md COBRAxy/docs/tools/._ras-to-bounds.md COBRAxy/docs/tools/._rps-generator.md COBRAxy/docs/tutorials/._README.md COBRAxy/docs/tutorials/._galaxy-setup.md COBRAxy/docs/tutorials/README.md COBRAxy/src/._exportMetabolicModel.py COBRAxy/src/._exportMetabolicModel.xml COBRAxy/src/._flux_simulation.py COBRAxy/src/._flux_simulation.xml COBRAxy/src/._flux_to_map.py COBRAxy/src/._flux_to_map.xml COBRAxy/src/._importMetabolicModel.py COBRAxy/src/._importMetabolicModel.xml COBRAxy/src/._local COBRAxy/src/._marea.py COBRAxy/src/._marea.xml COBRAxy/src/._marea_cluster.py COBRAxy/src/._marea_cluster.xml COBRAxy/src/._marea_macros.xml COBRAxy/src/._ras_generator.py COBRAxy/src/._ras_generator.xml COBRAxy/src/._ras_to_bounds.py COBRAxy/src/._ras_to_bounds.xml COBRAxy/src/._rps_generator.py COBRAxy/src/._rps_generator.xml COBRAxy/src/._setup.py COBRAxy/src/._shed.yml COBRAxy/src/._utils COBRAxy/src/local/._ENGRO2_rules.csv COBRAxy/src/local/.___init__.py COBRAxy/src/local/._mappings COBRAxy/src/local/._medium COBRAxy/src/local/._models COBRAxy/src/local/._pickle files COBRAxy/src/local/._readme.txt COBRAxy/src/local/._svg metabolic maps COBRAxy/src/local/mappings/._genes_human.csv COBRAxy/src/local/medium/._medium.csv COBRAxy/src/local/models/._ENGRO2.xml COBRAxy/src/local/models/._Recon.xml COBRAxy/src/local/pickle files/._ENGRO2_genes.p COBRAxy/src/local/pickle files/._ENGRO2_genes.pickle COBRAxy/src/local/pickle files/._ENGRO2_rules.p COBRAxy/src/local/pickle files/._HMRcore_genes.p COBRAxy/src/local/pickle files/._HMRcore_genes.pickle COBRAxy/src/local/pickle files/._HMRcore_rules.p COBRAxy/src/local/pickle files/._RECON_genes.pickle COBRAxy/src/local/pickle files/._Recon_genes.p COBRAxy/src/local/pickle files/._Recon_rules.p COBRAxy/src/local/pickle files/._black_list.pickle COBRAxy/src/local/pickle files/._reactions.pickle COBRAxy/src/local/pickle files/._substrate_frequencies.pickle COBRAxy/src/local/pickle files/._synonyms.pickle COBRAxy/src/local/pickle files/._synonyms_dict_recon_keys_filtered.pkl COBRAxy/src/local/svg metabolic maps/._ENGRO2_map.svg COBRAxy/src/local/svg metabolic maps/._ENGRO2_no_legend_map.svg COBRAxy/src/local/svg metabolic maps/._HMRcore_map.svg COBRAxy/src/local/svg metabolic maps/._HMRcore_no_legend_map.svg COBRAxy/src/local/svg metabolic maps/ENGRO2_map.svg COBRAxy/src/local/svg metabolic maps/ENGRO2_no_legend_map.svg COBRAxy/src/marea.py COBRAxy/src/utils/._CBS_backend.py COBRAxy/src/utils/.___init__.py COBRAxy/src/utils/._general_utils.py COBRAxy/src/utils/._model_utils.py COBRAxy/src/utils/._reaction_parsing.py COBRAxy/src/utils/._rule_parsing.py COBRAxy/test/._testing.py
diffstat 109 files changed, 241 insertions(+), 276 deletions(-) [+]
line wrap: on
line diff
Binary file ._COBRAxy has changed
Binary file COBRAxy/._.DS_Store has changed
Binary file COBRAxy/._.gitignore has changed
Binary file COBRAxy/._GSOC project submission.html has changed
Binary file COBRAxy/._README.md has changed
Binary file COBRAxy/._dist has changed
Binary file COBRAxy/._docs has changed
Binary file COBRAxy/._src has changed
Binary file COBRAxy/._test has changed
Binary file COBRAxy/dist/._.DS_Store has changed
Binary file COBRAxy/dist/._cobraxy has changed
Binary file COBRAxy/dist/cobraxy/._meta.yaml has changed
Binary file COBRAxy/docs/._.nojekyll has changed
Binary file COBRAxy/docs/._README.md has changed
Binary file COBRAxy/docs/.__media has changed
Binary file COBRAxy/docs/.__sidebar.md has changed
Binary file COBRAxy/docs/._getting-started.md has changed
Binary file COBRAxy/docs/._index.html has changed
Binary file COBRAxy/docs/._installation.md has changed
Binary file COBRAxy/docs/._quickstart.md has changed
Binary file COBRAxy/docs/._reference has changed
Binary file COBRAxy/docs/._tools has changed
Binary file COBRAxy/docs/._troubleshooting.md has changed
Binary file COBRAxy/docs/._tutorials has changed
Binary file COBRAxy/docs/_media/._logo-dark.png has changed
Binary file COBRAxy/docs/_media/._logo-light.png has changed
Binary file COBRAxy/docs/_media/._logo.png has changed
Binary file COBRAxy/docs/_media/._logoBLACK_GALAXY.png has changed
Binary file COBRAxy/docs/_media/._logoBLACK_PURPLE.png has changed
Binary file COBRAxy/docs/_media/._logoBORDERS.png has changed
Binary file COBRAxy/docs/_media/._logoWHITE_GALAXY.png has changed
Binary file COBRAxy/docs/_media/._logoWHITE_PURPLE.png has changed
Binary file COBRAxy/docs/reference/._built-in-models.md has changed
Binary file COBRAxy/docs/tools/._README.md has changed
Binary file COBRAxy/docs/tools/._export-metabolic-model.md has changed
Binary file COBRAxy/docs/tools/._flux-simulation.md has changed
Binary file COBRAxy/docs/tools/._flux-to-map.md has changed
Binary file COBRAxy/docs/tools/._import-metabolic-model.md has changed
Binary file COBRAxy/docs/tools/._marea-cluster.md has changed
Binary file COBRAxy/docs/tools/._marea.md has changed
Binary file COBRAxy/docs/tools/._ras-generator.md has changed
Binary file COBRAxy/docs/tools/._ras-to-bounds.md has changed
Binary file COBRAxy/docs/tools/._rps-generator.md has changed
Binary file COBRAxy/docs/tutorials/._README.md has changed
Binary file COBRAxy/docs/tutorials/._galaxy-setup.md has changed
--- a/COBRAxy/docs/tutorials/README.md	Mon Nov 03 14:49:49 2025 +0000
+++ b/COBRAxy/docs/tutorials/README.md	Thu Dec 11 11:17:33 2025 +0000
@@ -11,19 +11,216 @@
 
 To use a workflow, click the "Import" button, and it will be added to your personal workflow page.
 
-| Tutorial | Description |
-|----------|-------------|
-|[Flux Enrichment Analysis - separated datasets](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=a64417ff266b740e) | Creation of maps of the fluxes differently expressed between two conditions. One gene expression dataset different for each condition. |
-| [Flux Enrichment Analysis (sampling mean) - separated datasets](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=16e792953f5b45db) |  Creation of maps of the fluxes differently expressed between two conditions. One gene expression dataset different for each condition. |
-| [Flux clustering (sampling mean) + Flux Enrichment Analys](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=c851ab275e52f8af) | Creation of maps of the fluxes, using one dataset differently expressed for each condition and its sample group specification|
-| [Flux Enrichment Analysis (pFBA) - separated datasets](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=bf0806da5b28c6d9) | Creation of maps of the fluxes differently expressed between two conditions. One gene expression dataset different for each condition. |
-| [Flux clustering (pFBA) + Flux Enrichment Analysis](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=be0a27b9edd0db03) | Creation of maps of the fluxes, using one dataset differently expressed for each condition and its sample group specification |
-| [RAS clustering + Reaction Enrichment Analysis](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=81991b32733a4fc4) | Creation of RAS maps, one single expression gene dataset and its sample group specification |
-| [Reaction Enrichment Analysis - unified datasets](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=0d16186aaff7cbfd) |Creation of RAS maps starting from an expression dataset and its corresponding classes. One gene expression dataset as input and its classes to compare. |
-| [Reaction Enrichment Analysis - separated datasets](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=290670ee50ab85f0) | Creation of RAS maps using the tool MaREA. Confrontation of two datasets that must be different from one another. |
+| Tutorial | Description | 🌐 Galaxy Workflow | 📘 Documentation |
+|-----------|-------------|--------------------|------------------|
+| **Flux Enrichment Analysis (Sampling Mean) — Separated Datasets** | Generate flux maps highlighting differences between two conditions. | [🔗 Open](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=16e792953f5b45db) | [📄 See section](#flux-enrichment-analysis-sampling-mean--separated-datasets) |
+| **Flux Clustering (Sampling Mean) + Flux Enrichment Analysis** | Cluster fluxes and identify condition-specific differences. | [🔗 Open](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=c851ab275e52f8af) | [📄 See section](#flux-clustering-sampling-mean--flux-enrichment-analysis) |
+| **Flux Enrichment Analysis (pFBA) — Separated Datasets** | Compare fluxes between two conditions using pFBA simulations. | [🔗 Open](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=bf0806da5b28c6d9) | [📄 See section](#flux-enrichment-analysis-pfba--separated-datasets) |
+| **Flux Clustering (pFBA) + Flux Enrichment Analysis** | Cluster pFBA-derived fluxes and analyze enriched pathways. | [🔗 Open](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=be0a27b9edd0db03) | [📄 See section](#flux-clustering-pfba--flux-enrichment-analysis) |
+| **RAS Clustering + Reaction Enrichment Analysis** | Cluster RAS profiles and identify significantly enriched reactions. | [🔗 Open](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=81991b32733a4fc4) | [📄 See section](#ras-clustering--reaction-enrichment-analysis) |
+| **Reaction Enrichment Analysis — Unified Datasets** | Compare RAS profiles between classes within one dataset. | [🔗 Open](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=0d16186aaff7cbfd) | [📄 See section](#reaction-enrichment-analysis--unified-datasets) |
+| **Reaction Enrichment Analysis — Separated Datasets** | Analyze RAS differences between two distinct datasets. | [🔗 Open](http://marea4galaxy.cloud.ba.infn.it/galaxy/published/workflow?id=290670ee50ab85f0) | [📄 See section](#reaction-enrichment-analysis--separated-datasets) |
+
 
 A more detailed description of the tools is available on the corresponding GALAXY page.
 
+### Flux Enrichment Analysis (Sampling Mean) — Separated Datasets
+
+#### Goal
+Perform a **statistical analysis of fluxes** from two different datasets derived from flux simulations using the **sampling mean** method.
+
+#### Scenario
+You have **one gene expression dataset per condition** (e.g., *Cancer vs Normal*).
+
+#### 1. Import Metabolic Model
+- Load the metabolic model.  
+- Define the **medium** and the **gene nomenclature format**.
+
+#### 2. Expression to RAS
+- Transform a **gene expression file** into a **RAS dataset**.  
+- This step must be applied **individually for each dataset**.
+
+#### 3. RAS to Bounds
+- Use the **two RAS datasets** (one per condition) as input.  
+- Generate the corresponding **flux bounds**.
+
+#### 4. Flux Simulation
+- Use the **output from the RAS to Bounds** step as input.  
+- Select **sampling mean (mean)** as the simulation method.
+
+#### 5. Metabolic Flux Enrichment Analysis
+- Create a **map of significant differences** between fluxes from the two datasets.  
+- Use the **flux simulation output** together with the **RASToBounds results** to identify enriched pathways or reactions.
+
+
+### Flux Clustering (Sampling Mean) + Flux Enrichment Analysis
+
+#### Goal
+Creation of **flux maps** from two different datasets and **clustering** based on flux simulations using the **sampling mean** method.
+
+#### Scenario
+You have **one gene expression dataset**.
+
+#### 1. Import Metabolic Model
+- Load the metabolic model.  
+- Define the **medium** and the **gene nomenclature format**.
+
+#### 2. Expression to RAS
+- Transform a **gene expression file** into a **RAS dataset**.  
+- This step must be applied **for each dataset**.
+
+#### 3. RAS to Bounds
+- Use **two different RAS datasets** as input.  
+- Generate the corresponding **flux bounds**.
+
+#### 4. Flux Simulation
+- Use the **output from the RAS to Bounds** step as input.  
+- Select **sampling mean (mean)** as the simulation method.
+
+#### 5. Cluster Analysis
+- Perform **clustering** on the **flux dataset** obtained from the simulation.  
+- Identify patterns or groups within the flux profiles.
+
+#### 6. Metabolic Flux Enrichment Analysis
+- Create **flux maps** showing **significant differences** between clusters.  
+- Use:
+  - The **clusters** as the *sample group specification*.  
+  - The **mean of each sample** from flux sampling as the *input flux data*.  
+
+
+### Flux Enrichment Analysis (pFBA) — Separated Datasets
+
+#### Goal
+Perform a **statistical analysis of fluxes** from two different datasets obtained from flux simulations using **pFBA** (parsimonious Flux Balance Analysis).
+
+#### Scenario
+You have **one gene expression dataset per condition** (e.g., *Cancer vs Normal*).
+
+#### 1. Import Metabolic Model
+- Load the metabolic model.  
+- Define the **medium** and the **gene nomenclature format**.
+
+#### 2. Expression to RAS
+- Transform a **gene expression file** into a **RAS dataset**.  
+- This step must be applied **individually for each dataset**.
+
+#### 3. RAS to Bounds
+- Use the **two RAS datasets** (one per condition) as input.  
+- Generate the corresponding **flux bounds**.
+
+#### 4. Flux Simulation
+- Use the **output from the RAS to Bounds** step as input.  
+- Select **pFBA** as the simulation method.
+
+#### 5. Metabolic Flux Enrichment Analysis
+- Perform **analysis and visualization** of **significant differences** between fluxes of the two groups (e.g., *Normal* vs *Cancer*).  
+- Use the **flux simulation output** together with the **RASToBounds results** to identify enriched or altered metabolic pathways.  
+
+
+### Flux Clustering (pFBA) + Flux Enrichment Analysis
+
+#### Goal
+Perform a **statistical analysis of fluxes** from two datasets using **clusters derived from flux simulations** with **pFBA** (parsimonious Flux Balance Analysis).
+
+#### Scenario
+You have **two gene expression datasets**.
+
+#### 1. Import Metabolic Model
+- Load the metabolic model.  
+- Define the **medium** and the **gene nomenclature format**.
+
+#### 2. Expression to RAS
+- Transform each **gene expression file** into a **RAS dataset**.  
+- This step must be applied **for each dataset**.
+
+#### 3. RAS to Bounds
+- Use the **two RAS datasets** as input.  
+- Generate the corresponding **flux bounds**.
+
+#### 4. Flux Simulation
+- Use the **output from the RAS to Bounds** step as input.  
+- Select **pFBA** as the simulation method.
+
+#### 5. Cluster Analysis
+- Perform **clustering** on the **flux dataset** obtained from the pFBA simulation.  
+- Identify clusters or groups within the flux profiles.
+
+#### 6. Metabolic Flux Enrichment Analysis
+- Perform **analysis and visualization** of **significant differences** between fluxes of different clusters.  
+- Use:
+  - The **clusters** as the *sample group specification*.  
+  - The **output from the pFBA flux simulation** as the *input flux data*.  
+- Optionally, specify **p-value** and **fold change** thresholds to refine the analysis.  
+
+
+### RAS Clustering + Reaction Enrichment Analysis
+
+#### Goal
+Perform **RAS statistical analysis** using the **MaREA** tool.  
+Compare **RAS clusters** obtained from a **single gene expression dataset**.
+
+#### Scenario
+You have **one gene expression dataset**.
+
+#### 1. Import Metabolic Model
+- Load the metabolic model.  
+- Define the **medium** and the **gene nomenclature format**.
+
+#### 2. Expression to RAS
+- Transform the **gene expression file** into a **RAS dataset**.
+
+#### 3. Cluster Analysis
+- Perform **clustering** on the **RAS dataset**.  
+- Identify distinct clusters or groups within the data.
+
+#### 4. Metabolic Reaction Enrichment Analysis (MaREA)
+- Perform **analysis and visualization** of **significant differences** between RAS values of different clusters.  
+- Use **MaREA** to detect enriched reactions and metabolic changes.  
+- Optionally, specify **p-value** and **fold change** thresholds to refine the analysis.  
+
+### Reaction Enrichment Analysis — Unified Datasets
+
+#### Goal
+Perform **RAS statistical analysis** using the **MaREA** tool.  
+Compare **groups within the same gene expression dataset**.
+
+#### Scenario
+You have **one gene expression dataset** along with the **corresponding class labels** (e.g., *Normal* vs *Cancer*).
+
+#### 1. Import Metabolic Model
+- Load the metabolic model.  
+- Define the **medium** and the **gene nomenclature format**.
+
+#### 2. Expression to RAS
+- Transform the **gene expression file** into a **RAS dataset**.
+
+#### 3. Metabolic Reaction Enrichment Analysis (MaREA)
+- Perform **analysis and visualization** of **significant differences** between RAS values of different groups (e.g., *Normal* vs *Cancer*).  
+- The **classes** are provided as input and used for **sample group specification** in the tool.  
+- Optionally, specify **p-value** and **fold change** thresholds to refine the analysis.  
+
+### Reaction Enrichment Analysis — Separated Datasets
+
+#### Goal
+Perform **RAS statistical analysis** using the **MaREA** tool with **different gene expression datasets**.
+
+#### Scenario
+You have **one gene expression dataset per condition** (e.g., *Cancer* vs *Normal*).
+
+#### 1. Import Metabolic Model
+- Load the metabolic model.  
+- Define the **medium** and the **gene nomenclature format**.
+
+#### 2. Expression to RAS
+- Transform each **gene expression file** into a **RAS dataset**.  
+- This step must be applied **individually for each dataset**.
+
+#### 3. Metabolic Reaction Enrichment Analysis (MaREA)
+- Perform **analysis and visualization** of **significant differences** between RAS values from two different datasets.  
+- In this scenario, the **two RAS datasets** are provided as **separate inputs**.  
+- Optionally, specify **p-value** and **fold change** thresholds to refine the analysis.  
+
+
 ## Tutorial Data
 
 Download example datasets used in tutorials:
Binary file COBRAxy/src/._exportMetabolicModel.py has changed
Binary file COBRAxy/src/._exportMetabolicModel.xml has changed
Binary file COBRAxy/src/._flux_simulation.py has changed
Binary file COBRAxy/src/._flux_simulation.xml has changed
Binary file COBRAxy/src/._flux_to_map.py has changed
Binary file COBRAxy/src/._flux_to_map.xml has changed
Binary file COBRAxy/src/._importMetabolicModel.py has changed
Binary file COBRAxy/src/._importMetabolicModel.xml has changed
Binary file COBRAxy/src/._local has changed
Binary file COBRAxy/src/._marea.py has changed
Binary file COBRAxy/src/._marea.xml has changed
Binary file COBRAxy/src/._marea_cluster.py has changed
Binary file COBRAxy/src/._marea_cluster.xml has changed
Binary file COBRAxy/src/._marea_macros.xml has changed
Binary file COBRAxy/src/._ras_generator.py has changed
Binary file COBRAxy/src/._ras_generator.xml has changed
Binary file COBRAxy/src/._ras_to_bounds.py has changed
Binary file COBRAxy/src/._ras_to_bounds.xml has changed
Binary file COBRAxy/src/._rps_generator.py has changed
Binary file COBRAxy/src/._rps_generator.xml has changed
Binary file COBRAxy/src/._setup.py has changed
Binary file COBRAxy/src/._shed.yml has changed
Binary file COBRAxy/src/._utils has changed
Binary file COBRAxy/src/local/._ENGRO2_rules.csv has changed
Binary file COBRAxy/src/local/.___init__.py has changed
Binary file COBRAxy/src/local/._mappings has changed
Binary file COBRAxy/src/local/._medium has changed
Binary file COBRAxy/src/local/._models has changed
Binary file COBRAxy/src/local/._pickle files has changed
Binary file COBRAxy/src/local/._readme.txt has changed
Binary file COBRAxy/src/local/._svg metabolic maps has changed
Binary file COBRAxy/src/local/mappings/._genes_human.csv has changed
Binary file COBRAxy/src/local/medium/._medium.csv has changed
Binary file COBRAxy/src/local/models/._ENGRO2.xml has changed
Binary file COBRAxy/src/local/models/._Recon.xml has changed
Binary file COBRAxy/src/local/pickle files/._ENGRO2_genes.p has changed
Binary file COBRAxy/src/local/pickle files/._ENGRO2_genes.pickle has changed
Binary file COBRAxy/src/local/pickle files/._ENGRO2_rules.p has changed
Binary file COBRAxy/src/local/pickle files/._HMRcore_genes.p has changed
Binary file COBRAxy/src/local/pickle files/._HMRcore_genes.pickle has changed
Binary file COBRAxy/src/local/pickle files/._HMRcore_rules.p has changed
Binary file COBRAxy/src/local/pickle files/._RECON_genes.pickle has changed
Binary file COBRAxy/src/local/pickle files/._Recon_genes.p has changed
Binary file COBRAxy/src/local/pickle files/._Recon_rules.p has changed
Binary file COBRAxy/src/local/pickle files/._black_list.pickle has changed
Binary file COBRAxy/src/local/pickle files/._reactions.pickle has changed
Binary file COBRAxy/src/local/pickle files/._substrate_frequencies.pickle has changed
Binary file COBRAxy/src/local/pickle files/._synonyms.pickle has changed
Binary file COBRAxy/src/local/pickle files/._synonyms_dict_recon_keys_filtered.pkl has changed
Binary file COBRAxy/src/local/svg metabolic maps/._ENGRO2_map.svg has changed
Binary file COBRAxy/src/local/svg metabolic maps/._ENGRO2_no_legend_map.svg has changed
Binary file COBRAxy/src/local/svg metabolic maps/._HMRcore_map.svg has changed
Binary file COBRAxy/src/local/svg metabolic maps/._HMRcore_no_legend_map.svg has changed
--- a/COBRAxy/src/local/svg metabolic maps/ENGRO2_map.svg	Mon Nov 03 14:49:49 2025 +0000
+++ b/COBRAxy/src/local/svg metabolic maps/ENGRO2_map.svg	Thu Dec 11 11:17:33 2025 +0000
@@ -137,15 +137,15 @@
      inkscape:pageopacity="0.0"
      inkscape:pagecheckerboard="0"
      inkscape:deskcolor="#d1d1d1"
-     inkscape:zoom="2.48"
-     inkscape:cx="431.85483"
-     inkscape:cy="2394.9596"
+     inkscape:zoom="3.5072497"
+     inkscape:cx="1878.2524"
+     inkscape:cy="1753.9384"
      inkscape:window-width="2560"
      inkscape:window-height="1494"
      inkscape:window-x="-11"
      inkscape:window-y="-11"
      inkscape:window-maximized="1"
-     inkscape:current-layer="Legend body"
+     inkscape:current-layer="Group 30"
      showgrid="true"><inkscape:grid
        id="grid1"
        units="px"
@@ -647,10 +647,11 @@
          stroke-width="2.25149"
          id="R_glu_L_t"
          inkscape:label="R_glu_L_t" /><path
-         id="B_glu_L_t"
+         id="F_glu_L_t"
          d="m 2544.87,550.696 c -9.67,-3.081 -9.67,-3.081 -9.67,-3.081 l 9.79,-2.671 -2.5,2.825 z"
          stroke="#000000"
-         stroke-width="2.66667" /></g><g
+         stroke-width="2.66667"
+         inkscape:label="F_glu_L_t" /></g><g
        id="g26-9"
        inkscape:label="Glu"
        transform="matrix(0.99609327,0,0,0.99818223,-16.687307,153.17443)"><text
@@ -10497,8 +10498,8 @@
                x="-249.53345"
                y="1576.2749"
                sodipodi:role="line">sulfite</tspan></text><path
-             d="m 258.55422,1573.5699 -6.91577,-2.2201 6.88681,-2.3292 -1.71088,2.2882 z m 17.27281,80.2948 -3.09267,9.689 -2.68132,-9.8102 2.83554,2.498 z m -16.8355,-142.1606 -6.91577,-2.2201 6.88681,-2.3292 -1.71088,2.2882 z"
-             id="F_3SPYRSPm_mito1"
+             d="m 264.85154,1571.856 -6.91577,-2.2201 6.88681,-2.3292 -1.71088,2.2882 z m 17.27281,80.2948 -3.09267,9.689 -2.68132,-9.8102 2.83554,2.498 z m -16.8355,-142.1606 -6.91577,-2.2201 6.88681,-2.3292 -1.71088,2.2882 z"
+             id="F_3SPYRSPm"
              style="fill:none;stroke:#000000;stroke-width:2.67432;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
              inkscape:label="3SPYRSTm forward"
              sodipodi:nodetypes="ccccccccccccccc" /><path
@@ -10529,7 +10530,7 @@
                y="1428.3075"
                id="tspan4189-3-6-0-8-9">3sPyr</tspan></text></g><path
            d="m 834.65818,1120.0764 c -2.22486,6.9013 -2.22486,6.9013 -2.22486,6.9013 l -2.33398,-6.8724 2.293,1.7073 z m 17.38719,-17.1355 c 9.70922,3.0862 9.70922,3.0862 9.70922,3.0862 l -9.83078,2.6757 2.50334,-2.8296 z"
-           id="F_3SALATAim_mito1"
+           id="F_3SALATAim"
            style="fill:none;stroke:#000000;stroke-width:2.67432;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
            inkscape:connector-curvature="0"
            inkscape:label="3SALATAm f" /><path
@@ -10983,7 +10984,7 @@
            d="m 1664.54,1795.28 c -8.48,2.9 -8.48,2.9 -8.48,2.9 l 8.71,2.12 -2.26,-2.41 z m 11.52,-11.82 c -1.79,-8.16 -1.79,-8.16 -1.79,-8.16 l -1.97,8.08 1.9,-1.99 z"
            stroke="#000000"
            stroke-width="2.23952" /><path
-           id="F_carnitineAcylTransferaseII-0"
+           id="B_carnitineAcylTransferaseI"
            d="m 1964.3044,1732.0142 2.9061,-8.4623 2.1245,8.6918 -2.4151,-2.2553 z m -13.8526,13.4995 -8.1771,-1.7863 8.097,-1.9659 -1.9942,1.896 z"
            stroke="#000000"
            stroke-width="2.23952"
--- a/COBRAxy/src/local/svg metabolic maps/ENGRO2_no_legend_map.svg	Mon Nov 03 14:49:49 2025 +0000
+++ b/COBRAxy/src/local/svg metabolic maps/ENGRO2_no_legend_map.svg	Thu Dec 11 11:17:33 2025 +0000
@@ -1,62 +1,29 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <svg
    width="2632"
-   height="2550"
-   viewBox="0 0 2632 2550"
+   height="2350"
+   viewBox="0 0 2632 2350"
    fill="none"
    version="1.1"
    id="svg1344"
-   sodipodi:docname="ENGRO2_map.svg"
+   sodipodi:docname="ENGRO2_no_legend_map.svg"
    inkscape:version="1.4 (86a8ad7, 2024-10-11)"
    xml:space="preserve"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:svg="http://www.w3.org/2000/svg"><defs
-     id="defs1344"><pattern
-       inkscape:collect="always"
-       xlink:href="#invert grid"
-       preserveAspectRatio="xMidYMid"
-       id="pattern17"
-       patternTransform="matrix(2,0,0,2,-20.576263,-22.634197)"
-       x="5"
-       y="2" /><pattern
-       patternUnits="userSpaceOnUse"
-       width="12"
-       height="12"
-       preserveAspectRatio="xMidYMid"
-       id="invert grid"
-       x="0"
-       y="0"
-       style="fill:#9d9d9d"
-       inkscape:label="Griglia invertita"
-       inkscape:collect="always"
-       inkscape:isstock="true"><rect
-         style="stroke:none;paint-order:markers fill stroke"
-         id="rect2-0"
-         width="10"
-         height="10"
-         x="0"
-         y="0" /></pattern><linearGradient
-       id="linearGradient10"
-       inkscape:collect="always"><stop
-         style="stop-color:#000000;stop-opacity:1;"
-         offset="0"
-         id="stop11" /><stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="1"
-         id="stop12" /></linearGradient><linearGradient
+     id="defs1344"><linearGradient
        id="swatch10"
        inkscape:swatch="solid"><stop
          style="stop-color:#8e9999;stop-opacity:0.34076436;"
          offset="0"
          id="stop10" /></linearGradient><inkscape:perspective
        sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 1344 : 1"
+       inkscape:vp_x="0 : 1144 : 1"
        inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="2632 : 1344 : 1"
-       inkscape:persp3d-origin="1316 : 942 : 1"
+       inkscape:vp_z="2632 : 1144 : 1"
+       inkscape:persp3d-origin="1316 : 742 : 1"
        id="perspective1" /><linearGradient
        id="swatch2"
        inkscape:swatch="solid"><stop
@@ -118,17 +85,7 @@
          height="2192"
          id="rect285-3" /><path
          d="m 81,67 c 0,-6.6274 5.3726,-12 12,-12 h 2478 c 6.63,0 12,5.3726 12,12 v 2156 c 0,6.63 -5.37,12 -12,12 H 93 c -6.6275,0 -12,-5.37 -12,-12 z"
-         id="path287-0" /></mask><radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient10"
-       id="radialGradient12"
-       cx="131.78622"
-       cy="2447.1663"
-       fx="131.78622"
-       fy="2447.1663"
-       r="22.64052"
-       gradientTransform="matrix(1,0,0,0.42125801,-2.4311019,1407.7565)"
-       gradientUnits="userSpaceOnUse" /></defs><sodipodi:namedview
+         id="path287-0" /></mask></defs><sodipodi:namedview
      id="namedview1344"
      pagecolor="#ffffff"
      bordercolor="#000000"
@@ -137,15 +94,15 @@
      inkscape:pageopacity="0.0"
      inkscape:pagecheckerboard="0"
      inkscape:deskcolor="#d1d1d1"
-     inkscape:zoom="2.48"
-     inkscape:cx="431.85483"
-     inkscape:cy="2394.9596"
+     inkscape:zoom="0.31000001"
+     inkscape:cx="1354.8387"
+     inkscape:cy="1730.6451"
      inkscape:window-width="2560"
      inkscape:window-height="1494"
      inkscape:window-x="-11"
      inkscape:window-y="-11"
      inkscape:window-maximized="1"
-     inkscape:current-layer="Legend body"
+     inkscape:current-layer="ENGRO2_2"
      showgrid="true"><inkscape:grid
        id="grid1"
        units="px"
@@ -163,196 +120,6 @@
      id="ENGRO2_2"
      transform="translate(-8.072989,-1.5474262)"
      style="display:inline"><g
-       id="Legend"
-       inkscape:label="Legend"
-       transform="translate(-44.507011,31.2884)"><text
-         id="text39"
-         fill="#000000"
-         xml:space="preserve"
-         style="white-space:pre"
-         font-family="Arial"
-         font-size="32px"
-         font-weight="bold"
-         letter-spacing="0em"><tspan
-           x="98.234398"
-           y="2289.5901"
-           id="tspan1">Legend:</tspan></text><g
-         id="Legend body"><text
-           id="text35"
-           fill="#000000"
-           xml:space="preserve"
-           style="white-space:pre"
-           font-family="Arial"
-           font-size="24px"
-           font-weight="bold"
-           letter-spacing="0em"
-           y="-2.8258626"
-           x="-61.58672"><tspan
-             x="158.65929"
-             y="2347.4941"
-             id="tspan2">Up-regulated in dataset1</tspan></text><text
-           id="text35-8"
-           fill="#000000"
-           xml:space="preserve"
-           style="white-space:pre;display:inline"
-           font-family="Arial"
-           font-size="24px"
-           font-weight="bold"
-           letter-spacing="0em"
-           x="-59.875988"
-           y="42.726181"><tspan
-             x="160.37003"
-             y="2393.0464"
-             id="tspan2-8">Down-regulated in dataset1</tspan></text><text
-           id="text_first_condition"
-           fill="#000000"
-           xml:space="preserve"
-           style="white-space:pre;display:inline"
-           font-family="Arial"
-           font-size="24px"
-           font-weight="bold"
-           letter-spacing="0em"
-           x="432.39621"
-           y="1.334836"><tspan
-             x="652.64221"
-             y="2351.655"
-             id="tspan2-8-4">Flux-inversion: same direction of the arrow in dataset1, opposite direction in dataset2.</tspan></text><text
-           id="text35-8-2-7"
-           fill="#000000"
-           xml:space="preserve"
-           style="white-space:pre;display:inline"
-           font-family="Arial"
-           font-size="24px"
-           font-weight="bold"
-           letter-spacing="0em"
-           x="432.39624"
-           y="95.966736"><tspan
-             x="652.64221"
-             y="2446.2871"
-             id="tspan2-8-4-1">Fold change under threshold</tspan></text><text
-           id="text35-8-2-7-2"
-           fill="#000000"
-           xml:space="preserve"
-           style="white-space:pre;display:inline"
-           font-family="Arial"
-           font-size="24px"
-           font-weight="bold"
-           letter-spacing="0em"
-           x="-59.179775"
-           y="152.82613"><tspan
-             x="161.06625"
-             y="2503.1462"
-             id="tspan2-8-4-1-3">Not classified</tspan></text><text
-           id="text35-8-2-7-7"
-           fill="#000000"
-           xml:space="preserve"
-           style="white-space:pre;display:inline"
-           font-family="Arial"
-           font-size="24px"
-           font-weight="bold"
-           letter-spacing="0em"
-           x="-55.995022"
-           y="96.259903"><tspan
-             x="164.25095"
-             y="2446.5801"
-             id="tspan2-8-4-1-6">Not significant</tspan></text><text
-           id="text_second_condition"
-           fill="#000000"
-           xml:space="preserve"
-           style="white-space:pre;display:inline"
-           font-family="Arial"
-           font-size="24px"
-           font-weight="bold"
-           letter-spacing="0em"
-           x="432.39621"
-           y="43.46542"><tspan
-             x="652.64221"
-             y="2393.7856"
-             id="tspan2-8-4-5">Flux-inversion: same direction of the arrow in dataset2, opposite direction in dataset1.</tspan></text><path
-           id="path6613-8-6"
-           d="m 107.71254,2339.5964 h 45"
-           stroke="#bebebe"
-           stroke-width="19.016"
-           sodipodi:nodetypes="cc"
-           style="fill:#e9ae69;fill-opacity:0;stroke:#e4a675;stroke-opacity:1"
-           inkscape:highlight-color="#aa1baa" /><path
-           id="path6613-8-6-1"
-           d="m 589.13564,2438.215 h 41.28932"
-           stroke="#bebebe"
-           stroke-width="18.2151"
-           style="display:inline"
-           sodipodi:nodetypes="cc" /><path
-           id="path6613-8-6-1-14"
-           d="m 106.71461,2494.5583 h 45.85125"
-           stroke="#bebebe"
-           stroke-width="19.195"
-           style="display:inline;fill:#1a1a1a;stroke:#1a1a1a"
-           sodipodi:nodetypes="cc" /><path
-           id="path6613-8-6-0"
-           d="m 107.42742,2384.9523 h 45"
-           stroke="#bebebe"
-           stroke-width="19.0161"
-           style="display:inline;fill:#6496eb;fill-opacity:1;stroke:#8aa3cc;stroke-opacity:1"
-           sodipodi:nodetypes="cc" /><path
-           id="path6613-8-6-0-1"
-           d="m 106.71461,2438.6449 h 45.28104"
-           stroke="#bebebe"
-           stroke-width="19.0753"
-           style="display:inline;fill:url(#radialGradient12);fill-opacity:1;stroke:url(#pattern17);stroke-width:19.075;stroke-dasharray:none;stroke-dashoffset:95.375;stroke-opacity:1"
-           sodipodi:nodetypes="cc" /><path
-           id="path6613-8-6-0-9"
-           d="m 587.71002,2340.7572 h 45"
-           stroke="#bebebe"
-           stroke-width="19.016"
-           style="display:inline;fill:#ff0000;stroke:#ff0000"
-           sodipodi:nodetypes="cc" /><path
-           id="path6613-8-6-0-9-4"
-           d="m 587.56746,2386.2799 h 45"
-           stroke="#bebebe"
-           stroke-width="19.016"
-           style="display:inline;mix-blend-mode:normal;fill:#0000ff;fill-opacity:1;stroke:#0000ff"
-           sodipodi:nodetypes="cc" /><text
-           xml:space="preserve"
-           style="font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans, Normal';font-variant-caps:small-caps;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#f3f1f2"
-           x="376.61578"
-           y="2295.0874"
-           id="text3"><tspan
-             sodipodi:role="line"
-             id="tspan3" /></text><text
-           id="text35-8-2-7-2-8"
-           fill="#000000"
-           xml:space="preserve"
-           style="white-space:pre;display:inline"
-           font-family="Arial"
-           font-size="24px"
-           font-weight="bold"
-           letter-spacing="0em"
-           x="433.65015"
-           y="150.11345"><tspan
-             x="653.89612"
-             y="2500.4338"
-             id="tspan2-8-4-1-3-5">Tickness is proportional to z-score</tspan></text><g
-           style="clip-rule:evenodd;fill:none;fill-rule:evenodd;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5"
-           id="g42"
-           transform="matrix(0.86839373,0,0,0.60462766,579.67813,2475.394)"><g
-             id="blend"
-             style="isolation:isolate;mix-blend-mode:normal"><g
-               id="g-root-ic_imme_me7dfl1865p1f-fill"
-               data-item-order="1000000000"
-               transform="translate(3,3)" /><g
-               id="g-root-ic_imme_me7dfl1865p1f-stroke"
-               data-item-order="1000000000"
-               transform="translate(3,3)"><g
-                 id="ic_imme_me7dfl1865p1f-stroke"
-                 fill="none"
-                 stroke-linecap="round"
-                 stroke-linejoin="round"
-                 stroke-miterlimit="4"
-                 stroke="#484848"
-                 stroke-width="2"><g
-                   id="g1"><path
-                     d="M 17.55932,43.527 50.4412,24.473179 M 10,10 M 49.036999,29.203239 50.4426,24.46114 45.700401,23.055641 M 10,10 m 8.645199,28.713799 -1.087658,4.824802 4.82494,1.087799 M 11.303528,54.176601 V 13.82324 C 14.74238,15.593121 22.44544,18.07098 34,18.07098 c 11.5546,0 19.257599,-2.477859 22.6964,-4.24774 V 54.176601 C 53.257599,52.406799 45.5546,49.929001 34,49.929001 c -11.55456,0 -19.25762,2.477798 -22.696472,4.2476 z"
-                     id="path1" /></g></g></g></g></g></g></g><g
        id="Palm"
        inkscape:label="Palm"
        transform="translate(0.1097935,-48.829673)"><text
@@ -647,10 +414,11 @@
          stroke-width="2.25149"
          id="R_glu_L_t"
          inkscape:label="R_glu_L_t" /><path
-         id="B_glu_L_t"
+         id="F_glu_L_t"
          d="m 2544.87,550.696 c -9.67,-3.081 -9.67,-3.081 -9.67,-3.081 l 9.79,-2.671 -2.5,2.825 z"
          stroke="#000000"
-         stroke-width="2.66667" /></g><g
+         stroke-width="2.66667"
+         inkscape:label="F_glu_L_t" /></g><g
        id="g26-9"
        inkscape:label="Glu"
        transform="matrix(0.99609327,0,0,0.99818223,-16.687307,153.17443)"><text
@@ -6102,7 +5870,7 @@
              y="1937.71"
              id="tspan2991">5,10mTHF</tspan></text><g
            id="text7967-0-3-65-1-2-4-9-6-3-3-1-0-5-5-1"><text
-             transform="rotate(0.0309296,-3633961.1,2079729.9)"
+             transform="rotate(0.0309296,-3633961.1,2079720)"
              fill="#000000"
              xml:space="preserve"
              style="white-space:pre"
@@ -6116,7 +5884,7 @@
                x="13.2779"
                y="11.1602"
                id="tspan2996">O</tspan></text><text
-             transform="rotate(0.0309296,-3633961.1,2079729.9)"
+             transform="rotate(0.0309296,-3633961.1,2079720)"
              fill="#000000"
              xml:space="preserve"
              style="white-space:pre"
@@ -6186,7 +5954,7 @@
                y="11.1602"
                id="tspan3019">⁺</tspan></text></g><g
            id="text7967-0-3-65-1-2-4-9-6-3-3-1-0-5-5-1-8"><text
-             transform="rotate(0.0309296,-3633941.1,2153828.2)"
+             transform="rotate(0.0309296,-3633941.1,2153818.3)"
              fill="#000000"
              xml:space="preserve"
              style="white-space:pre"
@@ -6197,7 +5965,7 @@
                x="0.0617189"
                y="11.1602"
                id="tspan3024">H</tspan></text><text
-             transform="rotate(0.0309296,-3633941.1,2153828.2)"
+             transform="rotate(0.0309296,-3633941.1,2153818.3)"
              fill="#000000"
              xml:space="preserve"
              style="white-space:pre"
@@ -10497,8 +10265,8 @@
                x="-249.53345"
                y="1576.2749"
                sodipodi:role="line">sulfite</tspan></text><path
-             d="m 258.55422,1573.5699 -6.91577,-2.2201 6.88681,-2.3292 -1.71088,2.2882 z m 17.27281,80.2948 -3.09267,9.689 -2.68132,-9.8102 2.83554,2.498 z m -16.8355,-142.1606 -6.91577,-2.2201 6.88681,-2.3292 -1.71088,2.2882 z"
-             id="F_3SPYRSPm_mito1"
+             d="m 264.85154,1571.856 -6.91577,-2.2201 6.88681,-2.3292 -1.71088,2.2882 z m 17.27281,80.2948 -3.09267,9.689 -2.68132,-9.8102 2.83554,2.498 z m -16.8355,-142.1606 -6.91577,-2.2201 6.88681,-2.3292 -1.71088,2.2882 z"
+             id="F_3SPYRSPm"
              style="fill:none;stroke:#000000;stroke-width:2.67432;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
              inkscape:label="3SPYRSTm forward"
              sodipodi:nodetypes="ccccccccccccccc" /><path
@@ -10529,7 +10297,7 @@
                y="1428.3075"
                id="tspan4189-3-6-0-8-9">3sPyr</tspan></text></g><path
            d="m 834.65818,1120.0764 c -2.22486,6.9013 -2.22486,6.9013 -2.22486,6.9013 l -2.33398,-6.8724 2.293,1.7073 z m 17.38719,-17.1355 c 9.70922,3.0862 9.70922,3.0862 9.70922,3.0862 l -9.83078,2.6757 2.50334,-2.8296 z"
-           id="F_3SALATAim_mito1"
+           id="F_3SALATAim"
            style="fill:none;stroke:#000000;stroke-width:2.67432;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
            inkscape:connector-curvature="0"
            inkscape:label="3SALATAm f" /><path
@@ -10983,7 +10751,7 @@
            d="m 1664.54,1795.28 c -8.48,2.9 -8.48,2.9 -8.48,2.9 l 8.71,2.12 -2.26,-2.41 z m 11.52,-11.82 c -1.79,-8.16 -1.79,-8.16 -1.79,-8.16 l -1.97,8.08 1.9,-1.99 z"
            stroke="#000000"
            stroke-width="2.23952" /><path
-           id="F_carnitineAcylTransferaseII-0"
+           id="B_carnitineAcylTransferaseI"
            d="m 1964.3044,1732.0142 2.9061,-8.4623 2.1245,8.6918 -2.4151,-2.2553 z m -13.8526,13.4995 -8.1771,-1.7863 8.097,-1.9659 -1.9942,1.896 z"
            stroke="#000000"
            stroke-width="2.23952"
--- a/COBRAxy/src/marea.py	Mon Nov 03 14:49:49 2025 +0000
+++ b/COBRAxy/src/marea.py	Thu Dec 11 11:17:33 2025 +0000
@@ -239,7 +239,6 @@
     # (threshold_F_C - 1) / (abs(threshold_F_C) + 1) con threshold_F_C > 1
     return (avg1 - avg2) / (abs(avg1) + abs(avg2))
 
-# TODO: I would really like for this one to get the Thanos treatment
 def fix_style(l :str, col :Optional[str], width :str, dash :str) -> str:
     """
     Produces a "fixed" style string to assign to a reaction arrow in the SVG map, assigning style properties to the corresponding values passed as input params.
Binary file COBRAxy/src/utils/._CBS_backend.py has changed
Binary file COBRAxy/src/utils/.___init__.py has changed
Binary file COBRAxy/src/utils/._general_utils.py has changed
Binary file COBRAxy/src/utils/._model_utils.py has changed
Binary file COBRAxy/src/utils/._reaction_parsing.py has changed
Binary file COBRAxy/src/utils/._rule_parsing.py has changed
Binary file COBRAxy/test/._testing.py has changed