Note
THIS REPOSITORY IS A SUBSET OF THE nf-core/modules REPOSITORY
Warning
UNDER DEVELOPEMENT
A repository for hosting curated Nextflow DSL2 subworkflow files and their associated documentation, and class description files.
The usual nf-core/tools can be used by specifying the appropriate repository.
nf-core modules --git-remote https://github.com/mirpedrol/class-modules.git <YOUR COMMAND>
A class
is a way of grouping Nextflow DSL2 modules. All tools which share the same purpose (can be used to perform the same task) and share the same inputs and outputs, belong to the same class.
Essentially, a class is defined through a YAML file specifying the inputs and outputs of that class and some keywords, used to determine the purpose of that class. You can see examples of classes in the classes directory.
The basic structure of a class YAML file is the following:
# yaml-language-server: $schema=https://raw.githubusercontent.com/mirpedrol/class-modules/main/classes/class-schema.json
name: "myclass"
description: perform the task of this class
keywords:
- task
- topic
- field
input:
- - meta:
type: map
description: Groovy Map containing sample information
- input1:
type: file
description: Input file for this class in FASTA format as an example
pattern: "*.{fa,fasta}"
ontologies:
- edam: http://edamontology.org/format_1929
output:
- channel1:
- meta:
type: map
description: Groovy Map containing sample information
- "*.txt"
type: file
description: The output file in TXT format of this class
pattern: "*.txt"
The file class_module_index.yml
lists all classes and all nf-core/modules which belong to each of the classes.
This file can be edited to add new nf-core/modules to a class. This information will then be used to update the existing class subworkflow, or to generate a new class subworkflow.