Skip to content

Latest commit

 

History

History
1501 lines (1094 loc) · 43.8 KB

CHANGELOG.rst

File metadata and controls

1501 lines (1094 loc) · 43.8 KB

0.94.0 (2023-04-26)

New features

  • Support parsing assignments other than DADT in $DES in NONMEM
  • Fix parsing of some complex ODE-systems in NONMEM

Changes

  • Drop support for Python 3.8

Bugfixes

  • Fix bug causing BIC calculation to fail for models having first order absorption and lag_time after going into zero order absorption

0.93.0 (2023-04-19)

New features

  • Add function modeling.get_zero_order_inputs
  • Add function modeling.set_zero_order_input
  • Add function modeling.set_tmdd
  • Added plugin to convert models to RxODE
  • Support conversion of more models to nlmixr

Changes

  • modeling.generate_model_code was renamed to modeling.get_model_code since the code is not generated by this function
  • Do not use ADVAN7 because models that should work with ADVAN7 didn't were found

Bugfixes

  • Fix multiple bugs in parsing $TABLE headers

0.92.0 (2023-04-05)

New features

  • Add function modeling.is_linearized
  • Add function modeling.plot_transformed_eta_distributions
  • Add function modeling.create_config_template
  • Add function modeling.get_dv_symbol
  • Add function modeling.get_initial_conditions
  • Add function modeling.set_initial_condition
  • Add function modeling.transform_blq

Bugfixes

  • Fix bug where $ABBR wasn't added for etas

0.91.0 (2023-03-03)

New features

  • Add function modeling.create_basic_pk_model
  • Add function modeling.add_metabolite
  • Add function modeling.set_dvid
  • Add function modeling.has_weighted_error_model

Changes

  • model.dependent_variable becomes model.dependent_variables

