line length limit of NMTRAN and initial value limit of NONMEM

3 messages 3 people Latest: Jan 05, 2006
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
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 _______________________________________________________