NONMEM Users Network Archive

Hosted by Cognigen

RE: implementation of prior subroutine

From: Lavigne, Jean <Jean.Lavigne>
Date: Fri, 4 Sep 2009 08:26:22 -0400

Dear Nele,

 

You are writing Fortran code that needs to be between the 7th and 72th =
column. I suspect that your line with the subroutine prior to start at =
column 1. Also, I am not sure; you may have to declare the type of the =
variable that you are using. If the type is not declared, the variable =
that start with a letter between I to N are considered as integer and =
all the other as real*4 (at least in older Fortran compiler, may be with =
the new compiler it is real*8 (double precision)).

 

Jean

--------------------------------------------
Jean R. Lavigne M.Sc.
Associate Director, Clinical Pharmacology
MDS Pharma Services
4705 Dobrin
St-Laurent, Québec, Canada
H4R 2P7
Phone: (514) 333-0042 ext. 54234
e-mail: jean.lavigne
--------------------------------------------

MISE EN GARDE CONCERNANT LA CONFIDENTIALITÉ

Ce courriel et tout autre fichier transmis avec lui peut contenir des =
informations protégées et/ou confidentielles et ne doit être lu ou =
utilisé que par le destinataire visé. Si vous n'êtes pas le =
destinataire visé de ce courriel ou de ses pièces jointes, soyez =
avisé que vous avez reçu ce courriel par erreur et qu'il est =
strictement interdit de diffuser, distribuer, transférer, imprimer ou =
copier ce courriel ou tout fichier joint. Si vous avez reçu ce =
courriel par erreur, veuillez l'effacer immédiatement ainsi que toutes =
les pièces jointes et aviser l'expéditeur par retour de courriel ou =
le contacter au numéro indiqué.

________________________________

From: owner-nmusers
On Behalf Of nele.kaessner
Sent: Friday, September 04, 2009 05:15
To: nmusers
Subject: [NMusers] implementation of prior subroutine

 


Dear all,

first of all I would like to thank all the people who took the time to =
answer my last question. It really helped understanding the problem. =
However, I already have a next problem :-)
I am trying to implement the prior subroutine in NONMEM for a first =
time, using NONMEM VI level 1.0. I have created a file named prior.for =
which looks the following:

SUBROUTINE PRIOR (ICALL,CNT)
       DOUBLE PRECISION CNT
       NTHETA=6
       NETA=6
       NTHP=6
       NETP=6
       NPEXP=1
       PLEV=0
       CALL NWPRI (NTHETA,NETA,NEPS,NTHP,NETP,NEPP,NPEXP,ITYP,PLEV,
      1 NSAM,ISS,CNT)
       RETURN
       END

When trying to run my model with new data, I get the following error =
message:

S:1 .. Fatal Error: Fortran Compilation failed:
FSUBS.f:1:
   SUBROUTINE PRIOR (ICALL,CNT) =
           
   ^
Invalid first character at (^) [info -f g77 M LEX]

 at /usr/share/perl/5.10.0/PsN_2_3_1/nonmem.pm line 27

Can anybody point me to the error? Moreover, I have a question =
concerning the prior information on parameter uncertainty. I got an =
error message when implementing the values as seen in the NONMEM output =
file (e.g. 2.22E-05), however when implementing them as presented in the =
model file below, I get a problem with the allowed number of digits. How =
do I get the correct values in there?

My model file looks like the following:

$PROB PK - Model
$INPUT C ID DOSE AMT ADDL II TIME DV EVID MDV AGE SEX WT
$DATA example.CSV IGNORE=C

$SUBROUTINES PRIOR=../../prior.for
$SUBROUTINES ADVAN4 TRANS4
$PK
   TVA0 = THETA(1)
   ALAG1 = TVA0 * EXP(ETA(1))

   TVK0 = THETA(2)
   KA = TVK0 * EXP(ETA(2))

   TVCL0 = THETA(3)
   CL = TVCL0 * EXP(ETA(3))
    
   TVV20 = THETA(4)
   V2 = TVV20*EXP(ETA(4))

   Q = THETA(5)*EXP(ETA(5))

   V3 = THETA(6)*EXP(ETA(6))

   TVF0 = 1
   F1 = TVF0

   S2=V2/1000
    
   K=CL/V2
   K23=Q/V2
   K32=Q/V3

