{% if not single_file %} {% endif %} {% if avatar_url %} Organization avatar {% endif %}

{%- if single_file -%}{{ single_file_label }}{%- else -%}{{ pipeline.metadata.name or 'Pipeline' }}{%- endif -%}

{% if pipeline.metadata.version and not single_file %} v{{ pipeline.metadata.version.lstrip('vV') }} {% endif %}
{% if not single_file %} {% endif %} {% if pipeline.metadata.repository %} {% if 'github.com' in pipeline.metadata.repository %} {% elif 'gitlab.com' in pipeline.metadata.repository or 'gitlab' in pipeline.metadata.repository.lower() %} {% elif 'bitbucket.org' in pipeline.metadata.repository %} {% else %} {% endif %} {% endif %}
{% if not single_file %} {% endif %}
{% if not single_file %} {% endif %}
{% if single_file %}

{{ single_file_label }}

{% endif %} {% if not single_file %} {% endif %} {% if not single_file %}

{{ title }}

{% if pipeline.metadata.description %}
{{ pipeline.metadata.description|markdown }}
{% endif %} {% if pipeline.metadata.homepage or pipeline.metadata.repository %}
{% if pipeline.metadata.homepage %} {{ pipeline.metadata.homepage }} {% endif %} {% if pipeline.metadata.repository and pipeline.metadata.repository != pipeline.metadata.homepage %} {% if 'github.com' in pipeline.metadata.repository %} {% else %} {% endif %} {{ pipeline.metadata.repository }} {% endif %}
{% endif %} {% if pipeline.metadata.readme_content %}
{{ pipeline.metadata.readme_content|markdown_with_anchors }}
{% endif %} {% if pipeline.metadata.authors %}

Authors

    {% for author in pipeline.metadata.authors %}
  • {{ author }}
  • {% endfor %}
{% endif %}
{% endif %} {% if not single_file %} {% endif %} {% if not single_file %} {% if pipeline.config_params %} {% endif %} {% endif %} {% if pipeline.workflows %}
{% if not single_file %}

Workflows

This page documents all workflows in the pipeline.

{% endif %} {% for wf in pipeline.workflows|sort(attribute='name') %}
workflow {{ wf.name or '<entry>' }} {% if wf.is_entry %} Entry Point {% endif %} {% if wf.source_url %} [source] {% endif %}
{% if wf.file %}
Defined in {{ wf.file }}:{{ wf.line }}
{% endif %} {% if wf.meta_keywords %}
{% for keyword in wf.meta_keywords %} {{ keyword }} {% endfor %}
{% endif %} {% if wf.meta_description %}
{{ wf.meta_description|markdown }}
{% endif %} {% if wf.docstring and wf.docstring != wf.meta_description %} {% if wf.meta_description %}

Code Documentation

{% endif %}
{{ wf.docstring|markdown }}
{% endif %} {% if wf.meta_components %}

Components

{% for comp in wf.meta_components %} {{ comp|wbr }} {% endfor %}
{% endif %} {% if wf.inputs or wf.meta_inputs %}

Inputs (take)

