📢JuliaCon 2026: Submit your BioJulia abstract! Submit here →
Skip to content

BioJava (Java) ​

  • BioJava is a biological data processing library written in the Java programming language

  • BioJava tooling is distributed via multiple classes within the same org.biojava package

  • Launched in 2002 with six major releases covering more than 11 Java releases

A few similar applications between BioJulia and BioJava:

ApplicationBioJulia packagesBioJava modules
Input/OutputFASTX, XAM, BigWig, etc.nbio.genome.io.fastq, nbio.ontology.obo, etc.
Sequence alignmentBioSequences, BioAlignmentsnbio.sequence, nbio.alignment
Macromolecular structuresBioStructuresnbio.structure

A few package/ecosystem equivalents between Julia and Java:

ApplicationJuliaJava
Data manipulation/analysisDataFrames, CSV, QueryTablesaw
Plotting/visualizationPlots, Makie, TidierPlotsJFreeChart, Jzy3d
Statistical analysisStatistics, HypothesisTestsStatistics (Apache Commons), NM Dev
Machine learningFlux, SciML, MLJJava-ML, Neuroph
Numerical mathematicsLinearAlgebraNM Dev
Notebook/report generatorIJulia, PlutoIJava
Web applicationsGenie, FranklinGrails, Javalin

A few notable differences between Julia and Java:

JuliaJava
High-level, general-purpose compiled languageHigh-level, object-oriented, two-step (compiled and interpreted) language
Expression-based (statements yield a value)Statement-based (statements don't always yield a value)
Dynamically typed with multiple dispatch and optional type annotationsStatically typed with required type declarations
Built-in parallelism via threads, coroutines (Tasks)Built-in parallelism via threads, streams, fibers (Project Loom)
Lisp-like (homoiconic, macro-based) metaprogrammingReflection-based runtime metaprogramming
Included default package managerNo default package manager (dependency/build management tools include Maven, Gradle, etc.)
Single implementation available (JuliaLang)Multiple implementations available (OpenJDK, GraalVM, etc.)

To transition from Java to Julia:

  • Use JavaCall.jl to seamlessly integrate Java code into your Julia project

  • Consult the Running External Programs section in the Julia manual for running Java scripts or other programs from Julia