$ERROR
   W = THETA(13)
   IPRED = LOG(F+1E-10)
   Y=IPRED + W*EPS(1)
   IRES = DV - IPRED
   IWRES = IRES / W

$THETA
         (0.10) ;1 ALAG1
         (0.50) ;2 KA
         (10.0) ;3 CL
         (10.0) ;4 V2
         (20.0) ;5 Q
         (100) ;6 V3
         (0, 0.25) ;7 CV

$OMEGA DIAGONAL(4)
   0.10 ; VAR(ALAG1)
   0.10 ; VAR(KA)
   0.10 ; VAR(CL)
   0.10 ; VAR(V2)
$OMEGA BLOCK(2)
   0.10 ; VAR(Q)
   0.010 0.10 ; VAR(V3)
$SIGMA 1 FIXED

$THETA 0.1 FIX ;prior on ALAG
$THETA 0.5 FIX ;prior on KA
$THETA 10 FIX ;prior on CL
$THETA 10 FIX ;prior on V2
$THETA 20 FIX ;prior on Q
$THETA 100 FIX ;prior on V3
$OMEGA BLOCK(12)
0.000019
0.000012 0.000273
0.000064 0.000023 0.222000
0.001050 0.003400 0.014900 0.942000
-0.000531 0.000103 -0.01280 -0.029203 0.170000
-0.005452 -0.000972 -0.291002 -0.587002 1.150000 23.100000

$OMEGA 0.1 FIX ;prior on IIV_ALAG
$OMEGA 0.1 FIX ;prior on IIV_KA
$OMEGA 0.1 FIX ;prior on IIV_CL
$OMEGA 0.1 FIX ;prior on IIV_V2
$OMEGA BLOCK(2)
0.1 ;prior on IIV_Q
0.01 0.1 FIX ;prior on IIV_V3
$THETA 2 FIX ;d.f. ALAG
$THETA 2 FIX ;d.f. KA
$THETA 2 FIX ;d.f. CL
$THETA 2 FIX ;d.f. V2
$THETA 2 FIX ;d.f. Q
$THETA 2 FIX ;d.f. V3

$EST METHOD=HYBRID ZERO=(1) SIGDIGITS=3 MAXEVAL=9999 PRINT=5 =

 NOABORT MSFO=msf001
$COV MATRIX=R PRINT=E
$TABLE ID TIME DOSE IPRED IWRES NOPRINT ONEHEADER FILE=sdtab001

Thanks and best regards
Nele
______________________________________________________________

Dr. Nele Käßner
Pharmacometrics -- Modeling and Simulation

Nycomed GmbH
Byk-Gulden-Str. 2
D-78467 Konstanz, Germany

Fon: (+49) 7531 / 84 - 4759
Fax: (+49) 7531 / 84 - 94759

mailto: nele.kaessner
http://www.nycomed.com

County Court: Freiburg, Commercial Register HRB 701257
Chairman Supervisory Board: Charles Depasse
Management Board: Dr. Barthold Piening, Gilbert Rademacher, Dr. Anders =
Ullman

 
 
 
 
 
----------------------------------------------------------------------
Proprietary or confidential information belonging to Nycomed Group may
be contained in this message. If you are not the addressee indicated
in this message, please do not copy or deliver this message to anyone.
In such case, please destroy this message and notify the sender by
reply e-mail. Please advise the sender immediately if you or your
employer do not consent to Internet e-mail for messages of this kind.
Opinions, conclusions and other information in this message that
pertain to the sender's employer and its products and services
represent the opinion of the sender and do not necessarily represent
or reflect the views and opinions of the employer.
----------------------------------------------------------------------

</PRE>This e-mail and any files transmitted with it may contain privilege=
d and/or confidential information and may be read or used only by the int=
ended recipient. If you are not the intended recipient of the e-mail or a=
ny of its attachments, please be advised that you have received this e-ma=
il in error and any use, dissemination, distribution, forwarding, printin=
g or copying of this e-mail or any attached files is strictly prohibited.=
 If you have received this e-mail in error, please immediately purge it a=
nd all attachments and notify the sender by reply e-mail or contact the s=
ender at the number listed.

Received on Fri Sep 04 2009 - 08:26:22 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.