A look at the Mojo language for bioinformatics

Mojo, a new Python-like language aimed at high‑performance computing, is drawing interest from scientists but also skepticism, especially in bioinformatics where established R and Python ecosystems dominate real‑world workflows. Commenters scrutinize headline performance claims against Rust and Julia, noting that differences often stem from algorithms, build configurations, and immature tooling rather than any inherent speed advantage. Alongside language comparisons, many highlight that practical bottlenecks in bioinformatics are library availability, data workflows, and domain expertise, and that entering the field typically requires substantial biological training in addition to programming skills.

Mojo vs. Existing Languages (Python, Ruby, Julia, Rust, R)

  • Crystal is cited as a cautionary tale: Ruby-like syntax + C-speed didn’t gain traction; some question why a “faster Python” would succeed.
  • Counterpoint: Python dominates ML/scientific domains; a high-performance, Python-compatible language has a much larger potential audience than a Ruby clone.
  • Mojo is currently not a full Python superset; only simple Python programs port easily.
  • Several comments view Mojo and Julia as complementary high-performance, high-level options rather than direct rivals.

Benchmarks, Hype, and Methodology

  • A major subthread critiques a blog comparing Mojo and Rust FASTQ parsers:
    • Original Rust benchmark reportedly ran in debug mode at first, then was updated to --release.
    • Some reproducers find Rust faster; others, using updated benchmark code, see Mojo ~25% faster.
    • Core argument: different algorithms and validation levels were compared, so claims like “Mojo is faster than Rust” are misleading; the algorithm, not the language, explains most of the gap.
  • Several see Mojo marketing claims (e.g., large speedups, “biggest advance in decades”) as overhyped or “shenanigans.” Others accept some clickbait as normal and note that huge Python speedups are often easy on specific tasks.

Bioinformatics Reality Check

  • Practitioners say day‑to‑day bioinformatics is mostly statistics, plotting, and using R/Python libraries; low-level FASTQ parsing is a small fraction for many, but a major part for some niches (e.g., NGS facilities, tool authors).
  • Ecosystem dominance of R/Bioconductor and Python (plus C/C++ backends) is emphasized; reimplementing that in Mojo would be costly.
  • For many workflows, speed gains at the parsing layer may be less impactful than robust tools and library availability.

Language Features, GC, and Systems Concerns

  • Mojo’s promised strengths: AOT compilation, traits, Rust-like ownership, deep integration with MLIR/heterogeneous compute.
  • Julia’s strengths: mature scientific ecosystem, high performance with JIT, improving startup times and GC; some still wish for easier AOT and no GC.
  • Debate over GC vs. ownership:
    • Some prefer GC for usability; others dislike GC overhead and complexity, favoring Rust-style ownership.
    • Representing complex graph structures is cited as painful in Rust, where a GC can be more ergonomic.

Careers, Tooling, and Multi-language Workflows

  • Bioinformatics roles are described in “camps”: paper-writing scientists, analysts, low-level tool authors, pipeline engineers, and wet-lab biologists doing ad-hoc code.
  • Transitioning from software engineering typically requires substantial biology knowledge; formal degrees (MS/PhD) are often seen as de facto gatekeeping.
  • Common multi-language workflows:
    • Python for heavy lifting / ML, R for stats and publication-quality plots.
    • Go or Rust (and sometimes Julia) for high-performance preprocessing or tools.

Licensing and Adoption Concerns

  • Some refuse to consider Mojo due to non–fully open-source, company-controlled distribution, though others argue “free-as-in-beer” will be enough for most users.