Welcome to seq.rs-challenges! This repo is a collection of monthly coding challenges focused on bioinformatics in Rust 🦀.
This repository serves as the home for:
- Monthly bioinformatics challenges posted on seq.rs
- Community Rust solutions
- Discussions around performance, algorithms, and problem-solving in Rust
Whether you're a beginner to Rust or an experienced bioinformatician, these challenges are a great way to sharpen your skills!
-
New Challenge Every Month A new bioinformatics coding challenge is published at the start of each month.
-
Solve in Rust Use idiomatic, performant, and readable Rust to tackle the problem.
-
Submit Your Solution Fork this repo, create a folder under the current month's directory using your GitHub username, add your solution, and open a pull request. See full submission instructions below.
-
Join the Discussion Share your approach, and ask questions in the GitHub Discussions.
-
Fork this repository
-
Navigate to the appropriate challenge folder
year/month/ -
Create a new folder in
submissions/cargo new <your_github_username>
-
Inside your newly created project folder, update your
Cargo.tomlto include the shared tests for the month as a dependency.[dependencies] tests = { path = "../../tests" }(Adjust the relative path as needed)
-
Add your solution source files inside the
src/folder (you can add extra binaries undersrc/bin/if needed).src/2025/07july/submissions/alice/ ├── Cargo.toml ├── src/ │ ├── lib.rs │ ├── main.rs │ └── bin/ │ └── part1.rs
-
Write your tests using the shared
testscrate to ensure consistency and correctness.src/lib.rspub fn do_stuff(num: i32) -> i32 { num + 1 } #[cfg(test)] use tests::common_input; #[test] fn test_do_stuff() { let input = common_input(); // Example usage (adjust as needed) assert_eq!(do_stuff(input), 42); }
src/main.rsuse your_crate_name::do_stuff; fn main() { let val = 41; println!("Result: {}", do_stuff(val)); }
Tests can be run with
cargo testandmain.rscan be run withcargo run -
Open a Pull Request with the title:
Add solution for <MONTH-YEAR> by <USERNAME> -
(Optional) Include a short write-up in a
README.mdinside your folder
seq.rs is a blog exploring algorithms, tools, and experiments in bioinformatics using Rust.
Each monthly challenge is inspired by topics I find interesting, recent papers in the bioinformatics field, or community suggestions.