Skip to content

Latest commit

 

History

History
922 lines (883 loc) · 57.7 KB

sep_039.md

File metadata and controls

922 lines (883 loc) · 57.7 KB

SEP 039 -- Making SBOL more Semantic Web friendly

SEP
Title Making SBOL more Semantic Web friendly
Authors Goksel Misirli (g.misirli@keele.ac.uk)
Editor Hasan Baig
Type Data Model
SBOL Version 3.0
Replaces
Status Accepted
Created 06-Nov-2019
Last modified
Issue #87

Abstract

This SEP addresses some of the issues related to the naming of SBOL entities and using URIs to adopt existing Semantic Web best practices. It also recommends a fully-graph based serialisation for SBOL documents.

Table of Contents

1. Rationale


SBOL is serialised as RDF and builds upon the Semantic Web stack. Ideally, we should follow Semantic Web related best practices where possible, for better integration with existing Semantic Web tools.

2. Specification


2.1 Differentiating SBOL entities (concepts) and properties

The SBOL data model currently has several labels that are both used to refer to entities and property names. The SBOL practice has been using the uppercase letter when referring to entities and using the lowercase letter when referring to property names. However, not all tools are case sensitive. Moreover, referring to the data model makes it more difficult to explain in papers. It would be useful to remove this ambiguity and to make the labels unique as much as possible. Prefixing and suffixing should be applied to property names, e.g. 'has...' or 'is...Of'

Some of the suggested changes include:

  • Component entity and component property: Change component to hasComponent
  • SequenceAnnotation entity and sequenceAnnotation property: Change sequenceAnnotation to hasSequenceAnnotation
  • SequenceConstraint entity and sequenceConstraint property: Change sequenceConstraint to hasSequenceConstraint
  • Sequence entity and sequence property: Change sequence to hasSequence

Please see [1].

2.2 Consistent labelling of SBOL entities

Although SBOL entities usually start with uppercase, some of the entities still start with lowercase. We suggest capitalizing all entities that are represented as RDF resources. These respources are SBOL entities or values that are represented with unique URIs. Some of the suggested changes include:

  • access values should be capitalised
    • e.g. 'public' should be changed to 'Public'
    • e.g. 'private' should be changed to 'Private'
  • role integration values should be capitalised
  • refinement values should be capitalised
  • orientation values should be capitalised
  • restriction values should be capitalised

Please see [2] and [3].

2.3 sbol:type vs rdf:type

We suggest using rdf:type instead of sbol:type property, which is used to specify the type of an SBOL entity. SBOL entities are serialised as RDF resources. Typically, the rdf:type property is used to describe the type of RDF resources. URIs pointed by rdf:type property can further be described using part-subpart relationships. These relationships are key when inferring information.

Currently, it is assumed there could be only one usage of the rdf:type property to specify the type of an SBOL entity using the SBOL data model. E.g. All ComponentDefinition entities have "entityA rdf:type sbol:ComponentDefinition" signature where entityA is the URI of an SBOL Component Definition.

In the following example, sbol:type has been replaced with rdf:type to indicate the type of an SBOL entity using biopax:DnaRegion. This would allow BioPAX tools to use SBOL data.

<sbol:ComponentDefinition rdf:about=“…”>
  <rdf:type="biopax:DnaRegion” />
  ...
</sbol:ComponentDefinition>

In the following example, sbol:type has been replaced with rdf:type to indicate the type of a provenance entity using sbol:Design, rather than using a custom sbol:type property for the non-SBOL prov:Activity entity type.

<prov:Activity rdf:about=“…”>
  <rdf:type="sbol:Design />
</prov:Activity>

The graqh fragment above is exactly same as the following, which has the emphasis for SBOL:

<sbol:Design rdf:about=“…”>
  <rdf:type="prov:Activity />
</prov:Activity>

This apprach also facilitates writing more efficient and shorter queries using SBOL.

2.4 Fully graph-based serialisation of SBOL documents

We propose using a standard graph serialisation for SBOL documents using different types of graph formats such as RDF, N3 nd JSON. Graph serialisation removes the need to provide serilisation examples and to provide rules regarding the formatting of SBOL graphs. As long as two SBOL documents include exactly same nodes and edges using identical URIs, these two graphs would be identical, even if the order of these nodes in files are different. Different serialisation formats such as N3 increases the readability of SBOL documents. Such documents can even be edited manually. Moreover, formats such as N3 and JSON is more lightweight for data exhange. JSON is especially useful to facilitate the development of web based applications due to JavaScript support provided by internet browsers.

3. Example or Use Case


Examples about the RDF serialisation can be found at https://github.com/goksel/SBOLRDF/tree/master/RDFExamples.

3.1. SBOL (Current) - ComponentDefinition & Sequence