{% if wf.meta_inputs %} {# Use meta.yml inputs as they have better descriptions #} {% for inp in wf.meta_inputs %} {% endfor %} {% else %} {# Fall back to LSP inputs #} {% for inp in wf.inputs %} {% endfor %} {% endif %}
Name Description
{{ inp.name|wbr }} {% if inp.description %}
{{ inp.description|markdown }}
{% else %}-{% endif %}
{{ inp.name|wbr }} {% if inp.description %}
{{ inp.description|markdown }}
{% else %}-{% endif %}
{% endif %} {% if wf.outputs or wf.meta_outputs %}

Outputs (emit)

{% if wf.meta_outputs %} {# Use meta.yml outputs as they have better descriptions #} {% for out in wf.meta_outputs %} {% endfor %} {% else %} {# Fall back to LSP outputs #} {% for out in wf.outputs %} {% endfor %} {% endif %}
Name Description
{{ out.name|wbr }} {% if out.description %}
{{ out.description|markdown }}
{% else %}-{% endif %}
{{ out.name|wbr }} {% if out.description %}
{{ out.description|markdown }}
{% else %}-{% endif %}
{% endif %} {% if wf.calls %}

Calls

{% endif %} {% if wf.meta_authors or wf.meta_maintainers %}
{% if wf.meta_authors %} Authors: {% for author in wf.meta_authors %} {%- if author.startswith('@') -%} {{ author }} {%- else -%} {{ author }} {%- endif -%} {%- if not loop.last %}, {% endif -%} {% endfor %} {% endif %} {% if wf.meta_maintainers %} Maintainers: {% for maintainer in wf.meta_maintainers %} {%- if maintainer.startswith('@') -%} {{ maintainer }} {%- else -%} {{ maintainer }} {%- endif -%} {%- if not loop.last %}, {% endif -%} {% endfor %} {% endif %}
{% endif %}
{% endfor %}
{% endif %} {% if pipeline.processes %}
{% if not single_file %}

Processes

This page documents all processes in the pipeline.

{% endif %} {% for proc in pipeline.processes|sort(attribute='name') %}
process {{ proc.name }} {% if proc.source_url %} [source] {% endif %} {% if proc.nfcore_module_url %} {% endif %}
{% if proc.file %}
Defined in {{ proc.file }}:{{ proc.line }}
{% endif %} {% if proc.meta_keywords %}
{% for keyword in proc.meta_keywords %} {{ keyword }} {% endfor %}
{% endif %} {% if proc.meta_description %}
{{ proc.meta_description|markdown }}
{% endif %} {% if proc.docstring and proc.docstring != proc.meta_description %} {% if proc.meta_description %}

Code Documentation

{% endif %}
{{ proc.docstring|markdown }}
{% endif %} {% if proc.meta_tools %}

Tools

{% for tool in proc.meta_tools %}
{% if tool.homepage %} {{ tool.name }} {% elif tool.documentation %} {{ tool.name }} {% else %} {{ tool.name }} {% endif %}
{% if tool.description %}
{{ tool.description|markdown }}
{% endif %}
{% if tool.homepage %} Homepage {% endif %} {% if tool.documentation %} Documentation {% endif %} {% if tool.identifier and tool.identifier.startswith('biotools:') %} {{ tool.identifier }} {% elif tool.identifier %} {{ tool.identifier }} {% endif %} {% if tool.licence %} License: {{ tool.licence|join(', ') }} {% endif %}
{% endfor %} {% endif %} {% if proc.inputs or proc.meta_inputs %}

Inputs

{% if proc.meta_inputs %} {# Use meta.yml inputs as they have better descriptions #} {% for inp in proc.meta_inputs %} {% endfor %} {% else %} {# Fall back to LSP inputs #} {% for inp in proc.inputs %} {% endfor %} {% endif %}
Name Type Description
{{ inp.name|wbr }} {{ (inp.type or '-')|wbr }} {% if inp.description %}
{{ inp.description|markdown }}
{% else %}-{% endif %}
{{ inp.name|wbr }} {{ inp.type|wbr }} {% if inp.description %}
{{ inp.description|markdown }}
{% else %}-{% endif %}
{% endif %} {% if proc.outputs or proc.meta_outputs %}

Outputs

{% if proc.meta_outputs %} {# Use meta.yml outputs as they have better descriptions #} {% for out in proc.meta_outputs %} {% endfor %} {% else %} {# Fall back to LSP outputs #} {% for out in proc.outputs %} {% endfor %} {% endif %}
Name Type {% if not proc.meta_outputs %}Emit{% else %}Pattern{% endif %} Description
{{ out.name|wbr }} {{ (out.type or '-')|wbr }} {% if out.pattern %} {{ out.pattern|wbr }} {% else %}-{% endif %} {% if out.description %}
{{ out.description|markdown }}
{% else %}-{% endif %}
{{ out.name|wbr }} {{ out.type|wbr }} {% if out.emit %} {{ out.emit|wbr }} {% else %}-{% endif %} {% if out.description %}
{{ out.description|markdown }}
{% else %}-{% endif %}
{% endif %} {% if proc.directives %}

Directives

{% for name, value in proc.directives.items() %} {% endfor %}
Directive Value
{{ name|wbr }} {{ value|wbr }}
{% endif %} {% if proc.meta_authors or proc.meta_maintainers %}
{% if proc.meta_authors %} Authors: {% for author in proc.meta_authors %} {%- if author.startswith('@') -%} {{ author }} {%- else -%} {{ author }} {%- endif -%} {%- if not loop.last %}, {% endif -%} {% endfor %} {% endif %} {% if proc.meta_maintainers %} Maintainers: {% for maintainer in proc.meta_maintainers %} {%- if maintainer.startswith('@') -%} {{ maintainer }} {%- else -%} {{ maintainer }} {%- endif -%} {%- if not loop.last %}, {% endif -%} {% endfor %} {% endif %}
{% endif %}
{% endfor %}
{% endif %} {% if pipeline.functions %}
{% if not single_file %}

Functions

This page documents helper functions defined in the pipeline.

{% endif %} {% for func in pipeline.functions|sort(attribute='name') %}
def {{ func.name }}({% for p in func.params %}{{ p.name }}{% if not loop.last %}, {% endif %}{% endfor %}) {% if func.source_url %} [source] {% endif %}
{% if func.file %}
Defined in {{ func.file }}:{{ func.line }}
{% endif %} {% if func.docstring %}
{{ func.docstring|markdown }}
{% endif %} {% if func.params %}

Parameters

{% for p in func.params %} {% endfor %}
Name Description Default
{{ p.name|wbr }} {% if p.description %}
{{ p.description|markdown }}
{% else %}-{% endif %}
{% if p.default is not none %} {{ p.default|wbr }} {% else %}-{% endif %}
{% endif %} {% if func.return_description %}

Returns

{{ func.return_description }}

{% endif %}
{% endfor %}
{% endif %}
{% if not single_file %} {% endif %}