NGLess

NGLess: NGS with less work

https://github.com/ngless-toolkit/ngless

Science Score: 75.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    2 of 13 committers (15.4%) from academic institutions
  • Institutional organization owner
    Organization ngless-toolkit has institutional domain (ngless.embl.de)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary

Keywords

bioinformatics bioinformatics-pipeline bwa fastq fastq-format genomics haskell haskell-language metagenomics next-generation-sequencing ngs samtools science
Last synced: 4 months ago · JSON representation ·

Repository

NGLess: NGS with less work

Basic Info
  • Host: GitHub
  • Owner: ngless-toolkit
  • License: other
  • Language: Haskell
  • Default Branch: main
  • Homepage: https://ngless.embl.de
  • Size: 14.1 MB
Statistics
  • Stars: 151
  • Watchers: 10
  • Forks: 25
  • Open Issues: 35
  • Releases: 21
Topics
bioinformatics bioinformatics-pipeline bwa fastq fastq-format genomics haskell haskell-language metagenomics next-generation-sequencing ngs samtools science
Created about 13 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog Contributing License Citation Authors

README.md

NGLess: NGS Processing with Less Work

NGLess logo Ngless is a domain-specific language for NGS (next-generation sequencing data) processing.

Build & test MIT licensed Install with Bioconda Install with Bioconda Citation for NGLess

For questions and discussions, please use the NGLess mailing list.

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

NGLess cartoon

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:
        discard

mapped = map(input,
                reference='hg19')
write(count(mapped, features=['gene']),
        ofile='gene_counts.csv',
        format={csv})

For more information, check the docs. We also have a YouTube tutorial on how to use NGLess and SemiBin together (but you can learn to use NGLess independently of SemiBin).

Installing

See the install documentation for more information.

Bioconda

The recommended way to install NGLess is through bioconda:

conda install -c bioconda ngless 

Docker

Alternatively, a docker container with NGLess is available at docker hub:

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

This should work across a wide range of Linux versions (please report 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-full

This 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

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 make

You 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
make

To install, you can use the following command (replace <PREFIX> 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.ngl

After 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 Ocean Metagenomics Functional Profiling Ocean Metagenomics Assembly and Gene Prediction

More information

Authors

Owner

  • Name: NGLess and related utilities
  • Login: ngless-toolkit
  • Kind: organization
  • Email: luispedro@big-data-biology.org

Projects around NGLess

Citation (CITATION.cff)

cff-version: 1.1.0
message: If you use this software, please cite it as below.
title: 'NG-meta-profiler: fast processing of metagenomes using NGLess, a domain-specific
  language'
authors:
- family-names: Coelho
  given-names: Luis Pedro
  orcid: https://orcid.org/0000-0002-9280-7885
- family-names: Alves
  given-names: Renato
  orcid: null
- family-names: Monteiro
  given-names: Paulo
  orcid: null
- family-names: Huerta-Cepas
  given-names: Jaime
  orcid: null
- family-names: Freitas
  given-names: Ana Teresa
  orcid: null
- family-names: Bork
  given-names: Peer
  orcid: null
doi: 10.1186/s40168-019-0684-8
date-released: 2019-12-1
version: 1.3.0

GitHub Events

Total
  • Watch event: 7
  • Push event: 1
  • Fork event: 1
Last Year
  • Watch event: 7
  • Push event: 1
  • Fork event: 1

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 2,438
  • Total Committers: 13
  • Avg Commits per committer: 187.538
  • Development Distribution Score (DDS): 0.264
Past Year
  • Commits: 6
  • Committers: 1
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Luis Pedro Coelho l****s@l****g 1,794
Paulo Monteiro p****m@g****m 207
Renato Alves a****c@g****m 193
Paulo Monteiro p****m@k****t 168
Paulo Monteiro p****o@i****t 64
Sajjal Nair n****l@g****m 2
Michael Kuhn m****n@e****e 2
glazek a****k@e****e 2
Paulo Ricardo Monteiro m****s@p****e 2
psj1997 1****9@q****m 1
Vedanth Ramji 8****i 1
The Gitter Badger b****r@g****m 1
Paulo Ricardo Ribeiro Monteiro i****2@n****t 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 5 months ago

All Time
  • Total issues: 88
  • Total pull requests: 12
  • Average time to close issues: 7 months
  • Average time to close pull requests: 6 days
  • Total issue authors: 25
  • Total pull request authors: 5
  • Average comments per issue: 2.02
  • Average comments per pull request: 1.5
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • unode (44)
  • luispedro (11)
  • uloeber (4)
  • nairsajjal (3)
  • mkuhn (3)
  • ycl6 (3)
  • liuxianghui (2)
  • kubu4 (1)
  • AlessioMilanese (1)
  • rekado (1)
  • sternenseemann (1)
  • kunstner (1)
  • chodarq (1)
  • ghost (1)
  • jakob-wirbel (1)
Pull Request Authors
  • unode (7)
  • nairsajjal (2)
  • mkuhn (1)
  • Vedanth-Ramji (1)
  • psj1997 (1)
Top Labels
Issue Labels
enhancement (24) bug (10) better error message (8) help wanted (7) good first issue (5) performance (4) documentation (3) question (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • hackage 470 total
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 30
  • Total maintainers: 1
proxy.golang.org: github.com/ngless-toolkit/ngless
  • Versions: 25
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 5 months ago
hackage.haskell.org: NGLess

NGLess implements a domain-specific language for processing next generation data, particularly metagenomics.

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 470 Total
Rankings
Stargazers count: 6.1%
Forks count: 6.8%
Dependent packages count: 12.2%
Average: 35.0%
Dependent repos count: 55.1%
Downloads: 94.8%
Maintainers (1)
Last synced: 5 months ago

Dependencies

.github/workflows/build_macosx.yml actions
  • actions/checkout v1 composite
  • actions/upload-artifact v2 composite
.github/workflows/build_static_embedded_nix.yml actions
  • actions/checkout v2.4.0 composite
  • actions/upload-artifact v2 composite
  • cachix/cachix-action v10 composite
  • cachix/install-nix-action v16 composite
.github/workflows/build_w_nix.yml actions
  • actions/checkout v2.4.0 composite
  • cachix/cachix-action v10 composite
  • cachix/install-nix-action v16 composite