Note: I will use SBOL3 in my descriptions; the answer can be equivalently translated to SBOL2
At present, SBOL doesn't have any explicit recommendations for how to represent these types of timing parameters. This is because there is not yet a clear scientific consensus on whether or not such parameters are a good way to represent genetic circuits.
That said, one of the advantages of using SBOL is that its extensible RDF-based model allows additional information like this to be added into a model. Two good ways of doing so are:
- If the parameters are simple and can stand alone as measurements, then they can be added to designs as a
Measure
object with appropriate units and type. For example, if you have biological devices with a 90 minute propagation delay, then on the Component
representing the device you can add a Measure
with numerical value 90, units of om:minute
. You'd likely want two types, one of SBO:0000225 (Delay)
, and a custom type for your own notion of propagation delay, since I don't think that's included in any ontology yet.
- If the parameters are more complex and/or inter-related, e.g., a full data-sheet, then you'd likely want to instead create one or more extension classes that are used to represent the information. A library that makes this easy is sbol_factory, though one can do it with any of the SBOL libraries.
This becomes more complicated if you want to talk about behavior in different environmental contexts, but the basic principles are still the same.
Finally, as for SBOL visual: again, there's no explicit representation, but the model is extensible, and this information can be added as any sort of text or custom glyph as long as it doesn't conflict with ones already in the standard.