NGLess is a domain-specific language for NGS (next-generation sequencing data) processing.
By making the analysis pipeline explicit and version-controlled, NGLess aims to produce reproducible results: scripts declare the exact version of the language and of any reference databases used. NG-meta-profiler, a collection of predefined pipelines built on NGLess, provides fast taxonomic and functional profiling of metagenomes.
ngless "1.0"
input = fastq(['ctrl2.fq','ctrl2.fq','stim1.fq','stim2.fq'])
input = preprocess(input) using |read|:
read = read[5:]
read = substrim(read, min_quality=26)
if len(read) < 31:
discard
mapped = map(input, reference='hg19')
write(count(mapped, features=['gene']),
ofile='gene_counts.csv',
format={csv})
The latest releases are NGLess 1.6.0-beta2 (released July 4, 2026) and NGLess 1.6.0-beta1 (released July 1, 2026), the first betas of the upcoming 1.6.0 series. See the changelog for details.
The current stable version is NGLess 1.5.0 (released September 2022), which
added YAML-based sample specification, new run_for_all functions for the
parallel module, and improved compression and file handling.
NGLess is available on bioconda:
conda install -c bioconda ngless
Copyright (c) 2018–2026. Luis Pedro Coelho and other group members. All rights reserved.