在Windows上安装NONMEM+PsN+Pirana

  • Windows环境配置 [^1]
    • 安装Fortran编译器
    • 配置Perl环境
      • 安装Perl解释器
      • 安装Perl模块
  • NONMEM安装
    • NONMEM安装源文件
    • 安装NONMEM
  • NONMEM辅助软件安装
    • PsN(Perl speaks NONMEM)安装
    • Pirana安装

Windows环境配置 1

安装Fortran编译器

??编译,是指从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(通常为低级语言或机器语言)的翻译过程。顾名思义,Fortran编译器是用来编译Fortran语言的程序。(注:Fortran是Formula Translation的缩写,即数学公式翻译器,是出现很早的一门语言,主要面向数值计算。)目前有许多不同版本的Fortran编译器,Windows平台上最常用的是基于微软Visual Studio并集成了一整套IDE的商业Fortran编译器,如CVF(Compad Visual Fortran)与IVF(Intel Visual Fortran)等,此外还有一些非商业的、基于命令行的编译器,如gfortran/g95等。

??这里推荐使用GCC (the GNU Compiler Collection),它是由GNU计划推出的编译器套件,其中编译Fortran的子程序叫GFortran。NONMEM 7.4的安装包里也附带GCC安装程序,版本为4.6.0,建议初学者直接使用。注意:与最新版Strawberry Perl(从5.26.2.1版本开始)绑定安装的gfortran不能用于Windows 10 上运行NONMEM,在测试安装 NONMEM时会发生未知原因的崩溃 2

在这里插入图片描述
??NONMEM 7.4.3自带的GCC默认路径为nm743CD/compilers,安装过程非常简单,双击gfortran-windows-460.exe随后按提示操作即可。

在这里插入图片描述
??安装结束后,可以检查一下GCC是否安装成功。首先可以查看系统环境变量的Path项,如果安装成功则会将gfortran可执行文件的路径自动加入Path中,如:C:\Program Files (x86)\gfortran\bin。从Windows的搜索框中找到启动命令提示行cmd或Windows Powershell,输入命令:gfortran --versiongfortran -v,如果安装正确会出现类似下面的返回信息。第一行GNU Fortran后面数字即为版本号,NONMEM直到7.4.4版本自带的GCC版本均为4.6.0

在这里插入图片描述
??注意:由于NONMEM在安装过程中需要使用gfortran编译源文件,之后尽量不要再更换GCC版本,GCC可能会不兼容不同版本GCC编译的程序。

配置Perl环境

安装Perl解释器

??Perl常见的有ActivePerl和Strawberry Perl两大发行版,两个版本主要的使用区别是模块管理不同。其中ActivePerl(5.24版本之前)在Windows系统下使用ppm工具来管理Perl模块,但ppm的资源库在中国没有镜像,网络质量差的情况下容易出错;Strawberry Perl保持了Linux下的风格,采用cpan管理Perl模块,cpan在全球有丰富的镜像,在中国大陆也有10多个镜像,使用体验会好很多,但缺点是某些模块管理不够高效,忽略网络质量的情况下不如ppm快。PsN网站上推荐初学者使用Strawberry Perl,但是5.26.2.1版本以后自带的gfortran与NONMEM不兼容,因此接下来内容还是以ActivePerl为例。

??ActivePerl也有许多版本,PsN官方要求Perl版本不低于5.10.1,但是因为5.26及以后版本不再绑定安装ppm (Perl Package Manager),因此为了便于后续的包安装,这里从ActivePerl官网下载5.24.2版本的ActivePerl进行安装。安装好Perl之后,也可以测试一下安装是否成功,打开cmd,输入命令:perl --version与ppm --version,如果安装成功则会返回如下信息:

在这里插入图片描述

安装Perl模块

??安装好ActivePerl之后,还需要再额外安装一些Perl的模块,PsN的某些功能需要调用这些模块。以管理员身份运行cmd,依次输入以下命令:

1
2
3
4
ppm install Math-Random
ppm install MooseX-Params-Validate
ppm install Statistics-Distributions
ppm install XML-LibXML

安装成功或失败后均有相应返回信息提示。

NONMEM安装

NONMEM安装源文件

