Source code for BFAIR.mfa.utils.observable

[docs]def get_observable_fluxes(fittedFluxes): """ Checks which calculated fluxes qualify as being 'observable' (flux value at least 4 times the confidence interval and 0 not included in the confidence interval). Parameters ---------- fittedFluxes : pandas.DataFrame Dataframe (reimported output of an INCA simulation) that contains the confidence intervals predicted for the model. Returns ------- observable_fluxes : pandas.DataFrame Input dataframe reduced to the fluxes that qualify as observable fluxes. """ big_enough_fluxes = fittedFluxes[ fittedFluxes["flux"] / (fittedFluxes["flux_ub"] - fittedFluxes["flux_lb"]) >= 4 ] lb_below_0 = big_enough_fluxes["flux_lb"] < 0 ub_above_0 = 0 < big_enough_fluxes["flux_lb"] observable_fluxes = big_enough_fluxes[~(lb_below_0 & ub_above_0)] return observable_fluxes
[docs]def percent_observable_fluxes(fittedFluxes, as_num=False): """ Calculates the percentage of how many of the fluxes in the input dataframe qualify as observable fluxes. Parameters ---------- fittedFluxes : pandas.DataFrame Dataframe (reimported output of an INCA simulation) that contains the confidence intervals predicted for the model. Returns ------- percentage of observable fluxes : string relative to total number of fluxes. """ percent_float = ( len(get_observable_fluxes(fittedFluxes)) / len(fittedFluxes) ) * 100 if as_num: return percent_float else: return print(round(percent_float, 2), "%")
[docs]def get_flux_precision(fittedFluxes): """ Calculates the mean standard deviation of the observable fluxes. Parameters ---------- fittedFluxes : pandas.DataFrame Dataframe (reimported output of an INCA simulation) that contains the confidence intervals predicted for the model. Returns ------- flux precision : float Mean of stdev of observable fluxes. """ return get_observable_fluxes(fittedFluxes)["flux_stdev"].mean()