Pipeline for analysis of bulk RNA-seq and ATAC-seq, analyzing reads (r) at accessible (a) chromatin (c) and expression (e) of RNA (r), using Snakemake as a workflow manager.
| RNA-seq | ATAC-seq | |
|---|---|---|
| Purpose | Gene expression | Chromatin accessibility |
| Alignment | STAR in nf-core/rnaseq | bwa in nf-core/atacseq |
| Quantification | - Transcript quantification (RSEM) - Gene counting (RSEM) |
Peak calling (MACS2) |
| Comparative analysis | Differential expression (DESeq2) | Differential accessibility (DiffBind) |
The steup module reads from the input configuration file (config template: config/config.yaml) to:
- make samplesheets (for nf-core
--input) - make parameter files (for nf-core
-params-file) - download reference genome files
The following rules are within the setup module:
copy_inputsbulid_samplesheetwrite_rnaseq_nfc_paramswrite_atacseq_nfc_paramsbuild_rnaseq_nfc_samplesheetbuild_atacseq_nfc_samplesheetdownload_reference
The rnaseq module analyzes RNA-seq data in the following steps:
- run nf-core/rnaseq to produce gene counts
- run DESeq2 to perform differential expression analysis
- create an HTML and .docx report of DESeq2 results
The following rules are within the rnaseq module:
nfcore_rnaseqdeseq2_configsdeseq2_samplesheetdeseq2deseq2_reportdeseq2_tables
The rnaseq module analyzes RNA-seq data in the following steps:
- run nf-core/atacseq to produce gene counts
- run (DiffBind) to perform differential accessibility analysis
- create an HTML and .docx report of DiffBind results
The following rules are within the atacseq module:
nfcore_atacseqdiffbind_configsdiffbind_samplesheetdiffbinddiffbind_reportdiffbind_tables
The environment set up for racer-snake is a conda environment with Snakemake (v9.17.2) and Nextflow (v25.10.4) installed.
The racer-snake pipeline is configured to set up the conda environment in snakemake/workflow/envs/conda_setup.sh (which is souced when running the main controller script, racer-snake.sh).
In the conda set up file ([snakemake/workflow/envs/conda_setup.sh]), the versions of Snakemake and Nextflow can be changed if different versions of the software are desired.
The pipeline can be run by invoking the main bash script, racer-snake.sh.
bash racer-snake.sh \
--config config/config.yaml \
--runtype dry-run \
--executor slurmThe main controller script is racer-snake.sh. The following argument options are:
| Flag | Required? | Description | Options |
|---|---|---|---|
--config, -c |
✓ | Path to config file | — |
--runtype, -r |
✓ | How Snakemake is invoked | rundry-run |
--executor, -e |
✓ | Executor/profile mode | slurmlocal |
Detailed explanation of flags:
-
--config, -c(required): Path to config file (see config/config.yaml for the required structure) -
--runtype, -r(required): How Snakemake is invokedruntype— executes normallydry-run— passes--dry-runflag to Snakemake
-
--executor, -e(required): Executor mode / profile selectionslurm— enables slurm executor with slurm directiveslocal— runs pipeline on the local machine
The racer-snake pipeline is still being developed.
- Snakemake v9.17.2
- Nextflow v25.10.4
- R v4.5.3
- Bioconductor v3.23
- see
renv.lockfor all versions of R packages
- nf-core/rnaseq v3.23.0-g13328f7
- Base config for nextflow in nf-core/rnaseq: rnaseq/conf/base.config
- DESeq2 v1.52.0
- nf-core/rnaseq v2.1.2
- Base config for Nextflow in nf-core/atacseq: atacseq/conf/base.config
- DiffBind v3.20.0