Pipe Setup

Pipe Settings Location

The Default CUT&RUN-Flow settings used by the system are located in CUT&RUN-Flow’s installation directory. This is by default located in the user’s $HOME directory as such:

# Pipe Defaults Configuration:
$NXF_HOME/assets/RenneLab/CnR-flow/nextflow.config  # Pipe Executor, Dependency, Resource, etc. Configuration
#Default: $HOME/.nextflow/assets/RenneLab/CnR-flow/nextflow.config

It is recommended that dependency configuration and other pipe-level settings be configured here. An example of this file is provided in Pipe nextflow.config.

Note

If any settings are provided in both the above Pipe nextflow.config file and the Task nextflow.config file located in the task directory, the task-directory settings will take precedence. For more information on Nextflow configuration precedence, see config.

Dependencies

The following external dependencies are utilized by CUT&RUN-Flow:

Note

Versions utilized in containers may differ slightly from those listed based on availabilty.

Dependencies

Dependency

Min-Tested Ver.

Citation

Default Conda

Default Container(s)

Nextflow

20.10.4

[Nextflow_Citation]

N/A

N/A

UCSC-faCount

366

[faCount_Citation]

bioconda::ucsc-facount=366’

quay.io/biocontainers/ucsc-facount:366–h5eb252a_0; quay.io/biocontainers/mulled-v2-fc325951871d402a00bdf9d0e712a5b81b8e0cb3:38034b9703d6561a40bcaf2f1ec16f8b158fde97-0

Bowtie2

2.4.4

[Bowtie2_Citation]

bioconda::bowtie2=2.4.1

quay.io/biocontainers/bowtie2:2.4.4–py38he5f0661_1; quay.io/biocontainers/mulled-v2-c742dccc9d8fabfcff2af0d8d6799dbc711366cf:b6524911af823c7c52518f6c886b86916d062940-0

Samtools

1.9

[Samtools_Citation]

bioconda::samtools=1.9

quay.io/biocontainers/samtools:1.13–h8c37831_0; quay.io/biocontainers/mulled-v2-c742dccc9d8fabfcff2af0d8d6799dbc711366cf:b6524911af823c7c52518f6c886b86916d062940-0; quay.io/biocontainers/mulled-v2-fc325951871d402a00bdf9d0e712a5b81b8e0cb3:38034b9703d6561a40bcaf2f1ec16f8b158fde97-0

FastQC

0.11.9

[FastQC_Citation]

bioconda::fastqc=0.11.9

quay.io/biocontainers/fastqc:0.11.9–hdfd78af_1

Trimmomatic

0.39

[Trimmomatic_Citation]

bioconda::trimmomatic=0.39

quay.io/biocontainers/trimmomatic:0.39–1

bedtools

2.29.2

[bedtools_Citation]

bioconda::bedtools=2.29.2

quay.io/biocontainers/mulled-v2-fc325951871d402a00bdf9d0e712a5b81b8e0cb3:38034b9703d6561a40bcaf2f1ec16f8b158fde97-0

UCSC-bedGraphToBigWig

377

[bedGraphToBigWig_Citation]

conda-forge::libgcc-ng conda-forge::libpng conda-forge::libuuid conda-forge::mysql-connector-c conda-forge::openssl conda-forge::zlib bioconda::ucsc-bedgraphtobigwig=377

quay.io/biocontainers/ucsc-bedgraphtobigwig:377–h0b8a92a_2

MACS2

2.2.6

[MACS2_Citation]

bioconda::macs2=2.2.6

quay.io/biocontainers/macs2:2.2.6–py37h516909a_0

R

3.6.0

[R_Citation]

r=3.6.0

N/A

SEACR

1.3

[SEACR_Citation]

r=3.6.0 bioconda::seacr=1.3-2 bioconda::bedtools=2.29.2

quay.io/biocontainers/seacr:1.3–hdfd78af_2

Dependency Config

Conda/Bioconda

