Home

Awesome

<img style="margin: 0px" alt="Repository Header Image" src="./assets/repo-header.png" /> <hr/> <p align="center"> <p align="center"> <a href="https://github.com/stjude-rust-labs/sprocket/actions/workflows/CI.yml" target="_blank"> <img alt="CI: Status" src="https://github.com/stjude-rust-labs/sprocket/actions/workflows/CI.yml/badge.svg" /> </a> <a href="https://crates.io/crates/sprocket" target="_blank"> <img alt="crates.io version" src="https://img.shields.io/crates/v/sprocket"> </a> <a href="https://rustseq.zulipchat.com" target="_blank"> <img alt="CI: Status" src="https://img.shields.io/badge/chat-%23workflows--bin--sprocket-blue?logo=zulip&logoColor=f6f6f6" /> </a> <img alt="crates.io downloads" src="https://img.shields.io/crates/d/sprocket"> </p> <p align="center"> A bioinformatics workflow engine built on top of the Workflow Description Language (WDL). <br /> <br /> <a href="https://github.com/stjude-rust-labs/sprocket/issues/new?assignees=&title=Descriptive%20Title&labels=enhancement">Request Feature</a> · <a href="https://github.com/stjude-rust-labs/sprocket/issues/new?assignees=&title=Descriptive%20Title&labels=bug">Report Bug</a> · ⭐ Consider starring the repo! ⭐ <br /> </p> </p>

🎨 Features

Guiding Principles

📚 Getting Started

Installation

Before you can install sprocket, you'll need to install Rust. We recommend using rustup to accomplish this. Once Rust is installed, you can install the latest version of sprocket by running the following command.

cargo install sprocket

🖥️ Development

To bootstrap a development environment, please use the following commands.

# Clone the repository
git clone git@github.com:stjude-rust-labs/sprocket.git
cd sprocket

# Build the crate in release mode
cargo build --release

# Run the `sprocket` command line tool
cargo run --release

🚧️ Tests

Before submitting any pull requests, please make sure the code passes the following checks (from the root directory).

# Run the project's tests.
cargo test --all-features

# Run the tests for the examples.
cargo test --examples --all-features

# Ensure the project doesn't have any linting warnings.
cargo clippy --all-features

# Ensure the project passes `cargo fmt`.
cargo fmt --check

# Ensure the docs build.
cargo doc

🤝 Contributing

Contributions, issues and feature requests are welcome! Feel free to check issues page.

📝 License and Legal

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 © 2023-Present St. Jude Children's Research Hospital.