Skip to content

chore: suggested edits for openjournals/joss-reviews#10649#164

Open
sstadick wants to merge 2 commits into
jguhlin:mainfrom
sstadick:openjournals/joss-reviews#10649
Open

chore: suggested edits for openjournals/joss-reviews#10649#164
sstadick wants to merge 2 commits into
jguhlin:mainfrom
sstadick:openjournals/joss-reviews#10649

Conversation

@sstadick

@sstadick sstadick commented Jun 17, 2026

Copy link
Copy Markdown

Comment thread paper/paper.md
![Fakeminimap2 terminal user interface visualization example, aligning _E. coli_ isolate from Aquaculture farm Nanopore reads to _E. coli_ strain K-12 substr. MG1655 genome (NCBI Genbank accession U00096.3). The list of query sequences is on the left, and navigable using the keyboard or the mouse. The list of alignments is on the right, listing some alignment statistics. Finally, a dot plot is found on the bottom right, showing a graphical representation of the alignment.](fakeminimap2.jpg)\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.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Comment thread paper/paper.md

# 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.

@sstadick sstadick Jun 17, 2026

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressing this in either direction check the JOSS review box for:

  • State of the field

@sstadick sstadick changed the title chore: suggested edit chore: suggested edits for openjournals/joss-reviews#10649 Jun 17, 2026
Comment thread paper/paper.md
# 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.

@sstadick sstadick Jun 17, 2026

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant