BioSQL is a generic relational model covering sequences, features, sequence and feature annotation, a reference taxonomy, and ontologies (or controlled vocabularies).
While in its original incarnation (in 2001) conceived by Ewan Birney as a local relational store for GenBank, the project has since become a collaboration between the BioPerl, BioPython, BioJava, and BioRuby projects. The goal is to build a sufficiently generic schema for persistent storage of sequences, features, and annotation in a way that is interoperable between the Bio* projects. Each Bio* project has a language binding (object-relational mapping, ORM) to BioSQL.
Schema Overview: A good introduction to the core BioSQL schema and its intended use is the schema overview document.
- Extension modules extend the core schema and are optional unless specifically needed for storing or retrieving the respective data types the module accommodates. At present, there is one extension module, PhyloDB, for storing phylogenetic trees and taxonomies.
- Supported RDBMs are at present PostgreSQL, MySQL, Oracle, HSQLDB, and Apache Derby for the core schema.
Downloads & Releases
The current release of the BioSQL core schema is v1.0.1. Release plans with status information for upcoming releases are available, or will be posted on this wiki.
The PhyloDB extension module has not been released yet and is only available from the Git repository. Instructions for downloading code from Git anonymously are on the O|B|F wiki; the URL for the master branch of BioSQL is
The Downloads section has links to downloads for current and past releases as well as pre/alpha-releases.
Work is underway to migrate the documentation from the code repository to this website.
- See the schema overview for an overview of the BioSQL model. In addition, see the documentation in the schema Git repository, especially INSTALL, and documents in the doc/ subdirectory.
- Instantiating the schema and pre-populating it with the NCBI taxonomy or other data are extensively documented in the INSTALL file in BioSQL (MySQL and PostgreSQL), the BioSQL page at the BioPython wiki (MySQL), and the Biojava/BioSQL HowTo (Oracle).
- See possible optimizations of local BioSQL installations.
- BioSQL add-on modules are documented as Extension modules (and the repository may hold additional documentation for them, too).
Bug Reports & Enhancement Requests
This wiki documents enhancement requests and which BioSQL version they are scheduled to be incorporated in (if they have been scheduled yet).
The Bio* projects provide object relational mapping from their respective object models to BioSQL. Details for each project can be obtained from the links below.
- BioPython (this also contains excellent documentation for installing BioSQL)
See also the recommendations for mapping sequence annotation to the BioSQL relational model.
Project lead is Hilmar Lapp. Questions should be sent to the BioSQL mailing list at firstname.lastname@example.org. You can also subscribe to the mailing list to keep up to date with discussions and announcements.
In addition, the biosql-guts list is for bug tracking and commit messages.