-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Welcome to the Washington University CCF HCP Pipelines Singularity wiki!
The HCP Pipelines Singularity repository is for files to help run the HCP Pipelines using Singularity.
This is the place for documentation for using the HCP Pipelines Singularity repository.
Singularity is a container platform specifically designed for scientific and high performance computing (HPC) use cases.
- Installing Singularity
- Getting the HCP Pipelines Singularity repository
- Modifying the Singularity Recipe File
- Building a Singularity Image file to Run HCP Pipelines
Back to Table of Contents
See Singularity Quick Start Installation for further information.
The following steps have been testing on Ubuntu 16.04 LTS
$ sudo apt-get install build-essential libarchive-dev
$ wget https://github.com/singularityware/singularity/releases/download/2.5.2/singularity-2.5.2.tar.gz
$ tar xvf singularity-2.5.2.tar.gz
$ cd singularity-2.5.2
$ ./autogen.sh
$ ./configure --prefix=/usr/local
$ make
$ sudo make install
$ which singularity
/usr/local/bin/singularity
$ singularity --version
2.5.2-dist
$ sudo yum groupinstall "Development Tools"
$ sudo yum install libarchive-devel
$ wget https://github.com/singularityware/singularity/releases/download/2.5.2/singularity-2.5.2.tar.gz
$ tar xvf singularity-2.5.2.tar.gz
$ cd singularity-2.5.2
$ ./autogen.sh
$ ./configure --prefix=/usr/local
$ make
$ sudo make install
$ which singularity
/usr/local/bin/singularity
$ singularity --version
2.5.2-dist
Back to Table of Contents
If you have git
installed on your system, you can simply clone the HCP Pipelines Singulary repository as follows:
git clone https://github.com/Washington-University/HCPpipelinesSingularity.git
If you don't have or don't care to use git
, then you can use the following technique to get a copy of the current latest code in the master
branch of the repository. This will not allow
you to interact with the repository (e.g. check out branches, make and commit modifications, etc.) via git
.
$ wget https://github.com/Washington-University/HCPpipelinesSingularity/archive/master.tar.gz
$ tar xvf master.tar.gz
HCPpipelinesSingularity-master/
HCPpipelinesSingularity-master/.gitignore
HCPpipelinesSingularity-master/HCPprocessPipelines
HCPpipelinesSingularity-master/LICENSE.md
HCPpipelinesSingularity-master/README.md
HCPpipelinesSingularity-master/product.txt
HCPpipelinesSingularity-master/show_version
HCPpipelinesSingularity-master/version.txt
$ mv HCPpipelinesSingularity-master HCPpipelinesSingularity
Back to Table of Contents
There are some files that are required in order to run the HCP Pipelines that cannot be distributed as part of a Singularity container or automatically retrieved from a known distribution location when the Singularity container is created from a recipe file. You will have to get or generate those files yourself, place them in a known location on your system before building a Singularity container image from a recipe, and modify the Singularity Recipe file to reflect the location of those files.
The first of these files that cannot be distributed is the file that contains the gradient distortion
coefficients for your scanner. The information in that file is considered to be proprietary
information owned by the scanner manufacturer. Therefore, we cannot provide that information as
part of an already created Singularity container. Also, being proprietary information, the file
for your scanner is not available for general download from a known site. Therefore, you will need
to obtain the gradient distortion coefficients file either from your scanner manufacturer or from
the scanner control computer itself. For example, on Siemens scanners, the gradient coefficients file
is usually available at C:\MedCom\MriSiteData\GradientCoil\coeff.grad
.
As it is currently written, the Singularity Recipe file in the HCP Pipelines Singularity
repository, HCPprocessPipelines
, assumes that you will create a directory somewhere on your system
and place any number of gradient coefficient files in that directory. This is so you can build one
Singularity container that supports running HCP Pipelines on data collected from a number of different
scanners.
- Create a directory on the system on which you will build the Singularity container (e.g.
${HOME}/gradient_coefficient_files
). - Copy
: https://github.com/Washington-University/HCPpipelinesSingularity
Back to Table of Contents
$ cd HCPpipelinesSingularity
$ singularity build HCPprocessPipelines.img HCPprocessPipelines
Back to Table of Contents