From: Patrick Zhou patrickmzhou@yahoo.com
Subject: [NMusers] line length limit of NMTRAN and initial value limit of NONMEM
Date: Wed, 4 Jan 2006 11:29:42 -0800 (PST)
Dear All,
Happy New Year!
There are two questions that I am trying to figure out.
1. In NONMEM control file, the limit of characters in each record (line) is 80,
including space in the middle. Is there a way that we can have continue line in
the file? e.g., a line of statement is longer than 80 characters, instead of creating
and using some dummy variable to store and transfer intermidiate results, and to
shorten the line, can we have a continue line?
2. Sometime, we need to give a small initial value for PK parameter estimation. Is
that true the smallest initial value is .0000001 because of 8 character limit? Can
we give even smaller initial value?
Thank you very much for your help!
Patrick
line length limit of NMTRAN and initial value limit of NONMEM
3 messages
3 people
Latest: Jan 05, 2006
From: "Bachman, William (MYD)" bachmanw@iconus.com
Subject: RE: [NMusers] line length limit of NMTRAN and initial value limit of NONMEM
Date: Wed, 4 Jan 2006 15:19:09 -0500
The 80 character-limit is a FORTRAN artefact and you're stuck with it.
Since you can't use exponential format for the parameter, I think you are stuck
with 8 characters also. The only way to get around this is to scale the parameter
as part of the control stream code:
$PK
TVCL=THETA(1)/(1000000*1000000)
CL=TVCL*EXP(ETA(1))
etc.
$THETA
(0, 5.) ;[CL]
etc.
From: "Elassaiss - Schaap, J. (Jeroen)" jeroen.elassaiss@organon.com
Subject: RE: [NMusers] line length limit of NMTRAN and initial value limit of NONMEM
Date: Thu, 5 Jan 2006 09:13:06 +0100
Dear Patrick,
You can have a continue line in fortran fashion, but you need to use
verbatim fortran, i.e. code staring with a ".
From the docs:
Continuation lines
If blanks occur in positions 1-5 following the initial " and a
non-blank in position 6, this conforms to the usual FORTRAN syn-
tax for continuation lines, and the text is not moved from these
positions. Example:
" X +D/E
This may however impact readability of your code ;-). I'd rather use the 'dummy' approach.
When your initial values are that small you might want to consider using a
different scale (via Sx) or transform your parameter
of interest to a 'p' notation such as x=10**(-THETA(1)) *EXP(ETA(1)).
Best regards,
Jeroen
J. Elassaiss-Schaap
Scientist PK/PD
Organon NV
PO Box 20, 5340 BH Oss, Netherlands
Phone: + 31 412 66 9320
Fax: + 31 412 66 2506
e-mail: jeroen.elassaiss@organon.com
_______________________________________________________