XML FORMAT
SBOL logo

SBOL

SBOL (Synthetic Biology Open Language)

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

File Extensions: .xml v3.1
FeatureSBOL (Synthetic Biology Open Language)
Multiple Graphs per Document supported
Nodes supported
Undirected Edges not supported
Directed Edges supported
Hyperedges supported
Mixed-directionality Edges not supported
Parallel Edges supported
Self-loops supported
Edges on Edges supported
Nested Graphs in Nodes supported
Nested Graphs in Edges not supported
Nested Graphs in Graphs not supported
Node Labels supported
Edge Labels supported
Attributes on Nodes supported
Attributes on Edges supported
Attributes on Graphs supported
Typed Edges supported

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.