Command line utility for working with next-generation sequencing files.
Explore the docs »
Request Feature
·
Report Bug
·
⭐ Consider starring the repo! ⭐
ngs convert. Convert between next-generation sequencing formats.ngs derive. Forensic analysis tool for next-generation sequencing data.ngs generate. Generates FASTQ output from a given reference genome.ngs index. Generates the index file to various next-generation sequencing files.ngs list. Utility to list various supported items in this command line tool.ngs plot. Produces plots for data generated byngs qc.ngs qc. Generates quality control metrics for BAM files.ngs view. Views various next-generation sequencing files, sometimes with a query region.
- Modern, reliable foundation for everyday bioinformatics analysis—written in Rust.
ngsaims to package together a fairly comprehensive set of analysis tools and utilities for everyday work in bioinformatics. It is built with modern, multi-core systems in mind and written in Rust. Though we are not there today, we plan to work towards this goal in the future. - Runs on readily available hardware/software. We aim for every subcommand within
ngsto run within most computing environments without the need for special hardware or software. Practically, this means we've designedngsto run in any UNIX-like environment that has at least four (4) cores and sixteen (16) GB of RAM. Often, tools will run with fewer resources. This design decision is important and sometimes means thatngsruns slower than it otherwise could.
To install the latest released version, you can simply use cargo.
cargo install ngsTo install the latest version on main, you can use the following command.
cargo install --locked --git https://github.com/stjude-rust-labs/ngs.gitdocker pull ghcr.io/stjude-rust-labs/ngs
docker run -it --rm --volume "$(pwd)":/data ghcr.io/stjude-rust-labs/ngs/data is the working directory of the docker image. Running this command from the directory with your data will allow
the continer to act on those files.
Note: Currently the latest tag refers to the latest release of ngs and not the most recent code changes in this
repository.
To bootstrap a development environment, please use the following commands.
# Clone the repository
git clone [email protected]:stjude-rust-labs/ngs.git
cd ngs
# Run the command line tool using cargo.
cargo run -- -h# Run the project's tests.
cargo test
# Ensure the project doesn't have any linting warnings.
cargo clippy
# Ensure the project passes `cargo fmt`.
cargo fmt --checkThe minimum supported Rust version for this project is 1.64.0.
Contributions, issues and feature requests are welcome! Feel free to check issues page.
- All code related to the
ngs derive instrumentsubcommand is licensed under the AGPL v2.0. This is not due to any strict requirement, but out of deference to some code that inspired our strategy (and from which patterns were copied), the decision was made to license this code consistently. - The rest of this project is licensed as either Apache 2.0 or MIT at your discretion.
Additionally, please see the disclaimer that applies to all crates and command line tools made available by St. Jude Rust Labs.
Copyright © 2021-Present St. Jude Children's Research Hospital.
