8 breaking releases
0.9.0 | Oct 22, 2024 |
---|---|
0.7.0 | Sep 16, 2024 |
0.5.0 | Jul 17, 2024 |
0.1.0 | Mar 20, 2024 |
0.0.0 |
|
#35 in Biology
399 downloads per month
1.5MB
524 lines
A bioinformatics workflow engine built on top of the Workflow Description Language (WDL).
Request Feature
·
Report Bug
·
⭐ Consider starring the repo! ⭐
🎨 Features
sprocket analyzer
Run Sprocket as a LSP server for IDE integration.sprocket check
Performs static analysis on WDL documents.sprocket explain
Explain lint rules.sprocket format
Formats WDL documents.sprocket lint
Performs static analysis on WDL documents with additional linting rules enabled.
Guiding Principles
- Provide a high-performance workflow execution engine capable of orchestrating massive bioinformatics workloads (the stated target is 20,000+ concurrent jobs).
- Develop a suite of modern development tools that brings bioinformatics
development on par with other modern languages (e.g.,
wdl-lsp
). - Maintain an community-focused codebase that enables a diverse set of contributors from academic, non-profit, and commercial organizations.
- Build on an open, domain-tailored standard to ensure the toolset remains singularly focused on unencumbered innovation within bioinformatics.
- Retain a simple and accessible user experience when complexity isn't warranted.
📚 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
This project is licensed as either Apache 2.0 or MIT at your discretion.
Copyright © 2023-Present St. Jude Children's Research Hospital.
Dependencies
~23–37MB
~577K SLoC