chore: suggested edits for openjournals/joss-reviews#10649#164
chore: suggested edits for openjournals/joss-reviews#10649#164sstadick wants to merge 2 commits into
Conversation
| \label{fakeminimap2-fig} | ||
|
|
||
| # Research Impact Statement | ||
| Minimap2-rs is already used by multiple tools for sequence cleaning [@de2023nanopack2], tandem-repeat genotyping [@strdust], long-read transcriptome quantification [@oarfish], long-read-based genome size estimation [@hall_genome_2024], pharmacogenomic diplotyping [@starphase], and genotyping for large-unit variable number tandem repeats [@kivvi]. As of this publication, there are 16 additional, non-automated contributors to the repo. |
There was a problem hiding this comment.
As of a bit ago oarfish has moved to rammap: https://github.com/COMBINE-lab/oarfish/releases/tag/v0.10.0
I thinks it's probably fine to site it, but maybe say "early versions of oarfish" or something like that?
|
|
||
| # State of the Field | ||
| Minimap2 is a command-line tool and library, and an official Python binding, Mappy. Using Minimap2 directly in Rust requires either foreign function interface (FFI) calls or running Minimap2 as a subprocess, which may not be ideal for situations that require custom workflows. Minimap2-rs provides FFI bindings to the Minimap2 library, exposing the underlying API directly to Rust and supporting an idiomatic Rust API that works with the Rust ownership model, simplifying the interface with Minimap2 from Rust. Minimap2-rs is open source and publicly available through crates.io, the standard library registry for Rust, and GitHub. | ||
| Minimap2 is a command-line tool and library, and has an official Python binding, Mappy. Using Minimap2 directly in Rust requires either foreign function interface (FFI) calls or running Minimap2 as a subprocess, which may not be ideal for situations that require custom workflows. Minimap2-rs provides FFI bindings to the Minimap2 library, exposing the underlying API directly to Rust and supporting an idiomatic Rust API that works with the Rust ownership model, simplifying the interface with Minimap2 from Rust. Minimap2-rs is open source and publicly available through crates.io, the standard library registry for Rust, and GitHub. |
There was a problem hiding this comment.
suggestion(non-blocking): Totally up to you, because I think you can fairly not mention this since it's not literally by Li, but it might be worth addressing that https://github.com/jwanglab/rammap exists. IMO there's still very much a need for bindings to the official released version of minimap2, but since Heng has semi-officially endorsed it (https://bsky.app/profile/lh3lh3.bsky.social/post/3mn3d6ekmos2k), it might be worth a mention to explicitly provide the reason why direct-to-c bindings are still of value.
There was a problem hiding this comment.
Addressing this in either direction check the JOSS review box for:
- State of the field
| # Summary | ||
| Long-read sequence alignment underpins modern genomic research, enabling highly contiguous de novo assemblies, structural variant detection, RNA isoform exploration, and many other applications. Minimap2, the long-read sequence aligner, sits at the center of these developments, providing fast alignment for long and noisy reads. The Rust programming language has seen rapid adoption in the scientific community, offering memory safety, concurrency, high performance, and simplified dependency management. Here, we present Minimap2-rs, a collection of Rust crates providing a Rust-centric interface to Minimap2, lowering the barrier to using this aligner in Rust-based applications. | ||
|
|
||
| The top-level Minimap2 crate offers an opinionated, flexible, idiomatic API that manages memory and simplifies calling C functions via the Rust foreign function interface (FFI). A companion Python library, minimappers2, provides multi-threading and returns high-performance dataframes. The minimap2-sys crate provides direct, low-level bindings to Minimap2 for specialized use cases. This modular design facilitates rapid prototyping and production-ready pipelines. Continuous integration across x86_64 and arm64 architectures ensures reliability on Linux, macOS, and Android, with tested support for musl-based portability. Minimap2-rs has been adopted by multiple tools for genome size estimation, tandem repeat genotyping, and transcriptome analysis. Minimap2-rs offers a stable, open-source foundation for building Rust-powered bioinformatics solutions while preserving Minimap2’s speed and flexibility. |
There was a problem hiding this comment.
suggestion: I'd add a link to https://docs.rs/minimap2/latest/minimap2/ in order to check the JOSS review boxes for:
- Installation instructions
- Example usage
- Functionality documentation
For openjournals/joss-reviews#10649