Bugfixes

  • Fix regression causing DEFDOSE to sometimes be put on the wrong compartment
  • Fix ruvsearch crashing in case of bad modelfit_results (#1551)

0.90.0 (2023-02-24)

New features

  • Add function modeling.has_odes
  • Add function modeling.has_linear_odes
  • Add function modeling.has_linear_odes_with_real_eigenvalues
  • Add function modeling.is_real
  • Support for more types of models in the nlmixr plugin
  • Automatic selection between ADVAN5 and ADVAN7 for NONMEM models

Changes

  • Remove modeling.copy_model
  • Support nlmixr2 instead of nlmixr for the nlmixr plugin
  • The Model class is now immutable
  • update_source is run by all transformation functions

0.89.0 (2023-01-26)

New features

  • Add function modeling.display_odes
  • Add support for Python 3.11

Changes

  • Naming of parameters for NONMEM models reworked. Configuration options removed.
  • Only allow MFL as input to run_covsearch
  • Remove read_model_from_database from pharmpy.modeling
  • Merge ExplicitODESystem into CompartmentalSystem

0.88.0 (2022-12-21)

New features

  • Add algorithm exhaustive_only_eval to Estmethod tool
  • Add replace methods to Assignment, Compartment, Bolus and Infusion

Changes

  • Rename algorithms in Estmethod tool: reduced -> exhaustive. exhaustive -> exhaustive_only_eval
  • Always add iteration 0 in ofv_iterations and parameter_estimates_iterations for eval models with FO/FOCE

0.87.0 (2022-12-14)

Changes

  • Allometry model will update initial estimates in allometry tool
  • Base model in IIVSearch tool will update initial estimates
  • Do not update initial estimates from model that did not minimize successfully (except rounding errors), this affects all AMD subtools
  • Rename derive to replace in some base classes

0.86.0 (2022-11-30)

Changes

  • Add description to proxy-models (#1314)
  • Input check covariates (#1355), allometric variable (#1378) occasion-column before running AMD

Bugfixes

  • Fix typo in COVSearch that caused it to select model with highest OFV (#1377)
  • Ignore NaNs when selecting models in COVSearch (#1381)
  • Fix issue where initial estimate for KM (in MM-elimination) was set outside of NONMEM's bounds (#1064)
  • Fix issue where individuals without observations were not filtered for general model objects (afd7707, #1139)
  • Fix issue where saddle reset was not added in start model for AMD (#1394)

0.85.0 (2022-11-18)

Changes

  • Covariates are defined in search space option in AMD-tool
  • Store name of final model instead of final model in AMD
  • Change methods and solvers option in estimation method tool: None means none should be tested
  • Add FORMAT option if length of IDs are too long (#1139)
  • Make Result classes immutable

Bugfixes

  • Fix bug in results parsing where extracting whether parameters are fixed (#1117)
  • Add timeout-loop to wait for .lst-file when renaming

0.84.1 (2022-11-13)

Changes

  • Much faster parsing of NONMEM models
  • 4 times faster parsing of NONMEM phi files

Bug fixes

  • Have correct F-statement in $ERROR for $DES NONMEM models
  • Read compartment names correctly when having both NCOMP and COMP in $MODEL of NONMEM models

0.84.0 (2022-11-09)

New features

  • Add modeling.deidentify_data

Changes

  • Change CLI anonymize into deidentify

0.83.0 (2022-11-01)

Changes

  • Only test IOV on statements before ODE

Bug fixes

  • Allow spaces in DADT definitions when parsing ODE
  • Fix issue where expression setter was used
  • Fix issue in IIVSearch where tool doesn't continue to next step if there is a multivariate distribution
  • Input dataset into model constructor in convert model (fixes #1293)
  • Modelfit should not crash if .lst-file does not exist, warns if .lst and .ext-files do not exist (#1302, #1303)

0.82.0 (2022-10-24)

Changes

  • modeling.summarize_modelfit_results takes results objects instead of model objects
  • Do not include aic and bic in summarize_modelfit_results

0.81.1 (2022-10-24)

Bug fixes

  • Handle NM-TRAN datasets with one and two digit year in DATx column using default LAST20 (50)

0.81.0 (2022-10-21)

New features

  • Add tools.read_modelfit_results

Changes

  • run_modelsearch, run_iovsearch, run_ruvsearch, run_allometry, run_covsearch, run_amd and run_iivsearch now need results as a separate input

Bug fixes

  • Correct scaling for F in NOMEM models for ADVAN 2,4,5,7 and 12

0.80.0 (2022-10-19)

Changes

  • modeling.fit returns ModelfitResults instead of Model
  • Let zero_protect default to True for modeling.set_proportional_error_model
  • Faster parsing of NONMEM table files

Bug fixes

  • Let bioavailability parameters be part of rhs of ode_system
  • Make sure initials are non-zero for absorption parameters

0.79.0 (2022-10-16)

New features

  • Relative paths in files, absolute paths in Python objects (#1180, fixes 887)
  • Validate tool inputs (#1162, fixes #1032)
  • Add allow_nested flag to add_covariate_effect (#1004)
  • Add has_covariate_effect and remove_covariate_effect (#1004)
  • Generalize get_rv_parameters (#1181)
  • 9fd701521 Store input models in tool database
  • Replace best_model with final_model_name and retrieve_final_model
  • a7fbcbfe2 Handle results and databases as input to retrieve_models
  • Add modeling.update_initial_individual_estimates function

Changes

  • Include input model as step 0 in summary_models for AMD tools
  • Rename all AMD tool candidates such that modelsearch_candidate1 -> modelsearch_run1
  • Add columns for number of parameters and delta parameters in summary_tool for AMD tools
  • Only include chosen models in AMD summary_tool
  • New names and description for COVSearch candidates
  • Modify COVSearch summary_tool to include information from the steps-table, remove ranking
  • New candidate descriptions in IOVSearch
  • Add multiindex to RUVSearch which include step/iteration, remove ranking.
  • Add algorithm column to IIVSearch summary_tool, remove algorithm from candidate name
  • Compare final model in IIVSearch to input model, return input if worse
  • Generalize detection of existing effects in add_covariate_effect (#1004)
  • calculate_bic and calculate_aic will need the -2LL as input instead of modelfit_results
  • calculate_eta_shrinkage needs the explicit arguments parameter_estimates and individual_estimates
  • calculate_individual_shrinkage needs the explicit arguments parameter_estimates and individual_estimates_covariance
  • check_parameters_near_bounds needs the parameter estimates given in the arguments
  • check_high_correlations needs the correlation matrix as an explicit argument
  • plot_iofv_vs_iofv takes two iofv series instead of two models as input
  • plot_individual_predictions takes the predictions dataframe as input
  • create_joint_distribution takes an option individual_estimates argument and does not use modelfit_results directly
  • evaluate_expression to get parameter estimates from optional argument instead of from modelfit_results
  • evaluate_population_prediction will not take parameter estimates from modelfit_results
  • evaluate_individual_prediction will not take parameter estimates from modelfit_results
  • evaluate_eta_gradient will not take parameter estimates from modelfit_results
  • evaluate_epsilon_gradient will not take parameter estimates from modelfit_results
  • evaluate_weighted_residuals will not take parameter estimates from modelfit_results
  • sample_parameters_from_covariance_matrix will need parameter_estimates and covariance_matrix as explicit arguments
  • sample_parameters_uniformly will need parameter_esimtates as explicit arguments
  • sample_individual_estimates will need individual_estimates and individual_estimates_covariance as explicit arguments
  • calculate_individual_parameter_statistics and calculate_pk_parameters_statistics will need parameter estimates and covariance matrix
  • update_inits need explicit estimates as argument and does not use modelfit_results
  • update_inits does not update initial individual estimates
  • Move predict_* functions from modeling to pharmpy.tools
  • Move summarize_individuals and summarize_individuals_count_table to pharmpy.tools
  • Move print_fit_summary to pharmpy.tools
  • Move write_results to pharmpy.tools
  • Move summarize_errors to pharmpy.tools
  • Move rank_models to pharmpy.tools
  • Move summarize_modelfit_results to pharmpy.tools
  • Speedup parsing of NONMEM results

Bug fixes

  • 297a64041 Handle individual_ofv is None in dofv (fixes #1101)
  • 57fc4fee8 Fix adding categorical covariate effects (#1004)

0.78.0 (2022-09-20)

Changes

  • fd417aaf Always return a new model in convert_model
  • d5458e36 Raise KeyError in LocalModelDirectory#retrieve_model (instead of FileNotFoundError)
  • 1193bd39 Remove unused pharmpy.symbols submodule

Bugfixes

  • bb96a13c Fix update_parameters when parameters are added
  • 0ca786c5 Fix backward search of covsearch
  • dd056da3 Fix for models with bioavailability parameters
  • 915bc9c7 Fix get_config_path output when config file is disabled
  • 82b32278 Remove some unwanted debug printing
  • 1131a610 Fix issue in PsN SCM results parsing
  • ebfafb45 Assign ODE as compartmental system to variable (#1173)

0.77.0 (2022-09-08)

Changes

  • fb070ee1 Return input model if allometry model fails (#1049)

0.76.1 (2022-09-06)

Bugfixes

  • Fix issue with adding allometry to models with MM elimination
  • Make pyreadr an optional dependency, making Pharmpy easier to install on Mac M1

0.76.0 (2022-09-05)

New features

  • Add modeling.get_evid to get or create evid from a model
  • Add modeling.get_cmt to get or create a cmt column from a model
  • New column type: "rate"

Changes

  • Rename "resmod" tool to "ruvsearch"
  • Return only DataFrame in modeling.rank_models
  • Fall back to rank value if model fails in modeling.rank_models (fix #916)
  • Rename "strictness" to "errors_allowed" in modeling.rank_models
  • Only allow "rounding errors" by amd, iivsearch, iovsearch, modelsearch and covsearch (fix #1055)
  • Add attibute significant_digits to ModelfitResults

Bugfixes

  • Serialize modelfit results #1092
  • Exlude "unreportable number of significant digits" in modeling.rank_models (fix #1076)

0.75.0 (2022-08-10)

New features

  • SCM forward search followed by backward search in covsearch (#988)

Changes

  • Change initial estimates of IIV parameters of start model in AMD tool (1c65359)
  • Change default order of subtools in AMD tool (42fe72f)

Bugfixes

  • Make NONMEM column renaming work in more cases (#1001)
  • Fix issue when search spaces which lead to uneven branch length in reduced stepwise algorithm (#694)
  • Fix issue with error record not numbering amounts properly with non-linear elimination (#708)
  • Fix issue with comments being removed in omega blocks (#790, #974)
  • Fix ranking issue when candidate models do not produce an OFV (#1017)
  • Fix issue with reading datasets in AMD with RATE column (#989)

0.74.0 (2022-07-18)

Changes

  • Rename pharmpy.parameter to pharmpy.parameters (71f4cf23)
  • Merge COVsearch DSL into MFL (#932, #973)
  • Add ZO absorption to default search space in AMD (cfc09bad)

Bugfixes

  • Make run_amd work in more cases (#975)
  • Make run_iovsearch work in more cases (#917, #977)
  • Make remove_iov work in more cases (#917)
  • Make get_pk_parameters/run_covsearch work in more cases (#908)
  • Make NONMEM .mod parsing work in more cases (#917, #975, #977)
  • Make NONMEM .mod updating work in more cases (fd564168)
  • Make NONMEM dataset column dropping work in more cases (088a046a)
  • Make ODES updates work in more cases (c76fa476, 430f1d2e)

0.73.0 (2022-06-21)

New features

  • Add covsearch tool
  • Add function tools.retrieve_models to read in models from a tool database
  • Add functions modeling.get_individual_parameters, modeling.get_pk_parameters, modeling.get_rv_parameter, and modeling.has_random_effect

Changes

  • Include covsearch tool in AMD
  • Add results for AMD tool
  • Move fit, run_tool, run_amd, and all tool wrappers from modeling module to tool module
  • Rename 'diagonal' -> 'add_diagonal' in iiv strategy option for iivsearch and modelsearch tool
  • Include column for selection criteria in rank_models

0.72.0 (2022-06-08)

New features

  • Add iovsearch tool
  • Add function modeling.summarize_errors to get a summary dataframe of parsed errors from result files
  • Add modeling.make_declarative
  • Add modeling.cleanup_model
  • Add modeling.greekify_model

Changes

  • Use 'no_add', 'diagonal', 'fullblock', or 'absorption_delay' instead of numbers for iiv_strategy in iivsearch and modelsearch-tool
  • Add results and documentation for allometry tool
  • Add error summaries to iivsearch, modelsearch, resmod, and allometry tools
  • Add algorithm argument in estmethod tool ('exhaustive' and 'reduced')

Bugfixes

  • Handle etas after ODEs in iivsearch-tool

0.71.0 (2022-05-24)

New features

  • Add functions find_clearance_parameters and find_volume_parameters

Changes

  • Rename candidate models in estmethod tool

Bugfixes

  • Add upper limit to VP parameter in modelsearch tool
  • Fix issue with matrices not being considered positive semidefinite but considered positive definite

0.70.1 (2022-05-17)

Bugfixes

  • Require pandas 1.4 or newer for multiindex joins. (Fixes #820)

0.70.0 (2022-05-13)

New features

  • New tool allometry added
  • Add modeling.summarize_individuals_count_table
  • Add modeling.calculate_ucp_scale
  • Add modeling.calculate_parameters_from_ucp
  • Add description attribute to model objects
  • Add wrappers for iivsearch and modelsearch tools (run_iivsearch and run_modelsearch)
  • Add documentation for iivsearch tool

Changes

  • resmod can now iterate and add multiple residual error models
  • Automatically generate R examples in a seprate tab in documentation
  • Merge iiv functions into one iivsearch algorithm ('brute_force')
  • Use parameter names instead of eta names in iivsearch tool features

Bugfixes

  • Make sure dropping of DATE columns in NONMEM models are handled correctly
  • Solve issue with sporadic crashes because of a database race condition
  • Solve issue with sporadic crashes caused by race in lazy parsing of NONMEM records
  • Fix issues with converting some piecewise functions to NONMEM code correctly
  • Fix issue with generating candidate models for iivsearch tool
  • Fix issue with duplicate candidate models in iivsearch tool (#745)

0.69.0 (2022-04-29)

New features

  • Add 1st and 3rd quantiles of residual to simeval results

Changes

  • Rename mfl -> search_space in modelsearch and amd
  • Use BIC as default ranking function in modelsearch
  • Start model in modelsearch is not fitted
  • Update modelsearch documentation

Bugfixes

  • Fix bad odes when adding two peripheral compartments to model with MM elimination
  • Fix bug in block splitting in IIV-tool (fixes #745)

0.68.0 (2022-04-27)

Bugfixes

  • Fix bad odes when adding peripheral compartment to model with MM elimination (fixes #710)

0.67.0 (2022-04-25)

New features

  • Add modeling.get_thetas, modeling.get_omegas and modeling.get_sigmas
  • Add configuration option for NONMEM license file path

Bugfixes

  • Correct parsing of ADVAN=ADVANx in $SUBROUTINES in NONMEM models
  • Fix issue with duplicated TAD in $INPUT after add_time_after_dose
  • Fix issue with not being able to use models with assignments in $DES in estmethod tool
  • Set an upper limit for intercompartmental clearances in the modelsearch tool (fixes #695)

0.66.0 (2022-04-20)

Bugfixes

  • Fix NONMEM model parsing issue causing ADVAN not to change for models with DEFOBS in $MODEL

0.65.0 (2022-04-14)

New features

  • Add option in add_iiv and add_pk_iiv to choose initial estimate

Changes

  • Replace different iiv-options in IIV-tool with iiv_strategy
  • Use 0.01 as initial estimate for added IIVs in modelsearch tool

Bugfixes

  • Add K-parameters in NONMEM model when changing to general linear (GL) solvers

0.64.0 (2022-04-12)

New features

  • Add modeling.solve_ode_system
  • Add documentation for .datainfo file
  • Add iofv plot to linearize results
  • Store tool meta data in metadata.json

Changes

  • New options for modelsearch tool: switch order of mfl and algorithm, replace different iiv-options with iiv_strategy

0.63.0 (2022-04-07)

New features

  • Support ~ as HOME in file paths input by users
  • Add modeling.read_dataset_from_datainfo
  • Store unique datasets for tool runs

Bugfixes

  • Fix problem with TAD calculation for datasets with ADDL
  • Handle LinAlgError when updating initial estimates in modelsearch (#656)

0.62.0 (2022-04-04)

New feature

  • Store unique datasets in models/.datasets

Changes

  • New name for final model in resmod

Bugfixes

  • Use NaN in summary_individuals if tflite cannot be used

0.61.1 (2022-03-31)

Bugfixes

  • Fix time after dose calculation for steady state dosing
  • Fix issue where create_joint_distribution could create matrices that are not positively definite (#649)
  • Keep IIV from MAT in MDT when adding a transit (#654)

0.61.0 (2022-03-29)

New features

  • Add modeling.summarize_individuals

Changes

  • Change initial estimates for QP1/QP2 ratio to 0.1/0.9

Bugfixes

  • Handle ADDL columns for add_time_after_dose

0.59.0 (2022-03-25)

New features

  • Add modeling.expand_additional_doses

0.58.4 (2022-03-24)

Bugfixes

  • Fix issue with start model not being selected if no candidates are better in IIV- and modelsearch-tool
  • Fix issue with ranking models by dBIC in IIV-tool

0.58.1 (2022-03-22)

Bugfixes

  • Fix ordering of TAD values for dose at some time as observation
  • Fix TAD values for datasets with reset time event
  • Handle models with no covariates for predict_outliers and predict_influential_individuals

0.58.0 (2022-03-22)

New features

  • Add modeling.add_pk_iiv to add iiv to all pk parameters of a model

Changes

  • Change cutoff for zero protection in proportional error ModelSyntaxError
  • Change to checking for positive semidefiniteness instead of only positive definiteness when validating omegas

Bugfixes

  • Fix BIC-mixed calculation to not count thetas related to non-random etas (0 FIX) towards random parameters
  • Read 0 FIX diagonal etas as random variables

0.57.0 (2022-03-21)

Bugfixes

  • Keep thetas/etas when going across absorption transformations (#588, #625)
  • Fix missing ALAG-parameter in non-linear elimination (#578)
  • Fix issue with added VC1-parameter when adding transits to non-linear elimination (#577)
  • Fix missing D1-parameter and RATE-column when adding zero order absorption to non-linear elimination (#578)
  • Only do update_inits if start model was successful in IIV-tool (#632)
  • Fix issue where etas where added to KA/K-parameters instead of MAT/MDT (#636)

0.56.0 (2022-03-17)

Changes

  • Remove ZO elimination from the default search space in model search
  • Do not apply resmod mode if no change on the full model

Bugfixes

  • Fix bad calculation of number of observations for datasets with both EVID and MDV
  • Properly handle observations and dose at same time for time after dose calculation
  • Handle DATE column for time after dose calculation
  • Handle NONMEM models with no ETAs

0.55.0 (2022-03-16)

New features

  • Option in modeling.update_inits to move estimates that are close to boundary

Changes

  • Set different initial estimates of clearance for peripherals (#590)

Bugfixes

  • Fix issue with duplicated features with IIV-options in modelsearch-tool
  • Fix issue where $MODEL was not added when setting ODE solver to GL or GL_REAL
  • Fix issue where reduced_stepwise failed for certain search spaces (#616)
  • Fix issue with reading in sampled_iofv in simeval
  • Use the same time varying cutoff for resmod models and best model

0.54.0 (2022-03-08)

New features

  • New IIV version of BIC in calculate_bic
  • Use IIV BIC in iiv tool
  • Add allometry step in amd tool
  • Reduced stepwise algorithm in modelsearch
  • Add cutoff option to predict_outliers etc

Bugfixes

  • Fix issue with failing to creating correct subblocks of fullblock of random variables
  • Set index name to id-name in predict_outliers

0.53.0 (2022-03-04)

New features

  • Add option to remove specific IOV random variables
  • Support Python 3.10
  • Add modeling.check_dataset

Changes

  • modeling.calculate_bic: Count epsilons interacting with etas to random parameters
  • Updated tensorflow models for prediction of outliers and influential individuals
  • Only consider parameters with etas for covariate modelbuilding in amd
  • Include AIC/BIC in modeling.summarize_modelfit_results

Bugfixes

  • Update solvers in estmethod-tool
  • Handle Q-parameters when adding IIV on structural parameters in iiv-tool
  • Only add IIV on MDT-parameter with add_mdt_iiv-option in modelsearch-tool

0.52.0 (2022-02-25)

New features

  • Add covariate search to amd tool

0.51.0 (2022-02-24)

New features

  • Add option to add IIV to start model in iiv-tool
  • Add solver option in estmethod-tool
  • Add option to add IIV only on MDT in modelsearch-tool

Changes

  • modeling.calculate_bic can Calculate three different versions of the BIC
    default has switched to be a mixed effects version
  • Remove etas instead of setting to 0 fix in iiv-tool

  • Parse more errors and warnings in .lst-file

  • Rename add_eta -> add_iivs, etas_as_fullblock -> iiv_as_fullblock, add_mdt_eta -> add_mdt_iiv in modelsearch

0.50.1 (2022-02-16)

Bugfixes

  • Handle long paths when fitting NONMEM model

0.50.0 (2022-02-16)

New features

  • Add modeling.write_results
  • Add modeling.print_fit_summary
  • Add modeling.remove_loq_data
  • Add first version of WIP scm wrapper

Changes

  • Change in mfl in modelsearch such that transits that don't keep depot will have additional transit
  • Make it possible to set $DATA directly for NONMEM models (via datainfo.path) (#130)

0.49.0 (2022-02-10)

New features

  • Add modeling.calculate_se_from_cov
  • Add modeling.calculate_se_from_inf
  • Add modeling.calculate_corr_from_cov
  • Add modeling.calculate_cov_from_inf
  • Add modeling.calculate_cov_from_corrse
  • Add modeling.calculate_inf_from_cov
  • Add modeling.calculate_inf_from_corrse
  • Add modeling.calculate_corr_from_inf
  • Add modeling.create_report
  • Add modeling.check_high_correlations
  • Add modeling.calculate_bic
  • Add modeling.check_parameters_near_bounds
  • Add option to choose search space in AMD-tool

Changes

  • Use p-value instead of OFV cutoff in resmod

Bugfixes

  • Fix issue with no conversion to $DES for some models (#528)

0.48.0 (2022-02-04)

New features

  • Parse estimation step runtime from NONMEM results file

Changes

  • Force initial estimates when reading model file to be positive definite

Bugfixes

  • Random block was not split properly in some cases when random variable was removed
  • Add $COV correctly in NM-TRAN models (#457)

0.47.0 (2022-01-28)

  • Add modeling.drop_columns
  • Add modeling.drop_dropped_columns
  • Add modeling.undrop_columns
  • Add modeling.translate_nmtran_time

0.46.0 (2022-01-27)

  • Add modeling.calculate_aic
  • Add modeling.print_model_code
  • Add modeling.has_michaelis_menten_elimination
  • Add modeling.has_zero_order_elimination
  • Add modeling.has_first_order_elimination
  • Add modeling.has_mixed_mm_fo_elimination
  • Add parent_model attribute to Model object
  • Support non-linear elimination in search space in modelsearch tool
  • Rename summary -> summary_tool in IIV and modelsearch tool, add summary_models
  • Update modelsearch algorithm to only run 2C if previous model is 1C
  • Fix bug in transformation order in features column of summary in modelsearch tool

0.45.0 (2022-01-21)

  • Add timevarying models to resmod

0.44.0 (2022-01-20)

  • Add modeling.create_symbol
  • Add modeling.remove_unused_parameters_and_rvs
  • Add modeling.mu_reference_model
  • Add modeling.simplify_expression
  • Add option keep_depot to modeling.set_transit_compartments
  • Add CLI for estmethod tool
  • Add attributes isample, niter, auto and keep_every_nth_iter to EstimationStep
  • Remove stepwise algorithm in modelsearch tool

0.43.0 (2022-01-12)

  • Add modeling.bump_model_number
  • Fix regression in detection of dv column when synonym was used

0.42.0 (2022-01-11)

  • Add modeling.get_doseid
  • Add modeling.get_unit_of
  • Add modeling.get_concentration_parameters_from_data
  • Add modeling.write_csv
  • Add modeling.resample_data
  • Add modeling.omit_data
  • Add modeling.get_observation_expression
  • Add modeling.get_individual_prediction_expression
  • Add modeling.get_population_prediction_expression
  • Add modeling.evaluate_individual_prediction
  • Add modeling.evaluate_population_prediction
  • Add modeling.calculate_eta_gradient_expression
  • Add modeling.calculate_epsilon_gradient_expression
  • Add modeling.evaluate_eta_gradient
  • Add modeling.evaluate_epsilon_gradient
  • Add modeling.evaluate_weighted_residuals
  • Support for Python 3.7 dropped

0.41.0 (2021-12-21)

  • Add modeling.get_individuals
  • Add modeling.get_baselines
  • Add modeling.get_covariate_baselines
  • Add modeling.get_doses
  • Add modeling.list_time_varying_covariates
  • Add combined error model to resmod
  • Add option to zero_protect to set_proportional_error_model
  • Add tool estmeth to find optimal estimation method for a model
  • Fix bug causing resmod models to be incorrect
  • New model.datainfo object

0.40.0 (2021-12-16)

  • Add modeling.add_allometry

0.39.0 (2021-12-15)

  • Add AMD and IIV tool and respective functions run_amd and run_iiv
  • Add function add_covariance_step and remove_covariance_step
  • Add method insert_after to ModelStatements
  • Add option to set limit or no limit for power_on_ruv theta
  • Rename EstimationMethod to EstimationStep and add EstimationSteps class
  • Parse eta and epsilon derivatives from $TABLE
  • Fix bug where lag time is removed when changing to ZO or FO absorption

0.38.0 (2021-12-08)

  • Add function to get path to user configuration file
  • Add function to get missing DVs
  • Add option to add IIV on structural parameters (as diagonal and block)
  • Add guard for log(0) in proportional error for log data
  • Avoid crash if plots cannot be created in CDD results
  • Fix issue saving modelsearch results
  • Fix bipp issues with etas outside of FREM matrix

0.37.1 (2021-11-26)

  • Fix bug causing frem report to crash with #IDs > 5000
  • Fix bug for shifted uncertainty in frem with bipp

0.37.0 (2021-11-24)

  • First version of IIV-tool
  • Rename set_lag_time to add_lag_time
  • Include run type in summarize_modelfit_results
  • Fix bug with force option in write_model
  • Fix bug in parsing .ext-files with tables without header
  • Fix bug with nested update_source crashing due to incorrect handling of diagonal records
  • Fix bug with inserted IGNORE on comment lines

0.36.0 (2021-11-11)

  • Add option to set_dtbs_error_model to fix parameters to 0 (i.e. get data on log-scale)
  • Create model file when fitting a model that has no model file
  • Fix bug where files are missing during e.g. modelsearch
  • Fix crash when including a model with no results in summarize_modelfit_results
  • Fix bug in Pharmr where integers where interpreted as floats
  • Fix issue with extra IPRED on power_on_ruv model

0.35.0 (2021-11-02)

  • Option to include all estimation steps in summarize_modelfit_results
  • Use kwargs in set_estimation_step and add_estimation_step
  • First version of logger (via model.modelfit_results.log)

0.34.3 (2021-10-28)

  • Let parametrization of peripheral compartment rates be kept if volume parameter can be found in the expression for K.
  • Fix bug causing crashes when parsing some lst-files due to mixed encodings.

0.34.2 (2021-10-26)

  • Fix broken parallelization for tools (workflows)
  • Fix bug causing parsing of some NM-TRAN datasets to set a column index

0.34.1 (2021-10-20)

  • Fix issues with retrieving results after model runs

0.34.0 (2021-10-14)

  • Remove the need for update_source. Instead use model.model_code or modeling.generate_model_code(model)
  • str(model) can no longer be used to get the model_code
  • Fix crash in model database when using copies of models

0.33.0 (2021-10-11)

  • Add modeling.read_model_from_database
  • Add modeling.print_model_symbols
  • Add modeling.append_estimation_step_options
  • Fix crash for $DES models with RATE in dataset
  • Fix estimation status for evaluation steps to use latest estimation

0.32.0 (2021-09-28)

  • Move plot_iofv_vs_iofv to modeling
  • Add modeling.get_observations
  • Add modeling.plot_individual_predictions

0.31.0 (2021-09-21)

  • Move parameter_sampling-functions into modeling module
  • Add run_tool function to modeling
  • Add predict_outliers, predict_influential_individuals and predict_influential_outliers functions to modeling
  • Update API documentation (e.g. add examples, and improved index)

0.30.0 (2021-09-06)

  • Add modeling.load_example_model
  • Move eta_shrinkage results method to modeling.calculate_eta_shrinkage
  • Add first version of resmod tool
  • Update documentation (including API reference)
  • Rename summarize_models to summarize_modelfit_results
  • Fix bug related in running NONMEM on Windows via Rstudio

0.29.0 (2021-08-25)

  • Rename zero_order_absorption to set_zero_order_absorption
  • Rename first_order_absorption to set_first_order_absorption
  • Rename bolus_absorption to set_bolus_absorption
  • Rename seq_zo_fo_absorption to set_seq_zo_fo_absorption
  • Rename have_zero_order_absorption to has_zero_order_absorption
  • Rename power_on_ruv to set_power_on_ruv
  • Rename add_lag_time to set_lag_time
  • Move individual_shrinkage results method to modeling.calculate_individual_shrinkage

0.28.0 (2021-08-24)

  • Move method individual_parameter_statistics from Results to a function in modeling and rename to calculate_individual_parameter_statistics
  • Move method pk_parameters from Results to a function in modeling and rename to calculate_pk_parameters_statistics
  • Rename create_rv_block to create_joint_distribution
  • Rename split_rv_block to split_joint_distribution
  • New default option force=True for write_model
  • Rename ninds to get_number_of_individuals
  • Rename nobs to get_number_of_observations
  • Rename nobsi to get_number_of_observations_per_individual
  • Rename remove_error to remove_error_model
  • Rename additive_error to set_additive_error_model
  • Rename proportional_error to set_proportional_error_model
  • Rename combined_error to set_combined_error_model
  • Rename has_additive_error to has_additive_error_model
  • Rename has_proportional_error to has_proportional_error_model
  • Rename has_combined_error to has_combined_error_model
  • Rename theta_as_stdev to use_thetas_for_error_stdev
  • Rename set_dtbs_error to set_dtbs_error_model
  • Rename boxcox to transform_etas_boxcox
  • Rename tdist to transform_etas_tdist
  • Rename john_draper to transform_etas_john_draper
  • Rename iiv_on_ruv to set_iiv_on_ruv
  • Rename add_parameter to add_individual_parameter
  • Rename first_order_elimination to set_first_order_elimination
  • Rename zero_order_elimination to set_zero_order_elimination
  • Rename michaelis_menten_elimination to set_michaelis_menten_elimination
  • Rename mixed_mm_fo_elimination to mixed_mm_fo_elimination
  • Function summarize_models to create a summary of models
  • Parse total runtime
  • Revert to dask distributed

0.27.0 (2021-08-09)

  • Use dask threaded for Windows, allow configuration of dispatcher type
  • Filter out individuals without observations in .phi-file

0.26.1 (2021-08-04)

  • Correct residual calculation in simeval
  • Correct how laplace estimation method is written

0.26.0 (2021-07-13)

  • Add functions to set, add, and remove estimation step
  • Add supported estimation methods (ITS, LAPLACE, IMPMAP, IMP, SAEM)
  • When updating estimation step, old options are kept

0.25.1 (2021-07-08)

  • Read site path if user path doesn't exist (previously read user path)
  • Change return type of covariates to a list for easier handling in R

0.25.0 (2021-06-24)

  • Add modeling.ninds, nobs and nobsi to get number of individuals and observations of dataset
  • Add reading results for resmod and crossval
  • Add structural bias, simeval and resmod results to qa results
  • Update index of cdd case_results to plain numbers
  • Support line continuation (&) in NM-TRAN code
  • Fix error in calculation of sdcorr form of parameter estimates
  • Fix crash of cdd results retrieval
  • Various fixes for running NONMEM models

0.24.0 (2021-05-25)

  • Added theta_as_stdev, set_weighted_error_model and set_dtbs_error
  • Error models can be added with log transformed DV using data_trans option
  • Added model attributes data_transformation and observation_transformation
  • Protected functions in NM-TRAN translated to Piecewise. Should now give the same result as when evalutated by NONMEM.
  • Bugfixes for frem, scm and bootstrap results generation
  • Rename model attribute dependent_variable_symbol to dependent_variable
  • Added simplify method on Parameter class to simplify expressions given parameter constraints

0.23.4 (2021-05-03)

  • 10-100 times Speedup of modeling.evaluate_expression

0.23.3 (2021-04-29)

  • Documentation fix for pharmr release
  • Handle implicit ELSE clauses for NM-TRAN IF

0.23.2 (2021-04-28)

  • Fix bug #177

0.23.1 (2021-04-28)

  • Bugfixes

0.23.0 (2021-04-28)

  • Add function modeling.evaluate_expression
  • Some documentation for modelfit_results
  • Reworked interface to RandomVariables and Parameters
  • Bugfixes

0.22.0 (2021-03-29)

  • Support COM(n) in NONMEM abbreviated code
  • Fix stdin handling issue when running NONMEM from R

0.21.0 (2021-03-22)

  • New function read_results in modeling
  • Add method to convert ExplicitODESystem to CompartmentalSystem
  • Support running NONMEM 7.3 and 7.5
  • Bugfixes:
    • Allow protected functions in NONMEM abbreviated code
    • Fix bad rates when changing number of transit compartments (#123)

0.20.1 (2021-03-11)

  • Fix regression for calling NONMEM

0.20.0 (2021-03-11)

  • New function modeling.set_peripheral_compartments
  • New tool Model Search
  • New model attribute estimation_steps to read and change $ESTIMATION
  • Bugfixes (#99, #118)

0.19.0 (2021-03-02)

  • Add create_result to create results from PsN
  • Add documentation for covariate effects

0.18.0 (2021-03-01)

  • Add functions to fix and unfix values to a specified value
  • Add documentation for using Pharmpy with NONMEM models
  • New execution system for modelfit
  • Support for single string input for transformations of etas and epsilons (e.g. add_iov)
  • Various bugfixes, including running NONMEM via Pharmpy on Windows

0.17.0 (2021-02-15)

  • Add function to split an eta from a block structure
  • New names for covariance between etas in create_rv_block
  • Clearer error messages when adding IOVs (if only one level of occasion) and for parameter_names config

0.16.0 (2021-02-08)

  • Improve initial estimates for adding peripheral compartments
  • Parameter names are set according to priority in config
  • Avoid duplication of e.g. median/mean when having multiple covariate effects with the same covariate
  • Change assignments when multiple covariate effects are applied to the same parameter to be combined in one line
  • Do not change error model if it is the same error model transformation multiple times
  • Add AggregatedModelfitResults
  • Document scm results

0.15.0 (2021-02-01)

  • Change parameter_names config option to be a list of prioritized methods
  • Option to read names from $ABBR for NONMEM models
  • Add option to give parameter names to methods.add_iiv
  • Add calculation of elimination half-life to one comp models in modelfit_results.pk_parameters
  • Document cdd results
  • Add set_initial_estimates, set_name and copy_model to modeling
  • Allow single str as input to add_iiv and add_iov

0.14.0 (2021-01-25)

  • Support reading $DES-records
  • Add individual_parameter_statistics to ModelfitResults
  • Add pk_parameters to ModelfitResults
  • Add add_iov to modeling
  • Rename add_etas -> add_iiv

0.13.0 (2021-01-18)

  • Change names of covariate effect parameters for add_covariate_effects
  • Improve ordering of terms in created NONMEM expressions
  • Add parameter_inits, base_parameter_change, parameter_variability and coefficients to frem_results
  • Add SimevalResults class
  • Add fit and read_model_from_string functions to modeling
  • Add solver attribute to ODESystem to be able to select ODE-system solver. Currently ADVANs for NONMEM
  • New method nonfixed_inits to ParameterSet
  • Add residuals attribute to ModelfitResults
  • Various bug fixes
  • Migrate to github actions for continuous integration

0.12.0 (2020-12-18)

  • Add modeling.update_inits, modeling.add_peripheral_compartment and modeling.remove_peripheral_compartment
  • Update FREM documentation
  • Switch to using modelled covariate values for baselines in FREM
  • Add methods for retrieving doses and Cmax, Tmax, Cmin and Tmin from dataset
  • Various bugfixes and support for more ADVAN/TRANS combinations

0.11.0 (2020-11-20)

  • Method df.pharmpy.observations to extract observations from dataframe
  • Add ColumnTypes EVENT and DOSE
  • Add model.to_base_model to convert model to its raw base model form
  • New functions in modeling: remove_iiv, zero_order_elimination, comined_mm_fo_elimination and add_parameter
  • Split modeling.absorption_rate and error into multiple functions
  • Add calculations of AIC and BIC to ModelfitResults
  • Improved pretty printing

0.10.0 (2020-11-16)

  • modeling.create_rv_block
  • modeling.michaelis_menten_elimination
  • modeling.set_transit_compartments
  • First version of modelfit method
  • Add first version of bootstrap method
  • Add parameter estimates histograms to bootstrap report
  • Add automatic update of $SIZES PD when writing/updating NONMEM model
  • Additions to QAResults
  • NMTRanParseError replaced with ModelSyntaxError
  • Multiple bugfixes to frem and scm result calculations

0.9.0 (2020-10-26)

  • Add error_model function to the modeling module
  • Added more standard models for modeling.add_etas
  • Improve BootstrapResults
  • Add plots to bootstrap
  • Add support for the PHARMPYCONFIGPATH environment variable
  • Add QAResults and LinearizeResults classes
  • Bugfixes for some Windows specific issues

0.8.0 (2020-10-08)

  • Add basic modeling functions to the modeling module
  • modeling.add_etas
  • Improved bootstrap results generation and additional plots
  • Bugfix: Labelled OMEGAS could sometimes get wrong symbol names

0.7.0 (2020-09-28)

  • Add method reset_indices in Results to flatten multiindices. Useful from R.
  • absorption_rate can also set sequential zero first absorption
  • New functionsadd_lag_time and remove_lag_time in modeling
  • Add basic functions fix/unfix_parameter, update_source and read_model to modeling API
  • Updated reading of NONMEM results
  • Bugfixes in add_covariate_effects and absorption_rate
  • Fix crash in FREM results if no log option could be found in meta.yaml

0.6.0 (2020-09-18)

  • Add eta transformations: boxcox, t-dist and John Draper
  • Add results cdd and scm to CLI
  • Add different views for scm results
  • Add support for taking parameter names from comment in NONMEM model
  • Remove assumptions for symbols
  • Add modeling.absorption_rate to set 0th or first order absorption
  • Add update of $TABLE numbers

0.5.0 (2020-09-04)

  • Many bugfixes and improvements to NONMEM code record parser
  • Add calculation of symbolic and numeric eta and eps gradients, population and individulal prediction and wres for PRED models
  • Add option to use comments in NONMEM parameter records as names for parameters
  • Reading of ODE systems from NONMEM non-$DES models
  • Calculation of compartmental matrix and ODE system
  • New module 'modeling'
  • Function in modeling and CLI to change ADVAN implicit compartmental models to explicit $DES
  • Function in modeling and CLI to add covariate effects
  • Functions for reading cdd and scm results from PsN runs
  • Many API updates
  • Extended CLI documentation

0.4.0 (2020-07-24)

  • Add categorical covariates to covariate effects plot in FREM
  • Better support for reading NONMEM code statements (PK and PRED)
  • Support for updating NONMEM code statements (PK and PRED)
  • Bugfixes for CLI

0.3.0 (2020-06-16)

  • New CLI command 'data append'
  • Parameter names is now the index in Parameters.summary()
  • FREM postprocessing
  • Standardized results.yaml and results.csv

0.2.0 (2020-03-27)

First release

0.1.0 (2018-07-22)

Initial library development/testing directory structure.