NONMEM Users Network Archive

Hosted by Cognigen

RE: [NMusers] $ABBR REPLACE Limitations?

From: Bauer, Robert <Robert.Bauer_at_iconplc.com>
Date: Sun, 4 Feb 2018 06:16:23 +0000

Bill:
If a substitution fails, you can more surely enforce its replacement if you surround the variable to be substituted with parentheses.

In your example,

$ABBR REPLACE CMTUPGUT=1
$ABBR REPLACE CMTUPGUT2=15

$PK

  IF (CMT.EQ.(CMTUPGUT).OR.CMT.EQ.(CMTUPGUT2).AND.AMTEFFSOLID.GT.0) THEN

  ENDIF


Should work.


Robert J. Bauer, Ph.D.
Senior Director
Pharmacometrics R&D
ICON Early Phase
820 W. Diamond Avenue
Suite 100
Gaithersburg, MD 20878
Office: (215) 616-6428
Mobile: (925) 286-0769
Robert.Bauer_at_iconplc.com<mailto:Robert.Bauer_at_iconplc.com>
www.iconplc.com<http://www.iconplc.com/>

From: Bill Denney [mailto:wdenney_at_humanpredictions.com]
Sent: Saturday, February 03, 2018 11:35 AM
To: Alison Boeckmann
Cc: Bauer, Robert; Luann Phillips; nmusers
Subject: RE: [NMusers] $ABBR REPLACE Limitations?

Hi,

I hit another issue that I think may be related to the issue below. I’m still in NONMEM 7.4.1, so if it’s fixed in 7.4.2, please let me know. I don’t have any spaces , so I think that it’s at least subtly different than the related issue discovered previously with spacing before and/or after substituted parameters.

Is it possible to use replaced parameter in the beginning of a compound Boolean statement in the $PK?

$ABBR REPLACE CMTUPGUT=1
$ABBR REPLACE CMTUPGUT2=15

$PK

  IF (CMT.EQ.CMTUPGUT.OR.CMT.EQ.CMTUPGUT2.AND.AMTEFFSOLID.GT.0) THEN

  ENDIF


Gives the error below:

AN ERROR WAS FOUND ON LINE 245 AT THE APPROXIMATE POSITION NOTED:
   IF (CMT.EQ.CMTUPGUT.OR.CMT.EQ.CMTUPGUT2.AND.AMTEFFSOLID.GT.0) THEN
              X
THE CHARACTERS IN ERROR ARE: CMTUPGUT
  208 UNDEFINED VARIABLE.

Switching the order in the IF statement
$ABBR REPLACE CMTUPGUT=1
$ABBR REPLACE CMTUPGUT2=15

$PK

  IF (CMT.EQ.CMTUPGUT2.OR.CMT.EQ.CMTUPGUT.AND.AMTEFFSOLID.GT.0) THEN

  ENDIF


Gives the equivalent error for CMTUPGUT2.

Doing manual substitution of the first value in the IF statement makes the code apparently work:

$ABBR REPLACE CMTUPGUT=1
$ABBR REPLACE CMTUPGUT2=15

$PK

  IF (CMT.EQ.1.OR.CMT.EQ.CMTUPGUT2.AND.AMTEFFSOLID.GT.0) THEN

  ENDIF


Thanks,

Bill
<br /><br />
ICON plc made the following annotations.
------------------------------------------------------------------------------
This e-mail transmission may contain confidential or legally privileged information that is intended only for the individual or entity named in the e-mail address. If you
are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or reliance upon the contents of this e-mail is strictly prohibited. If
you have received this e-mail transmission in error, please reply to the sender, so that ICON plc can arrange for proper delivery, and then please delete the message.

Thank You,

ICON plc
South County Business Park
Leopardstown
Dublin 18
Ireland
Registered number: 145835


Received on Sun Feb 04 2018 - 01:16:23 EST

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.