niekwit/eCLIP

Snakemake workflow for eCLIP and related experiments

Overview

Latest release: None, Last update: 2026-09-25

Share link: https://snakemake.github.io/snakemake-workflow-catalog?wf=niekwit/eCLIP

Quality control: linting: failed formatting: passed

Deployment

Step 1: Install Snakemake and Snakedeploy

Snakemake and Snakedeploy are best installed via the Conda package manager. It is recommended to install conda via Miniforge. Run

conda create -c conda-forge -c bioconda -c nodefaults --name snakemake snakemake snakedeploy

to install both Snakemake and Snakedeploy in an isolated environment. For all following commands ensure that this environment is activated via

conda activate snakemake

For other installation methods, refer to the Snakemake and Snakedeploy documentation.

Step 2: Deploy workflow

With Snakemake and Snakedeploy installed, the workflow can be deployed as follows. First, create an appropriate project working directory on your system and enter it:

mkdir -p path/to/project-workdir
cd path/to/project-workdir

In all following steps, we will assume that you are inside of that directory. Then run

snakedeploy deploy-workflow https://github.com/niekwit/eCLIP . --tag None

Snakedeploy will create two folders, workflow and config. The former contains the deployment of the chosen workflow as a Snakemake module, the latter contains configuration files which will be modified in the next step in order to configure the workflow to your needs.

Step 3: Configure workflow

To configure the workflow, adapt config/config.yml to your needs following the instructions below.

Step 4: Run workflow

The deployment method is controlled using the --software-deployment-method (short --sdm) argument.

To run the workflow with automatic deployment of all required software via conda/mamba, use

snakemake --cores all --sdm conda

Snakemake will automatically detect the main Snakefile in the workflow subfolder and execute the workflow module that has been defined by the deployment in step 2.

For further options such as cluster and cloud execution, see the docs.

Step 5: Generate report

After finalizing your data analysis, you can automatically generate an interactive visual HTML report for inspection of results together with parameters and code inside of the browser using

snakemake --report report.zip

Configuration

The following section is imported from the workflow’s config/README.md.

Samples.csv

Use this file to describe all libraries (IP/eCLIP libraries and size-matched input (SMInput) libraries), one library per row.

sample: sample name that matches the read file name(s) in reads/ without extension (see below). Only alphanumeric characters and underscores are allowed. IP sample names must end with _ followed by the replicate number (e.g. RBFOX2_1, RBFOX2_2). The part before this replicate number is the condition; replicates of the same condition are compared by IDR.

control: name of the size-matched input library (which has its own row) that is used for input normalisation of this IP sample. Leave empty for the size-matched input libraries themselves. Replicates can share the same input.

adapter: (single-end only, optional) 3’ adapter set that was used for the library: InvRil19 (default, or set by cutadapt: se_adapter in config.yaml), or InvRNA1 to InvRNA8.

barcode_a, barcode_b: (paired-end only, required) ID of the inline barcode of the two barcodes that were ligated to the library: A01, B06, C01, D8f, A03, G07, A04, F05 or NIL for libraries without barcode (size-matched input).

Read files

Single-end reads (auto-detected):

reads/{sample}.fastq.gz

Paired-end reads (auto-detected):

reads/{sample}_R1_001.fastq.gz
reads/{sample}_R2_001.fastq.gz

Examples

Single-end:

sample

control

adapter

RBFOX2_1

RBFOX2_input_1

InvRil19

RBFOX2_2

RBFOX2_input_2

InvRil19

RBFOX2_input_1

InvRil19

RBFOX2_input_2

InvRil19

Paired-end (each IP library carries two inline barcodes, the size-matched input none):

sample

control

barcode_a

barcode_b

RBFOX2_1

RBFOX2_input_1

A01

B06

RBFOX2_2

RBFOX2_input_1

C01

D8f

RBFOX2_input_1

NIL

NIL

config.yaml

All settings have the ENCODE eCLIP pipeline (eCLIP-seq Processing Pipeline v2.2) values as default. Use Python style booleans (True/False).

Workflow parameters

The following table is automatically parsed from the workflow’s config.schema.y(a)ml file.

Parameter

Type

Description

Required

Default

genome

string

Genome (GENCODE)

yes

umi

yes

. se_length

integer

UMI length of single-end eCLIP

yes

. pe_length

integer

UMI length of paired-end eCLIP

yes

cutadapt

yes

. se_adapter

string

yes

. error_rate

number

yes

. quality_cutoff

integer

yes

. min_length

integer

yes

star

yes

. repeats_extra

string

yes

. genome_extra

string

yes

umi_tools

yes

. dedup_stats

boolean

yes

clipper

yes

. extra

string

yes

peaks

yes

. l10p

number

-log10(p-value) cutoff

yes

. l2fc

number

log2 fold change cutoff

yes

resources

yes

. trim

yes

. . cpu

integer

yes

. . time

integer

yes

. fastqc

yes

. . cpu

integer

yes

. . time

integer

yes

. star_index

yes

. . cpu

integer

yes

. . time

integer

yes

. mapping

yes

. . cpu

integer

yes

. . time

integer

yes

. samtools

yes

. . cpu

integer

yes

. . time

integer

yes

. umi_tools

yes

. . cpu

integer

yes

. . time

integer

yes

. bigwig

yes

. . cpu

integer

yes

. . time

integer

yes

. clipper

yes

. . cpu

integer

yes

. . time

integer

yes

. peaks

yes

. . cpu

integer

yes

. . time

integer

yes

. idr

yes

. . cpu

integer

yes

. . time

integer

yes

Linting and formatting

Linting results
 1/home/runner/work/snakemake-workflow-catalog/snakemake-workflow-catalog/.pixi/envs/default/lib/python3.13/site-packages/google/auth/transport/grpc.py:43: FutureWarning: grpcio < 1.83.0 does not support Post-Quantum Cryptography (PQC). Support for non-PQC environments is deprecated. In April 2027, google-auth will raise its minimum requirements to enforce grpcio >= 1.83.0. For more details on Google Cloud's post-quantum security migration, visit: https://cloud.google.com/security/resources/post-quantum-cryptography
 2  warnings.warn(
 3No validator found for JSON Schema version identifier 'http://json-schema.org/draft-06/schema#'
 4Defaulting to validator for JSON Schema version 'https://json-schema.org/draft/2020-12/schema'
 5Note that schema file may not be validated correctly.
 6No validator found for JSON Schema version identifier 'http://json-schema.org/draft-06/schema#'
 7Defaulting to validator for JSON Schema version 'https://json-schema.org/draft/2020-12/schema'
 8Note that schema file may not be validated correctly.
 9ValueError in file "/tmp/tmpolkzb5jv/workflow/scripts/general_functions.smk", line 49:
10No read files found for sample RBFOX2_1, expected reads/RBFOX2_1.fastq.gz (single-end) or reads/RBFOX2_1_R1_001.fastq.gz and reads/RBFOX2_1_R2_001.fastq.gz (paired-end)
11  File "/tmp/tmpolkzb5jv/workflow/Snakefile", line 32, in <module>
12  File "/tmp/tmpolkzb5jv/workflow/scripts/general_functions.smk", line 49, in paired_end
Formatting results
All tests passed!