??NONMEM在安装过程中需要调用gfortran编译源文件,因此在开始安装之前,必须确认gfortran已经正确安装。首先认识一下NONMEM安装文件夹里的一些内容:根目录下有许多文件名以install开头的文件,这些是对应不同操作系统安装NONMEM时需要直接运行的程序。对Windows而言,需要运行的是SETUP74.bat,这其实是一个批处理文件。nonmem.lic是NONMEM的授权文件,即使用许可证,建议在安装NONMEM前先将授权文件拷贝至安装文件根目录下。readme_743.pdf是官方的说明文档。剩下的文件或文件夹中,除了前面已经说过的compiler文件夹外,其余的可以暂时先不管。

在这里插入图片描述

安装NONMEM

??进入NONMEM安装文件的根目录,右击SETUP74.bat对其中的批处理脚本进行修改,其中:defcdd表示来源路径,即NONMEM安装文件根目录的地址,根据实际情况决定; defh表示目标路径,即安装NONMEM的位置,同样根据实际情况而决定;deff表示编译器。这里假设NONMEM安装源文件根目录路径为c:\nm743CD,目标文件夹为c:\nm743,编译器为gfortran,则SETUP74.bat做以下修改:

在这里插入图片描述
修改完bat文件之后,右击SETUP74.bat文件管理员身份运行,如果运行成功则会如下图所显示,最后一行的提示Continue (y/n)? [y],直接回车即可。之后的过程就比较简单了,大多时间是在等待以及根据提示的默认选项按回车。

在这里插入图片描述
??在进行到Step 9时,在目标路径的根目录下可以找到progress.txt文件,打开这个文件可以看到完成进度。这一步是在编译源文件,比较费时,这一步骤可以反映计算机CPU的性能。

在这里插入图片描述
??安装脚本的最后一步则是测试,会提示Do you want to test the installation?,建议输入y测试安装是否成功。最后,还需要将有效的授权文件nonmem.lic粘贴至license文件夹覆盖原许可证,否则在后续计算过程中会提示NONMEM许可证过期而无法启动运算。至此,NONMEM安装就全部结束了。

在这里插入图片描述

NONMEM辅助软件安装

PsN(Perl speaks NONMEM)安装

??在成功配置Perl环境后,就可以安装PsN了。从PsN官网下载压缩包,解压后打开PsN的根目录(默认名为PsN-Source),启动文件为setup.pl,右键选择以管理员身份运行即开始安装。通常情况下此时是可以直接运行该文件的,但有时也会出现系统不识别该类型文件的情况,若之前已经测试过Perl成功安装的话,此时可以尝试命令行安装方式:以管理员身份打开cmd,进入PsN安装文件根目录cd x:\..\PsN-Source,输入命令:perl setup.pl

??在安装过程中,根据提示输入yn,然后回车,多数情况下输入y。若之前在计算机上安装过PsN,可能会提示询问是否保留原有的psn.conf文件,建议输入n,让程序新建一个psn.conf,这个文件里记录了一些配置信息,包括NONMEM版本、路径以及计算模型时的选项。安装程序会自动搜索NONMEM所在的路径,并自动设置好psn.conf,但之前也发现如果NONMEM装在比较深的目录下,PsN安装程序可能搜索不到,需要手动输入NONMEM的安装路径。这样PsN就安装好了。

Pirana安装

??Pirana的安装较为简单,从Pirana官网下载安装程序pirana_2.9.9_windows.exe,运行然后按提示操作即可。通常情况下在安装过后无需配置就可以直接使用了,但是还是需要进一步确认下。首先是将Pirana与NONMEM关联,选择File\Settings\NONMEM,如下图所示一般都是自动关联好。点击Local NONMEM installations栏目右上角的搜索按钮,即可让Pirana自动搜索或手动指定NONMEM的安装路径。

在这里插入图片描述

??有时还需要手动设置PsN可执行文件的路径,选择PsN栏目如果PsN executable location为空,则需要手动填写Perl安装目录下的bin文件夹路径。

在这里插入图片描述
??最后,如果Pirana提示许可证到期部分功能被限制,则需要点击Help\Install licence file,选择有效的pirana.lic文件路径,进行许可证安装。安装成功后,在Help\About Pirana即可查看过期时间等授权信息。


  1. GINPP计划 ??

  2. PsN官网 ??