<?xml version="1.0" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sbol="http://sbols.org/v2#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:om="http://www.ontology-of-units-of-measure.org/resource/om-2/">
  <sbol:ComponentDefinition rdf:about="http://partsregistry.org/cd/BBa_J23119">
    <sbol:persistentIdentity rdf:resource="http://partsregistry.org/cd/BBa_J23119"/>
    <sbol:displayId>BBa_J23119</sbol:displayId>
    <prov:wasDerivedFrom rdf:resource="http://partsregistry.org/Part:BBa_J23119"/>
    <dcterms:title>J23119 promoter</dcterms:title>
    <dcterms:description>Constitutive promoter</dcterms:description>
    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
    <sbol:type rdf:resource="http://identifiers.org/chebi/CHEBI:4705"/>
    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000167"/>
    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000613"/>
    <sbol:sequence rdf:resource="http://partsregistry.org/seq/BBa_J23119"/>
  </sbol:ComponentDefinition>
  <sbol:Sequence rdf:about="http://partsregistry.org/seq/BBa_J23119">
    <sbol:persistentIdentity rdf:resource="http://partsregistry.org/seq/BBa_J23119"/>
    <sbol:displayId>BBa_J23119</sbol:displayId>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_J23119:Design"/>
    <sbol:elements>ttgacagctagctcagtcctaggtataatgctagc</sbol:elements>
    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
  </sbol:Sequence>
</rdf:RDF>

3.2. N3 (Proposed) - ComponentDefinition & Sequence

@base          <http://partsregistry.org/> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix sbol:  <http://sbols.org/v2#> .
@prefix prov:  <http://www.w3.org/ns/prov#> .

<cd/BBa_J23119>  a               sbol:ComponentDefinition ;
        dcterms:description      "Constitutive promoter" ;
        dcterms:title            "J23119 promoter" ;
        sbol:displayId           "BBa_J23119" ;
        sbol:persistentIdentity  <cd/BBa_J23119> ;
        sbol:role                <http://identifiers.org/so/SO:0000613> , <http://identifiers.org/so/SO:0000167> ;
        sbol:sequence            <seq/BBa_J23119> ;
        sbol:type                <http://www.biopax.org/release/biopax-level3.owl#DnaRegion> , <http://identifiers.org/chebi/CHEBI:4705> ;
        prov:wasDerivedFrom      <./Part:BBa_J23119> .

<seq/BBa_J23119>  a              sbol:Sequence ;
        sbol:displayId           "BBa_J23119" ;
        sbol:elements            "ttgacagctagctcagtcctaggtataatgctagc" ;
        sbol:encoding            <http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html> ;
        sbol:persistentIdentity  <seq/BBa_J23119> ;
        prov:wasDerivedFrom      <http://parts.igem.org/Part:BBa_J23119:Design> .

3.3. RDF (Proposed) - ComponentDefinition & Sequence

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dcterms="http://purl.org/dc/terms/"
    xmlns:pr="http://partsregistry.org/"
    xmlns:sbol="http://sbols.org/v2#"
    xmlns:prov="http://www.w3.org/ns/prov#"
    xmlns:om="http://www.ontology-of-units-of-measure.org/resource/om-2/">
   <sbol:ComponentDefinition rdf:about="cd/BBa_J23119">
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000613"/>
      <dcterms:description>Constitutive promoter</dcterms:description>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <sbol:sequence>
         <sbol:Sequence rdf:about="seq/BBa_J23119"/>
      </sbol:sequence>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000167"/>
      <prov:wasDerivedFrom rdf:resource="./Part:BBa_J23119"/>
      <dcterms:title>J23119 promoter</dcterms:title>
      <sbol:persistentIdentity rdf:resource="cd/BBa_J23119"/>
      <sbol:displayId>BBa_J23119</sbol:displayId>
      <sbol:type rdf:resource="http://identifiers.org/chebi/CHEBI:4705"/>
   </sbol:ComponentDefinition>
   <sbol:Sequence rdf:about="seq/BBa_J23119">
      <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
      <sbol:elements>ttgacagctagctcagtcctaggtataatgctagc</sbol:elements>
      <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_J23119:Design"/>
      <sbol:displayId>BBa_J23119</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="seq/BBa_J23119"/>
   </sbol:Sequence>
</rdf:RDF>

