Repository 'sbol_converter'
hg clone https://toolshed.g2.bx.psu.edu/repos/tduigou/sbol_converter

Changeset 0:38a0feb2e79d (2022-09-15)
Next changeset 1:529ee7dc1be9 (2023-04-18)
Commit message:
planemo upload commit f40274f6b9f6a15eb4022aab21286d4c96cd8475-dirty
added:
sbol_converter.xml
test-data/BASIC_construct_A1_sbol2_input.xml
test-data/BASIC_construct_A1_sbol3_output.nt
test-data/BBa_J23101.gb
test-data/BBa_J23101.nt
b
diff -r 000000000000 -r 38a0feb2e79d sbol_converter.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbol_converter.xml Thu Sep 15 13:40:15 2022 +0000
[
@@ -0,0 +1,144 @@
+<tool id="sbol_converter" name="SBOL Converter" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09">
+    <description>Convert between SBOL3 and other genetic design formats</description>
+    <macros>
+        <token name="@VERSION_SUFFIX@">0</token>
+        <token name="@TOOL_VERSION@">1.0a16</token>
+    </macros>
+    <requirements>
+        <requirement type="package" version="@TOOL_VERSION@">sbol-utilities</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        #if str($convert_type.type) == "SBOL2 to SBOL3"
+            ln -sv '$sbol2_input' 'input.$sbol2_input.ext' &&
+            sbol2to3 -o '$output' 'input.$sbol2_input.ext'
+        #elif str($convert_type.type) == "SBOL3 to SBOL2"
+            ln -sv '$sbol3_input' 'input.$sbol3_input.ext' &&
+            sbol3to2 -o '$output' 'input.$sbol3_input.ext'
+        #elif str($convert_type.type) == "SBOL3 to GENBANK"
+            ln -sv '$sbol3_input' 'input.$sbol3_input.ext' &&
+            sbol2genbank -o '$output' 'input.$sbol3_input.ext'
+        #elif str($convert_type.type) == "GENBANK to SBOL3"
+            ln -sv '$genbank_input' 'input.$genbank_input.ext' &&
+            genbank2sbol -o '$output' 'input.$genbank_input.ext' --namespace '$convert_type.namespace'
+        #elif str($convert_type.type) == "SBOL3 to FASTA"
+            ln -sv '$sbol3_input' 'input.$sbol3_input.ext' &&
+            sbol2fasta -o '$output' 'input.$sbol3_input.ext'
+        #elif str($convert_type.type) == "FASTA to SBOL3"
+            ln -sv '$fasta_input' 'input.$fasta_input.ext' &&
+            fasta2sbol -o '$output' 'input.$fasta_input.ext' --namespace '$convert_type.namespace'
+        #elif str($convert_type.type) == "SBOL2 to FASTA"
+            ln -sv '$sbol2_input' 'input.$sbol2_input.ext' &&
+            sbol-converter SBOL2 FASTA -o '$output' 'input.$sbol2_input.ext'
+        #elif str($convert_type.type) == "FASTA to SBOL2"
+            ln -sv '$fasta_input' 'input.$fasta_input.ext' &&
+            sbol-converter FASTA SBOL2 -o '$output' 'input.$fasta_input.ext' --namespace '$convert_type.namespace'
+        #end if
+    ]]></command>
+    <inputs>
+        <conditional name="convert_type">
+            <param name="type" type="select" label="Converting type" help="Choose the format (input/ouput) for SBOL conversion">
+                <option value="SBOL2 to SBOL3" selected="True">From SBOL2 to SBOL3</option>
+                <option value="SBOL2 to FASTA" >From SBOL2 to FASTA</option>
+                <option value="SBOL3 to SBOL2" >From SBOL3 to SBOL2</option>
+                <option value="SBOL3 to FASTA" >From SBOL3 to FASTA</option>
+                <option value="SBOL3 to GENBANK" >From SBOL3 to GENBANK</option>
+                <option value="GENBANK to SBOL3" >From GENBANK to SBOL3</option>
+                <option value="FASTA to SBOL3" >From FASTA to SBOL3</option>
+                <option value="FASTA to SBOL2" >From FASTA to SBOL2</option>
+            </param>
+            <when value="SBOL2 to SBOL3">
+                <param name="sbol2_input" type="data" format="xml,rdf,nt" label="SBOL2 input" help="SBOL2 file in XML or RDF or NT format"/>
+            </when>
+            <when value="SBOL3 to SBOL2">
+                <param name="sbol3_input" type="data" format="xml,rdf,nt" label="SBOL3 input" help="SBOL3 file in XML or RDF or NT format"/>
+            </when>
+            <when value="SBOL3 to GENBANK">
+                <param name="sbol3_input" type="data" format="xml,rdf,nt" label="SBOL3 input" help="SBOL3 file in XML or RDF or NT format"/>
+            </when>
+            <when value="GENBANK to SBOL3">
+                <param name="genbank_input" type="data" format="gb" label="Genbank input" help="Genbank file in GB format"/>
+                <param argument="--namespace" type="text" value="https://synbiohub.org/public/igem" label="Namespace URL" help="Namespace URL, required for conversions from GenBank. Default=https://synbiohub.org/public/igem" />
+            </when>
+            <when value="SBOL3 to FASTA">
+                <param name="sbol3_input" type="data" format="xml,rdf,nt" label="SBOL3 input" help="SBOL3 file in XML or RDF or NT format"/>
+            </when>
+            <when value="FASTA to SBOL3">
+                <param name="fasta_input" type="data" format="fasta" label="FASTA input" help="FASTA input file"/>
+                <param argument="--namespace" type="text" value="https://synbiohub.org/public/igem" label="Namespace URL" help="Namespace URL, required for conversions from FASTA. Default=https://synbiohub.org/public/igem" />
+            </when>
+            <when value="SBOL2 to FASTA">
+                <param name="sbol2_input" type="data" format="xml,rdf,nt" label="SBOL2 input" help="SBOL2 file in XML or RDF or NT format" />
+            </when>
+            <when value="FASTA to SBOL2">
+                <param name="fasta_input" type="data" format="fasta" label="FASTA input" help="FASTA input file"/>
+                <param argument="--namespace" type="text" value="https://synbiohub.org/public/igem" label="Namespace URL" help="Namespace URL, required for conversions from FASTA. Default=https://synbiohub.org/public/igem" />
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data name="output" format="nt" label="${tool.name} on ${on_string}: ${convert_type.type}" >
+            <change_format>
+                <when input="convert_type.type" value="SBOL3 to GENBANK" format="gb" />
+                <when input="convert_type.type" value="SBOL3 to FASTA" format="fasta" />
+                <when input="convert_type.type" value="SBOL2 to FASTA" format="fasta" />
+            </change_format>
+        </data>
+    </outputs>
+    <tests>
+        <test>
+        <!-- test 1: check if identical outputs are produced sbol2 to sbol3-->
+        <conditional name="convert_type">
+            <param name="type" value="SBOL2 to SBOL3"/>
+        </conditional>
+        <param name="sbol2_input" value="BASIC_construct_A1_sbol2_input.xml" />
+        <output name="output" file="BASIC_construct_A1_sbol3_output.nt" ftype="nt" compare="diff"/>
+        </test>
+        
+        <test>
+        <!-- test 2: check if identical outputs are produced sbol3 to genbank-->
+        <conditional name="convert_type">
+            <param name="type" value="SBOL3 to GENBANK"/>
+        </conditional>
+        <param name="sbol3_input" value="BBa_J23101.nt" />
+        <output name="output" file="BBa_J23101.gb" ftype="gb" compare="diff"/>
+        </test>
+
+        <test>
+        <!-- test 2: check if identical outputs are produced sbol3 to fasta-->
+        <conditional name="convert_type">
+            <param name="type" value="SBOL3 to FASTA"/>
+        </conditional>
+        <param name="sbol3_input" value="BBa_J23101.nt" />
+        <output name="output" >
+            <assert_contents>
+            <has_text text=">BBa_J23101 constitutive promoter family member" />
+            <has_text text="tttacagctagctcagtcctaggtattatgctagc" />
+            </assert_contents>
+        </output>
+        </test>
+    </tests>
+    <help><![CDATA[
+SBOL Converter
+================
+
+Convert between SBOL3 and other genetic design formats.
+
+Input
+-----
+Required:
+* **INPUT_FILE**\ : SBOL2 or SBOL3 or GENBANK or FASTA input file.
+* **Namespace URL**\ : Namespace URL, required for conversions from GenBank or from Fasta. Default=https://synbiohub.org/public/igem"
+
+Output
+------
+* **OUTPUT_FILE**\ : SBOL2 or SBOL3 or GENBANK or FASTA output file.
+
+Project Links
+------------------
+* `GitHub <https://github.com/SynBioDex/SBOL-utilities>`_
+
+License
+-------
+* `MIT <https://github.com/SynBioDex/SBOL-utilities/blob/develop/LICENSE.txt>`_
+    ]]></help>
+</tool>
\ No newline at end of file
b
diff -r 000000000000 -r 38a0feb2e79d test-data/BASIC_construct_A1_sbol2_input.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/BASIC_construct_A1_sbol2_input.xml Thu Sep 15 13:40:15 2022 +0000
b
b'@@ -0,0 +1,339 @@\n+<rdf:RDF xmlns:brick="https://brickschema.org/schema/Brick#" xmlns:csvw="http://www.w3.org/ns/csvw#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcat="http://www.w3.org/ns/dcat#" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcam="http://purl.org/dc/dcam/" xmlns:doap="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:odrl="http://www.w3.org/ns/odrl/2/" xmlns:org="http://www.w3.org/ns/org#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:prof="http://www.w3.org/ns/dx/prof/" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:qb="http://purl.org/linked-data/cube#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="https://schema.org/" xmlns:sh="http://www.w3.org/ns/shacl#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:sosa="http://www.w3.org/ns/sosa/" xmlns:ssn="http://www.w3.org/ns/ssn/" xmlns:time="http://www.w3.org/2006/time#" xmlns:vann="http://purl.org/vocab/vann/" xmlns:void="http://rdfs.org/ns/void#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:sbol="http://sbols.org/v2#">\n+  <sbol:ComponentDefinition rdf:about="https://localhost/ComponentDefinition/LMS/1">\n+    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>\n+    <sbol:displayId>LMS</sbol:displayId>\n+    <sbol:version>1</sbol:version>\n+    <sbol:sequence rdf:resource="https://localhost/Sequence/LMS/1"/>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/ComponentDefinition/LMS"/>\n+    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000001"/>\n+  </sbol:ComponentDefinition>\n+  <sbol:ComponentDefinition rdf:about="https://localhost/ComponentDefinition/BASIC_SEVA_37_CmR_p15A_1/1">\n+    <sbol:displayId>BASIC_SEVA_37_CmR_p15A_1</sbol:displayId>\n+    <sbol:version>1</sbol:version>\n+    <sbol:sequence rdf:resource="https://localhost/Sequence/BASIC_SEVA_37_CmR_p15A_1/1"/>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/ComponentDefinition/BASIC_SEVA_37_CmR_p15A_1"/>\n+    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000988"/>\n+    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>\n+  </sbol:ComponentDefinition>\n+  <sbol:ComponentDefinition rdf:about="https://localhost/ComponentDefinition/LMP/1">\n+    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/ComponentDefinition/LMP"/>\n+    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000001"/>\n+    <sbol:version>1</sbol:version>\n+    <sbol:displayId>LMP</sbol:displayId>\n+    <sbol:sequence rdf:resource="https://localhost/Sequence/LMP/1"/>\n+  </sbol:ComponentDefinition>\n+  <sbol:ComponentDefinition rdf:about="https://localhost/ComponentDefinition/PJ23119_BASIC/1">\n+    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000167"/>\n+    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/ComponentDefinition/PJ23119_BASIC"/>\n+    <sbol:sequence rdf:resource="https://localhost/Sequence/PJ23119_BASIC/1"/>\n+    <sbol:version>1</sbol:version>\n+    <sbol:displayId>PJ23119_BASIC</sbol:displayId>\n+  </sbol:ComponentDefinition>\n+  <sbol:ComponentDefinition rdf:about="https://localhost/ComponentDefinition/U1_RBS1/1">\n+    <sbol:displayId>U1_RBS1</sbol:displayId>\n+    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000139"/>\n+    <sbol:version>1</sbol:version>\n+    <sbol:sequence rdf:resource="https://localhost/Sequence/U1_RBS1/1"/>\n+    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/ComponentDefinition/U1_RBS1"/>\n+  </sbol:ComponentDefinition>\n+  <sbol:ComponentDefinition rdf:about="https://localhost/ComponentDefinition/P21684/1">\n+    <sbol:version>1'..b'tity rdf:resource="https://localhost/ComponentDefinition/BASIC_construct_A1/constraint_6"/>\n+      </sbol:SequenceConstraint>\n+    </sbol:sequenceConstraint>\n+  </sbol:ComponentDefinition>\n+  <sbol:Sequence rdf:about="https://localhost/Sequence/LMS/1">\n+    <sbol:persistentIdentity rdf:resource="https://localhost/Sequence/LMS"/>\n+    <sbol:displayId>LMS</sbol:displayId>\n+    <sbol:version>1</sbol:version>\n+    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>\n+    <sbol:elements></sbol:elements>\n+  </sbol:Sequence>\n+  <sbol:Sequence rdf:about="https://localhost/Sequence/BASIC_SEVA_37_CmR_p15A_1/1">\n+    <sbol:elements></sbol:elements>\n+    <sbol:displayId>BASIC_SEVA_37_CmR_p15A_1</sbol:displayId>\n+    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/Sequence/BASIC_SEVA_37_CmR_p15A_1"/>\n+    <sbol:version>1</sbol:version>\n+  </sbol:Sequence>\n+  <sbol:Sequence rdf:about="https://localhost/Sequence/LMP/1">\n+    <sbol:persistentIdentity rdf:resource="https://localhost/Sequence/LMP"/>\n+    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>\n+    <sbol:version>1</sbol:version>\n+    <sbol:displayId>LMP</sbol:displayId>\n+    <sbol:elements></sbol:elements>\n+  </sbol:Sequence>\n+  <sbol:Sequence rdf:about="https://localhost/Sequence/PJ23119_BASIC/1">\n+    <sbol:version>1</sbol:version>\n+    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>\n+    <sbol:displayId>PJ23119_BASIC</sbol:displayId>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/Sequence/PJ23119_BASIC"/>\n+    <sbol:elements></sbol:elements>\n+  </sbol:Sequence>\n+  <sbol:Sequence rdf:about="https://localhost/Sequence/U1_RBS1/1">\n+    <sbol:displayId>U1_RBS1</sbol:displayId>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/Sequence/U1_RBS1"/>\n+    <sbol:version>1</sbol:version>\n+    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>\n+    <sbol:elements></sbol:elements>\n+  </sbol:Sequence>\n+  <sbol:Sequence rdf:about="https://localhost/Sequence/P21684/1">\n+    <sbol:displayId>P21684</sbol:displayId>\n+    <sbol:elements>atgc</sbol:elements>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/Sequence/P21684"/>\n+    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>\n+    <sbol:version>1</sbol:version>\n+  </sbol:Sequence>\n+  <sbol:Sequence rdf:about="https://localhost/Sequence/U2_RBS1/1">\n+    <sbol:elements></sbol:elements>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/Sequence/U2_RBS1"/>\n+    <sbol:version>1</sbol:version>\n+    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>\n+    <sbol:displayId>U2_RBS1</sbol:displayId>\n+  </sbol:Sequence>\n+  <sbol:Sequence rdf:about="https://localhost/Sequence/P21683/1">\n+    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>\n+    <sbol:displayId>P21683</sbol:displayId>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/Sequence/P21683"/>\n+    <sbol:elements>atgc</sbol:elements>\n+    <sbol:version>1</sbol:version>\n+  </sbol:Sequence>\n+  <sbol:Sequence rdf:about="https://localhost/Sequence/U3_RBS2/1">\n+    <sbol:elements></sbol:elements>\n+    <sbol:displayId>U3_RBS2</sbol:displayId>\n+    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>\n+    <sbol:version>1</sbol:version>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/Sequence/U3_RBS2"/>\n+  </sbol:Sequence>\n+  <sbol:Sequence rdf:about="https://localhost/Sequence/P21685/1">\n+    <sbol:displayId>P21685</sbol:displayId>\n+    <sbol:elements>atgc</sbol:elements>\n+    <sbol:version>1</sbol:version>\n+    <sbol:persistentIdentity rdf:resource="https://localhost/Sequence/P21685"/>\n+    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>\n+  </sbol:Sequence>\n+</rdf:RDF>\n'
b
diff -r 000000000000 -r 38a0feb2e79d test-data/BASIC_construct_A1_sbol3_output.nt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/BASIC_construct_A1_sbol3_output.nt Thu Sep 15 13:40:15 2022 +0000
b
b'@@ -0,0 +1,207 @@\n+<https://localhost/ComponentDefinition/BASIC_SEVA_37_CmR_p15A_1> <http://sbols.org/v3#displayId> "BASIC_SEVA_37_CmR_p15A_1" .\n+<https://localhost/ComponentDefinition/BASIC_SEVA_37_CmR_p15A_1> <http://sbols.org/v3#hasNamespace> <https://localhost> .\n+<https://localhost/ComponentDefinition/BASIC_SEVA_37_CmR_p15A_1> <http://sbols.org/v3#hasSequence> <https://localhost/Sequence/BASIC_SEVA_37_CmR_p15A_1> .\n+<https://localhost/ComponentDefinition/BASIC_SEVA_37_CmR_p15A_1> <http://sbols.org/v3#role> <http://identifiers.org/so/SO:0000988> .\n+<https://localhost/ComponentDefinition/BASIC_SEVA_37_CmR_p15A_1> <http://sbols.org/v3#type> <https://identifiers.org/SBO:0000251> .\n+<https://localhost/ComponentDefinition/BASIC_SEVA_37_CmR_p15A_1> <http://sboltools.org/backport#sbol2type> <http://sbols.org/v2#ComponentDefinition> .\n+<https://localhost/ComponentDefinition/BASIC_SEVA_37_CmR_p15A_1> <http://sboltools.org/backport#sbol2version> "1" .\n+<https://localhost/ComponentDefinition/BASIC_SEVA_37_CmR_p15A_1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#Component> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/BASIC_SEVA_37_CmR_p15A_1_0> <http://sbols.org/v3#displayId> "BASIC_SEVA_37_CmR_p15A_1_0" .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/BASIC_SEVA_37_CmR_p15A_1_0> <http://sbols.org/v3#instanceOf> <https://localhost/ComponentDefinition/BASIC_SEVA_37_CmR_p15A_1> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/BASIC_SEVA_37_CmR_p15A_1_0> <http://sboltools.org/backport#sbol2type> <http://sbols.org/v2#Component> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/BASIC_SEVA_37_CmR_p15A_1_0> <http://sboltools.org/backport#sbol2version> "1" .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/BASIC_SEVA_37_CmR_p15A_1_0> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#SubComponent> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/LMP_0> <http://sbols.org/v3#displayId> "LMP_0" .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/LMP_0> <http://sbols.org/v3#instanceOf> <https://localhost/ComponentDefinition/LMP> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/LMP_0> <http://sboltools.org/backport#sbol2type> <http://sbols.org/v2#Component> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/LMP_0> <http://sboltools.org/backport#sbol2version> "1" .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/LMP_0> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#SubComponent> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/LMS_0> <http://sbols.org/v3#displayId> "LMS_0" .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/LMS_0> <http://sbols.org/v3#instanceOf> <https://localhost/ComponentDefinition/LMS> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/LMS_0> <http://sboltools.org/backport#sbol2type> <http://sbols.org/v2#Component> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/LMS_0> <http://sboltools.org/backport#sbol2version> "1" .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/LMS_0> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#SubComponent> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/P21683_0> <http://sbols.org/v3#displayId> "P21683_0" .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/P21683_0> <http://sbols.org/v3#instanceOf> <https://localhost/ComponentDefinition/P21683> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/P21683_0> <http://sboltools.org/backport#sbol2type> <http://sbols.org/v2#Component> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/P21683_0> <http://sboltools.org/backport#sbol2version> "1" .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/P21683_0> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#SubComponent> .\n+<https://localhost/ComponentDefinition/BASIC_construct_A1/P2'..b'isplayId> "P21683" .\n+<https://localhost/Sequence/P21683> <http://sbols.org/v3#elements> "atgc" .\n+<https://localhost/Sequence/P21683> <http://sbols.org/v3#encoding> <https://identifiers.org/edam:format_1207> .\n+<https://localhost/Sequence/P21683> <http://sbols.org/v3#hasNamespace> <https://localhost> .\n+<https://localhost/Sequence/P21683> <http://sboltools.org/backport#sbol2version> "1" .\n+<https://localhost/Sequence/P21683> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#Sequence> .\n+<https://localhost/Sequence/P21684> <http://sbols.org/v3#displayId> "P21684" .\n+<https://localhost/Sequence/P21684> <http://sbols.org/v3#elements> "atgc" .\n+<https://localhost/Sequence/P21684> <http://sbols.org/v3#encoding> <https://identifiers.org/edam:format_1207> .\n+<https://localhost/Sequence/P21684> <http://sbols.org/v3#hasNamespace> <https://localhost> .\n+<https://localhost/Sequence/P21684> <http://sboltools.org/backport#sbol2version> "1" .\n+<https://localhost/Sequence/P21684> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#Sequence> .\n+<https://localhost/Sequence/P21685> <http://sbols.org/v3#displayId> "P21685" .\n+<https://localhost/Sequence/P21685> <http://sbols.org/v3#elements> "atgc" .\n+<https://localhost/Sequence/P21685> <http://sbols.org/v3#encoding> <https://identifiers.org/edam:format_1207> .\n+<https://localhost/Sequence/P21685> <http://sbols.org/v3#hasNamespace> <https://localhost> .\n+<https://localhost/Sequence/P21685> <http://sboltools.org/backport#sbol2version> "1" .\n+<https://localhost/Sequence/P21685> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#Sequence> .\n+<https://localhost/Sequence/PJ23119_BASIC> <http://sbols.org/v3#displayId> "PJ23119_BASIC" .\n+<https://localhost/Sequence/PJ23119_BASIC> <http://sbols.org/v3#elements> "" .\n+<https://localhost/Sequence/PJ23119_BASIC> <http://sbols.org/v3#encoding> <https://identifiers.org/edam:format_1207> .\n+<https://localhost/Sequence/PJ23119_BASIC> <http://sbols.org/v3#hasNamespace> <https://localhost> .\n+<https://localhost/Sequence/PJ23119_BASIC> <http://sboltools.org/backport#sbol2version> "1" .\n+<https://localhost/Sequence/PJ23119_BASIC> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#Sequence> .\n+<https://localhost/Sequence/U1_RBS1> <http://sbols.org/v3#displayId> "U1_RBS1" .\n+<https://localhost/Sequence/U1_RBS1> <http://sbols.org/v3#elements> "" .\n+<https://localhost/Sequence/U1_RBS1> <http://sbols.org/v3#encoding> <https://identifiers.org/edam:format_1207> .\n+<https://localhost/Sequence/U1_RBS1> <http://sbols.org/v3#hasNamespace> <https://localhost> .\n+<https://localhost/Sequence/U1_RBS1> <http://sboltools.org/backport#sbol2version> "1" .\n+<https://localhost/Sequence/U1_RBS1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#Sequence> .\n+<https://localhost/Sequence/U2_RBS1> <http://sbols.org/v3#displayId> "U2_RBS1" .\n+<https://localhost/Sequence/U2_RBS1> <http://sbols.org/v3#elements> "" .\n+<https://localhost/Sequence/U2_RBS1> <http://sbols.org/v3#encoding> <https://identifiers.org/edam:format_1207> .\n+<https://localhost/Sequence/U2_RBS1> <http://sbols.org/v3#hasNamespace> <https://localhost> .\n+<https://localhost/Sequence/U2_RBS1> <http://sboltools.org/backport#sbol2version> "1" .\n+<https://localhost/Sequence/U2_RBS1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#Sequence> .\n+<https://localhost/Sequence/U3_RBS2> <http://sbols.org/v3#displayId> "U3_RBS2" .\n+<https://localhost/Sequence/U3_RBS2> <http://sbols.org/v3#elements> "" .\n+<https://localhost/Sequence/U3_RBS2> <http://sbols.org/v3#encoding> <https://identifiers.org/edam:format_1207> .\n+<https://localhost/Sequence/U3_RBS2> <http://sbols.org/v3#hasNamespace> <https://localhost> .\n+<https://localhost/Sequence/U3_RBS2> <http://sboltools.org/backport#sbol2version> "1" .\n+<https://localhost/Sequence/U3_RBS2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#Sequence> .\n'
b
diff -r 000000000000 -r 38a0feb2e79d test-data/BBa_J23101.gb
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/BBa_J23101.gb Thu Sep 15 13:40:15 2022 +0000
b
@@ -0,0 +1,12 @@
+LOCUS       BBa_J23101                35 bp    DNA     linear   UNK 01-JAN-1980
+DEFINITION  constitutive promoter family member.
+ACCESSION   BBa_J23101
+VERSION     BBa_J23101.1
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+ORIGIN
+        1 tttacagcta gctcagtcct aggtattatg ctagc
+//
b
diff -r 000000000000 -r 38a0feb2e79d test-data/BBa_J23101.nt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/BBa_J23101.nt Thu Sep 15 13:40:15 2022 +0000
b
@@ -0,0 +1,60 @@
+
+<https://synbiohub.org/public/igem/BBa_J23101> <http://purl.org/dc/elements/1.1/creator> "John Anderson" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://purl.org/dc/terms/created> "2006-08-03T11:00:00Z" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://purl.org/dc/terms/modified> "2015-08-31T04:08:40Z" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://sbols.org/v3#description> "constitutive promoter family member" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://sbols.org/v3#displayId> "BBa_J23101" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://sbols.org/v3#hasNamespace> <https://synbiohub.org> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://sbols.org/v3#hasSequence> <https://synbiohub.org/public/igem/BBa_J23101_sequence> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://sbols.org/v3#name> "BBa_J23101" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://sbols.org/v3#role> <http://identifiers.org/so/SO:0000167> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://sbols.org/v3#role> <http://wiki.synbiohub.org/wiki/Terms/igem#partType/Regulatory> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://sbols.org/v3#type> <https://identifiers.org/SBO:0000251> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://sboltools.org/backport#sbol2type> <http://sbols.org/v2#ComponentDefinition> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://sboltools.org/backport#sbol2version> "1" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/igem#discontinued> "false" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/igem#dominant> "true" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/igem#experience> <http://wiki.synbiohub.org/wiki/Terms/igem#experience/Works> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/igem#group_u_list> "_52_" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/igem#m_user_id> "0" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/igem#owner_id> "483" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/igem#owning_group_id> "95" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/igem#partStatus> "Released HQ 2013" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/igem#sampleStatus> "In stock" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/igem#status> <http://wiki.synbiohub.org/wiki/Terms/igem#status/Available> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#bookmark> "true" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#mutableDescription> "later" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#mutableNotes> "N/A" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#mutableProvenance> "later" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#ownedBy> <https://synbiohub.org/user/james> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#ownedBy> <https://synbiohub.org/user/myers> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#star> "true" .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#topLevel> <https://synbiohub.org/public/igem/BBa_J23101> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#Component> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://www.w3.org/ns/prov#wasDerivedFrom> <http://parts.igem.org/Part:BBa_J23101> .
+<https://synbiohub.org/public/igem/BBa_J23101> <http://www.w3.org/ns/prov#wasGeneratedBy> <https://synbiohub.org/public/igem/igem2sbol> .
+<https://synbiohub.org/public/igem/BBa_J23101_sequence> <http://sbols.org/v3#displayId> "BBa_J23101_sequence" .
+<https://synbiohub.org/public/igem/BBa_J23101_sequence> <http://sbols.org/v3#elements> "tttacagctagctcagtcctaggtattatgctagc" .
+<https://synbiohub.org/public/igem/BBa_J23101_sequence> <http://sbols.org/v3#encoding> <https://identifiers.org/edam:format_1207> .
+<https://synbiohub.org/public/igem/BBa_J23101_sequence> <http://sbols.org/v3#hasNamespace> <https://synbiohub.org> .
+<https://synbiohub.org/public/igem/BBa_J23101_sequence> <http://sboltools.org/backport#sbol2version> "1" .
+<https://synbiohub.org/public/igem/BBa_J23101_sequence> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#ownedBy> <https://synbiohub.org/user/james> .
+<https://synbiohub.org/public/igem/BBa_J23101_sequence> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#ownedBy> <https://synbiohub.org/user/myers> .
+<https://synbiohub.org/public/igem/BBa_J23101_sequence> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#topLevel> <https://synbiohub.org/public/igem/BBa_J23101_sequence> .
+<https://synbiohub.org/public/igem/BBa_J23101_sequence> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#Sequence> .
+<https://synbiohub.org/public/igem/BBa_J23101_sequence> <http://www.w3.org/ns/prov#wasDerivedFrom> <http://parts.igem.org/Part:BBa_J23101> .
+<https://synbiohub.org/public/igem/BBa_J23101_sequence> <http://www.w3.org/ns/prov#wasGeneratedBy> <https://synbiohub.org/public/igem/igem2sbol> .
+<https://synbiohub.org/public/igem/igem2sbol> <http://purl.org/dc/elements/1.1/creator> "Chris J. Myers" .
+<https://synbiohub.org/public/igem/igem2sbol> <http://purl.org/dc/elements/1.1/creator> "James Alastair McLaughlin" .
+<https://synbiohub.org/public/igem/igem2sbol> <http://purl.org/dc/terms/description> "Conversion of the iGEM parts registry to SBOL2.1" .
+<https://synbiohub.org/public/igem/igem2sbol> <http://purl.org/dc/terms/title> "iGEM to SBOL conversion" .
+<https://synbiohub.org/public/igem/igem2sbol> <http://sbols.org/v2#persistentIdentity> <https://synbiohub.org/public/igem/igem2sbol> .
+<https://synbiohub.org/public/igem/igem2sbol> <http://sbols.org/v3#displayId> "igem2sbol" .
+<https://synbiohub.org/public/igem/igem2sbol> <http://sbols.org/v3#hasNamespace> <https://synbiohub.org> .
+<https://synbiohub.org/public/igem/igem2sbol> <http://sboltools.org/backport#sbol2version> "1" .
+<https://synbiohub.org/public/igem/igem2sbol> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#ownedBy> <https://synbiohub.org/user/james> .
+<https://synbiohub.org/public/igem/igem2sbol> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#ownedBy> <https://synbiohub.org/user/myers> .
+<https://synbiohub.org/public/igem/igem2sbol> <http://wiki.synbiohub.org/wiki/Terms/synbiohub#topLevel> <https://synbiohub.org/public/igem/igem2sbol> .
+<https://synbiohub.org/public/igem/igem2sbol> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://sbols.org/v3#TopLevel> .
+<https://synbiohub.org/public/igem/igem2sbol> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/prov#Activity> .
+<https://synbiohub.org/public/igem/igem2sbol> <http://www.w3.org/ns/prov#endedAtTime> "2017-03-06T15:00:00+00:00" .