diff --git a/src/components/Footer.astro b/src/components/Footer.astro index c4507d2d..0c34df25 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -111,13 +111,6 @@ import LogoSeqera from "../../public/img/assets/Logo_Seqera_white.svg"; >Machine Learning pipeline -
- This example shows how to put together a basic RNA-Seq pipeline. It maps a collection of read-pairs to a given reference genome and outputs the respective transcript model. + This pipeline shows an example of a basic for RNA-Seq analysis that performs quality control, transcript quantification, and result aggregation. The pipeline processes paired-end FASTQ files, generates quality control reports with FastQC, quantifies transcripts with Salmon, and produces a unified report with MultiQC.
```groovy -#!/usr/bin/env nextflow - -/* - * The following pipeline parameters specify the reference genomes - * and read pairs and can be provided as command line options - */ -params.reads = "$baseDir/data/ggal/ggal_gut_{1,2}.fq" -params.transcriptome = "$baseDir/data/ggal/ggal_1_48850000_49020000.Ggal71.500bpflank.fa" +// Parameter inputs +params.reads = "${baseDir}/data/ggal/ggal_gut_{1,2}.fq" +params.transcriptome = "${baseDir}/data/ggal/ggal_1_48850000_49020000.Ggal71.500bpflank.fa" params.outdir = "results" +params.multiqc = "${baseDir}/multiqc" + +// Component imports +include { RNASEQ } from './modules/rnaseq' +include { MULTIQC } from './modules/multiqc' + + +// Workflow block workflow { - read_pairs_ch = channel.fromFilePairs( params.reads, checkIfExists: true ) - INDEX(params.transcriptome) - FASTQC(read_pairs_ch) - QUANT(INDEX.out, read_pairs_ch) -} + log.info """\ + R N A S E Q - N F P I P E L I N E + =================================== + transcriptome: ${params.transcriptome} + reads : ${params.reads} + outdir : ${params.outdir} + """.stripIndent() -process INDEX { - tag "$transcriptome.simpleName" + read_pairs_ch = channel.fromFilePairs(params.reads, checkIfExists: true, flat: true) - input: - path transcriptome + (fastqc_ch, quant_ch) = RNASEQ(read_pairs_ch, params.transcriptome) - output: - path 'index' + multiqc_files_ch = fastqc_ch.mix(quant_ch).collect() - script: - """ - salmon index --threads $task.cpus -t $transcriptome -i index - """ + MULTIQC(multiqc_files_ch, params.multiqc) + + workflow.onComplete = { + log.info( + workflow.success + ? "\nDone! Open the following report in your browser --> ${params.outdir}/multiqc_report.html\n" + : "Oops .. something went wrong" + ) + } } +``` -process FASTQC { - tag "FASTQC on $sample_id" - publishDir params.outdir + - input: - tuple val(sample_id), path(reads) +### Synopsis - output: - path "fastqc_${sample_id}_logs" +The pipeline uses two imported components: - script: - """ - fastqc.sh "$sample_id" "$reads" - """ -} +• RNASEQ: a subworkflow that contains three processes:
• INDEX: creates a Salmon index from the transcriptome (runs once)
• FASTQC: analyzes each sample in parallel
• QUANT: quantifies transcripts for each sample after indexing completes
• MULTIQC: aggregates all quality control and quantification outputs into a comprehensive HTML report
1. Install Nextflow (version 25.10 or later)
-Install Nextflow by entering the following command in the terminal: + - $ curl -fsSL get.nextflow.io | bash +3. Run the pipeline directly from its GitHub repository:
-Then launch the pipeline with this command: +