前段时间课题需要用到HCP项目中的pipeline工具,pipeline下载,版本为3.21.0,网站有相关的搭建过程,https://github.com/Washington-University/Pipelines/wiki/v3.4.0-Release-Notes%2C-Installation%2C-and-Usage。但是在实际操作中发现,此手册 pipeline版本为3.4.0,而现在已经有很多高版本的pipeline,并且其中很多程序的安装根据系统,版本的不同有很多不一样的地方,自己也花了很多时间最后搭建成功,现在就我自己实际的搭建环境记录下来。
1.首先需要一个Linux系统,这里使用的是ubuntu-16.04-desktop-amd64,推荐一开始使用虚拟机安装,用新版本的VMware就可以,因为安装过程中可能会有很多地方出错,装虚拟机可以同时装很多个,出错了删掉就是了,比较方便。虚拟机装好以后可以先装个VMware tools方便以后操作(比如虚拟机里外的复制粘贴,共享文件夹等)。
2.安装FSL,这里上面提到的手册里说明的是必须安装版本FSL5.0.6,(FSL页面在此),但是经过尝试,在Neurodebian上根据它的指令安装FSL后得不到5.0.6版本,之后我使用了5.0.8版本也出现了问题,网上查了一下,需要最新版解决。所以整个流程是这样:先在Neurodebian上选定操作系统,这里选ubantu16.04 “Xenial Xerus”(Xenial),下载服务器选择“China Tsinghua University”就可以,接下来desired components选择only software with guaranteed freedoms,按照它的steps装下来版本应该是5.0.8,然后在此选择升级补丁5.0.8-5.0.9按照readme安装即可。配置环境变量首先输入sudo gedit /etc/profile,在最后加入 export PATH=$PATH:/usr/share/fsl/bin,export FSLDIR=/usr/share/fsl,然后输入sudo gedit /etc/bash.bashrc,最后添加source /etc/fsl/5.0/fsl.sh。
3.安装Freesurfer,下载页面,选择freesurfer-Linux-centos6_x86_64-stable-pub-v5.3.0-HCP.tar.gz,将安装包复制进虚拟机,推荐放在/usr/local/下,然后解压freesurfer文件,输入 sudo tar -zxvf 文件名(sudo tar -zxvf freesurfer-Linux-centos6_x86_64-stable-pub-v5.3.0-HCP.tar.gz),安装tcsh(输入:sudo apt-get install tcsh,完成后输入tcsh,不报错的话就没问题了),配置环境变量sudo gedit /etc/profile,最后加export FREESURFER_HOME=/usr/local/freesurfer,然后输入sudo gedit /etc/bash.bashrc,最后加入export FREESURFER_HOME=/usr/local/freesurfer,source $FREESURFER_HOME/SetUpFreeSurfer.sh,之前注册的时候收到的邮件,把里面CUT部分复制下来在/usr/local/freesurfer新建一个license.txt文件粘贴进去再保存,分别输入:tkregister2、tkmedit、tksurfer 和recon-all --help没有报错的话 就说明基本安装成功了,再输入:recon-all -s bert -autorecon1,出现“recon-all -s bert finished without error at Sat Oct 11 10:07:49 CST 2014 done”字样就说明成功安装freesurfer,这个地方需要仔细看,有可能显示“...exit with error at ...”,这就需要对应去修改。
5.下载 HCP version of gradunwarp 并按照里面Readme的要求安装。
环境搭建好以后按照https://github.com/Washington-University/Pipelines/wiki/v3.4.0-Release-Notes%2C-Installation%2C-and-Usage里面的Running the HCP Pipelines on example data 部分进行操作。
需要注意的问题:系统环境,软件版本的不同都可能有不一样的报错,我只就我的环境说,主要有以下几个问题:
1.出现找不到libnetcdf.so.6库的问题,是因为用指令安装FSL会自动安装高版本的libnetcdf,就我的环境安装的是libnetcdf.so.11,解决办法是用网上下载libnetcdf.so.6再将下载好的解包里面的Libnetcdf.so.6提取出来放到usr/lib里面,再用软链接将高低版本连接起来。
2.就我的环境而言,Freesurfer里有需要修改的文件,具体是freesurfer/mni/bin/nu_estimate_np_and_em(有点记不得到底是哪个文件,反正有问题的话应该会在freesurfer安装流程里最后一步出现exit with error at...,按照它的提示去改就行了,是文件里有一些“define”需要删除),具体改哪行不一一赘述。还有freesurfer/mni/bin/sharpen_volume,有一行正则表达式需要修改,可参考此处。
至此,大功告成。