3.4. RDF (Proposed) - A complex example

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dcterms="http://purl.org/dc/terms/"
    xmlns:pr="http://partsregistry.org/"
    xmlns:sbol="http://sbols.org/v2#"
    xmlns:prov="http://www.w3.org/ns/prov#"
    xmlns:om="http://www.ontology-of-units-of-measure.org/resource/om-2/">
   <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/ECK120033736">
      <sbol:sequence>
         <sbol:Sequence rdf:about="http://www.virtualparts.org/part/ECK120033736"/>
      </sbol:sequence>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000141"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <dcterms:description>Terminator2</dcterms:description>
      <dcterms:title>ECK120033736</dcterms:title>
      <sbol:displayId>ECK120033736</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.partsregistry.org/ECK120033736"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://www.virtualparts.org/part/pIKE_Toggle_1">
      <sbol:sequenceAnnotation>
         <sbol:SequenceAnnotation rdf:about="http://www.virtualparts.org/part/pIKE_Toggle_1/anno2">
            <sbol:component>
               <sbol:Component rdf:about="http://www.virtualparts.org/part/pIKE_Toggle_1/pIKERightCassette_1">
                  <sbol:definition>
                     <sbol:ComponentDefinition rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1"/>
                  </sbol:definition>
                  <sbol:access rdf:resource="http://sbols.org/v2#public"/>
                  <sbol:displayId>pIKERightCassette_1</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKE_Toggle_1/pIKERightCassette_1"/>
               </sbol:Component>
            </sbol:component>
            <sbol:location>
               <sbol:Range rdf:about="http://www.virtualparts.org/part/pIKE_Toggle_1/anno2/location2">
                  <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
                  <sbol:end>2834</sbol:end>
                  <sbol:start>1286</sbol:start>
                  <sbol:displayId>location2</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKE_Toggle_1/anno2/location2"/>
               </sbol:Range>
            </sbol:location>
            <sbol:displayId>anno2</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKE_Toggle_1/anno2"/>
         </sbol:SequenceAnnotation>
      </sbol:sequenceAnnotation>
      <dcterms:title>LacI/TetR Toggle Switch</dcterms:title>
      <dcterms:description>LacI/TetR Toggle Switch</dcterms:description>
      <sbol:component>
         <sbol:Component rdf:about="http://www.virtualparts.org/part/pIKE_Toggle_1/pIKELeftCassette_1">
            <sbol:definition>
               <sbol:ComponentDefinition rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1"/>
            </sbol:definition>
            <sbol:access rdf:resource="http://sbols.org/v2#public"/>
            <sbol:displayId>pIKELeftCassette_1</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKE_Toggle_1/pIKELeftCassette_1"/>
         </sbol:Component>
      </sbol:component>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <sbol:component rdf:resource="http://www.virtualparts.org/part/pIKE_Toggle_1/pIKERightCassette_1"/>
      <sbol:displayId>pIKE_Toggle_1</sbol:displayId>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000280"/>
      <sbol:sequenceAnnotation>
         <sbol:SequenceAnnotation rdf:about="http://www.virtualparts.org/part/pIKE_Toggle_1/anno1">
            <sbol:component rdf:resource="http://www.virtualparts.org/part/pIKE_Toggle_1/pIKELeftCassette_1"/>
            <sbol:location>
               <sbol:Range rdf:about="http://www.virtualparts.org/part/pIKE_Toggle_1/anno1/location1">
                  <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
                  <sbol:end>1285</sbol:end>
                  <sbol:start>1</sbol:start>
                  <sbol:displayId>location1</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKE_Toggle_1/anno1/location1"/>
               </sbol:Range>
            </sbol:location>
            <sbol:displayId>anno1</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKE_Toggle_1/anno1"/>
         </sbol:SequenceAnnotation>
      </sbol:sequenceAnnotation>
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKE_Toggle_1"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/BBa_C0040">
      <sbol:sequence>
         <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_C0040"/>
      </sbol:sequence>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000316"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <dcterms:description>tetR coding sequence</dcterms:description>
      <dcterms:title>tetR</dcterms:title>
      <sbol:displayId>BBa_C0040</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.partsregistry.org/BBa_C0040"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1">
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1"/>
      <sbol:sequenceAnnotation>
         <sbol:SequenceAnnotation rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/anno5">
            <sbol:component>
               <sbol:Component rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_E0040">
                  <sbol:definition>
                     <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/BBa_E0040"/>
                  </sbol:definition>
                  <sbol:access rdf:resource="http://sbols.org/v2#public"/>
                  <sbol:displayId>BBa_E0040</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_E0040"/>
               </sbol:Component>
            </sbol:component>
            <sbol:location>
               <sbol:Range rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/anno5/location5">
                  <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
                  <sbol:end>1463</sbol:end>
                  <sbol:start>743</sbol:start>
                  <sbol:displayId>location5</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/anno5/location5"/>
               </sbol:Range>
            </sbol:location>
            <sbol:displayId>anno5</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/anno5"/>
         </sbol:SequenceAnnotation>
      </sbol:sequenceAnnotation>
      <sbol:component>
         <sbol:Component rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_J61120">
            <sbol:definition>
               <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/BBa_J61120"/>
            </sbol:definition>
            <sbol:access rdf:resource="http://sbols.org/v2#public"/>
            <sbol:displayId>BBa_J61120</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_J61120"/>
         </sbol:Component>
      </sbol:component>
      <sbol:sequenceAnnotation>
         <sbol:SequenceAnnotation rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/anno6">
            <sbol:component>
               <sbol:Component rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/ECK120033736">
                  <sbol:definition rdf:resource="http://www.partsregistry.org/ECK120033736"/>
                  <sbol:access rdf:resource="http://sbols.org/v2#public"/>
                  <sbol:displayId>ECK120033736</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/ECK120033736"/>
               </sbol:Component>
            </sbol:component>
            <sbol:location>
               <sbol:Range rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/anno6/location6">
                  <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
                  <sbol:end>1554</sbol:end>
                  <sbol:start>1464</sbol:start>
                  <sbol:displayId>location6</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/anno6/location6"/>
               </sbol:Range>
            </sbol:location>
            <sbol:displayId>anno6</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/anno6"/>
         </sbol:SequenceAnnotation>
      </sbol:sequenceAnnotation>
      <sbol:component rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_E0040"/>
      <sbol:sequenceAnnotation>
         <sbol:SequenceAnnotation rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/anno2">
            <sbol:component rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_J61120"/>
            <sbol:location>
               <sbol:Range rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/anno2/location2">
                  <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
                  <sbol:end>68</sbol:end>
                  <sbol:start>56</sbol:start>
                  <sbol:displayId>location2</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/anno2/location2"/>
               </sbol:Range>
            </sbol:location>
            <sbol:displayId>anno2</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/anno2"/>
         </sbol:SequenceAnnotation>
      </sbol:sequenceAnnotation>
      <dcterms:description>LacI Inverter</dcterms:description>
      <sbol:component>
         <sbol:Component rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_J61130">
            <sbol:definition>
               <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/BBa_J61130"/>
            </sbol:definition>
            <sbol:access rdf:resource="http://sbols.org/v2#public"/>
            <sbol:displayId>BBa_J61130</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_J61130"/>
         </sbol:Component>
      </sbol:component>
      <sbol:component>
         <sbol:Component rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_R0010">
            <sbol:definition>
               <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/BBa_R0010"/>
            </sbol:definition>
            <sbol:access rdf:resource="http://sbols.org/v2#public"/>
            <sbol:displayId>BBa_R0010</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_R0010"/>
         </sbol:Component>
      </sbol:component>
      <sbol:component>
         <sbol:Component rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_C0040">
            <sbol:definition rdf:resource="http://www.partsregistry.org/BBa_C0040"/>
            <sbol:access rdf:resource="http://sbols.org/v2#public"/>
            <sbol:displayId>BBa_C0040</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_C0040"/>
         </sbol:Component>
      </sbol:component>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <sbol:sequenceAnnotation>
         <sbol:SequenceAnnotation rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/anno4">
            <sbol:component rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_J61130"/>
            <sbol:location>
               <sbol:Range rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/anno4/location4">
                  <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
                  <sbol:end>742</sbol:end>
                  <sbol:start>730</sbol:start>
                  <sbol:displayId>location4</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/anno4/location4"/>
               </sbol:Range>
            </sbol:location>
            <sbol:displayId>anno4</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/anno4"/>
         </sbol:SequenceAnnotation>
      </sbol:sequenceAnnotation>
      <dcterms:title>LacI Inverter</dcterms:title>
      <sbol:component rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/ECK120033736"/>
      <sbol:sequenceAnnotation>
         <sbol:SequenceAnnotation rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/anno1">
            <sbol:component rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_R0010"/>
            <sbol:location>
               <sbol:Range rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/anno1/location1">
                  <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
                  <sbol:end>55</sbol:end>
                  <sbol:start>1</sbol:start>
                  <sbol:displayId>location1</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/anno1/location1"/>
               </sbol:Range>
            </sbol:location>
            <sbol:displayId>anno1</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/anno1"/>
         </sbol:SequenceAnnotation>
      </sbol:sequenceAnnotation>
      <sbol:sequenceAnnotation>
         <sbol:SequenceAnnotation rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/anno3">
            <sbol:component rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/BBa_C0040"/>
            <sbol:location>
               <sbol:Range rdf:about="http://www.virtualparts.org/part/pIKERightCassette_1/anno3/location3">
                  <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
                  <sbol:end>729</sbol:end>
                  <sbol:start>69</sbol:start>
                  <sbol:displayId>location3</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/anno3/location3"/>
               </sbol:Range>
            </sbol:location>
            <sbol:displayId>anno3</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKERightCassette_1/anno3"/>
         </sbol:SequenceAnnotation>
      </sbol:sequenceAnnotation>
      <sbol:displayId>pIKERightCassette_1</sbol:displayId>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000280"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/BBa_E0040">
      <sbol:sequence>
         <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_E0040"/>
      </sbol:sequence>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000316"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <dcterms:description>gfp coding sequence</dcterms:description>
      <dcterms:title>gfp</dcterms:title>
      <sbol:displayId>BBa_E0040</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.partsregistry.org/BBa_E0040"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/BBa_R0010">
      <sbol:sequence>
         <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_R0010"/>
      </sbol:sequence>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000167"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <dcterms:description>pLacI promoter</dcterms:description>
      <dcterms:title>pLacI</dcterms:title>
      <sbol:displayId>BBa_R0010</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.partsregistry.org/BBa_R0010"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/BBa_R0040">
      <sbol:sequence>
         <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_R0040"/>
      </sbol:sequence>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000167"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <dcterms:description>pTet promoter</dcterms:description>
      <dcterms:title>pTetR</dcterms:title>
      <sbol:displayId>BBa_R0040</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.partsregistry.org/BBa_R0040"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/ECK120029600">
      <sbol:sequence>
         <sbol:Sequence rdf:about="http://www.virtualparts.org/part/ECK120029600"/>
      </sbol:sequence>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000141"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <dcterms:description>Terminator1</dcterms:description>
      <dcterms:title>ECK120029600</dcterms:title>
      <sbol:displayId>ECK120029600</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.partsregistry.org/ECK120029600"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/BBa_C0012">
      <sbol:sequence>
         <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_C0012"/>
      </sbol:sequence>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000316"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <dcterms:description>lacI coding sequence</dcterms:description>
      <dcterms:title>lacI</dcterms:title>
      <sbol:displayId>BBa_C0012</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.partsregistry.org/BBa_C0012"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://identifiers.org/uniprot/Q6QR72">
      <sbol:role rdf:resource="http://identifiers.org/biomodels.sbo/SBO:0000020"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#Protein"/>
      <dcterms:description>TetR protein</dcterms:description>
      <dcterms:title>TetR</dcterms:title>
      <sbol:displayId>Q6QR72</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://identifiers.org/uniprot/Q6QR72"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/BBa_J61130">
      <sbol:sequence>
         <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_J61130"/>
      </sbol:sequence>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000139"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <dcterms:description>RBS2</dcterms:description>
      <dcterms:title>BBa_J61101 RBS</dcterms:title>
      <sbol:displayId>BBa_J61130</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.partsregistry.org/BBa_J61130"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/BBa_J61120">
      <sbol:sequence>
         <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_J61120"/>
      </sbol:sequence>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000139"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <dcterms:description>RBS2</dcterms:description>
      <dcterms:title>BBa_J61101 RBS</dcterms:title>
      <sbol:displayId>BBa_J61120</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.partsregistry.org/BBa_J61120"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://identifiers.org/uniprot/P03023">
      <sbol:role rdf:resource="http://identifiers.org/biomodels.sbo/SBO:0000020"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#Protein"/>
      <dcterms:description>LacI protein</dcterms:description>
      <dcterms:title>LacI</dcterms:title>
      <sbol:displayId>P03023</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://identifiers.org/uniprot/P03023"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://www.partsregistry.org/BBa_J61101">
      <sbol:sequence>
         <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_J61101"/>
      </sbol:sequence>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000139"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <dcterms:description>RBS1</dcterms:description>
      <dcterms:title>BBa_J61101 RBS</dcterms:title>
      <sbol:displayId>BBa_J61101</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.partsregistry.org/BBa_J61101"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://identifiers.org/uniprot/P42212">
      <sbol:role rdf:resource="http://identifiers.org/biomodels.sbo/SBO:0000011"/>
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#Protein"/>
      <dcterms:description>GFP protein</dcterms:description>
      <dcterms:title>GFP</dcterms:title>
      <sbol:displayId>P42212</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://identifiers.org/uniprot/P42212"/>
   </sbol:ComponentDefinition>
   <sbol:ComponentDefinition rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1">
      <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
      <sbol:sequenceAnnotation>
         <sbol:SequenceAnnotation rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1/anno3">
            <sbol:component>
               <sbol:Component rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1/BBa_C0012">
                  <sbol:definition rdf:resource="http://www.partsregistry.org/BBa_C0012"/>
                  <sbol:access rdf:resource="http://sbols.org/v2#public"/>
                  <sbol:displayId>BBa_C0012</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/BBa_C0012"/>
               </sbol:Component>
            </sbol:component>
            <sbol:location>
               <sbol:Range rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1/anno3/location3">
                  <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
                  <sbol:end>1197</sbol:end>
                  <sbol:start>69</sbol:start>
                  <sbol:displayId>location3</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/anno3/location3"/>
               </sbol:Range>
            </sbol:location>
            <sbol:displayId>anno3</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/anno3"/>
         </sbol:SequenceAnnotation>
      </sbol:sequenceAnnotation>
      <sbol:component>
         <sbol:Component rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1/BBa_R0040">
            <sbol:definition rdf:resource="http://www.partsregistry.org/BBa_R0040"/>
            <sbol:access rdf:resource="http://sbols.org/v2#public"/>
            <sbol:displayId>BBa_R0040</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/BBa_R0040"/>
         </sbol:Component>
      </sbol:component>
      <sbol:sequenceAnnotation>
         <sbol:SequenceAnnotation rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1/anno1">
            <sbol:component rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/BBa_R0040"/>
            <sbol:location>
               <sbol:Range rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1/anno1/location1">
                  <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
                  <sbol:end>55</sbol:end>
                  <sbol:start>1</sbol:start>
                  <sbol:displayId>location1</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/anno1/location1"/>
               </sbol:Range>
            </sbol:location>
            <sbol:displayId>anno1</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/anno1"/>
         </sbol:SequenceAnnotation>
      </sbol:sequenceAnnotation>
      <dcterms:description>TetR Inverter</dcterms:description>
      <sbol:sequenceAnnotation>
         <sbol:SequenceAnnotation rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1/anno4">
            <sbol:component>
               <sbol:Component rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1/ECK120029600">
                  <sbol:definition rdf:resource="http://www.partsregistry.org/ECK120029600"/>
                  <sbol:access rdf:resource="http://sbols.org/v2#public"/>
                  <sbol:displayId>ECK120029600</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/ECK120029600"/>
               </sbol:Component>
            </sbol:component>
            <sbol:location>
               <sbol:Range rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1/anno4/location4">
                  <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
                  <sbol:end>1288</sbol:end>
                  <sbol:start>1198</sbol:start>
                  <sbol:displayId>location4</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/anno4/location4"/>
               </sbol:Range>
            </sbol:location>
            <sbol:displayId>anno4</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/anno4"/>
         </sbol:SequenceAnnotation>
      </sbol:sequenceAnnotation>
      <sbol:component rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/BBa_C0012"/>
      <sbol:component>
         <sbol:Component rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1/BBa_J61101">
            <sbol:definition rdf:resource="http://www.partsregistry.org/BBa_J61101"/>
            <sbol:access rdf:resource="http://sbols.org/v2#public"/>
            <sbol:displayId>BBa_J61101</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/BBa_J61101"/>
         </sbol:Component>
      </sbol:component>
      <sbol:role rdf:resource="http://identifiers.org/so/SO:0000280"/>
      <sbol:component rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/ECK120029600"/>
      <sbol:displayId>pIKELeftCassette_1</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1"/>
      <sbol:sequenceAnnotation>
         <sbol:SequenceAnnotation rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1/anno2">
            <sbol:component rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/BBa_J61101"/>
            <sbol:location>
               <sbol:Range rdf:about="http://www.virtualparts.org/part/pIKELeftCassette_1/anno2/location2">
                  <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
                  <sbol:end>68</sbol:end>
                  <sbol:start>56</sbol:start>
                  <sbol:displayId>location2</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/anno2/location2"/>
               </sbol:Range>
            </sbol:location>
            <sbol:displayId>anno2</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/pIKELeftCassette_1/anno2"/>
         </sbol:SequenceAnnotation>
      </sbol:sequenceAnnotation>
      <dcterms:title>TetR Inverter</dcterms:title>
   </sbol:ComponentDefinition>
   <sbol:Sequence rdf:about="http://www.virtualparts.org/part/ECK120033736">
      <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
      <sbol:elements>ttcagccaaaaaacttaagaccgccggtcttgtccactaccttgcagtaatgcggtggacaggatcggcggttttcttttctcttctcaa</sbol:elements>
      <sbol:displayId>ECK120033736</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/ECK120033736"/>
   </sbol:Sequence>
   <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_J61120">
      <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
      <sbol:elements>aaagacaggacc</sbol:elements>
      <sbol:displayId>BBa_J61120</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/BBa_J61120"/>
   </sbol:Sequence>
   <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_R0010">
      <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
      <sbol:elements>tccctatcagtgatagagattgacatccctatcagtgatagagatactgagcac</sbol:elements>
      <sbol:displayId>BBa_R0010</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/BBa_R0010"/>
   </sbol:Sequence>
   <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_J61101">
      <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
      <sbol:elements>aaagacaggacc</sbol:elements>
      <sbol:displayId>BBa_J61101</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/BBa_J61101"/>
   </sbol:Sequence>
   <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_C0040">
      <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
      <sbol:elements>atgtccagattagataaaagtaaagtgattaacagcgcattagagctgcttaatgaggtcggaatcgaaggtttaacaacccgtaaactcgcccagaagctaggtgtagagcagcctacattgtattggcatgtaaaaaataagcgggctttgctcgacgccttagccattgagatgttagataggcaccatactcacttttgccctttagaaggggaaagctggcaagattttttacgtaataacgctaaaagttttagatgtgctttactaagtcatcgcgatggagcaaaagtacatttaggtacacggcctacagaaaaacagtatgaaactctcgaaaatcaattagcctttttatgccaacaaggtttttcactagagaatgcattatatgcactcagcgctgtggggcattttactttaggttgcgtattggaagatcaagagcatcaagtcgctaaagaagaaagggaaacacctactactgatagtatgccgccattattacgacaagctatcgaattatttgatcaccaaggtgcagagccagccttcttattcggccttgaattgatcatatgcggattagaaaaacaacttaaatgtgaaagtgggtccgctgcaaacgacgaaaactacgctttagtagcttaataa</sbol:elements>
      <sbol:displayId>BBa_C0040</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/BBa_C0040"/>
   </sbol:Sequence>
   <sbol:Sequence rdf:about="http://www.virtualparts.org/part/ECK120029600">
      <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
      <sbol:elements>ttcagccaaaaaacttaagaccgccggtcttgtccactaccttgcagtaatgcggtggacaggatcggcggttttcttttctcttctcaa</sbol:elements>
      <sbol:displayId>ECK120029600</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/ECK120029600"/>
   </sbol:Sequence>
   <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_C0012">
      <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
      <sbol:elements>atggtgaatgtgaaaccagtaacgttatacgatgtcgcagagtatgccggtgtctcttatcagaccgtttcccgcgtggtgaaccaggccagccacgtttctgcgaaaacgcgggaaaaagtggaagcggcgatggcggagctgaattacattcccaaccgcgtggcacaacaactggcgggcaaacagtcgttgctgattggcgttgccacctccagtctggccctgcacgcgccgtcgcaaattgtcgcggcgattaaatctcgcgccgatcaactgggtgccagcgtggtggtgtcgatggtagaacgaagcggcgtcgaagcctgtaaagcggcggtgcacaatcttctcgcgcaacgcgtcagtgggctgatcattaactatccgctggatgaccaggatgccattgctgtggaagctgcctgcactaatgttccggcgttatttcttgatgtctctgaccagacacccatcaacagtattattttctcccatgaagacggtacgcgactgggcgtggagcatctggtcgcattgggtcaccagcaaatcgcgctgttagcgggcccattaagttctgtctcggcgcgtctgcgtctggctggctggcataaatatctcactcgcaatcaaattcagccgatagcggaacgggaaggcgactggagtgccatgtccggttttcaacaaaccatgcaaatgctgaatgagggcatcgttcccactgcgatgctggttgccaacgatcagatggcgctgggcgcaatgcgcgccattaccgagtccgggctgcgcgttggtgcggatatctcggtagtgggatacgacgataccgaagacagctcatgttatatcccgccgttaaccaccatcaaacaggattttcgcctgctggggcaaaccagcgtggaccgcttgctgcaactctctcagggccaggcggtgaagggcaatcagctgttgcccgtctcactggtgaaaagaaaaaccaccctggcgcccaatacgcaaaccgcctctccccgcgcgttggccgattcattaatgcagctggcacgacaggtttcccgactggaaagcgggcaggctgcaaacgacgaaaactacgctttagtagcttaataa</sbol:elements>
      <sbol:displayId>BBa_C0012</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/BBa_C0012"/>
   </sbol:Sequence>
   <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_R0040">
      <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
      <sbol:elements>tccctatcagtgatagagattgacatccctatcagtgatagagatactgagcac</sbol:elements>
      <sbol:displayId>BBa_R0040</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/BBa_R0040"/>
   </sbol:Sequence>
   <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_E0040">
      <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
      <sbol:elements>atgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataa</sbol:elements>
      <sbol:displayId>BBa_E0040</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/BBa_E0040"/>
   </sbol:Sequence>
   <sbol:Sequence rdf:about="http://www.virtualparts.org/part/BBa_J61130">
      <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
      <sbol:elements>aaagaaacgaca</sbol:elements>
      <sbol:displayId>BBa_J61130</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://www.virtualparts.org/part/BBa_J61130"/>
   </sbol:Sequence>
   <sbol:ModuleDefinition rdf:about="http://sbolstandard.org/example/tetr_inverter">
      <sbol:interaction>
         <sbol:Interaction rdf:about="http://sbolstandard.org/example/tetr_inverter/LacI_pLacI">
            <sbol:participation>
               <sbol:Participation rdf:about="http://sbolstandard.org/example/tetr_inverter/LacI_pLacI/BBa_R0040">
                  <sbol:participant>
                     <sbol:FunctionalComponent rdf:about="http://sbolstandard.org/example/tetr_inverter/promoter">
                        <sbol:direction rdf:resource="http://sbols.org/v2#inout"/>
                        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
                        <sbol:definition rdf:resource="http://www.partsregistry.org/BBa_R0040"/>
                        <sbol:displayId>promoter</sbol:displayId>
                        <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/tetr_inverter/promoter"/>
                     </sbol:FunctionalComponent>
                  </sbol:participant>
                  <sbol:role rdf:resource="http://identifiers.org/biomodels.sbo/SBO:0000598"/>
                  <sbol:displayId>BBa_R0040</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/tetr_inverter/LacI_pLacI/BBa_R0040"/>
               </sbol:Participation>
            </sbol:participation>
            <sbol:participation>
               <sbol:Participation rdf:about="http://sbolstandard.org/example/tetr_inverter/LacI_pLacI/Q6QR72">
                  <sbol:participant>
                     <sbol:FunctionalComponent rdf:about="http://sbolstandard.org/example/tetr_inverter/TF">
                        <sbol:direction rdf:resource="http://sbols.org/v2#inout"/>
                        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
                        <sbol:definition rdf:resource="http://identifiers.org/uniprot/Q6QR72"/>
                        <sbol:displayId>TF</sbol:displayId>
                        <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/tetr_inverter/TF"/>
                     </sbol:FunctionalComponent>
                  </sbol:participant>
                  <sbol:role rdf:resource="http://identifiers.org/biomodels.sbo/SBO:0000020"/>
                  <sbol:displayId>Q6QR72</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/tetr_inverter/LacI_pLacI/Q6QR72"/>
               </sbol:Participation>
            </sbol:participation>
            <sbol:type rdf:resource="http://identifiers.org/biomodels.sbo/SBO:0000169"/>
            <sbol:displayId>LacI_pLacI</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/tetr_inverter/LacI_pLacI"/>
         </sbol:Interaction>
      </sbol:interaction>
      <sbol:functionalComponent rdf:resource="http://sbolstandard.org/example/tetr_inverter/TF"/>
      <sbol:functionalComponent rdf:resource="http://sbolstandard.org/example/tetr_inverter/promoter"/>
      <sbol:role rdf:resource="http://parts.igem.org/cgi/partsdb/pgroup.cgi?pgroup=inverter"/>
      <sbol:displayId>tetr_inverter</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/tetr_inverter"/>
   </sbol:ModuleDefinition>
   <sbol:ModuleDefinition rdf:about="http://sbolstandard.org/example/toggle_switch">
      <sbol:module>
         <sbol:Module rdf:about="http://sbolstandard.org/example/toggle_switch/laci_inverter">
            <sbol:mapsTo>
               <sbol:MapsTo rdf:about="http://sbolstandard.org/example/toggle_switch/laci_inverter/LacI_mapping">
                  <sbol:local>
                     <sbol:FunctionalComponent rdf:about="http://sbolstandard.org/example/toggle_switch/LacI">
                        <sbol:direction rdf:resource="http://sbols.org/v2#inout"/>
                        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
                        <sbol:definition rdf:resource="http://identifiers.org/uniprot/P03023"/>
                        <sbol:displayId>LacI</sbol:displayId>
                        <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/toggle_switch/LacI"/>
                     </sbol:FunctionalComponent>
                  </sbol:local>
                  <sbol:remote>
                     <sbol:FunctionalComponent rdf:about="http://sbolstandard.org/example/laci_inverter/TF">
                        <sbol:direction rdf:resource="http://sbols.org/v2#inout"/>
                        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
                        <sbol:definition rdf:resource="http://identifiers.org/uniprot/P03023"/>
                        <sbol:displayId>TF</sbol:displayId>
                        <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/laci_inverter/TF"/>
                     </sbol:FunctionalComponent>
                  </sbol:remote>
                  <sbol:refinement rdf:resource="http://sbols.org/v2#useRemote"/>
                  <sbol:displayId>LacI_mapping</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/toggle_switch/laci_inverter/LacI_mapping"/>
               </sbol:MapsTo>
            </sbol:mapsTo>
            <sbol:definition>
               <sbol:ModuleDefinition rdf:about="http://sbolstandard.org/example/laci_inverter"/>
            </sbol:definition>
            <sbol:displayId>laci_inverter</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/toggle_switch/laci_inverter"/>
         </sbol:Module>
      </sbol:module>
      <sbol:module>
         <sbol:Module rdf:about="http://sbolstandard.org/example/toggle_switch/tetr_inverter">
            <sbol:mapsTo>
               <sbol:MapsTo rdf:about="http://sbolstandard.org/example/toggle_switch/tetr_inverter/TetR_mapping">
                  <sbol:local>
                     <sbol:FunctionalComponent rdf:about="http://sbolstandard.org/example/toggle_switch/TetR">
                        <sbol:direction rdf:resource="http://sbols.org/v2#inout"/>
                        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
                        <sbol:definition rdf:resource="http://identifiers.org/uniprot/Q6QR72"/>
                        <sbol:displayId>TetR</sbol:displayId>
                        <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/toggle_switch/TetR"/>
                     </sbol:FunctionalComponent>
                  </sbol:local>
                  <sbol:remote rdf:resource="http://sbolstandard.org/example/tetr_inverter/TF"/>
                  <sbol:refinement rdf:resource="http://sbols.org/v2#useRemote"/>
                  <sbol:displayId>TetR_mapping</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/toggle_switch/tetr_inverter/TetR_mapping"/>
               </sbol:MapsTo>
            </sbol:mapsTo>
            <sbol:definition rdf:resource="http://sbolstandard.org/example/tetr_inverter"/>
            <sbol:displayId>tetr_inverter</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/toggle_switch/tetr_inverter"/>
         </sbol:Module>
      </sbol:module>
      <sbol:model>
         <sbol:Model rdf:about="http://sbolstandard.org/example/toogleswitch">
            <sbol:framework rdf:resource="http://identifiers.org/biomodels.sbo/SBO:0000062"/>
            <sbol:language rdf:resource="http://identifiers.org/edam/format_2585"/>
            <sbol:source rdf:resource="http://virtualparts.org/part/pIKE_Toggle_1"/>
            <sbol:displayId>toogleswitch</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/toogleswitch"/>
         </sbol:Model>
      </sbol:model>
      <sbol:functionalComponent rdf:resource="http://sbolstandard.org/example/toggle_switch/LacI"/>
      <sbol:functionalComponent rdf:resource="http://sbolstandard.org/example/toggle_switch/TetR"/>
      <sbol:role rdf:resource="http://sbolstandard.org/example/module_role/toggle_switch"/>
      <sbol:displayId>toggle_switch</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/toggle_switch"/>
   </sbol:ModuleDefinition>
   <sbol:ModuleDefinition rdf:about="http://sbolstandard.org/example/laci_inverter">
      <sbol:interaction>
         <sbol:Interaction rdf:about="http://sbolstandard.org/example/laci_inverter/LacI_pLacI">
            <sbol:participation>
               <sbol:Participation rdf:about="http://sbolstandard.org/example/laci_inverter/LacI_pLacI/BBa_R0010">
                  <sbol:participant>
                     <sbol:FunctionalComponent rdf:about="http://sbolstandard.org/example/laci_inverter/promoter">
                        <sbol:direction rdf:resource="http://sbols.org/v2#inout"/>
                        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
                        <sbol:definition rdf:resource="http://www.partsregistry.org/BBa_R0010"/>
                        <sbol:displayId>promoter</sbol:displayId>
                        <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/laci_inverter/promoter"/>
                     </sbol:FunctionalComponent>
                  </sbol:participant>
                  <sbol:role rdf:resource="http://identifiers.org/biomodels.sbo/SBO:0000598"/>
                  <sbol:displayId>BBa_R0010</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/laci_inverter/LacI_pLacI/BBa_R0010"/>
               </sbol:Participation>
            </sbol:participation>
            <sbol:participation>
               <sbol:Participation rdf:about="http://sbolstandard.org/example/laci_inverter/LacI_pLacI/P03023">
                  <sbol:participant rdf:resource="http://sbolstandard.org/example/laci_inverter/TF"/>
                  <sbol:role rdf:resource="http://identifiers.org/biomodels.sbo/SBO:0000020"/>
                  <sbol:displayId>P03023</sbol:displayId>
                  <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/laci_inverter/LacI_pLacI/P03023"/>
               </sbol:Participation>
            </sbol:participation>
            <sbol:type rdf:resource="http://identifiers.org/biomodels.sbo/SBO:0000169"/>
            <sbol:displayId>LacI_pLacI</sbol:displayId>
            <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/laci_inverter/LacI_pLacI"/>
         </sbol:Interaction>
      </sbol:interaction>
      <sbol:functionalComponent rdf:resource="http://sbolstandard.org/example/laci_inverter/TF"/>
      <sbol:functionalComponent rdf:resource="http://sbolstandard.org/example/laci_inverter/promoter"/>
      <sbol:role rdf:resource="http://parts.igem.org/cgi/partsdb/pgroup.cgi?pgroup=inverter"/>
      <sbol:displayId>laci_inverter</sbol:displayId>
      <sbol:persistentIdentity rdf:resource="http://sbolstandard.org/example/laci_inverter"/>
   </sbol:ModuleDefinition>
</rdf:RDF>

4. Backwards Compatibility


Not all of the proposed changes are not directly backward compatible. Graph-based serialisation of SBOL documents using RDF/XML is backward compatible.

5. Discussion


None.

6. Competing SEPs


None.

References

[1]. https://www.industrialontologies.org/technical-principles

[2]. Ontology Development 101: A Guide to Creating Your First Ontology, https://protege.stanford.edu/publications/ontology_development/ontology101.pdf

[3]. Style Guidelines for Naming and Labeling Ontologies in the Multilingual Web, http://oa.upm.es/12469/

Copyright

CC0
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.