SBOL
The Synthetic Biology Open Language (SBOL) is an open community data standard for exchanging designs of engineered biological systems between software tools. It has been developed since 2008 by the SBOL Developers Group under open, consensus-driven governance (coordinated through the SynBioDex organization on GitHub) to prevent capture by any single vendor. SBOL captures both the structure of genetic constructs — plasmids, promoters, coding sequences, ribosome binding sites and other DNA/RNA/protein parts — and their intended function, so that designs remain machine-readable and reproducible across institutional boundaries. Major versions span SBOL 1.0 (2011), 2.0 (2015), 3.0 (2020) and the 3.1 revision, which adds corrections and clarifications such as using Sequence Ontology terms for feature orientation.
Technically, SBOL is built on Semantic Web technology: every version serializes to RDF and is backed by a formally defined ontology, so a design is navigable as a knowledge graph rather than a flat document. This places it in the same RDF family as format:rdf-xml, format:turtle, format:json-ld and format:owl, and SBOL documents can be queried and manipulated with generic RDF tooling like tool:rdflib or tool:apache-jena. SBOL 3 deliberately streamlined the model relative to SBOL 2: it merged the separate Component and Module classes into a single Component with Sub-Components, separated sequence features from part/sub-part relationships, generalized SequenceConstraint into a broader structural Constraint, and reused established vocabularies including the Sequence Ontology (SO), the Systems Biology Ontology (SBO), PROV-O for provenance and Dublin Core for metadata.
The ecosystem includes dedicated libraries — tool:libsbolj (Java, whose libSBOLj3 is graph-based), tool:pysbol2 and pySBOL3 for Python — plus online validators and the tool:sbol-converter. A companion specification, SBOL Visual, defines standardized glyphs for diagramming parts, complementing systems-biology notations such as format:sbgn-ml-0.3. SBOL is often used alongside quantitative modeling formats like format:sbml-l3v2 and pathway notations like format:biopax-l3, sharing SBO with the former.
Strengths: an ontology-backed, extensible knowledge-graph model with strong provenance and broad tool support, well suited to design-build-test-learn workflows and part libraries. Limitations: the standard is expansive and its layered ontologies impose a real learning curve; the RDF/graph representation is verbose and less approachable than sequence-only formats such as GenBank or FASTA; and adoption remains concentrated in the synthetic-biology research community rather than being a universal interchange format.
Alternative Names: Synthetic Biology Open Language
| Feature | SBOL (Synthetic Biology Open Language) |
|---|---|
| Multiple Graphs per Document | |
| Nodes | |
| Undirected Edges | |
| Directed Edges | |
| Hyperedges | |
| Mixed-directionality Edges | |
| Parallel Edges | |
| Self-loops | |
| Edges on Edges | |
| Nested Graphs in Nodes | |
| Nested Graphs in Edges | |
| Nested Graphs in Graphs | |
| Node Labels | |
| Edge Labels | |
| Attributes on Nodes | |
| Attributes on Edges | |
| Attributes on Graphs | |
| Typed Edges | |
Tools(Read & Write)
Frequently Asked Questions
What is a SBOL (Synthetic Biology Open Language) file?
A SBOL (Synthetic Biology Open Language) file stores a graph — its nodes, edges and attributes — in the SBOL (Synthetic Biology Open Language) format (also: Synthetic Biology Open Language). See the feature table above for what it supports.
How do I open a SBOL (Synthetic Biology Open Language) file?
Open it in a graph tool that supports SBOL (Synthetic Biology Open Language), or convert it to a format your tool reads. With GraphInOut you can convert SBOL (Synthetic Biology Open Language) to GraphML, DOT, Connected JSON and more, right in your browser.
How do I convert a SBOL (Synthetic Biology Open Language) file to another format?
Use the Convert from SBOL (Synthetic Biology Open Language) link above: upload or paste your SBOL (Synthetic Biology Open Language) file (input preset to SBOL (Synthetic Biology Open Language)), choose a target format and download the result — free, no install.