Benjamin, Here is one idea, stick this verbatim code at the end of the $PK block " IF(NEWIND.EQ.1) THEN " WRITE (*,*) ID,V,CL " END IF
This will generate a lot of output (one for each call to PK, which is multiple times per iteration, once per function evaluation, I assume CALLFL = 1, so that is once per new individual). The values for THETA change a little from one call to PK to the next, but, I think the first set of values after the usual NONMEM output text (ITERATION NUMBER .. PARAMETERS.. GRADIENT...) will be "current" values for THETA, after that iteration. The other values of theta are slightly changed from the current value, to calculate the gradient. The output goes to the standard output, so use the command nmfe6 control result > newoutput.text the file newoutput.text will capture all the output that usually goes to the console, and look like this: WARNINGS AND ERRORS (IF ANY) FOR PROBLEM 1 (WARNING 2) NM-TRAN INFERS THAT THE DATA ARE POPULATION. 1 file(s) copied. Starting nonmem execution ... MONITORING OF SEARCH: 2.000000 24.0000000000000 88.0000000000000 3.000000 24.0000000000000 88.0000000000000 4.000000 24.0000000000000 88.0000000000000 5.000000 24.0000000000000 88.0000000000000 6.000000 24.0000000000000 88.0000000000000 7.000000 24.0000000000000 88.0000000000000 . . . `lots and lots of lines, one for each subject/each function evaluation . . . 44.00000 24.0000000000000 88.0000000000000 0ITERATION NO.: 0 OBJECTIVE VALUE: 0.27787E+05 NO. OF FUNC. EVALS.:18 CUMULATIVE NO. OF FUNC. EVALS.: 18 PARAMETER: 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 0.1000E+00 GRADIENT: 0.0000E+00 -0.3746E+02 -0.4643E+02 -0.1044E+03 -0.1417E+03 -0.1062E+03 -0.4629E+03 -0.8960E+01 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2384E+02 -0.1528E+02 0.7437E+01 0.1306E+02 0.1516E+02 0.2473E+02 0.1271E+04 -0.3868E+05 2.000000 24.0035454943014 88.0176315621626 3.000000 24.0035454943014 88.0176315621626 4.000000 24.0035454943014 88.0176315621626 5.000000 24.0035454943014 88.0176315621626 6.000000 24.0035454943014 88.0176315621626 7.000000 24.0035454943014 88.0176315621626 . . . . 42.00000 24.7709201453584 89.2092923735910 43.00000 24.7709201453584 89.2092923735910 44.00000 24.7709201453584 89.2092923735910 1 file(s) copied. It doesn't look like the iteration number is available in PK, but you have it in this file with the standard NONMEM output. Mark Sale MD Next Level Solutions, LLC www.NextLevelSolns.com > -------- Original Message -------- > Subject: [NMusers] How to generate an output file with individual > parameters at each iteration > From: Benjamin Ribba <[EMAIL PROTECTED]> > Date: Tue, May 29, 2007 6:20 pm > To: "nmusers@globomaxnm.com" <nmusers@globomaxnm.com> > > Dear NMusers, > > I would need to force the program to write on an output file the > values of each parameters for each patient and at each iteration of the > NONMEM algorithm. > > Something like the following if I have 5 patients: > > ITER ID Cl V ... > 1 1 1.3 1.2 ... > 1 2 ... > 1 3 ... > 1 4 ... > 1 5 ... > 2 1 ... > 2 2 ... > 2 3 ... > ... ... ... > > Or simply, > > ID Cl V ... > 1 1.3 1.2 ... > 2 ... > 3 ... > 4 ... > 5 ... > 1 ... > 2 ... > 3 ... > ... ... > > > For FO (no individual parameters during the execution), I can use the > INTER > file, even if: > - the format is not very well appropriated for what I want to do > - the file is crached when excution ends > > Does anyone knwow if it is possible to do this in a simple way? > > Thanks for your help in this matter. > > Benjamin > > > Benjamin Ribba, PhD > Therapeutic Targeting in Oncology (EA3738) > University Claude Bernard Lyon 1 > Faculty of Medicine Lyon-Sud > 165, chemin du grand revoyet > 69921 Oullins cedex > > Tel: +33 4 26 23 59 57 / +33 6 66 06 15 21