Perl-speaks-NONMEM
Perl-speaks-NONMEM (PsN) is a collection of Perl modules and programs aiding in the development
of non-linear mixed effect models using NONMEM. The functionality ranges from solutions to simpler
tasks such as parameter estimate extraction from output files, data file sub setting and resampling,
to advanced computer-intensive statistical methods. PsN includes stand-alone tools for the end-user
as well as development libraries for method developers. You can read more about the different parts of PsN under Documentation.
Latest news
Version 3.1.0 was released December 14, 2009 , and is available here.
Version 3.0.0 was released October 2, 2009 , and is available here.
Version 2.3.2 was released June 24, 2009 , and is available here.
New features in PsN 3.1.0
- Extensive NONMEM7 support. All PsN tools accept modelfiles with multiple
$ESTIMATION. All estimation methods are supported. Note:
only results from last $EST will be presented and used in data processing.
- New parser for THETA, OMEGA and SIGMA. With the new parser all known bugs
are removed. All formatting variants described in the NONMEM userguide
are supported.
- tweak_inits will ensure that OMEGA and SIGMA are strictly diagonally dominant.
This reduces the risk of NONMEM halting due to non-postive definite initial
estimate matrices. Also, tweak_inits will not change initial estimates
that are zero, regardless if they are FIXED or not. This preserves band matrices.
- New options -predcorr (prediction correction) and -varcorr
(variability correction, experimental) to vpc. More details in the vpc userguide.
- New options -last_est_complete and -niter_eonly for tools that run some models with
skipped estimation step (cdd, npc, vpc, execute with mirror_plots option).
More details in PsN_and_NONMEM7.pdf.
- update_inits now has options for renumbering output files in $TABLE and adding
comments in $PROBLEM
- Both run information files version_and_option_info.txt and command.txt will be
overwritten at each rerun in the same PsN directory, also for npc and vpc. The
files from the original PsN call are saved as original_command.txt and
original_version_and_option_info.txt
- The logic for the flag minimization_successful has been adapted to new the estimation
methods. Affects retries and sumo output. More details in PsN_and_NONMEM7.pdf.
- For developers only: Many accessors to the output object have changed.
Contact the PsN development team for more information.
Minor changes and bug fixes in PsN 3.1.0
- When option -nmfe is used, PsN will first look for nmfe script in the 'run'
and then in the 'util' subdirectory of the NONMEM installation directory.
In PsN-3.0.0 the order was 'util' then 'run'.
- shrinkage: PsN will report percentages in raw_results, instead of fraction.
Eta shrinkage will be taken from the lst-file when available.
- sse tool will keep IGNORE=list statements (IGNORE=single character will still
be changed to IGNORE=@). ACCEPT statements are kept as before.
- Headers in raw_results will look different, using full indexes for SIGMA and
OMEGA, e.g. SIGMA(2,1), OMEGA(3,3).
- sumo and update_inits can now handle a model that lacks OMEGAs.
- three unstable functionalities disabled for NM7: summarize, handle_maxevals,
handle_msfo.
- PsN now accepts both comma- and space-separated $INPUT.
New documentation in PsN 3.1.0
- The document PsN_and_NONMEM7.pdf describes how PsN deals with the
many new features and functions of NONMEM7. This document is essential for
anyone who intends to use PsN with NONMEM7.
New features in PsN 3.0.0
- NONMEM7 support for NONMEM6 type input
PsN 3.0.0 has partial support for NONMEM7. It will handle NONMEM6 type input, i.e. single $ESTIMATION and classical estimation methods, with any PsN tool (bootstrap, scm...). PsN 3.0.0 has full support for NONMEM6. Details in release notes.
- New option nmfe:
There is a new commandline option -nmfe (no arguments) that can be used
with any PsN tool. When enabled, PsN will invoke nmfe6 or nmfe7 to run NONMEM
instead of doing stepwise compiling and execution. See psn_configuration.pdf and common_options_defaults_version.pdf for details.
When nmfe is set the compiler configuration is ignored.
-
Compiler configuration
The compiler configuration can be set differently for each NONMEM version.
See psn_configuration.pdf for details.
Minor changes and bug fixes in PsN 3.0.0
-
Fixed the -clean option and documentation so that the behaviour matches
the documentation.
- Fixed a bug that caused bootstrap to crash when dataset has no header.
- The psn.mod file in NM_run subdirectory is now the selected model from the
set of retries, instead of the last model that was run.
- Fixed a bug to -iofv option for NONMEM6 on Windows. (-iofv is not supported
for NONMEM7 since iofv values are obtained from phi additional output.)
- Removed old experimental database code.
- Added a temporary solution to file path problem on windows and
old perl5.8 build versions. Thanks to Joachim Grevel.
- Fixed a bug to rewriting model compartments (line break at wrong place).
- Added handling of commas in comments to parameters using a solution
provided by Bill Denney and Jeroen Elassaiss-Schaap.
- Changed sge queueing of jobs. Awaiting test result from Justin Wilkins
who reported the bug.
- Changed npc/vpc to use CWRES in $TABLE if NONMEM7 is used , and to allow
longer variable names.
- Changed installer script setup.pl so that it no longer installs required
perl modules, but instead optionally checks if required modules are installed.
- Changed installer script so that documentation is copied to doc
subdirectory of PsN installation directory.
- Updated error messages to give more information.
New documentation in PsN 3.0.0
- Installation instructions are found in psn_installation.pdf.
- In psn_configuration.pdf it is described how to
edit psn.conf to configure PsN correctly. Please read that
document before running PsN for the first time.
Old psn.conf files must be edited to work correctly with PsN3.
- The document known_bugs_and_workarounds.pdf lists the most commonly
encountered unfixed bugs and how to work around them.
Changes between PsN 2.3.1 and 2.3.2
-
Added support for censored and categorical data in vpc.
Please see the updated userguide for details.
-
Added some simple error checking in $OMEGA and $SIGMA parsing.
-
Enabled negation of some common options (e.g. -compress).
-
Changed the default value of option -restarts from 5 to 0
in the source code.
Please note: Users can set their own
defaults in psn.conf, see
instructions here.
-
Fixed a bug to the sse that caused options not to be passed correctly.
-
Fixed a bug to sumo that prevented the user from setting some options.
-
Fixed a bug in the code for running on Torque (the torgue bug).
-
Replaced the computational principles of nonpb version 1.
-
Fixed a bug in the input checking of vpc/npc.
Changes between PsN 2.3.0 and 2.3.1
-
Updated the sse_userguide.
-
Added support for models with block SIGMA structure in NONMEM VI
2.0.
-
Fixed a bug to the bootstrap that caused options not to be passed
correctly
-
Added support for the Torque grid computing system.
-
Fixed a bug so that the -mplots flag works with bootstrap and llp.
Changes between PsN 2.2.5 and 2.3.0
-
Support for NONMEM VI 2.0 has been added.
-
Major documentation effort. All command-line help texts have been
reviewed and updated.
-
User-guide documents for common PsN options, bootstrap, execute,
sse, vpc, npc, llp and cdd are now available in the folder "doc"
under the PsN Core and Toolkit installation directory, which is
chosen during the installation (e.g. C:\Perl\site\lib\doc). There
are still gaps, but they are smaller than before.
-
New feature to help make runs more reproducible: A new file,
"version_and_option_info.txt" is created in the run directory
(<scriptname>_dirXX) whenever execute/sse/bootstrap/npc or any of
the other major PsN scripts are run. The file contains the PsN
version, the date and time, the actual values of the optional
options to the script, the command that started the run and the
actual values of optional general PsN options. The general PsN
options include nm_version (NONMEM version as named in psn.conf) and
seed.
-
Changed principle for selecting best result from a set of retries.
Please see the change log or the README.txt file for details.
-
New script called "psn" that lists all PsN scripts available using "psn -h" or "psn -help", and lists all available NONMEM versions (the ones listed in psn.conf) using "psn -nm_versions"
-
New script called "psn_options" that lists options common to most scripts ("psn_options -h").
-
New version of sumo, including help texts. see "sumo -help"
- Lots of new additions and changes, please see the change log or the README.txt file for details.
More information
Perl-speaks-NONMEM is copyright
©2008 by Mats Karlsson, Niclas
Jonsson and Andrew Hooker.
©2006-2007 by Lars Lindbom.
©2000-2005 by Lars Lindbom and Niclas Jonsson.
All rights reserved.
Perl-speaks-NONMEM is licensed under version 2 of the GNU General
Public License as published by the Free Software Foundation.
PsN is developed and maintained by Kajsa Harling, Sebastian Ueckert
and Andrew Hooker.
PsN was originally developed by Niclas Jonsson and continued by Lars
Lindbom for his doctoral thesis. Additional implementation has been done by Pontus Pihlgren, Jakob Ribbing, Kristin Karlsson,
Maria Kjellsson and Joakim Nyberg. Additional contributions by Radojka Savic, Paul Baverel, Martin Bergstrand, Elodie Plan and many more.
This website was designed, implemented and is maintained by
Sebastian Ueckert.
References
- Lindbom L, Pihlgren P, Jonsson EN.
PsN-Toolkit--a collection of computer intensive statistical methods for non-linear mixed effect modeling using NON
MEM.
Comput Methods Programs Biomed. 2005 Sep;79(3):241-57.
- Lindbom L, Ribbing J, Jonsson EN.
Perl-speaks-NONMEM (PsN)--a Perl module for NONMEM related programming.
Comput Methods Programs Biomed. 2004 Aug;75(2):85-94.
Acknowledgments
NONMEM® is a registered trademark of GloboMax. The Perl camel
logo is a registered trademark of O'Reilly Media, Inc. and is used with
permission. All logos and trademarks in this site are property of
their respective owners.
Thanks to Jeroen Elassaiss and Stefan Verhoeven for fixing bugs in SGE submission code.