- Introduction: Quick Start, Tutorial, Flowchart, Outputs structure
- Install: Dependencies, Containers, References, Test datasets
- Inputs: Data, Design, Parameters
- 1. Preprocessing: ATAC reads, ATAC peaks, mRNA
- 2. Differential Analysis: ATAC, mRNA, Split
- 3. Enrichment Analysis: Enrichment, Figures, Tables
Cactus was built with the goal to make the installation as pain-free as possible. This was achieved by using only tools within containers or virtual environments for all analysis. Installation of most tools is done automatically the first time the pipeline is run (see the Quick Start section). However, two key dependencies should still be installed: Nextflow, and a package manager; one of these tools: SingularityCE, Docker, conda and Mamba. Among these, Singularity is the recommended package manager to use if possible.
The current stable release of Cactus (v1.0.0) was developed and tested using these versions of the dependencies:
- Nextflow: 22.10.8.5859
- Singularity: 3.11.3-focal
- Docker: 24.0.7, build afdd53b
- conda: 23.7.4
- Mamba: 1.5.1
In case of issues with running Cactus, please make sure you are using the same version of the dependencies.
You can find here installation links for: Nextflow, SingularityCE, Docker, conda and Mamba.
A script is available to help intalling the dependencies. Please observe that this script is provided for convenience, but the commands may not be up to date; and it is recommended to follow the installation guidelines from the respective tools (links are provided in the dependencies section of the Cactus documentation).
Please, note that Cactus is currently written in DSL1, which is not supported anymore by the latest default versions of Nextflow. An update of Cactus to DSL2 is under way. In the meantime, Cactus users should use a Nextflow version higher or equal to 22.04.0 (released in April 2022) and lower or equal to 22.10.8 (released in April 2023). This can be achieved simply by either using a recent Nextflow version and exporting the NXF_VER variable like this:
export NXF_VER=22.10.8
Note that this command can be added to the ~/.bashrc file if needed to ensure this version of nextflow is always used.
The version of Nextflow to use can also be specified during the Cactus call like this:
NXF_VER=22.10.8 nextflow run jsalignon/cactus [...]
This approach has the advantage to improve reproducibility by clarifying the version of the Nextflow that was used in the run command.
Alternatively, a DSL1-compatible version of nextflow can be installed like that:
wget -qO- https://github.com/nextflow-io/nextflow/releases/download/v22.10.8/nextflow-22.10.8-all | bash
chmod +x nextflow
sudo mv nextflow /usr/local/bin
Please check out the Quick Start section to learn how to run Cactus once the dependencies are installed.