libSBOLj provides the core Java interfaces and their implementation for the Synthetic Biology Open Language (SBOL). The library provides an API to work with SBOL objects, the functionality to read and write SBOL documents as XML/RDF files, and a validator to check the correctness of SBOL models.
-
Create a GitHub account. link
-
Download and set up Git. link
-
Fork the libSBOLj repository and clone it to your machine. link
-
Download and set up Maven. link
-
Change to your libSBOLj directory via the command line and execute the following command:
mvn package
This will create the libSBOLj JAR file (libSBOLj-core2-2.0.0-SNAPSHOT-withDependencies.jar) and place it into the core2/target subdirectory. link
libSBOLj comes with a command-line interface (CLI) that can be used to validate SBOL files. After you build the libSBOLj-core2-2.0.0-SNAPSHOT-withDependencies.jar as described above, you can use it to validate files as follows after changing to the core2/target subdirectory:
cd core2/target/
java -jar libSBOLj-core2-2.0.0-SNAPSHOT-withDependencies.jar <inputFile>
If validation is successful, the program will print the contents of the SBOL document. You can also output the result to a file.
java -jar libSBOLj-core2-2.0.0-SNAPSHOT-withDependencies.jar <inputFile> -o <outputFile>
If validation fails with an error, there will be a message printed about the validation error. In addition to checking all required validation rules, it will also check if the URIs are compliant and whether the SBOL document is complete (i.e., all referenced objects are contained within the file). These validation checks can be turned off with the -n and -i flags, respectively.
If the input file is an SBOL 1.1 file, then it will convert the file into an SBOL 2.0 file. This conversion should be provided a default URI prefix with the -p flag. It can also be provided a default version, if desired. Finally, the -t flag will insert the type of top level objects into the URI during conversion, if desired.
java -jar libSBOLj-core2-2.0.0-SNAPSHOT-withDependencies.jar <in> -o <out> -p <prefix> -v <version>