SBOL3 Synthetic Biology Genetic Circuits (.sbol, .ttl, .rdf)
@modelscript/sbol (languages/sbol) provides native WebAssembly parsing, Sequence Ontology (SO) and Systems Biology Ontology (SBO) genetic circuit verification, Hill-function transcriptional activation/repression ODE simulation, DAEBuilder lowering, and SBML / Modelica projections for Synthetic Biology Open Language (SBOL 3.x) genetic designs.
Supported Extensions & Standards
| Extension | Format | Description |
|---|---|---|
.sbol, .rdf, .xml | SBOL RDF/XML | Standard RDF/XML serialization of sbol:Component, sbol:Sequence, sbol:SubComponent, and sbol:Interaction |
.ttl | SBOL3 Turtle | Compact RDF Turtle representation of SBOL3 genetic circuits and sequence constraints |
Key Capabilities
1. Genetic Parts, Sequence Constraints & Interactions
- Parses
Componentdefinitions typed with Sequence Ontology (SO) roles:- Promoter (
SO:0000167), RBS (SO:0000139), CDS (SO:0000316), Terminator (SO:0000141), and Engineered Region (SO:0000804).
- Promoter (
- Extracts
InteractionandParticipationgraphs typed with Systems Biology Ontology (SBO) terms:- Genetic Production (
SBO:0000589), Transcriptional Stimulation (SBO:0000170), Transcriptional Inhibition (SBO:0000169), and Degradation (SBO:0000179).
- Genetic Production (
2. Hill-Function Genetic Circuit ODE Solver
- Automatically synthesizes and integrates coupled mRNA and protein concentration ODEs using cooperative Hill kinetics:
supporting toggle switches, repressilators, and inducible biosensors.
3. DAE Lowering & SBML / Modelica Projection
- Lowers synthetic genetic circuit dynamics into
@modelscript/runtime'sDAEBuilderarena and exports to SBML Level 3 (sbolToSbml) and Modelica 3.x (sbolToModelica).
Pre-Flight Diagnostics
10 rules7 error3 warning
| Code | Rule | Severity | Message |
|---|---|---|---|
M9501 | invalid-nucleotide-sequence | error | Sequence '<seqId>' contains characters outside the IUPAC nucleic acid alphabet ('<invalidChar>'). |
M9502 | sequence-range-out-of-bounds | error | Feature '<featureId>' location '[<start>..<end>]' exceeds sequence '<seqId>' length '<seqLength>'. |
M9503 | cds-length-not-multiple-of-three | warning | Coding sequence (CDS) '<cdsId>' nucleotide length ('<length>') is not divisible by 3 or lacks a valid start/stop codon. |
M9504 | unresolved-subcomponent-reference | error | SubComponent '<subId>' in '<compId>' references undefined Component '<instanceOf>'. |
M9505 | invalid-transcriptional-unit-order | error | Engineered region '<compId>' places terminator '<termId>' upstream of promoter '<promId>' without an intervening CDS. |
M9506 | dangling-interaction-participant | error | Interaction '<intId>' participant references undefined component '<participantId>'. |
M9507 | missing-interaction-role | warning | Participant '<participantId>' in interaction '<intId>' lacks a Systems Biology Ontology (SBO) role (inhibitor, stimulator, template, product). |
M9508 | circular-component-hierarchy | error | SubComponent hierarchy contains a circular containment reference involving '<compId>'. |
M9509 | duplicate-display-id | error | displayId '<id>' is declared multiple times within the '<namespace>' namespace. |
M9510 | missing-cds-ribosome-binding-site | warning | Bacterial transcriptional unit '<compId>' contains CDS '<cdsId>' without an upstream RBS ('SO:0000139'). |
Generated from languages/sbol/src/errors.ts. All languages →
CLI Usage
bash
# Validate SO/SBO ontology roles, transcriptional unit ordering, and sequence encoding
msx lint GeneticToggleSwitch.sbol
# Parse and inspect SBOL3 RDF/XML or Turtle circuits
msx parse GeneticToggleSwitch.sbol
