Bioinformatics and Computational Biology Infrastructure for Julia



The Bioinformatics and Computation Biology infrastructure for the Julia language.

Bio.jl is currently undergoing restructuring and is not recommended for julia v0.6 users at this time, ask us on for more info, or check out this PR.

Chat Documentation Build Status


As the flagship package of the BioJulia organisation, Bio.jl provides core modules containing efficient data types and algorithms, that most bioinformaticians and biologists would want to use for analyses or for building their own applications. Bio.jl is built on top of the Julia programming language, a high-level and high-performance programming language for technical computing. Bio.jl and Julia are open source and their source codes are immediately available to the public.

Bio.jl provides programmable components for quick prototyping of new analyses and algorithms. These components are carefully tuned to achieve the best performance without sacrificing the usability of the dynamic programming language. The following modules are currently part of the package and actively developed as submodules:

  • Bio.Seq: Biological sequences
    • Biological symbols (DNA, RNA and amino acid)
    • Biological sequences
    • Sequence search algorithms
    • Readers for FASTA, FASTQ and .2bit file formats
  • Bio.Align: Sequence alignment
    • Alignment data structures
    • Pairwise alignment algorithms
    • Reader for SAM and BAM file formats
  • Bio.Intervals: Genomic intervals and annotations
    • Genomic intervals with annotations
    • Readers for BED, bigWig, bigBed and GFF3 file formats
  • Bio.Structure: Molecular structures
    • Macromolecular structures (e.g. proteins)
    • Reader for PDB file format
  • Bio.Var: Biological variation
    • Mutation counting
    • Genetic and evolutionary distances
    • Readers for VCF and BCF file formats
  • Bio.Phylo: Phylogenetics
    • Phylogenetic trees
  • Bio.Services: APIs to other services
    • Entrez utilities (E-utilities)


Bio.jl is a registered package in the official package management system and can be installed with a command:

julia> Pkg.add("Bio")

If you are interested in the cutting edge of the development, please check out the master branch to try new features before release.


  • STABLEDocumentation of the most recent stable release of Bio.jl.
  • LATESTDocumentation of the in-development state of Bio.jl.

Contributing and Questions

We appreciate contributions from users including reporting bugs, fixing issues, improving performance and adding new features.

If you have a question about contributing or using this package, our Gitter chat room would be the best starting place to communicate with other users and developers. You are encouraged to use the Bio category of the Julia discourse site for technical questions.


Our roadmap is on the wiki: https://github.com/BioJulia/Bio.jl/wiki/roadmap.

First Commit


Last Touched

9 days ago


754 commits