public class ComponentDefinition extends TopLevel
Modifier and Type | Field and Description |
---|---|
static URI |
COMPLEX
A physical entity whose structure is comprised of other physical entities bound to each other covalently or non-covalently,
at least one of which is a macromolecule (e.g.
|
static URI |
DNA
Deprecated.
|
static URI |
DNA_MOLECULE
A physical entity consisting of a sequence of deoxyribonucleotide monophosphates; a deoxyribonucleic acid
(DNA).
|
static URI |
DNA_REGION
A physical entity consisting of a sequence of deoxyribonucleotide monophosphates; a deoxyribonucleic acid.
|
static URI |
EFFECTOR
A small molecule which increases (activator) or decreases (inhibitor) the activity of an
(allosteric) enzyme by binding to the enzyme at the regulatory site
(which is different from the substrate-binding catalytic site) (Effector).
|
static URI |
PROTEIN
A physical entity consisting of a sequence of amino acids; a protein monomer; a single polypeptide
chain (Protein).
|
static URI |
RNA
Deprecated.
|
static URI |
RNA_MOLECULE
A physical entity consisting of a sequence of ribonucleotide monophosphates; a ribonucleic acid.
|
static URI |
RNA_REGION
A region on a RNA molecule.
|
static URI |
SMALL_MOLECULE
A small bioactive molecule (SmallMolecule).
|
ACTIVITY, AGENT, ANNOTATION, ATTACHMENT, COLLECTION, COMBINATORIAL_DERIVATION, COMPONENT_DEFINITION, EXPERIMENT, EXPERIMENTAL_DATA, GENERIC_TOP_LEVEL, IMPLEMENTATION, MODEL, MODULE_DEFINITION, PLAN, SEQUENCE
Modifier and Type | Method and Description |
---|---|
boolean |
addRole(URI roleURI)
Adds the given role URI to this component definition's set of role URIs.
|
boolean |
addSequence(Sequence sequence)
Adds the URI of the given Sequence instance to this component definition's
set of sequence URIs.
|
boolean |
addSequence(String displayId)
Constructs a compliant sequence URI using the given sequence display ID, and then adds this URI to
this component definition's set of sequence URIs.
|
boolean |
addSequence(String displayId,
String version)
Constructs a compliant sequence URI with the given display ID and version, and then adds this URI
to this component definition's set of sequence URIs.
|
boolean |
addSequence(URI sequenceURI)
Adds the given sequence URI to this component definition's set of sequence URIs.
|
boolean |
addType(URI typeURI)
Adds the given type URI to this component definition's set of type URIs.
|
void |
clearComponents()
Removes all entries of this component definition's list of components.
|
void |
clearRoles()
Removes all entries of this component definition's set of role URIs.
|
void |
clearSequenceAnnotations()
Removes all entries of this component definition's list of sequence annotations.
|
void |
clearSequenceConstraints()
Removes all entries of this component definition's list of sequence constraints.
|
void |
clearSequences()
Removes all entries of this component definition's set of reference
sequence URIs.
|
boolean |
containsRole(URI roleURI)
Checks if the given role URI is included in this component definition's set of role URIs.
|
boolean |
containsSequence(URI sequenceURI)
Checks if the given sequence URI is included in this component definition's
set of sequence URIs.
|
boolean |
containsType(URI typeURI)
Checks if the given type URI is included in this component definition's
set of type URIs.
|
Component |
createComponent(String displayId,
AccessType access,
String definitionId)
Creates a child component for this component definition with the given arguments,
and then adds it to this component definition's list of components.
|
Component |
createComponent(String displayId,
AccessType access,
String definitionId,
String version)
Creates a child component for this component definition with the given arguments,
and then adds it to this component definition's list of components.
|
Component |
createComponent(String displayId,
AccessType access,
URI definitionURI)
Creates a child component for this component definition with the given arguments,
and then adds to this component definition's list of components.
|
SequenceAnnotation |
createSequenceAnnotation(String displayId,
String locationId)
Creates a child sequence annotation for this component definition with the given arguments,
and then adds to this component definition's list of sequence annotations.
|
SequenceAnnotation |
createSequenceAnnotation(String displayId,
String locationId,
int at)
Creates a child sequence annotation for this component definition with the given arguments,
and then adds to its list of sequence annotations.
|
SequenceAnnotation |
createSequenceAnnotation(String displayId,
String locationId,
int start,
int end)
Creates a child sequence annotation for this component definition with the given arguments, and then adds to this ComponentDefinition's
list of sequence annotations.
|
SequenceAnnotation |
createSequenceAnnotation(String displayId,
String locationId,
int start,
int end,
OrientationType orientation)
Creates a child sequence annotation for this ComponentDefinition
instance with the given arguments, and then adds to this ComponentDefinition's
list of sequence annotations.
|
SequenceAnnotation |
createSequenceAnnotation(String displayId,
String locationId,
int at,
OrientationType orientation)
Creates a child sequence annotation for this component definition with the given arguments,
and then adds to its list of sequence annotations.
|
SequenceAnnotation |
createSequenceAnnotation(String displayId,
String locationId,
OrientationType orientation)
Creates a child sequence annotation for this component definition with the given arguments,
and then adds to this component definition's list of sequence annotations.
|
SequenceConstraint |
createSequenceConstraint(String displayId,
RestrictionType restriction,
String subjectId,
String objectId)
Creates a child sequence constraint for this component definition with the given arguments,
and then adds to this component definition's list of sequence constraints.
|
SequenceConstraint |
createSequenceConstraint(String displayId,
RestrictionType restriction,
URI subjectURI,
URI objectURI)
Creates a child sequence constraint for this component definition
with the given arguments, and then adds to this component definition's
list of sequence constraints.
|
boolean |
equals(Object obj) |
Component |
getComponent(String displayId)
Returns the component matching the given component's display ID.
|
Component |
getComponent(URI componentURI)
Returns the instance matching the given component's identity URI.
|
Set<Component> |
getComponents()
Returns the set of components owned by this component definition.
|
String |
getImpliedNucleicAcidSequence()
Return the elements of a nucleic acid sequence implied by the hierarchically included components.
|
Set<URI> |
getRoles()
Returns the set of role URIs owned by this component definition.
|
SequenceAnnotation |
getSequenceAnnotation(Component component)
Returns the sequence annotation that references to the given component.
|
SequenceAnnotation |
getSequenceAnnotation(String displayId)
Returns the sequence annotation matching the given display ID.
|
SequenceAnnotation |
getSequenceAnnotation(URI sequenceAnnotationURI)
Returns the instance matching the given SequenceAnnotation URI from the
list of sequence annotations.
|
Set<SequenceAnnotation> |
getSequenceAnnotations()
Returns the set of sequence annotations owned by this
component definition.
|
Sequence |
getSequenceByEncoding(URI encoding)
Returns the first sequence referenced by this component definition that matches the given sequence encoding.
|
SequenceConstraint |
getSequenceConstraint(String displayId)
Returns the sequence constraint matching the given display ID.
|
SequenceConstraint |
getSequenceConstraint(URI sequenceConstraintURI)
Returns the sequence constraint matching the given URI.
|
Set<SequenceConstraint> |
getSequenceConstraints()
Returns the set of sequence constraints owned by this
component definition.
|
Set<URI> |
getSequenceIdentities()
Returns the set of sequences identities referenced by this component definition.
|
Set<Sequence> |
getSequences()
Returns the set of sequences referenced by this component definition.
|
Set<URI> |
getSequenceURIs()
Returns the set of sequence URIs referenced by this component definition.
|
List<Component> |
getSortedComponents()
Returns a sorted list of components owned by this component definition.
|
List<SequenceAnnotation> |
getSortedSequenceAnnotations()
Returns a sorted list of sequence annotations owned by this
component definition.
|
Set<URI> |
getTypes()
Returns the set of type URIs owned by this component definition.
|
int |
hashCode() |
boolean |
removeComponent(Component component)
Removes the given component from the list of components.
|
boolean |
removeRole(URI roleURI)
Removes the given role URI from the set of roles.
|
boolean |
removeSequence(URI sequenceURI)
Removes the given sequence URI from the set of sequence URIs.
|
boolean |
removeSequenceAnnotation(SequenceAnnotation sequenceAnnotation)
Removes the given sequence annotation from the list of sequence annotations.
|
boolean |
removeSequenceConstraint(SequenceConstraint sequenceConstraint)
Removes the given sequence constraint from the list of sequence constraints.
|
boolean |
removeType(URI typeURI)
Removes the given type URI from the set of types.
|
void |
setRoles(Set<URI> roles)
Clears the existing set of roles first, and then adds the given
set of the roles to this component definition.
|
void |
setSequences(Set<URI> sequences)
Clears the existing set of sequences first, and then adds the given
set of the sequences to this component definition.
|
void |
setTypes(Set<URI> types)
Clears the existing set of types first, then adds the given
set of the types to this component definition.
|
String |
toString() |
addAttachment, addAttachment, addAttachment, clearAttachments, containsAttachment, getAttachments, getAttachmentURIs, removeAttachment, setAttachments
addWasDerivedFrom, addWasGeneratedBy, clearAnnotations, clearWasDerivedFroms, clearWasGeneratedBys, containsWasDerivedFrom, containsWasGeneratedBy, createAnnotation, createAnnotation, createAnnotation, createAnnotation, createAnnotation, createAnnotation, getAnnotation, getAnnotations, getDescription, getDisplayId, getIdentity, getName, getPersistentIdentity, getVersion, getWasDerivedFrom, getWasDerivedFroms, getWasGeneratedBys, hasAnnotations, isSetDescription, isSetDisplayId, isSetName, isSetPersistentIdentity, isSetVersion, isSetWasDerivedFrom, removeAnnotation, removeWasDerivedFrom, removeWasGeneratedBy, setDescription, setName, setWasDerivedFrom, setWasDerivedFroms, setWasGeneratedBys, unsetDescription, unsetName, unsetWasDerivedFrom
@Deprecated public static final URI DNA
public static final URI DNA_REGION
public static final URI DNA_MOLECULE
@Deprecated public static final URI RNA
public static final URI RNA_REGION
public static final URI RNA_MOLECULE
public static final URI PROTEIN
public static final URI SMALL_MOLECULE
public static final URI COMPLEX
public boolean addType(URI typeURI) throws SBOLValidationException
typeURI
- the given type URItrue
if this set did not already contain the given type URI, false
otherwise.SBOLValidationException
- if the following SBOL validation rule was violated: 10503.public boolean removeType(URI typeURI) throws SBOLValidationException
typeURI
- the specified type URItrue
if the matching type reference was removed successfully, false
otherwise.SBOLValidationException
- if the following SBOL validation rule was violated: 10502.public void setTypes(Set<URI> types) throws SBOLValidationException
types
- the set of types to set toSBOLValidationException
- if either of the following condition is satisfied:
addType(URI)
public Set<URI> getTypes()
public boolean containsType(URI typeURI)
typeURI
- the type URI to be checkedtrue
if this set contains the given type URI, false
otherwise.public boolean addRole(URI roleURI)
roleURI
- the role URI to be addedtrue
if this set did not already contain the specified role, false
otherwise.public boolean removeRole(URI roleURI)
roleURI
- the given role URI to be removedtrue
if the matching role reference was removed successfully, false
otherwise.public void setRoles(Set<URI> roles)
roles
- the set of roles to set topublic Set<URI> getRoles()
public boolean containsRole(URI roleURI)
roleURI
- the role URI to be checkedtrue
if this set contains the given role URI, false
otherwise.public void clearRoles()
public boolean addSequence(Sequence sequence) throws SBOLValidationException
addSequence(URI)
with this Sequence URI.sequence
- the Sequence instance whose identity URI to be addedtrue
if this set did not already contain the identity URI of the given Sequence, false
otherwise.SBOLValidationException
- if the following SBOL validation rule was violated: 10513.public boolean addSequence(URI sequenceURI) throws SBOLValidationException
sequenceURI
- the identity URI of the sequence to be addedtrue
if this set did not already contain the given sequence's URI, false
otherwise.SBOLValidationException
- if the following SBOL validation rule was violated: 10513.public boolean addSequence(String displayId, String version) throws SBOLValidationException
This method creates a compliant sequence URI with the default
URI prefix, which was set in the SBOLDocument instance hosting this component definition, the given
display ID and version. It then calls addSequence(URI)
with this Sequence URI.
displayId
- the display ID of the sequence whose identity URI is to be addedversion
- version of the sequence whose identity URI is to be addedtrue
if this set did not already contain the given sequence's URI, false
otherwise.SBOLValidationException
- see addSequence(URI)
public boolean addSequence(String displayId) throws SBOLValidationException
addSequence(String, String)
with
the given sequence display ID and an empty string as its version.displayId
- the display ID of the sequence whose identity URI is to be addedtrue
if this set did not already contain the given sequence's URI, false
otherwise.SBOLValidationException
- see addSequence(String, String)
public Set<URI> getSequenceURIs()
public Set<URI> getSequenceIdentities()
public Set<Sequence> getSequences()
public Sequence getSequenceByEncoding(URI encoding)
encoding
- URI for a sequence encodingpublic String getImpliedNucleicAcidSequence()
This method first tries to obtain the length of a nucleic acid sequence from the set of sequences referenced by this component definition
that has an Sequence.IUPAC_DNA
encoding. It then iterates through this component defintion's
sequence annotations, and update the length with the ending locations that have a larger value than the current length. It then populates
the elements with this length with unknown bases. This method iterates through this component defintion's sequence annotations to recursively
search for bases implied by the hierarchically included components, and fills the elements with these known bases.
public void setSequences(Set<URI> sequences) throws SBOLValidationException
sequences
- the given set of the sequences to set toSBOLValidationException
- if an SBOL validation rule violation occurred in addSequence(URI)
public boolean removeSequence(URI sequenceURI)
sequenceURI
- the sequence URItrue
if the matching sequence was removed successfully,
false
otherwise.public void clearSequences()
public boolean containsSequence(URI sequenceURI)
sequenceURI
- the sequence URI to be checkedtrue
if this set contains the given sequence URI, false
otherwise.public SequenceAnnotation createSequenceAnnotation(String displayId, String locationId) throws SBOLValidationException
This method calls createSequenceAnnotation(String, String, OrientationType)
with
the orientation type set to null
.
displayId
- the display ID of the sequence annotation to be createdlocationId
- the display ID of the location contained by sequence annotation to be createdSBOLValidationException
- if an SBOL validation rule violation occurred in createSequenceAnnotation(String, String, OrientationType)
public SequenceAnnotation createSequenceAnnotation(String displayId, String locationId, OrientationType orientation) throws SBOLValidationException
This method first creates a GenericLocation instance with a compliant URI. This URI starts with this component definition's persistent identity, followed by the given sequence annotation's display ID, which is then followed by the given generic location's display ID, and ends with this component definition version.
This method then creates a sequence annotation with a compliant URI, using this component definition's persistent identity, the given sequence annotation's display ID, and this component definition's version. It also adds the created generic location this sequence annotation.
displayId
- the display ID of the sequence annotation to be createdlocationId
- the display ID of the generic location contained by the sequence annotation to be createdorientation
- the orientation type of the sequence annotation to be createdSBOLValidationException
- if any of the following SBOL validation rules was violated:
10201, 10202, 10204, 10206, 10522, 10902, 10905.public SequenceAnnotation createSequenceAnnotation(String displayId, String locationId, int at) throws SBOLValidationException
This method calls createSequenceAnnotation(String,String,int,OrientationType)
with
a null
OrientationType.
displayId
- the display ID of the sequence annotation to be createdlocationId
- the display ID of the location contained by sequence annotation to be createdat
- the integer data field for the Cut location for the sequence annotation to be createdSBOLValidationException
- if an SBOL validation rule violation occurred in createSequenceAnnotation(String, String, int, OrientationType)
public SequenceAnnotation createSequenceAnnotation(String displayId, String locationId, int at, OrientationType orientation) throws SBOLValidationException
This method first creates a Cut instance with a compliant URI. This URI starts with this
component definition's persistent identity, followed by the given sequence annotation's display ID,
which is then followed by the given locationId
, and ends with this component definition version.
This method then creates a sequence annotation with the created Cut instance and a compliant URI. This URI starts with this component definition's persistent identity, followed by the given sequence annotation's display ID, and ends with this component definition's version.
displayId
- the display ID of the sequence annotation to be createdlocationId
- the display ID of the Cut location contained by sequence annotation to be createdat
- the integer data field for the Cut location for the sequence annotation to be createdorientation
- the orientation type for DNA moleculesSBOLValidationException
- if any of the following SBOL validation rules was violated: 10201, 10202, 10204, 10206, 10522, 10902, 10905.public SequenceAnnotation createSequenceAnnotation(String displayId, String locationId, int start, int end) throws SBOLValidationException
This method calls createSequenceAnnotation(String, String, int, int, OrientationType)
with
a null
OrientationType.
displayId
- the display ID of the sequence annotation to be createdlocationId
- the display ID of the location contained by sequence annotation to be createdstart
- the starting position of the Rangeend
- the ending position of the RangeSBOLValidationException
- if an SBOL validation rule violation occurred in createSequenceAnnotation(String, String, int, int, OrientationType)
.public SequenceAnnotation createSequenceAnnotation(String displayId, String locationId, int start, int end, OrientationType orientation) throws SBOLValidationException
This method first creates a Range instance with a compliant URI. This URI starts with this
component definition's persistent identity, followed by the given sequence annotation's display ID,
which is then followed by the given locationId
, and ends with this component definition version.
This method then creates a sequence annotation with the created Range instance and a compliant URI. This URI starts with this component definition's persistent identity, followed by the given sequence annotation's display ID, and ends with this component definition's version.
displayId
- The displayId identifier for this instancelocationId
- Specifies a region between two discrete positionsstart
- starting position of the Rangeend
- ending position of the Rangeorientation
- the orientation type for DNA moleculesSBOLValidationException
- if any of the following SBOL validation rules was violated: 10201, 10202, 10204, 10206, 10522, 10902, 10905.public boolean removeSequenceAnnotation(SequenceAnnotation sequenceAnnotation)
sequenceAnnotation
- the given sequence annotationtrue
if the matching sequence annotation was removed successfully, false
otherwise.public SequenceAnnotation getSequenceAnnotation(String displayId)
displayId
- the display ID for the sequence annotation to be retrievednull
otherwise.public SequenceAnnotation getSequenceAnnotation(URI sequenceAnnotationURI)
sequenceAnnotationURI
- the given SequenceAnnotation URInull
otherwise.public SequenceAnnotation getSequenceAnnotation(Component component)
component
- the component referenced by the sequence annotation to be retrievednull
otherwise.public Set<SequenceAnnotation> getSequenceAnnotations()
public List<Component> getSortedComponents() throws SBOLValidationException
SBOLValidationException
- if the following SBOL validation rule was violated: 10605.public List<SequenceAnnotation> getSortedSequenceAnnotations()
Priority is given to a sequence annotation whose location has a lower (starting) value. Here is an example.
public void clearSequenceAnnotations()
This method calls removeSequenceAnnotation(SequenceAnnotation)
to iteratively remove
each sequence annotation owned by this component definition.
public Component createComponent(String displayId, AccessType access, String definitionId, String version) throws SBOLValidationException
This method first creates a compliant URI for the component definition that is referenced by
the child component to be created, i.e., the child component's definition property.
This URI starts with the default
URI prefix, which was set in the SBOLDocument instance hosting this component definition,
followed by the given display ID and ends with version
.
It then calls createComponent(String, AccessType, URI)
with this compliant component URI.
displayId
- the display ID for the component to be createdaccess
- the access property for the component to be createddefinitionId
- the display ID of the component definition referenced by the component to be createdversion
- the version for the component to be createdSBOLValidationException
- if either of the following condition is satisfied:
createComponent(String, AccessType, URI)
public Component createComponent(String displayId, AccessType access, String definitionId) throws SBOLValidationException
This method calls createComponent(String, AccessType, URI)
with the given arguments and an empty string for version.
displayId
- the display ID for the component to be createdaccess
- the access property for the component to be createddefinitionId
- the display ID of the component definition referenced by the component to be createdSBOLValidationException
- if an SBOL validation rule violation occurred in createComponent(String, AccessType, String, String)
public Component createComponent(String displayId, AccessType access, URI definitionURI) throws SBOLValidationException
This method first creates a compliant URI for the child component to be created. This URI starts with this component definition's persistent identity, followed by the given display ID and ends with this component defintion's version.
displayId
- the display ID for the component to be createdaccess
- the access property for the component to be createddefinitionURI
- the URI of the component definition referenced by the component to be createdSBOLValidationException
- if any of the following SBOL validation rules was violated:
10201, 10202, 10204, 10206, 10602, 10604, 10605, 10607, 10803.public boolean removeComponent(Component component) throws SBOLValidationException
component
- the given componenttrue
if the matching component was removed successfully,
false
otherwise.SBOLValidationException
- if any of the following SBOL validation rules were violated:
10803, 10808, 10905, 11402, 11404,public Component getComponent(String displayId)
This method first creates a compliant URI for the component to be retrieved. It starts with this component definition's persistent identity, followed by the given component's display ID, and ends with this component definition's version.
displayId
- the display ID of the component to be retrievednull
otherwise.public Component getComponent(URI componentURI)
componentURI
- the identity URI of the component to be retrievednull
otherwise.public Set<Component> getComponents()
public void clearComponents() throws SBOLValidationException
This method calls removeComponent(Component component)
to iteratively remove
each component.
SBOLValidationException
- if an SBOL validation rule violation occurred in removeComponent(Component)
.public SequenceConstraint createSequenceConstraint(String displayId, RestrictionType restriction, String subjectId, String objectId) throws SBOLValidationException
Creation of a sequence constraint requires URIs of a subject component and an object component.
This method creates compliant URIs for them respectively. The subject component compliant URI is created with this
component defintion's persistent identity URI, followed by the given subject component's display ID,
followed by this component's version. The object component compliant URI is created similarly.
This method then calls createSequenceConstraint(String, RestrictionType, URI, URI)
to create
the sequence constraint.
This method automatically creates a subject component if all of the following conditions are satisfied:
null
;SBOLDocument.isCreateDefaults()
returns true
; anddisplayId
- the display ID of the sequence constraint to be createdrestriction
- the structural restriction of the subject and object componentssubjectId
- the display ID of the subject componentobjectId
- the display ID of the object componentSBOLValidationException
- if any of the following condition is satisfied:
createSequenceConstraint(String, RestrictionType, URI, URI)
.public SequenceConstraint createSequenceConstraint(String displayId, RestrictionType restriction, URI subjectURI, URI objectURI) throws SBOLValidationException
displayId
- the display ID of the sequence constraint to be createdrestriction
- the structural restriction of the subject and object componentssubjectURI
- the display ID of the subject componentobjectURI
- the display ID of the object componentSBOLValidationException
- if any of the following SBOL validation rule was violated:
10201, 10202, 10204, 10206, 11402, 11403, 11404, 11405, 11406, 11407, 11412.public boolean removeSequenceConstraint(SequenceConstraint sequenceConstraint)
sequenceConstraint
- the given sequence constrainttrue
if the matching sequence constraint was removed successfully, false
otherwise.public SequenceConstraint getSequenceConstraint(String displayId)
displayId
- the display ID of the sequence constraint to be retrievednull
otherwise.public SequenceConstraint getSequenceConstraint(URI sequenceConstraintURI)
sequenceConstraintURI
- the identity URI of the sequence constraint to be retrievednull
otherwise.public Set<SequenceConstraint> getSequenceConstraints()
public void clearSequenceConstraints()
This method calls removeSequenceConstraint(SequenceConstraint)
to iteratively remove
each sequence constraint owned by this component definition.
public String toString()
toString
in class Identified