RE: implementation of prior subroutine
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: [email protected]
--------------------------------------------
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é.
Quoted reply history
________________________________
From: [email protected] [mailto:[email protected]] On
Behalf Of [email protected]
Sent: Friday, September 04, 2009 05:15
To: [email protected]
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: [email protected]
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 privileged
and/or confidential information and may be read or used only by the intended
recipient. If you are not the intended recipient of the e-mail or any of its
attachments, please be advised that you have received this e-mail in error and
any use, dissemination, distribution, forwarding, printing 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 and all attachments and notify the
sender by reply e-mail or contact the sender at the number listed.