Documentation
The key words “MUST”, “MUST NOT”, “SHOULD”, etc. are to be interpreted as described in RFC 2119.
1 Module documentation is required
The module MUST have a meta.yaml in the same directory as the module main.nf.
2 Number of keywords
Keywords SHOULD be sufficient to make the module findable through research domain, data types, and tool function keywords. Keywords MUST NOT be solely the (sub)tool name.
For multi-tool modules, add the keyword multi-tool and all the (sub)tools.
3 Keyword formatting
Keywords MUST be all lower case.
4 Documenting of all tools
The tools section MUST list every tool used in the module. For example:
tools:
- bowtie2: <....>
- samtools: <....>5 Documentation of args of each piped or multiple command
The tools section MUST have a args_id: field for every tool in the module that describes which $args ($args2, $args3) variable is used for.
A single tool module will only have args_id: "$args".
tools:
- bowtie2:
<...>
args_id: "$args"
- samtools:
<...>
args_id: "$args2"6 Required channel documentation
Only include entries of input and output channels in the Input and Output sections of the meta.yaml.
7 Documentation of tuples
Split input and output tuples into separate entries.
That is, meta should be a separate entry to the file it is associated with.
8 Input and output channel types
Use only the following categories for input/output types:
mapfiledirectorystringbooleanintegerfloatbooleanlist
9 Correspondence of input/outputs entries to channels
Your input/output entries MUST match a corresponding channel in the module itself:
- There should be a one-to-one relationship between the module’s inputs and outputs and those described in
meta.yml. - You MUST NOT combine multiple output channels in input/output entries.
10 Useful input/output descriptions
Your input/output descriptions SHOULD be descriptive of the contents of file. For example, not only ‘A TSV file’ but describe what the file contains.
11 Input/output glob pattern
Your input/output patterns (if present) MUST follow a Java glob pattern.
12 Ontology
Your module meta.yml files SHOULD contain a bio.tools ID when available.
Your module meta.yml files SHOULD contain ontology URLs for files when relevant.
Some bioinformatics tools listed on bio.tools already have a list of inputs and outputs with their format that you can use (e.g., FastQC), the EDAM ontology term can be obtained by selecting the relevant format in the input section of the diagrams.
Otherwise, you can get the ontology terms for a given format by searching the term in the EBI’s Ontology Lookup Service (recommended), or the EDAM browser.
13 Indication of input channel requirement
You should mark input entries as Mandatory or Optional