nonmem

Ceci est une ancienne révision du document !


NONMEM

installation sur octopus (linux + sunstudio)

nettoy

> cd /local/apps/
> mkdir nmvi

> ./SETUP
complete: Command not found
NONMEM VI INSTALLATION UTILITY - UNIX CSH VERSION
For instructions, see Appendix 4 of
NONMEM Users Guide - Part III (NONMEM Installation Guide)

complete: Command not found
NONMEM VI directory is /local/apps/nmvi
Command for FORTRAN compiles is f77
Options for Fortran compiles is -O
Command to build NONMEM archive is /usr/ccs/bin/ar
IEEE constants will be used

To learn how to override the defaults, enter
% SETUP help

Continue (y/n) [y]?

Installing NONMEM VI (Enter Ctrl-C to interrupt) ...
Step 1. Make sub-directories of /local/apps/nmvi
Files have uppercase names - skipping step 2.
Step 3. Copy NMLINK6, etc. to sub-directories.
Step 4a. Make changes to sep.f
Step 4. Compile sep utility.

Step 5. Separate files NMD, PPD1, PPD2, TRAN, and TRLD.
Continue (y/n) [y]?

Step 5a. Separate NMD ...
Make changes to BLKDAT.f ( original is BLKDAT.save )
Make changes to BEGIN.f (original is BEGIN.save )
Make changes to FLU.f (original is FLU.save )
Step 5b. Separate PPD1 and PPD2 ...
Step 5c. Separate TRAN ...
Step 5d. Separate TRLD ...

Step 6. Compile source files *.f.

Continue (y/n) [y]?
Step 6a. Compile NONMEM (this may take a while) ...
Step 6b. Compile PREDPP (this may take a while) ...
Step 6c. Compile NM-TRAN (this may take a while) ...
Step 6d. Compile NM-TRAN Library Routines (this may take a while) ...
Step 7. Build NONMEM archive nm/nonmem.a
Step 8. Build nmtran.exe
Step 9a. Create nmlink6.f
Step 9b. Create path.for
Step 9c. Compile nmlink6.f
Step 10. Create shell script util/nmfe6

Step 11. Create directory run
run contains the following files:
nmfe6 CONTROL3 CONTROL5 DATA3 THEOPP

Installation of NONMEM V is finished.
For future reference, the command has been saved in file SETUP.TXT

Please review nm/emsgs.txt
              pr/emsgs.txt
              tr/emsgs.txt
              tl/emsgs.txt
Ignore warnings. Report error messages.

To test the installation, type (e.g.)
    cd run
    nmfe6 CONTROL5 REPORT5

Step 12. Make changes to help/nmhelp
For online help, enter (e.g.)
  cd /local/apps/nmvi/help
  nmhelp advan2

> ./nmfe6 CONTROL5 REPORT5
complete: Command not found

 WARNINGS AND ERRORS (IF ANY) FOR PROBLEM    1

 (WARNING  2) NM-TRAN INFERS THAT THE DATA ARE POPULATION.

 (WARNING  43) THE $PK BLOCK REQUESTS "CALL ONCE PER INDIVIDUAL RECORD", BUT
 DATA ITEMS ARE USED IN THE $PK BLOCK. VALUES OF THESE DATA ITEMS
 SUBSEQUENT TO THOSE FROM THE FIRST EVENT RECORD WILL BE IGNORED.  IF THIS
 IS NOT APPROPRIATE, THE CALL DATA ITEM CAN BE USED TO OBTAIN ADDITIONAL
 CALLS, OR $PK'S CALLING PROTOCOL SHOULD BE CHANGED.
NOTICE: Invoking /opt/studio12/SUNWspro/bin/f90 -f77 -ftrap=%none -o nonmem -O FSUBS.f /local/apps/nmvi/pr/PRED.o /local/apps/nmvi/pr/PREDI.o /local/apps/nmvi/pr/CHECK.o /local/apps/nmvi/pr/SADVAN.o /local/apps/nmvi/pr/ADVAN2.o /local/apps/nmvi/pr/SSS0.o /local/apps/nmvi/pr/TRANS1.o /local/apps/nmvi/pr/INFN.o /local/apps/nmvi/nm/NONMEM.o /local/apps/nmvi/nm/BLKDAT.o /local/apps/nmvi/nm/nonmem.a
FSUBS.f:
        pk:
        error:
Starting nonmem execution ...
 Note: IEEE floating-point exception flags raised:
    Inexact;  Underflow;  Invalid Operation;
 See the Numerical Computation Guide, ieee_flags(3M)

debug

> pwd
/local/apps/nmvi
>  \rm -rf pr tl nm tr util run
> ./SETUP /local/apps/nmvi f77 ' -g -fnonstd ' /usr/ccs/bin/ar

ou aussi: -g -C -stackvar -fpover -ftrap=%none -Xlist -u

directement lancer le debugger:

> dbx nonmem
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.6' in your .dbxrc
Reading nonmem
Reading ld.so.1
Reading libfui.so.2
Reading libfsu.so.1
Reading libsunmath.so.1
Reading libmtsk.so.1
Reading libm.so.2
Reading libc.so.1
Reading libm.so.1
Reading libdl.so.1
Reading libthread.so.1
Reading libpthread.so.1
(dbx) list CELS.f
    1   C THE NONMEM SYSTEM MAY BE DISTRIBUTED ONLY BY GLOBOMAX, LLC.
(dbx) stop at 103
(2) stop at "CELS.f":103
(dbx) run < FCON > REPORT5 
<code>
t@1 (l@1) program terminated by signal FPE (invalid floating point operation)
Current function is cels
  103         IF (ICAT.NE.0.AND.CTLW.GE.CTUP) THEN
(dbx) where
current thread: t@1
=>[1] cels(cnt = 0.0, p1 = ARRAY, p2 = ARRAY, ier1 = 0, ier2 = 0), line 103 in "CELS.f"
  [2] ncontr(cnt = 0.0, ier1 = 0, ier2 = 0, l2r = 0), line 329 in "NCONTR.f"
  [3] obj(o = -NaN.0), line 1636 in "OBJ.f"
  [4] zxmin1(funct = 0x80e8c10, nsig = 3, maxfn = 450, jopt = 0, w = ARRAY, opint = 5), line 222 in "ZXMIN1.f"
  [5] estim(ier = 0), line 156 in "ESTIM.f"
  [6] MAIN(), line 45 in "NONMEM.f"

et :

(dbx) print ICAT
icat = 3
(dbx) print CTLW
ctlw = NaN
(dbx) print CTUP
ctup = -NaN.0

it seems to be related with something in COMMON, after many tries, i noticed that before calling ZXMIN1, CX has a valid value, and just the program enters in ZXMIN1, CX=-Nan !?

Le problème est réglé après un échange de mails avec une personne de Globomax, il faut récupérer le ficiher PRNT.f et lancer la commande:

./SETUP /local/apps/nmvi f95 ' -g ' /usr/xpg4/bin/ar intel y 
  • nonmem.1305117529.txt.gz
  • Dernière modification : 2017/08/25 09:55
  • (modification externe)