diff --git a/README.md b/README.md index 4077fc3..8b8991e 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,42 @@ -# libSBOLj -XML -``` - - - - aaaatttggg - pTetR promoter - pTetR - pTetR - - -``` +# libSBOLj3 - A Java library for the Synthetic Biology Open Language 3 +The libSBOLj Java library has been developed for the [Synthetic Biology Open Language 3.0](https://sbolstandard.org/data-model-specification). The library is under development and is currently available as an alpha release. -Turtle: -``` +SBOL represents data using RDF graphs, which can be serialised in different formats. The libSBOLj3 library supports the following RDF formats. +* RDF/XML +* Turtle +* N3 +* JSON-LD +* RDF/JSON -@base . -@prefix sbol: . +## How to use libSBOLj3 - - a sbol:Sequence ; - sbol:description "pTetR promoter" ; - sbol:displayId "pTetR" ; - sbol:elements "aaaatttggg" ; - sbol:encoding sbol:iupacNucleicAcid ; - sbol:name "pTetR" . +### As a Maven dependency in a Maven project +Use this option if you are developing a Java application using [Maven](https://maven.apache.org/). Add the following libSBOLj3 dependency to your Maven applications's POM file (pom.xml). Please also make sure that you include the Nexus' Snapshots repository URL in the POM file. +``` + + ... + + org.sbolstandard + libSBOLj3 + 1.0-SNAPSHOT + + ... + + + + + oss-sonatype + oss-sonatype + https://oss.sonatype.org/content/repositories/snapshots/ + + true + + + ``` + +### As a Java dependency in a non-Maven project +The libSBOLj3 library is available as a JAR file. Please download the file from the [releases page](https://github.com/goksel/libSBOLj3/tags). A single JAR file (with the "withDepencencies" suffix), which includes all the required libSBOLj3 related dependencies, is also available. + +## SBOL Examples +[Several SBOL3 examples](https://github.com/goksel/libSBOLj3/tree/master/libSBOLj3/output) are available as part of the libSBOLj3 library. These examples have also been made available as part of the [SBOLTestSuite](https://github.com/SynBioDex/SBOLTestSuite/tree/master/SBOL3). Some of these examples have beeen explained in the recent SBOL3 paper, titled "[The Synthetic Biology Open Language (SBOL) Version 3: Simplified Data Exchange for Bioengineering]"(https://doi.org/10.3389/fbioe.2020.01009). diff --git a/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.jsonld b/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.jsonld index 30057df..21f2f70 100644 --- a/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.jsonld +++ b/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.jsonld @@ -1,5 +1,5 @@ { - "@id" : "urn:uuid:d0accf73-2c60-11b2-80d9-acde48001122", + "@id" : "urn:uuid:d1ce016f-2c60-11b2-80b5-acde48001122", "@type" : "sbol:Component", "name" : "TetR", "type" : "SBO:0000252", diff --git a/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.nt b/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.nt index d372a36..a81d65c 100644 --- a/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.nt +++ b/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.nt @@ -1,3 +1,3 @@ - "TetR" . - . - . + "TetR" . + . + . diff --git a/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.rdf b/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.rdf index 72f2947..bf537cd 100644 --- a/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.rdf +++ b/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.rdf @@ -10,7 +10,7 @@ xmlns="https://sbolstandard.org/examples/" xmlns:om="http://www.ontology-of-units-of-measure.org/resource/om-2/" xml:base="https://sbolstandard.org/examples/"> - + TetR diff --git a/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.rj b/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.rj index 79b62a9..9fc709d 100644 --- a/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.rj +++ b/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.rj @@ -1,5 +1,5 @@ { - "urn:uuid:d0accf73-2c60-11b2-80d9-acde48001122" : { + "urn:uuid:d1ce016f-2c60-11b2-80b5-acde48001122" : { "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" : [ { "type" : "uri" , "value" : "http://sbols.org/v3#Component" diff --git a/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.ttl b/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.ttl index ae4038b..f874e8a 100644 --- a/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.ttl +++ b/libSBOLj3/output/entity/component_urn_uri/component_urn_uri.ttl @@ -9,7 +9,7 @@ @prefix prov: . @prefix om: . - + a sbol:Component ; sbol:name "TetR" ; sbol:type SBO:0000252 . diff --git a/libSBOLj3/output/provenance_entity/activity/activity.jsonld b/libSBOLj3/output/provenance_entity/activity/activity.jsonld index 67049bc..00412b0 100644 --- a/libSBOLj3/output/provenance_entity/activity/activity.jsonld +++ b/libSBOLj3/output/provenance_entity/activity/activity.jsonld @@ -26,10 +26,10 @@ "displayId" : "codon_optimization_activity", "name" : "Codon optimization activity", "type" : "sbol:design", - "endedAtTime" : "2020-08-30T17:16:29.495Z", + "endedAtTime" : "2020-08-30T17:48:04.765Z", "qualifiedAssociation" : "codon_optimization_activity/association", "qualifiedUsage" : [ "codon_optimization_activity/optimised_usage", "codon_optimization_activity/source_usage" ], - "startedAtTime" : "2019-07-29T17:16:29.495Z" + "startedAtTime" : "2019-07-29T17:48:04.765Z" }, { "@id" : "codon_optimization_activity/association", "@type" : "prov:Association", @@ -112,15 +112,15 @@ "@id" : "http://www.w3.org/ns/prov#qualifiedAssociation", "@type" : "@id" }, - "endedAtTime" : { - "@id" : "http://www.w3.org/ns/prov#endedAtTime" + "startedAtTime" : { + "@id" : "http://www.w3.org/ns/prov#startedAtTime" }, "qualifiedUsage" : { "@id" : "http://www.w3.org/ns/prov#qualifiedUsage", "@type" : "@id" }, - "startedAtTime" : { - "@id" : "http://www.w3.org/ns/prov#startedAtTime" + "endedAtTime" : { + "@id" : "http://www.w3.org/ns/prov#endedAtTime" }, "@vocab" : "https://sbolstandard.org/examples/", "SBO" : "https://identifiers.org/SBO:", diff --git a/libSBOLj3/output/provenance_entity/activity/activity.nt b/libSBOLj3/output/provenance_entity/activity/activity.nt index e175070..7222192 100644 --- a/libSBOLj3/output/provenance_entity/activity/activity.nt +++ b/libSBOLj3/output/provenance_entity/activity/activity.nt @@ -39,11 +39,11 @@ . . . - "2020-08-30T17:16:29.495Z" . + "2019-07-29T17:48:04.765Z" . . "Codon optimization activity" . "An activity that is used to optimise codons" . . "codon_optimization_activity" . - "2019-07-29T17:16:29.495Z" . + "2020-08-30T17:48:04.765Z" . . diff --git a/libSBOLj3/output/provenance_entity/activity/activity.rdf b/libSBOLj3/output/provenance_entity/activity/activity.rdf index 497e862..783301f 100644 --- a/libSBOLj3/output/provenance_entity/activity/activity.rdf +++ b/libSBOLj3/output/provenance_entity/activity/activity.rdf @@ -55,7 +55,7 @@ association - 2020-08-30T17:16:29.495Z + 2019-07-29T17:48:04.765Z @@ -66,7 +66,7 @@ Codon optimization activity An activity that is used to optimise codons codon_optimization_activity - 2019-07-29T17:16:29.495Z + 2020-08-30T17:48:04.765Z diff --git a/libSBOLj3/output/provenance_entity/activity/activity.rj b/libSBOLj3/output/provenance_entity/activity/activity.rj index f0dac56..62b9002 100644 --- a/libSBOLj3/output/provenance_entity/activity/activity.rj +++ b/libSBOLj3/output/provenance_entity/activity/activity.rj @@ -165,7 +165,12 @@ ] , "http://www.w3.org/ns/prov#endedAtTime" : [ { "type" : "literal" , - "value" : "2020-08-30T17:16:29.495Z" + "value" : "2020-08-30T17:48:04.765Z" + } + ] , + "http://www.w3.org/ns/prov#startedAtTime" : [ { + "type" : "literal" , + "value" : "2019-07-29T17:48:04.765Z" } ] , "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" : [ { @@ -173,11 +178,6 @@ "value" : "http://www.w3.org/ns/prov#Activity" } ] , - "http://www.w3.org/ns/prov#startedAtTime" : [ { - "type" : "literal" , - "value" : "2019-07-29T17:16:29.495Z" - } - ] , "http://sbols.org/v3#name" : [ { "type" : "literal" , "value" : "Codon optimization activity" diff --git a/libSBOLj3/output/provenance_entity/activity/activity.ttl b/libSBOLj3/output/provenance_entity/activity/activity.ttl index e495e6f..91ebfea 100644 --- a/libSBOLj3/output/provenance_entity/activity/activity.ttl +++ b/libSBOLj3/output/provenance_entity/activity/activity.ttl @@ -69,7 +69,7 @@ sbol:displayId "codon_optimization_activity" ; sbol:name "Codon optimization activity" ; sbol:type sbol:design ; - prov:endedAtTime "2020-08-30T17:16:29.495Z" ; + prov:endedAtTime "2020-08-30T17:48:04.765Z" ; prov:qualifiedAssociation ; prov:qualifiedUsage , ; - prov:startedAtTime "2019-07-29T17:16:29.495Z" . + prov:startedAtTime "2019-07-29T17:48:04.765Z" . diff --git a/libSBOLj3/pom.xml b/libSBOLj3/pom.xml index 27eff2a..c1b5dd1 100644 --- a/libSBOLj3/pom.xml +++ b/libSBOLj3/pom.xml @@ -1,20 +1,25 @@ - - 4.0.0 - org.sbolstandard - libSBOLj3 - jar - 1.0-SNAPSHOT - libSBOLj3 - http://maven.apache.org - - - junit - junit - 4.13 - test - - + + 4.0.0 + org.sbolstandard + libSBOLj3 + jar + 1.0-SNAPSHOT + libSBOLj3 + https://github.com/goksel/libSBOLj3 + + GitHub Issues + https://github.com/goksel/libSBOLj3/issues + + + + junit + junit + 4.13 + test + + org.apache.jena jena-base 3.14.0 @@ -23,25 +28,67 @@ org.apache.jena jena-arq 3.14.0 - + - - commons-io - commons-io - 2.6 - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.3 + + commons-io + commons-io + 2.6 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.3 + + 1.8 + 1.8 + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.4 + + true + withDependencies + + + + package + + shade + + + + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.7 + true - 1.8 - 1.8 + ossrh + https://oss.sonatype.org/ + false - - + + + + + + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + +