Installation
There are two ways to install XCP-D:
using Container Technologies (RECOMMENDED)
within a Manually Prepared Environment (Python 3.10), also known as bare-metal installation
Container Technologies
XCP-D is ideally run via a Docker or Singularity container. If you are running XCP-D locally, we suggest Docker. However, for security reasons, many HPCs do not allow Docker containers, but do allow Singularity containers. The improved security for multi-tenant systems comes at the price of some limitations and extra steps necessary for execution.
Docker Installation
For every new version of xcp_d that is released, a corresponding Docker image is generated.
In order to run xcp_d via Docker images, the Docker Engine must be installed.
If you have used xcp_d via Docker in the past, you might need to pull down a more recent version of the image:
$ docker pull pennlinc/xcp_d:<latest-version>
The image can also be found here: https://hub.docker.com/r/pennlinc/xcp_d
xcp_d can be run interacting directly with the Docker Engine via the docker run command, or through a lightweight wrapper that was created for convenience.
Singularity Installation
Singularity version >= 2.5: If the version of Singularity installed on your HPC system is modern enough, you can create a Singularity image directly on the system using the following command:
$ singularity build xcp_d-<version>.simg docker://pennlinc/xcp_d:<version>
where <version>
should be replaced with the desired version of xcp-d that you want to
download.
Manually Prepared Environment (Python 3.10)
Warning
This method is not recommended! Please use container alternatives in Running XCP-D via Docker containers, and Running XCP-D via Singularity containers.
XCP-D requires some External Dependencies.
These tools must be installed and their binaries available in the system’s $PATH
.
On a functional Python 3.10 environment with pip
installed,
XCP-D can be installed using the habitual command
$ pip install git+https://github.com/pennlinc/xcp_d.git
Check your installation with the --version
argument
$ xcp_d --version
External Dependencies
XCP-D is written using Python 3.10, is based on nipype, and requires some other neuroimaging software tools that are not handled by the Python’s packaging system (PyPi) used to deploy the XCP-D package:
ANTs (version 2.2.0 - or higher)
AFNI (version Debian-16.2.07)
bids-validator (version 1.6.0)
connectome-workbench (version Debian-1.3.2)