NONMEM Users Network Archive

Hosted by Cognigen

RE: Code to avoid flip-flop kinetics

From: Samer Mouksassi <smouksassi>
Date: Fri, 7 Aug 2009 10:16:27 -0700

From NONMEM help it seems that there is a NOABORTFIRST option but I
never used it:
 
 $THETA value1 [value2] [value3] ...
         [NUMBERPOINTS=n]
         [ABORT|NOABORT|NOABORTFIRST]

 

Otherwise you can change your initial estimates appropriately so the
first iteration starts!

 

Samer

 

 

 

Samer Mouksassi Pharm.D.

Senior Associate Scientist

Pharsight- A Certara(tm) Company
2000 Peel, Suite 570
Montreal, Quebec, Canada H3A 2W5

The information contained in this electronic mail message (including any
attachments) is intended only for the personal and confidential use of
the designated recipient(s) named above. If the reader of this message
is not the intended recipient or an agent responsible for delivering it
to the intended recipient, you are hereby notified that you have
received this message in error and that any review, dissemination,
distribution, or copying of this message is strictly prohibited. If you
have received this communication in error, please notify the sender
immediately by telephone and/or e-mail (smouksassi
<mailto:smouksassi
this message in your possession (whether hardcopies or electronically
stored copies). Thank you.

 

 

________________________________

From: owner-nmusers
On Behalf Of Paolo Denti
Sent: Friday, August 07, 2009 11:19 AM
To: nmusers
Subject: [NMusers] Code to avoid flip-flop kinetics

 

Dear NMUsers,
having to deal with the flip-flop kinetics phenomenon, I had a look at
previous posts on the NMusers list.
I found this post particularly enlightening:
http://www.cognigencorp.com/nonmem/nm/99aug072003.html

Some code was proposed to avoid the flip-flop at population and
individual level. Here's a not-so-brief summary.

This parameterization solves the issue at population level:
CL=THETA(1)*EXP(ETA(1))
V=THETA(2)*EXP(ETA(2))
TVKE=THETA(1)/THETA(2)
TVKA=TVKE+THETA(3)
KA=TVKA*EXP(ETA(3))

However, it does not prevent the phenomenon occurring at individual
level. Vlamidir Piotrovsky proposed the code below, which does solve the
problem at individual level, but makes the interpretation of the results
a bit awkward and introduces correlation among the model parameters. In
particular, variance of ETA3 was greatly increased.
CL=THETA(1)*EXP(ETA(1))
V=THETA(2)*EXP(ETA(2))
KE=CL/V
KA=KE+THETA(3)*EXP(ETA(3))

Another approach, suggested by Nick Holford, implements error recovery
using EXIT 1. The code is reported below:
CL=THETA(cl)*EXP(ETA(cl))
V=THETA(v)*EXP(ETA(v))
KA=THETA(ka)*EXP(ETA(ka))
K=CL/V
IF (KA.LE.K) EXIT 1 101 ; try again (PREDERR message error code 101)

As far as I understand, this interrupts the computation whenever the
flip-flop occurs and lets NONMEM restart. However, if such an error
arises at initialization, NONMEM does not recover and the run goes no
further. Nick probably experienced something similar, but apparently
received no answer
http://www.cognigencorp.com/nonmem/nm/99oct072004.html

Does anyone know of a way around this drawback? Or have other code to
deal with flip-flop kinetics?

Thank you in advance,
Paolo





--
------------------------------------------------
Paolo Denti, Post-Doctoral Fellow
Division of Clinical Pharmacology
Department of Medicine
University of Cape Town
 
K45 Old Main Building
Groote Schuur Hospital
Observatory, Cape Town
7925 South Africa
phone: +27 21 404 7719
fax: +27 21 448 1989
email: paolo.denti
------------------------------------------------

Received on Fri Aug 07 2009 - 13:16:27 EDT

The NONMEM Users Network is maintained by ICON plc. Requests to subscribe to the network should be sent to: nmusers-request@iconplc.com.

Once subscribed, you may contribute to the discussion by emailing: nmusers@globomaxnm.com.