Source code for pharmpy.methods.linearize.results

from pathlib import Path

import pandas as pd

from pharmpy import Model
from pharmpy.results import Results


[docs]class LinearizeResults(Results): def __init__(self, ofv=None, iofv=None): self.ofv = ofv self.iofv = iofv
[docs]def calculate_results(base_model, linear_model): baseres = base_model.modelfit_results linearres = linear_model.modelfit_results linearres.evaluation_ofv iofv = pd.DataFrame( { 'base': baseres.individual_ofv, 'linear': linearres.individual_ofv, 'delta': linearres.individual_ofv - baseres.individual_ofv, } ) ofv = pd.DataFrame( {'ofv': [baseres.ofv, linearres.evaluation_ofv, linearres.ofv]}, index=['base', 'lin_evaluated', 'lin_estimated'], ) res = LinearizeResults(ofv=ofv, iofv=iofv) return res
[docs]def psn_linearize_results(path): """Create linearize results from a PsN linearize run :param path: Path to PsN linearize run directory :return: A :class:`QAResults` object """ path = Path(path) base_model = Model(path / 'scm_dir1' / 'derivatives.mod') lin_path = list(path.glob('*_linbase.mod'))[0] lin_model = Model(lin_path) res = calculate_results(base_model, lin_model) return res