Re: implementation of prior subroutine

From: Sebastien Bihorel Date: September 04, 2009 technical Source: mail-archive.com
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. >
Sep 04, 2009 Nele Kaessner implementation of prior subroutine
Sep 04, 2009 Nele . Kaessner implementation of prior subroutine
Sep 04, 2009 Sebastien Bihorel Re: implementation of prior subroutine
Sep 04, 2009 Jean Lavigne RE: implementation of prior subroutine