Skip to content

A subset of curated nf-core/module and module templates

License

Notifications You must be signed in to change notification settings

mirpedrol/class-modules

Repository files navigation

class modules

Nextflow run with conda run with docker run with singularity

GitHub Actions Coda Linting

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.

Table of contents

Using nf-core/tools

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>

Classes of modules

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 class_module_index file

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.

About

A subset of curated nf-core/module and module templates

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published