https://github.com/ngless-toolkit/ngless
NGLess: NGS with less work
https://github.com/ngless-toolkit/ngless
bioinformatics bioinformatics-pipeline bwa fastq fastq-format genomics haskell haskell-language metagenomics next-generation-sequencing ngs samtools science
Last synced: 12 days ago
JSON representation
NGLess: NGS with less work
- Host: GitHub
- URL: https://github.com/ngless-toolkit/ngless
- Owner: ngless-toolkit
- License: other
- Created: 2013-01-08T15:56:55.000Z (over 12 years ago)
- Default Branch: main
- Last Pushed: 2025-03-19T04:09:32.000Z (2 months ago)
- Last Synced: 2025-04-12T23:29:50.925Z (about 2 months ago)
- Topics: bioinformatics, bioinformatics-pipeline, bwa, fastq, fastq-format, genomics, haskell, haskell-language, metagenomics, next-generation-sequencing, ngs, samtools, science
- Language: Haskell
- Homepage: https://ngless.embl.de
- Size: 14.1 MB
- Stars: 146
- Watchers: 10
- Forks: 25
- Open Issues: 35
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog
- Contributing: CONTRIBUTING.md
- License: COPYING
- Citation: CITATION.cff
- Authors: AUTHORS
Awesome Lists containing this project
README
# NGLess: NGS Processing with Less Work
 Ngless is a domain-specific language for
NGS (next-generation sequencing data) processing.[](https://github.com/ngless-toolkit/ngless/actions/workflows/build_w_nix.yml)
[](https://raw.githubusercontent.com/hyperium/hyper/master/LICENSE)
[](https://anaconda.org/bioconda/ngless)
[](https://anaconda.org/bioconda/ngless)
[](https://doi.org/10.1186/s40168-019-0684-8)For questions and discussions, please use the [NGLess mailing
list](https://groups.google.com/forum/#!forum/ngless).If you are using NGLess, please cite:
> _NG-meta-profiler: fast processing of metagenomes using NGLess, a
> domain-specific language_ by Luis Pedro Coelho, Renato Alves, Paulo Monteiro,
> Jaime Huerta-Cepas, Ana Teresa Freitas, Peer Bork, Microbiome (2019)
> [https://doi.org/10.1186/s40168-019-0684-8](https://doi.org/10.1186/s40168-019-0684-8)
## Example
ngless "1.5"
input = fastq(['ctrl1.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:
discardmapped = map(input,
reference='hg19')
write(count(mapped, features=['gene']),
ofile='gene_counts.csv',
format={csv})For more information, check [the docs](https://ngless.embl.de). We also have [a
YouTube
tutorial](https://www.youtube.com/playlist?list=PLn-ZqA9cHNdSsmVTojYL1lEcfh-J3Hdff)
on how to use NGLess and [SemiBin](https://semibin.rtfd.io/) together (but you
can learn to use NGLess independently of SemiBin).## Installing
See the [install documentation](https://ngless.embl.de/install.html) for more
information.### Bioconda
The recommended way to install NGLess is through
[bioconda](https://bioconda.github.io):conda install -c bioconda ngless
### Docker
Alternatively, a docker container with NGLess is available at
[docker hub](https://hub.docker.com/r/nglesstoolkit/ngless):docker run -v $PWD:/workdir -w /workdir -it nglesstoolkit/ngless:1.5.0 ngless --version
Adapt the mount flags (``-v``) as needed.
### Linux
You can download a [statically linked version of NGless
1.5.0](https://github.com/ngless-toolkit/ngless/releases/download/v1.5.0/NGLess-v1.5.0-Linux-static-full)This should work across a wide range of Linux versions (please
[report](https://github.com/ngless-toolkit/ngless/issues) any issues you encounter):curl -L -O https://github.com/ngless-toolkit/ngless/releases/download/v1.5.0/NGLess-v1.5.0-Linux-static-full
chmod +x NGLess-v1.5.0-Linux-static-full
./NGLess-v1.5.0-Linux-static-fullThis downloaded file bundles bwa, samtools and megahit (also statically linked).
### From Source
Installing/compiling from source is also possible. Clone
[https://github.com/ngless-toolkit/ngless](https://github.com/ngless-toolkit/ngless)#### Dependencies
The simplest way to get an environment with all the dependencies is to use conda:
conda create -n ngless
conda activate ngless
conda config --add channels conda-forge
conda install stack cairo bzip2 gmp zlib perl wget xz pkg-config makeYou should have `gcc` installed (or another C-compiler).
The following sequence of commands should download and build the software
git clone https://github.com/ngless-toolkit/ngless
cd ngless
stack setup
makeTo install, you can use the following command (replace `` with
the directory where you wish to install, default is `/usr/local`):make make
## Running Sample Test Scripts on Local Machine
For developers who have successfully compiled and installed NGless, running the
test scripts in the `tests` folder would be the next line of action to have the
output of sample test cases.cd tests
Once in the `tests` directory, select any of the test folders to run NGless.
For example, here we would run the `regression-fqgz` test:
cd regression-fqgz
ngless ungzip.nglAfter running this script open the newly generated folder `ungzip.ngl.output_ngless` and view the template in the **index.html** file.
For developers who have done this much more datasets for testing purposes can be referenced and used by reading these documentation links:
**[Human Gut Metagenomics Functional & Taxonomic Profiling](https://ngless.embl.de/tutorial-gut-metagenomics.html#)**
**[Ocean Metagenomics Functional Profiling](https://ngless.embl.de/tutorial-ocean-metagenomics.html)**
**[Ocean Metagenomics Assembly and Gene Prediction](https://ngless.embl.de/tutorial-assembly-gp.html)**## More information
- [Full documentation](https://ngless.embl.de/)
- [Frequently Asked Questions (FAQ)](https://ngless.embl.de/faq.html)
- [ngless mailing list](https://groups.google.com/forum/#!forum/ngless)
- [What's new log](https://ngless.embl.de/whatsnew.html)
- [NGless 1.5.0 Release Documentation](https://ngless.embl.de/whatsnew.html#version-1-5-0)## Authors
- [Luis Pedro Coelho](https://luispedro.org) (email: [[email protected]](mailto:[email protected])) (on twitter: [@luispedrocoelho](https://twitter.com/luispedrocoelho))
- Paulo Monteiro
- Renato Alves
- [Ana Teresa Freitas](https://web.tecnico.ulisboa.pt/ana.freitas/)
- Peer Bork