Commit 04d21226 authored by Rachel  LEGENDRE's avatar Rachel LEGENDRE
Browse files

Merge branch 'dev' into 'master'

Merge new features to master branch

See merge request hub/chipflow!5
parents bad7aae7 3ee37bc7
ChIPflow - a snakemake-based workflow for the analysis of epigenomic data (ChIP-seq)
ePeak - a snakemake-based workflow for the analysis of epigenomic data (ChIP-seq, CUT&RUN, CUT&Tag)
from the raw fastq files to the differential analysis of transcription factor binding
or histone modification marking.
Copyright © 2020 Institut Pasteur (Paris) and CNRS.
------------------------------------------------------------------
Citation:
Daunesse M, Legendre R, Varet H, Pain A, Chica C. ChIPflow: from raw data to epigenomic dynamics
Daunesse M, Legendre R, Varet H, Pain A, Chica C. ePeak: from replicated chromatin profiling data to epigenomic dynamics
------------------------------------------------------------------
......@@ -18,18 +18,9 @@ The code includes contributions and input from:
- Claudia Chica, Institut Pasteur
Some modules of ChIPflow were initially implemented within the framework of Sequana.
- Sequana
Url: https://github.com/sequana/sequana
Author: Thomas Cokelaer, Dimitri Desvillechabrol, Rachel Legendre, Melissa Cardon
Citation: Cokelaer et al, (2017), 'Sequana': a Set of Snakemake NGS pipelines, Journal of Open Source Software, 2(16), 352, doi:10.21105/joss.00352
License: BSD (see website for details)
-----------------------------------------------------------------
ChIPflow is free software: you can redistribute it and/or modify
ePeak is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation version 3 of the License.
......
<img align="left" width="100" height="100" src="images/EpiFlow_logo.png" alt="ChIPflow">
<img align="left" width="100" height="100" src="images/EpiFlow_logo.png" alt="ePeak">
# ChIPflow: from replicated ChIP-seq raw data to epigenomic dynamics
# ePeak: from replicated chromatin profiling data to epigenomic dynamics
......@@ -10,15 +10,15 @@
[[_TOC_]]
# What is ChIPflow ?
# What is ePeak ?
ChIPflow is a snakemake-based workflow for the analysis of ChIP-seq data from raw FASTQ files to differential analysis of transcription factor binding or histone modification marking. It streamlines critical steps like the quality assessment of the immunoprecipitation using the cross correlation and the replicate comparison for both narrow and broad peaks. For the differential analysis ChIPflow provides linear and non linear methods for normalisation between samples as well as conservative and stringent models for estimating the variance and testing the significance of the observed differences (see [chipflowr](https://gitlab.pasteur.fr/hub/chipflowr)).
ePeak is a snakemake-based workflow for the analysis of ChIP-seq data from raw FASTQ files to differential analysis of transcription factor binding or histone modification marking. It streamlines critical steps like the quality assessment of the immunoprecipitation using the cross correlation and the replicate comparison for both narrow and broad peaks. For the differential analysis ePeak provides linear and non linear methods for normalisation between samples as well as conservative and stringent models for estimating the variance and testing the significance of the observed differences (see [chipflowr](https://gitlab.pasteur.fr/hub/chipflowr)).
<img src="images/chipflow_pipeline.svg" width="700">
<img src="images/epeak_workflow.svg" width="700">
# How to install ChIPflow ?
# How to install ePeak ?
## Installation with singularity
......@@ -29,11 +29,11 @@ Pre-required tools:
- pysam
- singularity
A tutorial to create a conda environment with all dependencies is available here : [env.sh](https://gitlab.pasteur.fr/hub/chipflow/-/blob/master/env.sh)
A tutorial to create a conda environment with all dependencies is available here : [env.sh](https://gitlab.pasteur.fr/hub/ePeak/-/blob/master/env.sh)
Download the singularity container:
` singularity pull --arch amd64 --name chipflow.img library://rlegendre/default/chipflow:latest `
` singularity pull --arch amd64 --name epeak.img library://rlegendre/epeak/epeak:1.0`
## Manual installation
......@@ -73,38 +73,38 @@ module load pysam
* Clone workflow:
`git clone https://gitlab.pasteur.fr/hub/chipflow.git`
`git clone https://gitlab.pasteur.fr/hub/ePeak.git`
* Download singularity container:
```
cd chipflow
singularity pull --arch amd64 --name chipflow.img library://rlegendre/default/chipflow:latest
cd ePeak
singularity pull --arch amd64 --name epeak.img library://rlegendre/epeak/epeak:1.0
```
Then, you can configure the workflow.
# How to run ChIPflow ?
# How to run ePeak ?
> Note: you can test the pipeline with an example datasets: [here](https://gitlab.pasteur.fr/hub/chipflow#run-the-pipeline-on-test-data)
> Note: you can test the pipeline with an example datasets: [here](https://gitlab.pasteur.fr/hub/ePeak#run-the-pipeline-on-test-data)
## Usage
* Step 1: Download workflow
`git clone https://gitlab.pasteur.fr/hub/chipflow.git`
`git clone https://gitlab.pasteur.fr/hub/ePeak.git`
In any case, if you use this workflow in a paper, don't forget to give credits to the authors by citing the URL of this repository and, its DOI (see [above](https://gitlab.pasteur.fr/hub/chipflow#how-to-cite-chipflow-))
In any case, if you use this workflow in a paper, don't forget to give credits to the authors by citing the URL of this repository and, its DOI (see [above](https://gitlab.pasteur.fr/hub/ePeak#how-to-cite-ePeak-))
If you are using Singularity, you need to copy the Singularity image in the cloned ChIPflow directory.
If you are using Singularity, you need to copy the Singularity image in the cloned ePeak directory.
* Step 2: Configure workflow
To configure your analysis, you need to fill 2 configuration files, one to specify the design experimental of you project and one to parameter each step of the pipeline (stored in `config/`):
- [config.yaml](https://gitlab.pasteur.fr/hub/chipflow#how-to-fill-the-design)
- [design.txt](https://gitlab.pasteur.fr/hub/chipflow#how-to-fill-the-design)
- [config.yaml](https://gitlab.pasteur.fr/hub/ePeak#how-to-fill-the-design)
- [design.txt](https://gitlab.pasteur.fr/hub/ePeak#how-to-fill-the-design)
In addition, you can customize the MultiQC report by configuring this file: [multiqc_config.yaml](https://gitlab.pasteur.fr/hub/chipflow#how-to-fill-the-multiqc-config)
In addition, you can customize the MultiQC report by configuring this file: [multiqc_config.yaml](https://gitlab.pasteur.fr/hub/ePeak#how-to-fill-the-multiqc-config)
* Step 3: Execute workflow
......@@ -167,15 +167,15 @@ Design columns:
|--------------|---------------------------------------------------------------|
| IP_NAME | IP FASTQ files prefix (i.e. MARK_COND1) |
| INPUT_NAME | INPUT FASTQ files prefix (i.e. INPUT_COND1) |
| NB_IP | Number of replicates of the histone mark or TFs (i.e. 1 or 2) |
| NB_INPUT | Number of replicates of INPUT files (i.e. 1 or 2) |
| NB_IP | Replicate number of the histone mark or TFs (i.e. 1 or 2) |
| NB_INPUT | Replicate number of INPUT file (i.e. 1 or 2) |
Link to an Example: [design.txt](https://gitlab.pasteur.fr/hub/chipflow/-/blob/master/test/design.txt)
Link to an Example: [design.txt](https://gitlab.pasteur.fr/hub/ePeak/-/blob/master/test/design.txt)
### How to fill the config file
All the parameters to run the pipeline are gathered in a YAML config file that the user has to fill before running the pipeline. Here is an filled example: [config.yaml](https://gitlab.pasteur.fr/hub/chipflow/-/blob/master/test/config.yaml)
All the parameters to run the pipeline are gathered in a YAML config file that the user has to fill before running the pipeline. Here is an filled example: [config.yaml](https://gitlab.pasteur.fr/hub/ePeak/-/blob/master/test/config.yaml)
This config file is divided in 2 sections:
......@@ -230,7 +230,7 @@ At the beginning of `config/multiqc_config.yaml` file, you have the possibility
# Title to use for the report.
title: "ChIP-seq analysis"
subtitle: "ChIP-seq analysis of CTCF factor in breast tumor cells" # Set your own text
intro_text: "MultiQC reports summarise analysis results produced from ChIPflow"
intro_text: "MultiQC reports summarise analysis results produced from ePeak"
# Add generic information to the top of reports
report_header_info:
......@@ -244,7 +244,7 @@ report_header_info:
## ChIPflow running modes
## ePeak running modes
After the read pre-processing steps of the pipeline, MACS2 peak calling software is used to identify enriched regions. Several settings of MACS2 are possible:
- To estimate the fragment size you can: use MACS2 model (default) or use PhantomPeakQualTool.
......@@ -268,10 +268,15 @@ peak_calling:
compute_idr:
do: yes
rank: 'signal.value'
thresh: 0.05
intersectionApproach: no
intersectionApproach:
do: no
ia_overlap: 0.8
```
> If none or very few peaks pass the IDR, this means that there is to much variability between your replicates aka they are probably not good replicates. If you want to proceed anyway with the analysis, you can use the intersection approach (less stringent) instead of the IDR by setting `intersectionApproach` to 'yes'.
......@@ -288,10 +293,42 @@ peak_calling:
cutoff: 0.01
genomeSize: mm
compute_idr:
do: no
rank: 'signal.value'
thresh: 0.01
intersectionApproach: yes
intersectionApproach:
do: yes
ia_overlap: 0.8
```
### Default mode for cut&run
With cut&run data, make deduplication only on INPUT/IgG data (dedup_IP to False). Then perform a stringent peak calling with SEACR and use Intersection Approach. Overlapping parameter of IA on peaks is set at 0.8.
```
mark_duplicates:
do: yes
dedup_IP: 'False'
threads: 4
seacr:
do: yes
threshold: 'stringent'
norm: 'norm'
compute_idr:
do: no
rank: 'signal.value'
thresh: 0.01
intersectionApproach:
do: yes
ia_overlap: 0.8
```
......@@ -302,18 +339,21 @@ You need to have sra-toolkit installed before to download test data.
```
# Download genome references
wget https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/635/GCF_000001635.26_GRCm38.p6/GCF_000001635.26_GRCm38.p6_genomic.fna.gz
gunzip GCF_000001635.26_GRCm38.p6_genomic.fna.gz
wget http://hgdownload.soe.ucsc.edu/goldenPath/mm10/bigZips/mm10.fa.gz
gunzip mm10.fa.gz
# get blacklisted regions
wget http://mitra.stanford.edu/kundaje/akundaje/release/blacklists/mm10-mouse/mm10.blacklist.bed.gz
gunzip mm10.blacklist.bed.gz
# download bed file for GeneBody plot
wget http://hgdownload.soe.ucsc.edu/goldenPath/mm10/bigZips/genes/mm10.refGene.gtf.gz
gunzip mm10.refGene.gtf.gz
# create genome directory
mkdir genome
mv GCF_000001635.26_GRCm38.p6_genomic.fna genome/mm10.fa
mv mm10.blacklist.bed genome/mm10.blacklist.bed
mv mm10.* genome/
# copy config file
cp test/config.yaml config/config.yaml
......@@ -336,6 +376,7 @@ rm *.sra
for file in *.fastq ; do
pigz $file ;
done
```
......@@ -356,16 +397,16 @@ done
- Inside `IP_NAME` you can use "-" but do not "\_" because this is used to separate `MARK`, `COND`, `REP` and `MATE` from FASTQ filenames. For example: `TF4_Ctl-HeLa_rep1_R1.fastq.gz`
**Can I use relative path in config ?**
- yes, but you need to consider ChIPflow directory as origin.
- yes, but you need to consider ePeak directory as origin.
**What if I have 3 INPUT replicates?**
- You can use ChIPflow with more than 2 replicates, replicates will be merged in a Maxi Pool.
- You can use ePeak with more than 2 replicates, replicates will be merged in a Maxi Pool.
**What if I have 3 IP replicate?**
- The IDR for 3 IP replicates is not yet implemented.
**What INPUT is used when I have 2 INPUTs?**
- Only first INPUT is used for peak calling to reduce technical variability for now.
- First INPUT could be used for peak calling on all IP to reduce technical variability, but each IP could be associated to a specific INPUT in the design file.
**What if I have no INPUT ?**
- The pipeline failed to run if no INPUT are done. Following ENCODE guidelines, control experiment must be performed and are used during peak calling.
......@@ -388,19 +429,19 @@ done
**Can I force the re-calculation of all the steps ?**
- Yes, you can add this snakemake option `--forceall` to force the execution of the first rule.
**Can I rename ChIPflow directory ?**
**Can I rename ePeak directory ?**
- yes, but must to be the same as in config.yaml (`analysis_dir`) or use relative path
**The pipeline fails because the IDR doesn't select enough reads?**
- If none or very few peaks pass the IDR, this means that there is to much variability between your replicates aka they are probably not good replicates. If you want to proceed anyway with the analysis, you can use the intersection approach (less stringent) instead of the IDR by setting `intersectionApproach` to 'yes'.
- If none or very few peaks pass the IDR, this means that there is to much variability between your replicates aka they are probably not good replicates. If you want to proceed anyway with the analysis, you can use the intersection approach (less stringent) instead of the IDR by setting `intersectionApproach:do` to 'yes'.
**When should I use PhantompeakCalling's fragment size estimation instead of MACS2's one?**
- If MACS2 cannot compute the fragment size estimation (or if you want), set `no_model` to yes, and the fragment length use for MACS2 will be the one computed by PhantompeakQualTools for each sample.
**What if I don't know if my chromatim factor in narrow or broad?**
- The output directories names of peak Calling, peak reproducibility and differential analysis steps includes the peak calling mode name, the peak reproducibility method name and the normalisation and variance estimation method name. This allows ChIPflow to test multiple combinations of peak calling, peak reproducibility and differential analysis parameters without erasing any output.
- The output directories names of peak Calling, peak reproducibility and differential analysis steps includes the peak calling mode name, the peak reproducibility method name and the normalisation and variance estimation method name. This allows ePeak to test multiple combinations of peak calling, peak reproducibility and differential analysis parameters without erasing any output.
- For example, if you have run the pipeline in narrow mode, and you want broad mode, you just need to modify the corresponding parameter in the configuration YAML file. The pipeline will then restart at the peak calling step and all the output will be stored in "06-PeakCalling/{}" directories.
- In case of unknown chromatin factor, we advice to run ChIPflow in narrow mode with IDR and IA, and afterward in broad mode. Results from narrow peak calling will be stored in "06-PeakCalling/Narrow" directory, and in "06-PeakCalling/Broad" for broad peak calling.
- In case of unknown chromatin factor, we advice to run ePeak in narrow mode with IDR and IA, and afterward in broad mode. Results from narrow peak calling will be stored in "06-PeakCalling/Narrow" directory, and in "06-PeakCalling/Broad" for broad peak calling.
---
......@@ -413,6 +454,6 @@ done
* Claudia Chica
# How to cite ChIPflow ?
# How to cite ePeak ?
https://doi.org/10.1101/2021.02.02.429342
This diff is collapsed.
......@@ -23,7 +23,7 @@
},
"preIDR_PPR" :
{
"ram" : "40G"
"ram" : "50G"
},
"preIDR_SPR" :
{
......@@ -37,6 +37,11 @@
"bamCoverage" :
{
"ram" : "20G"
},
"computeMatrix" :
{
"ram" : "40G"
}
}
#########################################################################
# ChIPflow: Standardize and reproducible ChIP-seq analysis from raw #
# ePeak: Standardize and reproducible ChIP-seq analysis from raw #
# data to differential analysis #
# Authors: Rachel Legendre, Maelle Daunesse #
# Copyright (c) 2019-2020 Institut Pasteur (Paris) and CNRS. #
# #
# This file is part of ChIPflow workflow. #
# This file is part of ePeak workflow. #
# #
# ChIPflow is free software: you can redistribute it and/or modify #
# ePeak is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# ChIPflow is distributed in the hope that it will be useful, #
# ePeak is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details . #
# #
# You should have received a copy of the GNU General Public License #
# along with ChIPflow (LICENSE). #
# along with ePeak (LICENSE). #
# If not, see <https://www.gnu.org/licenses/>. #
#########################################################################
# ========================================================
# ChIPflow pipeline config file
# ePeak pipeline config file
#=========================================================
# path to the fastq directory
......@@ -133,17 +134,21 @@ bowtie2_mapping:
threads: 4
#===============================================================================
# mark duplicates (picard-tools) identify PCR duplicates in BAM files
# mark duplicates (picard-tools) allows to mark PCR duplicate in BAM files
#
# :Parameters:
#
# - remove: If 'yes', duplicates are removed. If 'no', duplicates are flagged
# but are not filtered out. Default value: yes.
# - threads: number of threads
# - do: if unchecked, this rule is ignored.
# - dedup_IP: If false, only INPUT files will be deduplicated (ie duplicated reads
# are removed from output), IP files are only marked (ie duplicated
# reads are writted with appropriate flags set. If true all files
# will be deduplicated. Default value: true.
# - threads: number of threads to be used
#===============================================================================
mark_duplicates:
remove: 'yes'
do: yes
dedup_IP: 'True'
threads: 4
#===============================================================================
......@@ -178,30 +183,66 @@ remove_biasedRegions:
#===============================================================================
peak_calling:
macs2:
do: yes
mode_choice: 'narrow'
no_model: no
options: "--keep-dup all "
cutoff: 0.1
genomeSize: mm
#===============================================================================
# Peak calling with SEACR https://github.com/FredHutch/SEACR
# (recommended for cut&run data)
#
# :Parameters:
#
# - do: if unchecked, this rule is ignored.
# - threshold: could be 'stringent' of 'relaxed'
# - norm: specify "norm" for normalized or "non" for non-normalized data processing.
# if design:spike is set to yes, a scaling factor will be applied to data,
# specify "non" according to SEACR manual
#===============================================================================
seacr:
do: no
threshold: 'stringent'
norm: 'norm'
#===============================================================================
# Compute IDR on replicates, pseudo-replicates and pooled replicates
#
# :Parameters:
#
# - do: if unchecked, this rule is ignored.
# - rank: which column to use to rank peaks. Options: signal.value, p.value, q.value, columnIndex
# - thresh: report statistics for peaks with a global idr below this value. Default: 0.05
# - intersectionApproach: if set to 'yes', will compute the intersection approach and use it
# to select reproducible peaks. (for narrow only, correspond to the default broad approach)
# - ia_overlap: percentage of overlap between the peaks to be selected (-f parameter of bedtools intersect). Default: 0.8
#
#===============================================================================
compute_idr:
do: yes
rank: 'signal.value'
thresh: 0.05
intersectionApproach: no
#===============================================================================
# Compute intersection approach on replicates
#
# :Parameters:
#
# - do: if set to 'yes', will compute the intersection approach and use it
# to select reproducible peaks. (for narrow only, correspond to the default broad approach)
# - ia_overlap: percentage of overlap between the peaks to be selected (-f parameter of bedtools intersect). Default: 0.8
#
#===============================================================================
intersectionApproach:
do: no
ia_overlap: 0.8
......@@ -222,14 +263,15 @@ compute_idr:
#===============================================================================
differential_analysis:
do: yes
do: no
method: "Limma"
spikes: no
normalisation: "scale"
pAdjustMethod: "BH"
alpha: 0.05
batch: NULL
input_counting: yes
input_counting: no
#############################################################################
......@@ -238,16 +280,49 @@ differential_analysis:
#
# :Parameters:
#
# - do: if 'no', this rule is ignored.
# - options: any parameter recognized by Deeptools (see Deeptools manual)
#===============================================================================
# - do: if unchecked, this rule is ignored
# - options: options related to deeptools
# - spike-in: set to yes to use spike-in data as sacaling factor
# see https://deeptools.readthedocs.io/en/latest/content/feature/effectiveGenomeSize.html
# for more information about effective Genome Size
bamCoverage:
do: yes
options: "--binSize 10 --effectiveGenomeSize 2913022398 --normalizeUsing RPGC"
spike-in: no
threads: 4
#############################################################################
# GeneBody heatmap plot from Deeptools
# see https://deeptools.readthedocs.io/en/develop/content/tools/plotHeatmap.html#usage-examples
#
# :Parameters:
#
# - do: if unchecked, this rule is ignored
# - regionsFileName: File name or names, in BED or GTF format, containing the regions to plot.
#
#===============================================================================
geneBody:
do: yes
regionsFileName: /path/to/genome/directory/mm10_genemodel.bed
threads: 4
#==============================================================================
# IGV_session produce XML session readable by IGV browser with coverage and
# peak files
#
# :Parameters:
#
# - do: if unchecked, this rule is ignored
# - autoScale:
# - normalize:
#==============================================================================
igv_session:
do: yes
autoScale: True
normalize: False
#===============================================================================
# MultiQC aggregates results from bioinformatics analyses across many
......
IP_NAME INPUT_NAME NB_IP NB_INPUT
K4Me3_C INPUT_C 1 1
K4Me3_C INPUT_C 2 2
K4Me3_U INPUT_U 2 2
K4Me3_U INPUT_U 2 1
K4Me3_U INPUT_U 1 2
#########################################################################
# ChIPflow: Standardize and reproducible ChIP-seq analysis from raw #
# ePeak: Standardize and reproducible ChIP-seq analysis from raw #
# data to differential analysis #
# Authors: Rachel Legendre, Maelle Daunesse #
# Copyright (c) 2019-2020 Institut Pasteur (Paris) and CNRS. #
# #
# This file is part of ChIPflow workflow. #
# This file is part of ePeak workflow. #
# #
# ChIPflow is free software: you can redistribute it and/or modify #
# ePeak is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# ChIPflow is distributed in the hope that it will be useful, #
# ePeak is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details . #
# #
# You should have received a copy of the GNU General Public License #
# along with ChIPflow (LICENSE). #
# along with ePeak (LICENSE). #
# If not, see <https://www.gnu.org/licenses/>. #
#########################################################################
#===============================================================================
# Optimized MultiQc config file dedicated to ChIPflow workflow
# Optimized MultiQc config file dedicated to ePeak workflow
#===============================================================================
#------------------------------------------------------------------------------
......@@ -33,7 +33,7 @@
# Title to use for the report.
title: "ChIP-seq analysis"
subtitle: "test of epigenomics" # Set your own text
intro_text: "MultiQC reports summarise analysis results produced from ChIPflow"
intro_text: "MultiQC reports summarise analysis results produced from ePeak"
# Add generic information to the top of reports
report_header_info:
......@@ -56,13 +56,116 @@ report_header_info:
# PLEASE DONT CHANGE FOLLOWING CONFIG
#-------------------------------------------------------------------------------
top_modules:
- 'fastqc'
- 'cutadapt'
- 'bowtie2'
- 'picard'
- 'deeptools'
- 'phantompeakqualtools'
- 'peaks_metrics'
- 'idr_metrics'
- 'spikes_metrics'
- 'feature_counts'
# Cleaning options for sample names. Typically, sample names are detected
# from an input filename. If any of these strings are found, they and any
# text to their right will be discarded.
# For example - file1.fq.gz_trimmed.bam_deduplicated_fastqc.zip
# would be cleaned to 'file1'
# Two options here - fn_clean_exts will replace the defaults,
# extra_fn_clean_exts will append to the defaults
extra_fn_clean_exts:
- .gz
- .fastq
- _trim
- _mapping.e
- _sort
- _sort_dedup_biasedRegions
- _sort_dedup
- _sort_biasedRegions
- _R1
- _R2
- type: remove
pattern: '.sorted'
- type: regex
pattern: '^Sample_\d+'
# Ignore these files / directories / paths when searching for logs
fn_ignore_files:
- .DS_Store
fn_ignore_dirs:
- .snakemake
- cluster_logs
- logs
fn_ignore_paths:
- 03-Deduplication/*spikes*
- 02-Mapping/*_spike*
- slurm*
# Overwrite module filename search patterns. See multiqc/utils/search_patterns.yaml
# for the defaults. Remove a default by setting it to null.
sp:
cutadapt:
fn: '*trim.txt'
phantompeakqualtools/out:
fn: '*_spp.out'