Skip to content
Timothy B. Brown edited this page Aug 17, 2018 · 55 revisions

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.

Table of Contents

1. Installing Singularity

Back to Table of Contents

See Singularity Quick Start Installation for further information.

1a. Debian, Ubuntu

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

1b. Fedora, Red Hat, CentOS

$ 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

2. Getting the HCP Pipelines Singularity repository

Back to Table of Contents

2a. Using Git

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

2b. Using wget

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

3. Modifying the Singularity Recipe File

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

4. Building a Singularity Image file to Run HCP Pipelines

Back to Table of Contents

$ cd HCPpipelinesSingularity
$ singularity build HCPprocessPipelines.img HCPprocessPipelines

Back to Table of Contents

Clone this wiki locally