CUT&RUN-Flow comes preconfigured to use the Conda package manager, along with tools from the Bioconda package suite for automated dependency handling. [Bioconda_Citation]
Nextflow automatically acquires, stores, and activates each conda environment as it is required in the pipeline. For more information on Nextflow’s, usage of conda, see conda.
// Dependency Configuration Using Anaconda
params.facount_conda          = 'bioconda::ucsc-facount=366'
params.bowtie2_conda          = 'bioconda::bowtie2=2.4.4 conda-forge::libgcc-ng=9.3'
params.fastqc_conda           = 'bioconda::fastqc=0.11.9'
params.trimmomatic_conda      = 'bioconda::trimmomatic=0.39'
params.bedtools_conda         = 'bioconda::bedtools=2.29.2'
params.macs2_conda            = 'bioconda::macs2=2.2.6'
params.seacr_conda            = "r=3.6.0 bioconda::seacr=1.3 ${params.bedtools_conda}"
params.samtools_conda         = 'bioconda::samtools=1.9'
params.bedgraphtobigwig_conda = 'conda-forge::libpng conda-forge::libuuid conda-forge::mysql-connector-c conda-forge::openssl conda-forge::zlib bioconda::ucsc-bedgraphtobigwig=377'

params.trimmomatic_adapterpath = "${projectDir}/ref_dbs/trimmomatic_adapters/TruSeq3-PE-2.fa"

Singularity Containers

In addition to a default setup with Conda, CUT&RUN-Flow also comes preconfigured to use Docker containers from the BioContainers project using Singularity. [BioContainers_Citation]
Nextflow automatically pulls and runs singularity containers as required during the pipeline. This feature is enabled with -profile singularity.
// Dependency Configuration Using Containers with Singularity:
singularity.enabled = true
params.facount_container           = "docker://quay.io/biocontainers/ucsc-facount:366--h5eb252a_0"
params.bowtie2_container           = "docker://quay.io/biocontainers/bowtie2:2.4.4--py38he5f0661_1"
params.bowtie2_samtools_container  = "docker://quay.io/biocontainers/mulled-v2-c742dccc9d8fabfcff2af0d8d6799dbc711366cf:b6524911af823c7c52518f6c886b86916d062940-0"
// Mulled: bowtie2=2.4.4,samtools=1.13
params.fastqc_container            = "docker://quay.io/biocontainers/fastqc:0.11.9--hdfd78af_1"
params.trimmomatic_container       = "docker://quay.io/biocontainers/trimmomatic:0.39--1"
params.macs2_container             = "docker://quay.io/biocontainers/macs2:2.2.6--py37h516909a_0"
params.seacr_container             = "docker://quay.io/biocontainers/seacr:1.3--hdfd78af_2"
params.samtools_container          = "docker://quay.io/biocontainers/samtools:1.13--h8c37831_0"
params.bedgraphtobigwig_container  = "docker://quay.io/biocontainers/ucsc-bedgraphtobigwig:377--h0b8a92a_2"
params.samtools_bedtools_container = "docker://quay.io/biocontainers/mulled-v2-fc325951871d402a00bdf9d0e712a5b81b8e0cb3:38034b9703d6561a40bcaf2f1ec16f8b158fde97-0" 
// Mulled: samtools=1.14.0,bedtools=2.30.0,ucsc-facount=377,python=3.8
params.samtools_facount_container  = "${params.samtools_bedtools_container}"
params.bedtools_container          = "${params.samtools_bedtools_container}"

params.trimmomatic_adapterpath     = "/usr/local/share/trimmomatic/adapters/TruSeq3-PE-2.fa"      

Docker Containers

In addition to a default setup with Conda, CUT&RUN-Flow also comes preconfigured to use Docker containers.
Nextflow automatically pulls and runs singularity containers as required during the pipeline. This feature is enabled with -profile docker.
// Dependency Configuration Using Containers with Docker:
docker.enabled = true
docker.runOptions = "-v ${launchDir}:${launchDir}"
//docker.runOptions = "-v ${params.refs_dir}:${params.refs_dir}"

