Skip to content

nf-core

nf-core Intro

A community effort to collect a curated set of analysis pipelines built using Nextflow.

At UTD we have lots of core facilities. The genomics core, imaging core, etc…

and nf-core!

Testing a pipeline

Usually you’d need to refer to the nf-core installation docs.

However GitHub Codespaces cut out some of that work.

Let’s run:

Terminal window
nextflow run nf-core/rnaseq -profile test,docker --outdir results

Download the Multiqc Report

  1. Open up the file explorer and navigate to results/multiqc/multiqc_report.html and right-click the html file and select Download.
  2. Now that the MultiQC report is on your local computer open it up in a web browser. Preferably next to the pipeline’s output docs.

Using nf-core pipelines in Snakemake

Snakemake 6.2 and later allows to hand over execution steps to other workflow management systems. By this, it is possible to make use of workflows written for other systems, while performing any further pre- or postprocessing within Snakemake.

Snakemake Docs

rule chipseq_pipeline:
input:
input="design.csv",
fasta="data/genome.fasta",
gtf="data/genome.gtf",
# any --<argname> pipeline file arguments can be given here as <argname>=<path>
output:
"results/multiqc/broadPeak/multiqc_report.html",
params:
pipeline="nf-core/chipseq",
revision="2.0.0",
profile=["test", "docker"],
# The chosen pipeline expects an --outdir to be given.
# We infer this from the output file path. Since that file path can be changed
# e.g. in case of cloud storage, we use a lambda function to infer the outdir.
outdir=lambda wildcards, output: str(Path(output[0]).parents[-2]),
# any --<argname> pipeline arguments can be given here as <argname>=<value>
handover: True
wrapper:
"v3.12.1/utils/nextflow"

Snakemake Nextflow Wrapper Docs

Testing nf-core/rnaseq in Snakemake

Snakefile
rule rnaseq_pipeline:
output:
"results/multiqc/star_salmon/multiqc_report.html",
params:
pipeline="nf-core/rnaseq",
revision="3.14.0",
profile=["test", "docker"],
outdir=lambda wildcards, output: str(Path(output[0]).parents[-2]),
handover: True
wrapper:
"v3.12.1/utils/nextflow"
Terminal window
snakemake --cores 2

Running the golden snidget Data

Snakefile
rule rnaseq_pipeline:
input:
"reads/BORED_1_R1.fq.gz",
input="inputs/samplesheet.csv",
fasta="refs/genome.fa",
gff="refs/features.gff",
transcript_fasta="refs/transcripts.fa",
output:
"results/multiqc/star_salmon/multiqc_report.html",
# TODO Add count file
params:
pipeline="nf-core/rnaseq",
revision="3.14.0",
profile=["docker"],
extra=["-c inputs/extra.config"],
outdir=lambda wildcards, output: str(Path(output[0]).parents[-2]),
handover: True
wrapper:
"v3.12.1/utils/nextflow"