SEP | |
---|---|
Title | Changes in the new SBOL 3.0 specification |
Authors | Chris Myers (myers@ece.utah.edu), Jake Beal (jakebeal@gmail.com), James McLaughlin (james@mclgh.net), Bryan Bartley (bartleyba@sbolstandard.org), James Scott-Brown (james@jamesscottbrown.com), Pedro Fontanarrosa (pfontanarrosa@gmail.com), Prashant Vaidyanathan (t-prva@microsoft.com), Neil Wipat (neilwipat@gmail.com), Matthew Crowther (m.crowther1@ncl.ac.uk), Goksel Misirli (g.misirli@keele.ac.uk) |
Editor | Prashant Vaidyanathan (t-prva@microsoft.com), Pedro Fontanarrosa (pfontanarrosa@gmail.com), James McLaughlin (james@mclgh.net) |
Type | New Specification |
SBOL Version | SBOL 3.0 |
Replaces | SBOL 2.x |
Status | Accepted |
Created | 12-March-2020 |
Last modified | |
Issue | #98 |
In this document, a brief and high level overview of the changes in the new SBOL 3 specification document is explained.
- 1. Rationale
- 2. Specification
- 3. Example or Use Case
- 4. Backwards Compatibility
- 5. Discussion
- 6. Competing SEPs
- References
- Copyright
Sufficient SEPs accumulated proposing major data model changes that merited a change in the specification from version 2.x to 3.0. This SEP summarizes the changes that have been implemented from various SEPs that have been accepted by the community along with changes that have been proposed after discussion at HARMONY 2020.
definition
renamed asinstanceOf
dcterms:title
renamed assbol:name
dcterms:description
renamed assbol:description
persistentIdentity
removed fromIdentified
version
removed fromIdentified
Interface
has been introduced as a sub-class ofIdentified
NameSpace
has been introduced as a sub-class ofCollection
- Added a new Abstract class
Feature
- Add
role
field toFeature
- Add
direction
field toFeature
- Add
orientation
field toFeature
- Add
- SBOL 2.x
Component
renamed asSubComponent
- Add
location
field toSubComponent
- Remove
access
field fromSubComponent
- Remove
direction
field fromSubComponent
. This is now inherited from the parent classFeature
- Add
SubComponent
is now a sub-class ofFeature
- SBOL 2.x
SequenceAnnotation
renamed asSequenceFeature
- Remove
component
field fromSequenceFeature
- Remove
roleIntegration
field fromSequenceFeature
- Remove
SequenceFeature
is now a sub-class ofFeature
ComponentReference
introduced as a sub-class ofFeature
LocalSubComponent
introduced as a sub-class ofFeature
ExternallyDefined
introduced as a sub-class ofFeature
- SBOL 2.x
SequenceConstraint
has been renamed asConstraint
Constraint.object
andConstraint.subject
now point toFeature
- The table of recommended restrictions for
Constraint
has been updated.
- The
sequence
property ofLocation
is now required.- As a consequence,
Sequence
now haselements
andencoding
as optional rather than required.
- As a consequence,
- Add
order
field toLocation
- SBOL 2.x
GenericLocation
has been removed EntireSequence
has been introduced as a sub-class ofLocation
- SBOL 2.x
ComponentDefinition
renamed asComponent
- Add
interface
field toComponent
- Add
- SBOL 2.x
ModuleDefinition
properties moved toComponent
- SBO's FunctionalEntity term has been introduced as type for
Component
- SBOL 2.x
ModuleDefinition
has been removed - SBOL 2.x
Module
has been removed
- SBO's FunctionalEntity term has been introduced as type for
- SBOL 2.x
FunctionalComponent
has been removed and any references to it have been changed to references toSubComponent
- SBOL 2.x
MapTos
has been removed. - BioPAX
type
values have been changed to their SBO equivalents. - SBOL has been made more Semantic Web friendly. This includes:
- Differentiating SBOL entities (concepts) and properties. A few examples include:
- The
feature
field ofComponent
which points to aFeature
object, has now been renamed ashasFeature
- The
variableComponent
field ofCombinatorialDerivation
which points to aVariableComponent
object, has now been renamed ashasVariableComponent
- The
- Consistent labelling of SBOL entities
- For instance, Access values will be capitalised. E.g. 'public' has been changed to 'Public', 'private' has been changed to 'Private', etc.
rdf:type
is now recommender oversbol:type
to specify the type of an SBOL entity.- Enabling graph-based serialization of SBOL documents.
- Differentiating SBOL entities (concepts) and properties. A few examples include:
- Properties/fields that were in plural form are now specified in singular form
The following changes were proposed during HARMONY 2020 and have not been covered by any previous SEPs:
- The
operator
field ofVariableComponent
has been changed tocardinality
order
field has been added toLocation
ComponentInstance
class has been renamed asFeature
SequenceFeature
class is now a sub-class ofFeature
- The
hasSubComponent
andhasFeature
fields of theComponent
class have been merged as a single field:hasFeature
which points to aFeature
object- This was a consequence of making
SequenceFeature
andSubComponent
sub-classes ofFeature
.
- This was a consequence of making
hasSequence
field has been added back toComponent
- SEP 41 removed
hasSequence
fromComponent
, howeverhasSequence
has been added back toComponent
.
- SEP 41 removed
orientation
field has been added toFeature
Experiment
is now a sub-class ofCollection
NameSpace
is now a sub-class ofCollection
Sequence
now haselements
andencoding
as optional rather than required.GenericLocation
has been removed.- Location's
EntireLocation
sub-class has been renamed asEntireSequence
- SEP 41 introduced
EntireLocation
. This new class has been renamedEntireSequence
.
- SEP 41 introduced
SequenceConstraint
has been renamed asConstraint
ExternalReference
has been renamed asExternallyDefined
- SEP 36 introduced
ExternalReference
as a subclass ofFeature
. This new class has been renamed asExternallyDefined
.
- SEP 36 introduced
- The
VariableComponent
class has 3 optional properties. There is a validation rule that states that at least one of them must not be empty. This validation rule has been deleted. - Added the
hashAlgorithm
property to theAttachment
class. The hash property is OPTIONAL and MAY contain the name of the hash algorithm used to generate the value of the hash property. The value of this property SHOULD be a hash name string from the IANA Named Information Hash Algorithm Registry, of which sha3-256 is currently recommended. If the hash property is set, thenhashAlgorithm
MUST be set as well.
In this section, we show the UML diagrams of the classes that have undergone changes that were not part of any previous SEPs.
- Collection UML
- Component UML
- Feature UML
- Location UML
- VariableComponent UML
None.
None.
To the extent possible under law,
SBOL developers
has waived all copyright and related or neighboring rights to
SEP 002.
This work is published from:
United States.