Skip to content

unode/ngless

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NGLess: NGS Processing with Less Work

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

Build Status MIT licensed Install with Bioconda Install with Bioconda Citation for NGLess Join the chat at https://gitter.im/ngless-toolkit

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.3"
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})

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.0.0 ngless --version

Adapt the mount flags (-v) as needed.

Linux

You can get a statically linked version of NGless 1.1.1 or a nighly build of the latest development code. 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.1.1/NGLess-1.1.1-static-Linux64
chmod +x NGLess-1.1.1-static-Linux64
./NGLess-1.1.1-static-Linux64

This download bundles bwa, samtools and megahit (also statically linked).

If you want to try one of ngless' builtin modules (motus, specI, ...) you can download the full nighly build zip file which includes them.

From Source

Installing/compiling from source is also possible. Clone https://github.com/ngless-toolkit/ngless

Dependencies

The simplest way to get an environment will 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 install prefix=<PREFIX>

Running Sample Test Scripts on Local Machine

For Developers who have successfully comiled and installed NGless, running the test scripts in /tests folder would be the next line of action to have the output of sample(small) test cases.

cd tests

Once in the test directory, select any of the following many test folders(scripts) to run using NGless. For example, here we would run the "regression-fqgz" and the eventually the .ngl file to get a sample output view that can be used for visualizing the software.

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 data-sets 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

The download might cause network congestion in some machines, however with a compute trade-off the packages can be downloaded easily. Get more details of the resources here.

More information

Authors

About

NGLess: NGS with less work

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Haskell 92.0%
  • Makefile 1.8%
  • Shell 1.7%
  • HTML 1.7%
  • Dockerfile 0.8%
  • CSS 0.7%
  • Other 1.3%