RE: implementation of prior subroutine

From: Jean Lavigne Date: September 04, 2009 technical Source: mail-archive.com
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.
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