params.facount_container           = "quay.io/biocontainers/ucsc-facount:366--h5eb252a_0"
params.bowtie2_container           = "quay.io/biocontainers/bowtie2:2.4.4--py38he5f0661_1"
params.bowtie2_samtools_container  = "quay.io/biocontainers/mulled-v2-c742dccc9d8fabfcff2af0d8d6799dbc711366cf:b6524911af823c7c52518f6c886b86916d062940-0"
// Mulled: bowtie2=2.4.4,samtools=1.13
params.fastqc_container            = "quay.io/biocontainers/fastqc:0.11.9--hdfd78af_1"
params.trimmomatic_container       = "quay.io/biocontainers/trimmomatic:0.39--1"
params.macs2_container             = "quay.io/biocontainers/macs2:2.2.6--py37h516909a_0"
params.seacr_container             = "quay.io/biocontainers/seacr:1.3--hdfd78af_2"
params.samtools_container          = "quay.io/biocontainers/samtools:1.13--h8c37831_0"
params.bedgraphtobigwig_container  = "quay.io/biocontainers/ucsc-bedgraphtobigwig:377--h0b8a92a_2"
params.samtools_bedtools_container = "quay.io/biocontainers/mulled-v2-fc325951871d402a00bdf9d0e712a5b81b8e0cb3:38034b9703d6561a40bcaf2f1ec16f8b158fde97-0"
// Mulled: samtools=1.14.0,bedtools=2.30.0,ucsc-facount=377,python=3.8
params.samtools_facount_container  = "${params.samtools_bedtools_container}"
params.bedtools_container          = "${params.samtools_bedtools_container}"

params.trimmomatic_adapterpath     = "/usr/local/share/trimmomatic/adapters/TruSeq3-PE-2.fa"      

Modules

CUT&RUN-FLow comes with an alternative “easy” configuration option utilizing Environment Modules. Each conda dependency paramater has an equivalent “module” paramater. Each module will then be loaded at runtime for the appropriate steps of the pipeline. For more information on Nextflow’s use of Environment Modules, see process (“modules section”).
// Dependency Configuration Using Environment Modules
//   (values will vary depending on system)
params.facount_module          = ""  // Ex: "ucsc/20200320"
params.bowtie2_module          = ""  // Ex: "bowtie2/2.3.5.1"
params.fastqc_module           = ""  // Ex: "fastqc/0.11.7"
params.trimmomatic_module      = ""  // Ex: "trimmomatic/0.39"
params.bedtools_module         = ""  // Ex: "bedtools/2.29.2"
params.macs2_module            = ""  // Ex: "macs/2.2.7.1"
params.seacr_module            = ""  // Ex: "R/4.0 seacr/1.3 ${params.bedtools_module}"
params.bedgraphtobigwig_module = ""  // Ex: "ucsc/20200320"

params.trimmomatic_adapterpath = "${projectDir}/ref_dbs/trimmomatic_adapters/TruSeq3-PE-2.fa"

Executable System Calls

To accommodate custom module or local setups, each required dependency system call can be customized:
// System Call Settings
//   Call executed on the system, defaults assume that each tool is available
//     on the system PATH
//   Can replace with direct path as desired:
//   Ex:
//        samtools_call = "samtools"
//     or samtools_call = "/path/to/samtools/dir/samtools" 
java_call             = "java"
bowtie2_build_call    = "bowtie2-build"
facount_call          = "faCount"
samtools_call         = "samtools"
fastqc_call           = "fastqc"
trimmomatic_call      = "trimmomatic"
bowtie2_call          = "bowtie2"
bedtools_call         = "bedtools"
macs2_call            = "macs2"
bedgraphtobigwig_call = "bedGraphToBigWig"
seacr_call            = "SEACR_1.3.sh"
seacr_R_script        = "SEACR_1.3.R"