SEP | 036 |
---|---|
Title | Externally grounded components |
Authors | Jacob Beal ([email protected]) |
Editor | Zach Palchick |
Type | Data Model |
SBOL Version | 2.4 |
Replaces | |
Status | Draft |
Created | 14-July-2019 |
Last modified |
This proposal adds an option for a ComponentInstance
to use external definitions in databases like CHEBI or UniProt.
When designs include small molecules, proteins, and reagents, right now they often cause a proliferation of "empty" ComponentDefinition
objects that essentially only serve to be a link to an external definition in a database like CHEBI and UniProt.
Doing this tends to obfuscate the sharing of reagents, by causing there to be many copies of the same reagent in different namespaces (or even the same namespace, due to accidental duplications).
Instead, we propose to provide an option for a ComponentInstance
to directly to a non-SBOL grounding term rather than having to go through an "empty" ComponentDefinition
.
The ComponentInstance
class is changed in the following ways:
- A new
externalDefinition
field is added with cardinality [0..1] and type URI. - The
definition
cardinality changes from [1] to [0..1]. - A new validation rule is added that says precisely one of
externalDefinition
anddefinition
must be defined.
It is necessary to split the two fields because there is no way to tell from the URI alone whether one is referring to an SBOL object or a non-SBOL database entry.
We may also add a weak validation rule that externalDefinition
SHOULD refer to a non-SBOL canonical definition using an identifiers.org URI.
The same pattern of component definitions being used to import reagents or other items can still be used, so there is no issue with backward compatibility.
For SBOL 3, we might rename definition
to sbolDefinition
for clarity and symmetry.
None.
To the extent possible under law,
SBOL developers
has waived all copyright and related or neighboring rights to
SEP 036.
This work is published from:
United States.