Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/BDB-Genomics/atacseq-pipeline/llms.txt

Use this file to discover all available pages before exploring further.

The BDB-Genomics ATAC-seq Framework is designed to be installed and running with minimal manual dependency management. All per-rule bioinformatics tools (Bowtie2, MACS2, TOBIAS, ArchR, DESeq2, and 40+ others) are declared in individual Conda environment files under rules/envs/ and are resolved automatically by Snakemake at runtime. Your host environment only needs to satisfy a small set of requirements. Choose the installation method that best matches your platform and workflow.

System Requirements

Before choosing an installation method, confirm your system meets these baseline requirements:
RequirementMinimum VersionNotes
Snakemake≥ 8.0Required for executor plugin support and improved caching
Python≥ 3.9Required by validation and helper scripts
Conda or MambaAny recent releaseRequired for --use-conda per-rule environment resolution
RAM4 GBUse profile/low_resource on constrained machines
OSLinux (recommended)macOS and Windows users should use the Docker method
macOS and Windows users are strongly encouraged to use the Docker installation method below. The pipeline’s Singularity container directives and some bioinformatics tools have known compatibility issues on non-Linux hosts. The Docker image provides a fully Linux-native execution environment on any platform.

Installation Methods

Conda is the recommended installation path for Linux workstations and HPC clusters. The host environment requires only Snakemake; all downstream tool dependencies are resolved automatically.

Step 1: Create the host environment

conda create -n atacseq snakemake>=8.0 -c conda-forge -c bioconda
conda activate atacseq
If you have Mamba installed, substitute mamba create for significantly faster dependency resolution — the environment specification is identical.

Step 2: Clone the repository

git clone https://github.com/BDB-Genomics/atacseq-pipeline.git
cd atacseq-pipeline

Step 3: Run with per-rule Conda environments

Pass --use-conda to instruct Snakemake to build and cache each rule’s individual environment automatically:
snakemake --use-conda --cores 8
On first run, Snakemake will download and create all required environments. Subsequent runs reuse the cached environments from .snakemake/conda/.
The envs/main.yaml file defines the host runner environment used in the Docker image. For local Conda installs you only need the conda create command above — main.yaml is not required on the host.

Verifying Your Installation

After completing any of the installation methods above, verify the setup by running the config validation script and a dry-run:
# Confirm the config is valid
python3 rules/scripts/validate_config.py config.yaml

# Dry-run: print the execution plan without running any jobs
snakemake --use-conda --cores 8 --dry-run
A successful dry-run prints the full list of jobs Snakemake plans to execute, ending with a Nothing to be done or job count summary. If the dry-run reports errors, review the validation output for missing reference files or misconfigured paths.
snakemake: command not found after conda activate atacseqEnsure you have activated the correct environment. Run conda env list to confirm atacseq appears, then re-run conda activate atacseq.No samples found in sample sheetThe global.samples key in config.yaml points to a file that does not exist or is empty. Run python3 rules/scripts/generate_test_data.py to create synthetic data and a valid sample sheet, or update the path to point at your own samples.tsv.docker: permission denied while trying to connect to the Docker daemonAdd your user to the docker group (sudo usermod -aG docker $USER) and log out and back in, or prefix Docker commands with sudo.Singularity pull fails on HPC with quota exceededUse --singularity-prefix to redirect the image cache to a scratch filesystem with more available space:
snakemake --use-singularity --singularity-prefix /scratch/$USER/singularity_cache --cores 8

Build docs developers (and LLMs) love