A functional bioinformatics library for Scala providing strongly-typed DNA/RNA/protein sequences, transcription, translation, and alignment utilities.
BioScala is a community-driven, functional bioinformatics library for the JVM, written in Scala and usable from Scala, Java, and other JVM languages. It provides immutable, type-safe data structures and pure functions for reliable and reproducible bioinformatics analysis, designed with research workflows in mind.
Bioinformatics researchers and developers working on the JVM who need reliable, reproducible analysis tools with functional programming principles. It's suitable for those building bioinformatics pipelines or analysis tools in Scala or Java.
Developers choose BioScala for its functional design with immutable data structures and pure functions, ensuring reliable and reproducible analysis. Its modular, plug-and-play architecture allows for easy extensibility and integration with other bioinformatics tools like BioJava.
Bioinformatics for the Scala programming language
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses immutable data structures and pure functions to ensure reliable and reproducible analysis, as emphasized in the philosophy and features sections.
Plug-and-play modules facilitate extensibility and integration with tools like BioJava, making it easy to customize workflows.
Provides strongly-typed DNA, RNA, and protein sequences with IUPAC ambiguity and gap support, reducing runtime errors in bioinformatics code.
As a community-driven fork focused on code clarity and contributor experience, it has active Discord support and contribution guides for collaborative improvement.
Not available on Maven Central, requiring local cloning and publishing via sbt, which complicates dependency management and hinders quick adoption.
Alignment utilities are described as 'early' and 'WIP,' making it unsuitable for complex bioinformatics tasks that require robust, mature algorithms.
Documentation is spread across external links and may be incomplete or outdated, given the project's ongoing development and reliance on classic APIs with shims.