Requirements
Dependencies
Building and running the cmuts pipeline requires the following packages:
Required:
python>=3.9with all packages inrequirements.txtcmake>=3.29withpkg-configautoconf,automake,libtoolsamtoolsandhtslibhdf5fastp
Optional:
omp— enables multithreaded pairwise counting (builds fine without it)
The MPI build also requires:
openmpihdf5-mpi
Demultiplexing with cmuts align requires:
ultraplex
Note that ultraplex requires python==3.9, and will not install for more recent versions of python.
The following should install all (save for python and its packages) on a personal device. For installation on a managed cluster, consult the respective guidelines.
sudo apt-get update
# Required:
sudo apt-get install -y cmake autoconf pkg-config
sudo apt-get install -y samtools libhts-dev
sudo apt-get install -y libhdf5-dev
# Optional:
sudo apt-get install -y libomp-dev # multithreaded pairwise counting
# For MPI builds only:
sudo apt-get install -y libopenmpi-dev openmpi-bin
sudo apt-get install -y libhdf5-openmpi-dev
# Required:
sudo dnf install -y cmake autoconf pkg-config
sudo dnf install -y samtools htslib-devel
sudo dnf install -y hdf5-devel
# Optional:
sudo dnf install -y libomp-devel # multithreaded pairwise counting
# For MPI builds only:
sudo dnf install -y openmpi-devel hdf5-openmpi-devel
# Load MPI module (may be required):
module load mpi/openmpi-x86_64
Verify Dependencies
Run these commands to verify the dependencies are successfully installed:
For MPI builds, also run:Python Dependencies
To create a conda environment with all required dependencies, you may run
conda create -n cmuts python=3.9
conda activate cmuts
pip3 install -r requirements.txt
conda install -c bioconda fastp
For the cmuts align dependencies required for demultiplexing, also run
HDF5 Configuration
If cmake has trouble finding your HDF5 installation, you can set
If installed via brew, the command brew info hdf5 may be helpful for finding the desired path.
On Linux, HDF5 is typically installed to /usr/lib/x86_64-linux-gnu/hdf5 (Debian/Ubuntu) or /usr/lib64 (Fedora/RHEL). You can find it with: