Mercurial > repos > bimib > cobraxy
changeset 246:06e3b644de83 draft default tip
Uploaded
author | francesco_lapi |
---|---|
date | Wed, 15 Jan 2025 11:16:30 +0000 |
parents | 58037c24c716 |
children | |
files | COBRAxy/flux_to_map.py |
diffstat | 1 files changed, 10 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/COBRAxy/flux_to_map.py Wed Jan 15 11:08:09 2025 +0000 +++ b/COBRAxy/flux_to_map.py Wed Jan 15 11:16:30 2025 +0000 @@ -842,7 +842,6 @@ if missing_reactions: sys.exit(f'Execution aborted: Missing required reactions {missing_reactions} in {datasetName}\n') - # Calculate new rows using safe division lact_glc = np.divide( np.clip(dataset.loc['EX_lac__L_e'].to_numpy(), a_min=0, a_max=None), @@ -870,30 +869,20 @@ ) # Controllo e sostituzione dei NaN con 0 se necessario - vectors = {'lact_glc': lact_glc, 'lact_gln': lact_gln, 'lact_o2': lact_o2, 'glu_gln': glu_gln} - - for idx, g in enumerate(glu_gln): - if g == np.inf: - print(dataset.loc['EX_gln__L_e'][idx]) + values = {'lact_glc': lact_glc, 'lact_gln': lact_gln, 'lact_o2': lact_o2, 'glu_gln': glu_gln} + + # Sostituzione di inf e NaN con 0 se necessario + for key, value in values.items(): + values[key] = np.where(np.isinf(value), np.nan, value) - for name, vector in vectors.items(): - if np.any(np.isinf(vector)): # Controlla se ci sono inf o -inf - vectors[name] = np.where(np.isinf(vector), np.nan, vector) # Sostituisci inf con NaN - if np.all(np.isnan(vector)): # Se tutto il vettore รจ NaN - vectors[name] = np.zeros_like(vector) # Sostituisci con 0 - - - # Riassegna i vettori aggiornati - lact_glc, lact_gln, lact_o2, glu_gln = vectors['lact_glc'], vectors['lact_gln'], vectors['lact_o2'], vectors['glu_gln'] - - print(vectors) - # Create a DataFrame for the new rows + # Creazione delle nuove righe da aggiungere al dataset new_rows = pd.DataFrame({ - dataset.index.name: ['LactGlc', 'LactGln','LactO2', 'GluGln'], - **{col: [lact_glc[i], lact_gln[i],lact_o2[i], glu_gln[i]] for i, col in enumerate(dataset.columns)} + dataset.index.name: ['LactGlc', 'LactGln', 'LactO2', 'GluGln'], + **{col: [values['lact_glc'][i], values['lact_gln'][i], values['lact_o2'][i], values['glu_gln'][i]] + for i, col in enumerate(dataset.columns)} }) - # Reset the index of the original dataset and append new rows + # Ritorna il dataset originale con le nuove righe dataset.reset_index(inplace=True) dataset = pd.concat([dataset, new_rows], ignore_index=True)