Nextflow Best Practices¶
Best Practices¶
Following are some best practices for creating tools. Our intention is that this document will evolve as descriptor languages evolve so feel free to provide suggestions and/or improvements.
In this tutorial, we will be using examples from one-workflow-many-ways.
Authorship Metadata¶
Dockstore parses metadata and allows it to be used in Dockstore search which helps others find your tool/workflow more easily. “Author” is one of the metadata fields that is searchable:

search-metadata
Additionally, metadata is displayed in the tool/workflow’s “Info” tab. The highlighted sections below will appear once metadata is added to the descriptor:

info-tab-metadata
For all developers, we highly recommend the following minimal metadata for your tools and workflows.
This example includes author and description metadata:
nextflow-workflow/nextflow.config
manifest {
description = 'Generate some stats on a BAM file'
author = 'Andrew Duncan'
}
params {
flagstat_to_json = 'flagstat2json.sh'
bamqc_pl = 'bamqc/bamqc.pl'
bamfile = 'bamqc/t/test/neat_5x_EX_hg19_chr21.bam'
bedfile = 'bamqc/t/test/SureSelect_All_Exon_V4_Covered_Sorted_chr21.bed'
outjson = 'bamqc/t/test/neat_5x_EX_hg19_chr21.json'
samtools = 'samtools'
}
This results in the workflow’s Info Tab being populated like:

wdl-info-tab-metadata
Next Steps¶
At this juncture, you have completed all of the developer tutorials.
Please continue onwards with specific topics of interest via our Advanced Developer Topics or our End User Topics