Skip to content

Commit 2992706

Browse files
committed
Final updates for 2.2.0
1 parent fb5f01d commit 2992706

File tree

11 files changed

+4038
-27
lines changed

11 files changed

+4038
-27
lines changed

copyright.tex

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,6 @@ \section{Copyright and License Statement}
99
In addition to the listed authors, the following people are specifically recognized as additional contributors sharing in the copyright (alphabetically by institution):
1010
Douglas Densmore (Boston University, USA),
1111
Jacqueline Quinn (Google, USA), and
12-
Guy-Bart Stan (Imperial College London, UK).
12+
Guy-Bart Stan (Imperial College London, UK).
13+
14+
The authors would also like to thank Michael Hucka for developing the LaTeX style file used to develop this document~\citep{hucka2017sbmlpkgspec}.

examples_model.tex

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@ \section{Data Model Examples}
1111
With repressors LacI and TetR, this results in a bi-stable system that will tend to settle into a state where precisely one of the two repressors is strongly expressed, repressing the other.
1212
Each of these repressors can have its activity disrupted by a small molecule (IPTG for LacI, aTc for TetR), which enables the system to be ``toggled'' from one state to the other by dosing it with the appropriate small molecule.
1313

14+
\twotwozero{
1415
\begin{figure}[ht]
1516
\begin{center}
16-
\includegraphics[scale=1.0]{images/toggle-highlevel.pdf}
17+
\includegraphics[width=0.33\textwidth]{images/toggle-highlevel2.pdf}
1718
\caption[]{Conceptual diagram of LacI/TetR toggle switch: the LacI
1819
and TetR transcription factors are arranged to mutually repress each other's expression,
1920
creating a bi-stable system. Transition between the two states
@@ -22,14 +23,17 @@ \section{Data Model Examples}
2223
\label{images:toggle}
2324
\end{center}
2425
\end{figure}
26+
}
2527

28+
\twotwozero{
2629
\begin{figure}[ht]
2730
\begin{center}
28-
\includegraphics[scale=0.4]{images/toggleswitch_modular}
31+
\includegraphics[width=\textwidth]{images/toggleswitch_modular2}
2932
\caption[]{Design of a LacI/TetR toggle switch. This design is composed of two inverter sub-designs, each containing a single gene. These genes mutually repress each other's expression via their encoded protein transcription factors, LacI and TetR. Furthermore, both LacI and TetR are bound by specific small molecules that sequester them and prevent them from acting as repressors. In this design, arrows represent different molecular interactions, including the repression of pLac via LacI, the non-covalent binding of IPTG to LacI, the transcription of TetR mRNA, and the translation of TetR. Dashed lines serve to map between transcription factors in the inverter sub-designs and those in the overall toggle switch design.}
3033
\label{images:toggleswitch_modular}
3134
\end{center}
3235
\end{figure}
36+
}
3337

3438
The LacI/TetR toggle switch is modeled in SBOL as two parallel hierarchies of structure and function. The structural hierarchy of the toggle switch is represented using \sbol{ComponentDefinition}s:
3539
\begin{itemize}
@@ -87,4 +91,4 @@ \section{Data Model Examples}
8791

8892
% The first use case is to indicate with greater fidelity how a module describes the function of a composite component, namely by asserting that particular component instantiations within the module correspond to particular component instantiations within the component.
8993

90-
% As an example of this use case, one might compose the structure and function of the LacI-repressible gene of the genetic toggle switch. In this example, the LacI-repressible gene and two of its subcomponents, the pLac promoter and cTetR CDS, are to be composed with the LacI inverter module. In order to compose these components with the LacI inverter module and indicate that it describes their behavior, they are instantiated inside the module. In addition, port maps are placed on the instantiation of the LacI-repressible gene to connect between its pLac plus cTetR subcomponent instantiations and the corresponding component instantiations in the module. Doing so makes it clear which subcomponent instantiations in the gene are being described by which component instantiations in the module. In this way, GDA tools for sequence editing and biochemical modeling can guarantee that their users are handling corresponding elements of a given genetic design, while GDA tools for genetic technology mapping can make explicit connections between the structural and functional elements of a design.
94+
% As an example of this use case, one might compose the structure and function of the LacI-repressible gene of the genetic toggle switch. In this example, the LacI-repressible gene and two of its subcomponents, the pLac promoter and cTetR CDS, are to be composed with the LacI inverter module. In order to compose these components with the LacI inverter module and indicate that it describes their behavior, they are instantiated inside the module. In addition, port maps are placed on the instantiation of the LacI-repressible gene to connect between its pLac plus cTetR subcomponent instantiations and the corresponding component instantiations in the module. Doing so makes it clear which subcomponent instantiations in the gene are being described by which component instantiations in the module. In this way, GDA tools for sequence editing and biochemical modeling can guarantee that their users are handling corresponding elements of a given genetic design, while GDA tools for genetic technology mapping can make explicit connections between the structural and functional elements of a design.

images/standard-evolution.ai

Lines changed: 3979 additions & 0 deletions
Large diffs are not rendered by default.

images/standard-evolution.pdf

838 KB
Binary file not shown.

images/toggle-highlevel2.pdf

27.9 KB
Binary file not shown.

images/toggleswitch_modular2.png

52.1 KB
Loading

model.tex

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,9 @@ \subsubsection*{The \sbolheading{version} property}
146146
\subsubsection*{The \sbolheading{wasDerivedFroms} property}
147147
\label{sec:wasDerivedFroms}
148148

149-
The \twotwozero{\sbol{wasDerivedFroms}} property is OPTIONAL \twotwozero{and MAY specify a set of \sbol{URI}s}. An SBOL object with this property refers to \twotwozero{one or more SBOL objects or non-SBOL resources} from which this object was derived.
150-
151149
\twotwozero{
150+
The \sbol{wasDerivedFroms} property is OPTIONAL and MAY specify a set of \sbol{URI}s. An SBOL object with this property refers to one or more SBOL objects or non-SBOL resources from which this object was derived.
151+
152152
\twozeroone{The \sbol{wasDerivedFroms} property of a \sbol{TopLevel} SBOL object is subject to the following rules.}
153153
If any members of the \sbol{wasDerivedFroms} property of an SBOL object $A$ that refers to an SBOL object $B$ has an identical \sbol{persistentIdentity}, and both $A$ and $B$ have a \sbol{version}, then the \sbol{version} of $B$ MUST precede that of $A$.
154154
In addition, an SBOL object MUST NOT refer to itself via its own \sbol{wasDerivedFroms} property or form a cyclical chain of references via its \sbol{wasDerivedFroms} property and those of other SBOL objects. For example, the reference chain ``$A$ was derived from $B$ and $B$ was derived from $A$'' is cyclical.
@@ -1151,7 +1151,7 @@ \subsubsection*{The \sbolheading{interactions} property}\label{sec:interactions}
11511151

11521152
The \sbol{interactions} property is OPTIONAL and MAY specify a set of \sbol{Interaction} objects within the \sbol{ModuleDefinition}.
11531153

1154-
The \sbol{Interaction} class provides an abstract, machine-readable representation of entity behavior within a \sbol{ModuleDefinition} (whereas a more detailed model of the system might not be suited to machine reasoning, depending on its implementation).
1154+
The \sbol{Interaction} class provides an abstract, machine-readable representation of entity behavior within a\\ \sbol{ModuleDefinition} (whereas a more detailed model of the system might not be suited to machine reasoning, depending on its implementation).
11551155
Each \sbol{Interaction} contains \sbol{Participation} objects that indicate the roles of the \sbol{FunctionalComponent} objects involved in the \sbol{Interaction}.
11561156

11571157
\subsubsection*{The \sbolheading{models} property}\label{sec:models}
@@ -1328,7 +1328,7 @@ \subsubsection{Interaction}
13281328
\end{center}
13291329
\end{figure}
13301330

1331-
The \sbol{Interaction} class provides more detailed description of how the \sbol{FunctionalComponent} objects of a \sbol{ModuleDefinition} are intended to work together.
1331+
The \sbol{Interaction} class provides more detailed description of how the \sbol{FunctionalComponent} objects of a\\ \sbol{ModuleDefinition} are intended to work together.
13321332
For example, this class can be used to represent different forms of genetic regulation (e.g., transcriptional activation or repression), processes from the central dogma of biology (e.g. transcription and translation), and other basic molecular interactions (e.g., non-covalent binding or enzymatic phosphorylation).
13331333
Each \sbol{Interaction} includes a \sbolmult{types:I}{types} property that refers to descriptive ontology terms and a \sbol{participations} property that describes which \sbol{FunctionalComponent} objects participate in the \sbol{Interaction}.
13341334

@@ -1666,7 +1666,7 @@ \subsubsection*{ The \sbolheading{variantCollections} property}\label{sec:varian
16661666

16671667
\subsubsection*{ The \sbolheading{variantDerivations} property}\label{sec:variantDerivations}
16681668

1669-
The \sbol{variantDerivations} property is OPTIONAL and MAY contain zero or more URIs that each refer to a\\ \sbol{CombinatorialDerivation}. This property enables the convenient specification of \sbol{ComponentDefinition} objects derived in accordance with another \sbol{CombinatorialDerivation} to serve as options when deriving a new \sbol{Component} from the template \sbol{Component}. The \sbol{variantDerivations} property of a \sbol{VariableComponent} MUST NOT refer to the \sbol{CombinatorialDerivation} that contains this \sbol{VariableComponent}. Furthermore, \sbol{VariableComponent} objects MUST NOT form a cyclical chain of references via their \sbol{variantDerivations} properties and the \sbol{CombinatorialDerivation} objects that contain them. For example, consider the \sbol{VariableComponent} objects A and B and the \sbol{CombinatorialDerivation} objects X and Y. The reference chain X contains A, A has variant derivation Y, Y contains B, and B has variant derivation X is cyclical.
1669+
The \sbol{variantDerivations} property is OPTIONAL and MAY contain zero or more URIs that each refer to a\\ \sbol{CombinatorialDerivation}. This property enables the convenient specification of \sbol{ComponentDefinition} objects derived in accordance with another \sbol{CombinatorialDerivation} to serve as options when deriving a new \sbol{Component} from the template \sbol{Component}. The \sbol{variantDerivations} property of a \sbol{VariableComponent} MUST NOT refer to the \sbol{CombinatorialDerivation} that contains this \sbol{VariableComponent}. Furthermore, \sbol{VariableComponent} objects MUST NOT form a cyclical chain of references via their \sbol{variantDerivations} properties and the\\ \sbol{CombinatorialDerivation} objects that contain them. For example, consider the \sbol{VariableComponent} objects A and B and the \sbol{CombinatorialDerivation} objects X and Y. The reference chain X contains A, A has variant derivation Y, Y contains B, and B has variant derivation X is cyclical.
16701670

16711671
\subsubsection*{ The \sbolheading{operator} property}\label{sec:operator}
16721672

@@ -1799,7 +1799,7 @@ \subsubsection*{ The \sbolheading{hash} property}\label{sec:hash}
17991799

18001800
\subsubsection*{Serialization}
18011801

1802-
The serialization of a \sbol{Attachment} MUST have the following form:
1802+
The serialization of an \sbol{Attachment} MUST have the following form:
18031803

18041804
}
18051805

@@ -1815,7 +1815,7 @@ \subsubsection*{Serialization}
18151815
\end{lstlisting}
18161816

18171817
\twotwozero{
1818-
The example below shows the serialization of a \sbol{Attachment} object that refers to a PNG file containing a plot of simulation data. The attachment in this example can be retrieved from a repository via its \sbolmult{source:A}{source} \sbol{URI}, which is a \external{URL}.
1818+
The example below shows the serialization of an \sbol{Attachment} object that refers to a PNG file containing a plot of simulation data. The attachment in this example can be retrieved from a repository via its \sbolmult{source:A}{source} \sbol{URI}, which is a \external{URL}.
18191819
}
18201820
\lstsetsbol
18211821
\begin{lstlisting}

practices.tex

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ \subsection{Recommended Ontologies for External Terms}
8181
& \textbf{More Information} \\
8282
\midrule
8383
\textbf{ComponentDefinition} & types & BioPAX & \url{http://www.biopax.org}\\
84-
& types & SequenceOntology (nucleic acid topology)& \url{http://www.sequenceontology.org}\\
84+
& types & SO (nucleic acid topology)& \url{http://www.sequenceontology.org}\\
8585
& roles & SO (\textit{DNA} or \textit{RNA}) & \url{http://www.sequenceontology.org} \\
8686
& roles & CHEBI (\textit{small molecule}) & \url{https://www.ebi.ac.uk/chebi/} \\
8787
% & roles & UniProt (if type is \textit{protein}??) \\
@@ -147,7 +147,7 @@ \subsection{Recommended Ontologies for External Terms}
147147
\begin{center}
148148
\includegraphics[scale=0.6]{uml/provenance}
149149
\caption[]{Relationships between SBOL and PROV-O classes. The PROV-O classes \external{Activity}, \external{Plan}, and \external{Agent} are all serialized as \sbol{TopLevel} classes in an SBOL document.
150-
\label{uml:provenance}
150+
\label{uml:provenance}}
151151
\end{center}
152152
\end{figure}
153153
}
@@ -171,7 +171,7 @@ \subsubsection{Activity}
171171
The \sbol{startedAtTime} property is OPTIONAL and contains a DateTime (see section \ref{sec:DateTime}) value, indicating when the activity started. If this property is present, then the \sbol{endedAtTime} property is REQUIRED.
172172

173173
\paragraph{The \sbolheading{wasInformedBys} property}\label{sec:wasInformedBys}
174-
The \sbol{wasInformedBys} property is OPTIONAL and contains a URI of another activity.
174+
The \sbol{wasInformedBys} property is OPTIONAL and MAY contain a set of \sbol{URI}s that refers to other \sbol{Activity} objects.
175175

176176
\paragraph{Serialization}
177177
The serialization of an \sbol{Activity} MUST have the following form:
@@ -190,10 +190,14 @@ \subsubsection{Activity}
190190
</prov:qualifiedUsage> [\emph{elements}]
191191
[\emph{zero or one}] <prov:startedAtTime>...</prov:startedAtTime> [\emph{element}]
192192
[\emph{zero or one}] <prov:endedAtTime>...</prov:startedAtTime> [\emph{element}]
193-
[\emph{zero or one}] <prov:wasInformedBy rdf:resource="..."/> [\emph{element}]
193+
[\emph{zero or more}] <prov:wasInformedBy rdf:resource="..."/> [\emph{element}]
194194
</prov:Activity>
195195
\end{lstlisting}
196196

197+
\twotwozero{
198+
Note that the tags prov:qualifiedUsage and prov:qualifiedAssociation are used for \sbol{usages} and \sbol{associations}, respectively.
199+
}
200+
197201
\twoonezero{
198202
\subsubsection{Association}
199203
\label{sec:Association}
@@ -239,12 +243,16 @@ \subsubsection{Association}
239243
\begin{lstlisting}
240244
<prov:Association rdf:about="...">
241245
... [\emph{properties inherited from identified}] ...
242-
[\emph{zero or more}] <prov:hadRole rdf:resource="..."/> [\emph{element}]
243-
[\emph{zero or one}] <prov:hadPlan rdf:resource="..."/> [\emph{element}]
244-
[\emph{one}] <prov:agent rdf:resource="..."/> [\emph{element}]
246+
[\emph{zero or more}] <prov:hadRole rdf:resource="..."/> [\emph{element}]
247+
[\emph{zero or one}] <prov:hadPlan rdf:resource="..."/> [\emph{element}]
248+
[\emph{one}] <prov:agent rdf:resource="..."/> [\emph{element}]
245249
</prov:Association>
246250
\end{lstlisting}
247251

252+
\twotwozero{
253+
Note that the tags prov:hadRole and prov:hadPlan are used for \sbolmult{roles:A}{roles} and \sbol{plan}, respectively.
254+
}
255+
248256
\twoonezero{
249257
\subsubsection{Usage}
250258
\label{sec:Usage}
@@ -284,13 +292,17 @@ \subsubsection{Usage}
284292

285293
\lstsetsbol
286294
\begin{lstlisting}
287-
<prov:Association rdf:about="...">
295+
<prov:Usage rdf:about="...">
288296
... [\emph{properties inherited from identified}] ...
289-
[\emph{zero or more}] <prov:hadRole rdf:resource="..."/> [\emph{element}]
290-
[\emph{one}] <prov:entity rdf:resource="..."/> [\emph{element}]
291-
</prov:Association>
297+
[\emph{zero or more}] <prov:hadRole rdf:resource="..."/> [\emph{element}]
298+
[\emph{one}] <prov:entity rdf:resource="..."/> [\emph{element}]
299+
</prov:Usage>
292300
\end{lstlisting}
293301

302+
\twotwozero{
303+
Note that the tag prov:hadPlan is used for \sbolmult{roles:U}{roles}.
304+
}
305+
294306
\twoonezero{
295307
\subsubsection{Plan}
296308
\label{sec:Plan}

purpose.tex

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,14 @@ \section{Purpose}
3939
\end{itemize}
4040
Taken together, these extensions enable SBOL to support the description and exchange of hierarchical, modular representations of both the intended structure and function of designed biological systems.
4141

42-
\begin{figure}
42+
\twotwozero{
43+
\begin{figure}[htbp]
4344
\centering
44-
\includegraphics[width=5in]{images/standard-evolution.pdf}
45+
\includegraphics[width=\textwidth]{images/standard-evolution.pdf}
4546
\caption{SBOL 2 extends prior sequence description formats to represent both the structure and function of a genetic design in a modular, hierarchical manner.}
4647
\label{f:sequence}
4748
\end{figure}
49+
}
4850

4951
While the ultimate goal of SBOL is to describe synthetic biological designs such that they can be reproduced in the lab with a high degree of fidelity, SBOL 2 does not yet provide a complete catalog of the different classes of data that are necessary to achieve this goal.
5052
For example, SBOL 2 does not yet include data on environmental and host context, or details on how the performance of a design is measured.

sbol.bib

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ @article{galdzicki2014synthetic
2222
publisher={Nature Publishing Group}
2323
}
2424

25+
@article{hucka2017sbmlpkgspec,
26+
title={SBMLPkgSpec: a LaTeX style file for SBML package
27+
specification documents},
28+
author={Hucka, Michael},
29+
journal={BMC research notes},
30+
volume={10},
31+
number={1},
32+
pages={451},
33+
year={2017},
34+
publisher={BioMed Central}
35+
}
36+
2537
@article{canton-natbio-2008,
2638
author = "Barry Canton and Anna Labno and Drew Endy",
2739
title = "Refinement and standardization of synthetic biological parts and devices",

0 commit comments

Comments
 (0)