Skip to content

Commit 56f75cb

Browse files
Merge pull request #365 from SynBioDex/SBOL3
Merge SBOL3 Specification to Master
2 parents 9893b8a + babf074 commit 56f75cb

File tree

133 files changed

+6359
-8762
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+6359
-8762
lines changed

.github/workflows/main.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
# This is a basic workflow to help you get started with Actions
2-
31
name: CI
42

5-
# Controls when the action will run. Triggers the workflow on push or pull request
6-
# events but only for the master branch
73
on:
84
push:
95
branches: [ SBOL3 ]

.gitignore

100755100644
Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
.DS_Store
2-
sbol2.aux
3-
sbol2.bbl
4-
sbol2.blg
5-
sbol2.cb
6-
sbol2.cb2
7-
sbol2.log
8-
sbol2.out
9-
sbol2.pdf
10-
sbol2.toc
2+
sbol3.aux
3+
sbol3.bbl
4+
sbol3.blg
5+
sbol3.cb
6+
sbol3.cb2
7+
sbol3.log
8+
sbol3.out
9+
sbol3.pdf
10+
sbol3.toc
11+
jib.cls
12+
jib_abstract_3_0.aux
13+
jib_abstract_3_0.log
14+
jib_abstract_3_0.out
15+
jib_abstract_3_0.pdf
16+
*.gz

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ FROM alpine:3.9.2
33

44
RUN apk add texlive-full
55

6-
CMD ["/bin/sh", "-c", "cd /opt/spec && ./compile sbol2"]
6+
CMD ["/bin/sh", "-c", "cd /opt/spec && ./compile sbol3"]
77

README.md

Lines changed: 15 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This repository contains the master specification document for the SBOL data mod
44

55
Members of the SBOL Development Community may use the issue tracker to flag problems with the existing specification and review ongoing issues under consideration.
66

7-
# Submitting changes to the specification
7+
## Submitting changes to the specification
88

99
Before writing text for a non-trivial change, please have it approved by discussion as an Issue and/or SEP.
1010

@@ -23,7 +23,20 @@ Here is an example of git commands to achieve this:
2323
When you are ready for your changes to be reviewed for incorporation, create a pull request.
2424
If you need help on pull requests see: https://help.github.com/articles/about-pull-requests/
2525

