Re: implementation of prior subroutine
Hi Nele,
One possible reason of your Fortran compilation failure is that your code does not respect the fortran 77 syntax standards. My guess is that your should add 6 spaces before SUBROUTINE (look here for more info http://www-teaching.physics.ox.ac.uk/unix+prog/hargrove/tutorial_77/03_basics.html ).
HTH
Sebastien
[email protected] wrote:
> 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.
>