26-
# Building the PDF from LateX
26+
## Automation
27+
28+
This repository uses a [Github Action](https://github.com/features/actions) to automatically build the project when a pull request is made to the `SBOL3` branch, or a push is made to the branch (inlcuding when a PR is merged).
29+
This creates a PDF and uploads it as as a [workflow artefact](https://help.github.com/en/actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts); GitHub retains these for 90 days.
30+
You can download this PDF by clicking on the green check mark beside a commit, then clicking 'details' in the popover; this will navigate to a different page, where you can click on 'Artefacts' and then 'PDF'.
31+
32+
If building the PDF fails, then this is shown by a red cross.
33+
This does not necessarily mean that there is a problem with the specification document: automated builds will also fail if they are for a pull request that has already been closed, or are from a different repository (i.e., a fork rather than a branch).
34+
35+
The action is defined by the file [`.github/workflows/main.yml`](./.github/workflows/main.yml)
36+
37+
## Using LaTeX
38+
39+
### Building the PDF from LateX
2740

2841
To build, run these commands and check the output for errors. If there are errors, resolve them and re-run the failed build step before proceeding.
2942

@@ -41,37 +54,3 @@ You can also build with Docker if you don't want to install latex, but note that
4154
docker run -v $(pwd):/opt/spec jmcl/specbuild
4255

4356

44-
# LaTeX installation notes
45-
46-
Installing LaTeX on your system is beyond the scope of this README, however we will collect some tips here, in the interest of fostering collaboration.
47-
48-
49-
# MacTex installation notes
50-
51-
Here is how one community member managed to install MacTex and BibTex on OS X 10.10.5 Yosemite in August 2016. This recipe was found on StackOverflow. Not all of these commands may be strictly necessary to build the SBOL2 pdf at this time. The bibdesk settings especially need curation. Please note that BasicTex alone did not suffice.
52-
53-
# First install homebrew from http://brew.sh then...
54-
brew update
55-
brew upgrade
56-
brew tap caskroom/cask
57-
brew install brew-cask
58-
brew cask install mactex
59-
brew cask install bibtex
60-
brew cask install bibdesk
61-
brew cask install texshop
62-
brew cask install mendeley-desktop
63-
sudo chown -R $USER /usr/local/texlive
64-
tlmgr update --self
65-
tlmgr update --all
66-
defaults write TeXShop NSUserKeyEquivalents -dict-add "Typeset" "@t"
67-
defaults write TeXShop "BibTeXengine" -string "biber"
68-
defaults write TeXShop "Encoding" -string "IsoLatin"
69-
defaults write edu.ucsd.cs.mmccrack.bibdesk "Cite Key Format" -string %y%u0"
70-
defaults write edu.ucsd.cs.mmccrack.bibdesk BDSKLocalFileFormatKey -string Cite Key}%n0%e"
71-
defaults write edu.ucsd.cs.mmccrack.bibdesk "Path to the papers folder" ing "Biblio"
72-
defaults write edu.ucsd.cs.mmccrack.bibdesk "Cite String" -string "citep"
73-
defaults write edu.ucsd.cs.mmccrack.bibdesk "Cite Key Autogenerate" -int 1
74-
defaults write edu.ucsd.cs.mmccrack.bibdesk "Cite Key Format Preset" -int 0
75-
defaults write edu.ucsd.cs.mmccrack.bibdesk "Cite Prepend Tilde" -int 1
76-
defaults write edu.ucsd.cs.mmccrack.bibdesk "Startup Behavior" -int 4
77-

annotation.tex

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
\subsection{Annotation and Extension of SBOL}
3+
\label{sec:Annotations}
4+
5+
SBOL intentionally does not attempt to describe how all types of biological design data should be captured, since many of these data types (e.g., biological context and design performance metrics) are already covered by other standards, or lack a clear consensus on their proper representation, or are outside of the scope of SBOL.
6+
7+
SBOL is built upon the Resource Description Framework (RDF), and therefore can be used in conjunction with complementary standards as described in \ref{sec:complementaryStandards}. For example, use of the PROV-O ontology is recommended to capture provenance (see \ref{sec:provenance}).
8+
Additionally, user-defined RDF can be used in conjunction with SBOL objects to capture custom application-specific information that does not yet have a standardized representation.
9+
This annotation and extension mechanism is designed to enable new types of data to be easily incorporated into the SBOL standard once there is community consensus on their proper representation.
10+
11+
Several methods are supported for connecting the SBOL data model with other types of application-specific data:
12+
13+
\begin{itemize}
14+
\item Custom data can be added to an SBOL object by annotating that object with non-conflicting properties. These properties could contain \sbol{literal} data types such as \sbol{String}s or \sbol{URI}s that require a resolution mechanism to obtain external data. An example is annotating a \sbol{Component} with a property that contains a \sbol{String} description and \sbol{URI} for the parts registry from which its source data was originally imported.
15+
\item Custom data in the form of independent objects can participate in the SBOL data model if they are assigned one of the SBOL types \sbol{Identified} or \sbol{TopLevel}. An example is an RDF object that is annotated such that it represents a data sheet that describes the performance of a \sbol{Component} in a particular context.
16+
\item Finally, just as custom objects can be embedded in an SBOL document, external documents can embed or refer to SBOL objects. Support for this last case is not explicitly provided in this specification. Rather, this case depends on the external non-SBOL system managing its relationship to SBOL and data serialized in RDF, and is included here for completeness.
17+
\end{itemize}
18+
19+
Each \sbol{Identified} object MAY be annotated with application-specific properties, which MUST be labelled using RDF predicates outside of the SBOL namespace. Additionally, application-specific types may be used in conjunction with the SBOL data model. These application-specific types MUST have two \external{rdf:type} properties: one type outside of the SBOL namespace AND an additional SBOL type of either:
20+
21+
\begin{itemize}
22+
\item \sbol{TopLevel}, if the object is to be considered an SBOL top level (i.e., not owned by another object)
23+
\item \sbol{Identified}, if the object is not to be considered an SBOL top level (i.e., is owned by another object)
24+
\end{itemize}
25+
26+
As with SBOL \sbol{Identified} objects, custom \sbol{Identified} objects (and thus also custom \sbol{TopLevel} objects) MAY also include the properties \sbol{displayId}, \sbol{name}, \sbol{description}, etc.

0 commit comments

Comments
 (0)