From c69523e2a4703b16803c84c4c464af652aacb189 Mon Sep 17 00:00:00 2001 From: Yehuda-Binik Date: Mon, 9 Oct 2023 23:04:12 -0400 Subject: [PATCH 01/14] Worked on implementation 3 -> 2 for the updated version of the converter --- sbol_utilities/sbol3_sbol2_conversion.py | 8 ++++++-- test/test_files/sbol3_implementation.nt | 11 +++++++++++ test/test_sbol2_sbol3_direct.py | 7 +++---- 3 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 test/test_files/sbol3_implementation.nt diff --git a/sbol_utilities/sbol3_sbol2_conversion.py b/sbol_utilities/sbol3_sbol2_conversion.py index ca3f6bee..ca310a1c 100644 --- a/sbol_utilities/sbol3_sbol2_conversion.py +++ b/sbol_utilities/sbol3_sbol2_conversion.py @@ -194,9 +194,13 @@ def visit_externally_defined(self, a: sbol3.ExternallyDefined): # Priority: 3 raise NotImplementedError('Conversion of ExternallyDefined from SBOL3 to SBOL2 not yet implemented') - def visit_implementation(self, a: sbol3.Implementation): + def visit_implementation(self, implement3: sbol3.Implementation): # Priority: 1 - raise NotImplementedError('Conversion of Implementation from SBOL3 to SBOL2 not yet implemented') + # Make the Implement object and add it to the document + implement2 = sbol2.Implementation(implement3.identity, version=self._sbol2_version(implement3)) + self.doc2.addImplementation(implement2) + # Map over all other TopLevel properties and extensions not covered by the constructor + self._convert_toplevel(implement3, implement2) def visit_interaction(self, a: sbol3.Interaction): # Priority: 2 diff --git a/test/test_files/sbol3_implementation.nt b/test/test_files/sbol3_implementation.nt new file mode 100644 index 00000000..ef1ac954 --- /dev/null +++ b/test/test_files/sbol3_implementation.nt @@ -0,0 +1,11 @@ + . + . + "impl1" . + . + . + "TetR protein" . + "TetR" . + . + . + "TetR_protein" . + . diff --git a/test/test_sbol2_sbol3_direct.py b/test/test_sbol2_sbol3_direct.py index 294a2563..10baa330 100644 --- a/test/test_sbol2_sbol3_direct.py +++ b/test/test_sbol2_sbol3_direct.py @@ -11,7 +11,6 @@ TEST_FILES = Path(__file__).parent / 'test_files' - class TestDirectSBOL2SBOL3Conversion(unittest.TestCase): # TODO: turn on validation @@ -19,7 +18,7 @@ def test_3to2_conversion(self): """Test ability to convert a simple part from SBOL3 to SBOL2""" # Load an SBOL3 document and check its contents doc3 = sbol3.Document() - doc3.read(TEST_FILES / 'BBa_J23101_patched.nt') + doc3.read(TEST_FILES / 'sbol3_implementation.nt') # Convert to SBOL2 and check contents doc2 = convert3to2(doc3, True) #self.assertEqual(len(doc2.validate()), 0) @@ -33,8 +32,8 @@ def test_3to2_conversion(self): #self.assertFalse(file_diff(tmp3.name, str(TEST_FILES / 'BBa_J23101_patched.nt'))) def test_2to3_conversion(self): - """Test ability to convert a simple part from SBOL3 to SBOL2""" - # Load an SBOL3 document and check its contents + """Test ability to convert a simple part from SBOL2 to SBOL3""" + # Load an SBOL2 document and check its contents doc2 = sbol2.Document() doc2.read(TEST_FILES / 'BBa_J23101.xml') # Convert to SBOL3 and check contents From 4b56637de4cc4b32033fab4383c029ec07c8c585 Mon Sep 17 00:00:00 2001 From: Yehuda-Binik Date: Mon, 16 Oct 2023 22:56:02 -0400 Subject: [PATCH 02/14] Working on solving a bug in code --- test/test_files/sbol2_implementation.xml | 0 test/test_files/sbol3_implementation.xml | 0 test/test_files/sbol_3to2_implementation.xml | 18 ++++++++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 test/test_files/sbol2_implementation.xml create mode 100644 test/test_files/sbol3_implementation.xml create mode 100644 test/test_files/sbol_3to2_implementation.xml diff --git a/test/test_files/sbol2_implementation.xml b/test/test_files/sbol2_implementation.xml new file mode 100644 index 00000000..e69de29b diff --git a/test/test_files/sbol3_implementation.xml b/test/test_files/sbol3_implementation.xml new file mode 100644 index 00000000..e69de29b diff --git a/test/test_files/sbol_3to2_implementation.xml b/test/test_files/sbol_3to2_implementation.xml new file mode 100644 index 00000000..6d2471b9 --- /dev/null +++ b/test/test_files/sbol_3to2_implementation.xml @@ -0,0 +1,18 @@ + + + 1 + impl1 + + + + + + + 1 + TetR_protein + TetR + TetR protein + + + + From 3603eb0c8130ff3fd08556e32fc6d83eb82564db Mon Sep 17 00:00:00 2001 From: Yehuda-Binik Date: Mon, 16 Oct 2023 22:56:26 -0400 Subject: [PATCH 03/14] Please enter the commit message for your changes. Lines starting --- .idea/.gitignore | 3 + .idea/SBOL-Utilities.iml | 14 + .idea/inspectionProfiles/Project_Default.xml | 13 + .../inspectionProfiles/profiles_settings.xml | 6 + .idea/misc.xml | 4 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + sbol_utilities.egg-info/PKG-INFO | 21 + sbol_utilities.egg-info/SOURCES.txt | 42 ++ sbol_utilities.egg-info/dependency_links.txt | 1 + sbol_utilities.egg-info/entry_points.txt | 14 + sbol_utilities.egg-info/requires.txt | 13 + sbol_utilities.egg-info/top_level.txt | 1 + sbol_utilities/sbol3_sbol2_conversion.py | 10 +- test/sbol3.nt | 436 ++++++++++++++++++ test/test_files/sbol2_implementation.xml | 28 ++ .../ignoring_sbol_properties.nt.test | 115 +++++ test/test_files/sbol3_implementation.xml | 22 + .../test_files/sbol_3to2to3_implementation.nt | 12 + .../sbol_3to2to3_implementation.xml | 23 + test/test_sbol2_sbol3_direct.py | 14 +- 21 files changed, 798 insertions(+), 8 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/SBOL-Utilities.iml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 sbol_utilities.egg-info/PKG-INFO create mode 100644 sbol_utilities.egg-info/SOURCES.txt create mode 100644 sbol_utilities.egg-info/dependency_links.txt create mode 100644 sbol_utilities.egg-info/entry_points.txt create mode 100644 sbol_utilities.egg-info/requires.txt create mode 100644 sbol_utilities.egg-info/top_level.txt create mode 100644 test/sbol3.nt create mode 100644 test/test_files/sbol3_genbank_conversion/ignoring_sbol_properties.nt.test create mode 100644 test/test_files/sbol_3to2to3_implementation.nt create mode 100644 test/test_files/sbol_3to2to3_implementation.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..26d33521 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/SBOL-Utilities.iml b/.idea/SBOL-Utilities.iml new file mode 100644 index 00000000..8e5446ac --- /dev/null +++ b/.idea/SBOL-Utilities.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..3dc583b2 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 00000000..105ce2da --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..0c0bec30 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..cca27782 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..94a25f7f --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/sbol_utilities.egg-info/PKG-INFO b/sbol_utilities.egg-info/PKG-INFO new file mode 100644 index 00000000..202f1d08 --- /dev/null +++ b/sbol_utilities.egg-info/PKG-INFO @@ -0,0 +1,21 @@ +Metadata-Version: 2.1 +Name: sbol-utilities +Version: 1.0a17 +Summary: SBOL utilities +Home-page: https://github.com/SynBioDex/SBOL-utilities +License: MIT License +Keywords: synthetic biology +Classifier: Development Status :: 3 - Alpha +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Description-Content-Type: text/markdown +Provides-Extra: dev +License-File: LICENSE.txt + +SBOL-utilities is a collection of scripts and functions for manipulating SBOL 3 data that can be imported as packages or run from the command line. diff --git a/sbol_utilities.egg-info/SOURCES.txt b/sbol_utilities.egg-info/SOURCES.txt new file mode 100644 index 00000000..b5bd1086 --- /dev/null +++ b/sbol_utilities.egg-info/SOURCES.txt @@ -0,0 +1,42 @@ +LICENSE.txt +MANIFEST.in +README.md +pyproject.toml +setup.cfg +setup.py +sbol_utilities/__init__.py +sbol_utilities/calculate_complexity_scores.py +sbol_utilities/calculate_sequences.py +sbol_utilities/component.py +sbol_utilities/conversion.py +sbol_utilities/excel_to_sbol.py +sbol_utilities/expand_combinatorial_derivations.py +sbol_utilities/gb2so.csv +sbol_utilities/graph_sbol.py +sbol_utilities/helper_functions.py +sbol_utilities/sbol3_genbank_conversion.py +sbol_utilities/sbol3_sbol2_conversion.py +sbol_utilities/sbol_diff.py +sbol_utilities/sbolgraph-standalone.js +sbol_utilities/sequence.py +sbol_utilities/so2gb.csv +sbol_utilities/workarounds.py +sbol_utilities.egg-info/PKG-INFO +sbol_utilities.egg-info/SOURCES.txt +sbol_utilities.egg-info/dependency_links.txt +sbol_utilities.egg-info/entry_points.txt +sbol_utilities.egg-info/requires.txt +sbol_utilities.egg-info/top_level.txt +test/test_calculate_complexity_scores.py +test/test_calculate_sequences.py +test/test_component.py +test/test_conversion.py +test/test_docstr_coverage.py +test/test_excel_to_sbol.py +test/test_expand_combinatorial_derivations.py +test/test_genbank_sbol3_direct.py +test/test_graph_sbol.py +test/test_helpers.py +test/test_sbol2_sbol3_direct.py +test/test_sbol_diff.py +test/test_sequence.py \ No newline at end of file diff --git a/sbol_utilities.egg-info/dependency_links.txt b/sbol_utilities.egg-info/dependency_links.txt new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/sbol_utilities.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/sbol_utilities.egg-info/entry_points.txt b/sbol_utilities.egg-info/entry_points.txt new file mode 100644 index 00000000..0cf8abce --- /dev/null +++ b/sbol_utilities.egg-info/entry_points.txt @@ -0,0 +1,14 @@ +[console_scripts] +excel-to-sbol = sbol_utilities.excel_to_sbol:main +fasta-to-sbol = sbol_utilities.conversion:fasta2sbol +genbank-to-sbol = sbol_utilities.conversion:genbank2sbol +graph-sbol = sbol_utilities.graph_sbol:main +sbol-calculate-complexity = sbol_utilities.calculate_complexity_scores:main +sbol-calculate-sequences = sbol_utilities.calculate_sequences:main +sbol-converter = sbol_utilities.conversion:main +sbol-diff = sbol_utilities.sbol_diff:main +sbol-expand-derivations = sbol_utilities.expand_combinatorial_derivations:main +sbol-to-fasta = sbol_utilities.conversion:sbol2fasta +sbol-to-genbank = sbol_utilities.conversion:sbol2genbank +sbol2-to-sbol3 = sbol_utilities.conversion:sbol2to3 +sbol3-to-sbol2 = sbol_utilities.conversion:sbol3to2 diff --git a/sbol_utilities.egg-info/requires.txt b/sbol_utilities.egg-info/requires.txt new file mode 100644 index 00000000..fab893d0 --- /dev/null +++ b/sbol_utilities.egg-info/requires.txt @@ -0,0 +1,13 @@ +sbol3>=1.1 +sbol2>=1.4 +rdflib>=6.2 +biopython +graphviz +tyto>=1.4 +openpyxl +requests +sbol_factory>=1.1 + +[dev] +pytest +interrogate diff --git a/sbol_utilities.egg-info/top_level.txt b/sbol_utilities.egg-info/top_level.txt new file mode 100644 index 00000000..5a026f54 --- /dev/null +++ b/sbol_utilities.egg-info/top_level.txt @@ -0,0 +1 @@ +sbol_utilities diff --git a/sbol_utilities/sbol3_sbol2_conversion.py b/sbol_utilities/sbol3_sbol2_conversion.py index ae2d888d..f73e5a45 100644 --- a/sbol_utilities/sbol3_sbol2_conversion.py +++ b/sbol_utilities/sbol3_sbol2_conversion.py @@ -466,9 +466,15 @@ def visit_generic_location(self, a: sbol2.GenericLocation): # Priority: 3 raise NotImplementedError('Conversion of GenericLocation from SBOL2 to SBOL3 not yet implemented') - def visit_implementation(self, a: sbol2.Implementation): + def visit_implementation(self, imp2: sbol2.Implementation): # Priority: 1 - raise NotImplementedError('Conversion of Implementation from SBOL2 to SBOL3 not yet implemented') + # Make the Implementation object and add it to the document + imp3 = sbol3.Implementation(imp2.identity, namespace=self._sbol3_namespace(imp2)) + self.doc3.add(imp3) + # Map over all other TopLevel properties and extensions not covered by the constructor + self._convert_toplevel(imp2, imp3) + + # raise NotImplementedError('Conversion of Implementation from SBOL2 to SBOL3 not yet implemented') def visit_interaction(self, a: sbol2.Interaction): # Priority: 2 diff --git a/test/sbol3.nt b/test/sbol3.nt new file mode 100644 index 00000000..ed4e70d4 --- /dev/null +++ b/test/sbol3.nt @@ -0,0 +1,436 @@ + "Range1" . + "3242"^^ . + . + . + "0"^^ . + . + "GenbankReference1" . + "Tyson,G.H., McDermott,P.F., Li,C., Chen,Y., Tadesse,D.A., Mukherjee,S., Bodeis-Jones,S., Kabera,C., Gaines,S.A., Loneragan,G.H., Edrington,T.S., Torrence,M., Harhay,D.M. and Zhao,S." . + "" . + "JWYZ01000115" . + "" . + "J. Antimicrob. Chemother. 70 (10), 2763-2769 (2015)" . + . + "" . + "26142410" . + "WGS accurately predicts antimicrobial resistance in Escherichia coli" . + . + . + "Range1" . + "3242"^^ . + . + . + "0"^^ . + . + "GenbankReference2" . + "Tyson,G.H., McDermott,P.F., Li,C., Tadesse,D.A., Mukherjee,S., Bodeis-Jones,S., Kabera,C., Gaines,S.A., Loneragan,G.H., Edrington,T.S., Torrence,M., Harhay,D.M. and Zhao,S." . + "" . + "JWYZ01000115" . + "" . + "Submitted (17-NOV-2014) CVM, FDA, 8401 Muirkirk Rd, Laurel, MD 20708, USA" . + . + "" . + "" . + "Direct Submission" . + . + . + "GenbankStructuredComment1" . + "JWYZ01000115" . + "Genome-Assembly-Data" . + "1::Assembly Method" . + "2::Assembly Name" . + "3::Genome Coverage" . + "4::Sequencing Technology" . + "1::CLC Genomics Workbench v. 7.5" . + "2::Escherichia coli CVM N37069PS v1.0" . + "3::48.5x" . + "4::Illumina MiSeq" . + . + . + "GenbankStructuredComment2" . + "JWYZ01000115" . + "Genome-Annotation-Data" . + "10::CRISPR Arrays" . + "11::rRNAs" . + "12::tRNAs" . + "13::ncRNA" . + "14::Frameshifted Genes" . + "1::Annotation Provider" . + "2::Annotation Date" . + "3::Annotation Pipeline" . + "4::Annotation Method" . + "5::Annotation Software revision" . + "6::Features Annotated" . + "7::Genes" . + "8::CDS" . + "9::Pseudo Genes" . + "10::2" . + "11::11 (5S, 16S, 23S)" . + "12::78" . + "13::17" . + "14::41" . + "1::NCBI" . + "2::12/29/2014 14:07:05" . + "3::NCBI Prokaryotic Genome Annotation Pipeline" . + "4::Best-placed reference protein set; GeneMarkS+" . + "5::2.9 (rev. 455303)" . + "6::Gene; CDS; rRNA; tRNA; ncRNA; repeat_region" . + "7::4,855" . + "8::4,642" . + "9::107" . + . + . + "Range1" . + "115"^^ . + . + . + "1"^^ . + . + "Range1" . + "2299"^^ . + . + . + "1706"^^ . + . + "SequenceFeature10" . + . + . + . + "0:locus_tag" . + "0:PU64_23680" . + . + "Range1" . + "2299"^^ . + . + . + "1706"^^ . + . + "SequenceFeature11" . + . + . + . + "0:locus_tag" . + "1:inference" . + "2:note" . + "3:codon_start" . + "4:transl_table" . + "5:product" . + "6:protein_id" . + "7:translation" . + "0:PU64_23680" . + "1:EXISTENCE: similar to AA sequence:RefSeq:WP_001544295.1" . + "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . + "3:1" . + "4:11" . + "5:TetR family transcriptional regulator" . + "6:KIG36582.1" . + "7:MVTKKQSRVPGRPRRFAPEQAISAAKVLFHQKGFDAVSVAEVTDYLGINPPSLYAAFGSKAGLFSRVLNEYVGTEAIPLADILRDDRPVGECLVEVLKEAARRYSQNGGCAGCMVLEGIHSHDPLARDIAVQYYHAAETTIYDYIARRHPQSAQCVTDFMSTVMSGLSAKAREGHSIEQLCATAALAGEAIKTLLKE" . + . + "Range1" . + "2896"^^ . + . + . + "2444"^^ . + . + "SequenceFeature12" . + . + . + . + "0:locus_tag" . + "0:PU64_23685" . + . + "Range1" . + "2896"^^ . + . + . + "2444"^^ . + . + "SequenceFeature13" . + . + . + . + "0:locus_tag" . + "1:inference" . + "2:note" . + "3:codon_start" . + "4:transl_table" . + "5:product" . + "6:protein_id" . + "7:translation" . + "0:PU64_23685" . + "1:EXISTENCE: similar to AA sequence:RefSeq:WP_001570607.1" . + "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . + "3:1" . + "4:11" . + "5:toxin-antitoxin biofilm protein TabA" . + "6:KIG36583.1" . + "7:MIIGNIHNLQPWLPQELRQAIEHIKAHVTAETPKGKHDIEGNHLFYLISEDMTEPYEARRAEYHARYLDIQIVLKGQEGMTFSTQPAGTPDTDWLADKDIAFLPEGVDEKTVILNEGDFVVFYPGEVHKPLCAVGAPAQVRKAVVKMLMA" . + . + "Range1" . + "3242"^^ . + . + . + "3019"^^ . + . + "SequenceFeature14" . + . + . + . + "0:locus_tag" . + "0:PU64_23690" . + . + "Range1" . + "3242"^^ . + . + . + "3019"^^ . + . + "SequenceFeature15" . + . + . + . + "0:locus_tag" . + "1:inference" . + "2:note" . + "3:codon_start" . + "4:transl_table" . + "5:product" . + "6:protein_id" . + "7:translation" . + "0:PU64_23690" . + "1:EXISTENCE: similar to AA sequence:RefSeq:WP_000036524.1" . + "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . + "3:1" . + "4:11" . + "5:DNA-binding protein" . + "6:KIG36584.1" . + "7:MSKISGWNFSQNITSADNCKQKNEDLDTWYVGMNDFARIAGGQNSRSNILSPRAFLEFLAKIFTLGYVDFSKRS" . + . + "SequenceFeature1" . + . + . + . + "0:locus_tag" . + "0:PU64_23660" . + . + "Range1" . + "115"^^ . + . + . + "1"^^ . + . + "SequenceFeature2" . + . + . + . + "0:locus_tag" . + "1:inference" . + "2:note" . + "3:codon_start" . + "4:transl_table" . + "5:product" . + "6:protein_id" . + "7:translation" . + "0:PU64_23660" . + "1:EXISTENCE: similar to AA sequence:RefSeq:WP_005059815.1" . + "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . + "3:1" . + "4:11" . + "5:pyrBI operon leader peptide" . + "6:KIG36579.1" . + "7:MVQCVRHFVLPRLKKDAGLPFFFPLITHSQPLNRGAFF" . + . + "Range1" . + "3242"^^ . + . + . + "1"^^ . + . + "SequenceFeature3" . + . + . + . + "0:organism" . + "1:mol_type" . + "2:submitter_seqid" . + "3:strain" . + "4:isolation_source" . + "5:db_xref" . + "6:country" . + "7:collection_date" . + "0:Escherichia coli" . + "1:genomic DNA" . + "2:N37069PS_contig_115" . + "3:CVM N37069PS" . + "4:Farm" . + "5:taxon:562" . + "6:USA" . + "7:20-Jan-2012" . + . + "Range1" . + "427"^^ . + . + . + "95"^^ . + . + "SequenceFeature4" . + . + . + . + "0:locus_tag" . + "0:PU64_23665" . + . + "Range1" . + "427"^^ . + . + . + "95"^^ . + . + "SequenceFeature5" . + . + . + . + "0:locus_tag" . + "1:inference" . + "2:note" . + "3:codon_start" . + "4:transl_table" . + "5:product" . + "6:protein_id" . + "7:translation" . + "0:PU64_23665" . + "1:EXISTENCE: similar to AA sequence:RefSeq:WP_001349257.1" . + "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . + "3:1" . + "4:11" . + "5:hypothetical protein" . + "6:KIG36585.1" . + "7:MSNTLNHTSSRQIVRHYTHRQKRRKHLMQYFVSANGLFELKVKVYAFLFDVILQGNCPSVSIIADIPCFFLFHFHAIRYAFYSIHPTYRAECESERLTLLLTAQGCALSL" . + . + "Range1" . + "791"^^ . + . + . + "396"^^ . + . + "SequenceFeature6" . + . + . + . + "0:locus_tag" . + "0:PU64_23670" . + . + "Range1" . + "791"^^ . + . + . + "396"^^ . + . + "SequenceFeature7" . + . + . + . + "0:locus_tag" . + "1:inference" . + "2:note" . + "3:codon_start" . + "4:transl_table" . + "5:product" . + "6:protein_id" . + "7:translation" . + "0:PU64_23670" . + "1:EXISTENCE: similar to AA sequence:RefSeq:WP_001701843.1" . + "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . + "3:1" . + "4:11" . + "5:mRNA endoribonuclease" . + "6:KIG36580.1" . + "7:MVERTAVFPAGRHSLYAEHRYSAAIRSGDLLFVSGQVGSREDGTPEPDFQQQVRLAFDNLHATLAAAGCTFDDIIDVTSFHTDPENQFEDIMTVKNEIFSAPPYPNWTAVGVTWLAGFDFEIKVIARIPEQ" . + . + "Range1" . + "1635"^^ . + . + . + "922"^^ . + . + "SequenceFeature8" . + . + . + . + "0:locus_tag" . + "0:PU64_23675" . + . + "Range1" . + "1635"^^ . + . + . + "922"^^ . + . + "SequenceFeature9" . + . + . + . + "0:locus_tag" . + "1:inference" . + "2:note" . + "3:codon_start" . + "4:transl_table" . + "5:product" . + "6:protein_id" . + "7:translation" . + "0:PU64_23675" . + "1:EXISTENCE: similar to AA sequence:SwissProt:P39333.2" . + "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . + "3:1" . + "4:11" . + "5:oxidoreductase" . + "6:KIG36581.1" . + "7:MGAFTGKTVLILGGSRGIGAAIVRRFVTDGANVRFTYAGSKDAAKRLAQETGATAVFTDSADRDAVIDVVRKSGALDILVVNAGIGVFGEALELNADDIDRLFKINIHAPYHASVEAARQMPEGGRILIIGSVNGDRMPVAGMAAYAASKSALQGMARGLARDFGPRGITINVVQPGPIDTDANPANGPMRDMLHSLMAIKRHGQPEEVAGMVAWLAGPEASFVTGAMHTIDGAFGA" . + . + "Escherichia coli strain CVM N37069PS N37069PS_contig_115, whole genome shotgun sequence" . + "JWYZ01000115" . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + "JWYZ01000115" . + "Annotation was added by the NCBI Prokaryotic Genome Annotation\nPipeline (released 2013). Information about the Pipeline can be\nfound here: http://www.ncbi.nlm.nih.gov/genome/annotation_prok/" . + "16-JAN-2015" . + "BioProject:PRJNA266657::BioSample:SAMN03177677" . + "BCT" . + "JWYZ01000115.1" . + "WGS" . + "JWYZ01000115" . + "DNA" . + "JWYZ01000115" . + "Escherichia coli" . + . + . + "1"^^ . + "Escherichia coli" . + . + . + "Bacteria,Proteobacteria,Gammaproteobacteria,Enterobacterales,Enterobacteriaceae,Escherichia" . + "linear" . + . + "JWYZ01000115_sequence" . + "aaaaaaaagcccctcgattgaggggctgggaatgggtgatcaacgggaagaaaaacggcaggccagcgtcttttttcagacgcggtaagacaaaatgtcgaacacactgaaccatacatcctcccggcaaattgtccggcattatactcatcgtcagaagcggcgcaagcatttgatgcaatattttgtcagcgcaaacggtttatttgaattaaaagtcaaggtatatgcatttttatttgatgtgattctgcaggggaactgtccttcggtatcaataattgcagacattccctgctttttcctttttcactttcacgcaatcagatatgcattttattccattcatccgacttatagggcggagtgtgaaagcgaacggctaacactattgcttactgctcagggatgcgcgctatcactttaatttcaaaatcaaagcctgccagccatgtaacacccaccgccgtccagtttggataaggtggggcgctaaatatttcatttttcaccgtcatgatgtcttcaaattggttttctggatcggtatggaagctcgtaacatcaatgatatcgtcaaaagtgcatcccgcagctgccagggtcgcatgcaaattatcaaatgccagtctgacttgttgctgaaaatcgggttctggtgttccgtcctctcgacttcctacttgcccggaaacaaacagcaaatcgccggaacgaatagccgcagaataacgatgctcagcatatagtgaatgtcggccagcagggaaaacagcggttctttctaccatttggttatcctcaagatttacgacatgaacagaagatttctctttaccgggagccgcttttagcggacgacgtgagtaaacaaaacccagacatcatggataatggctgggcttaattgagcgtagtcggttatgcgccaaacgcgccatcaatggtatgcattgcgccggtaacaaaactggcttctggccctgctaaccatgcgaccataccagcgacctcttccggttgcccatgtcttttgatagccatcaaactatgcaacatatcgcgcattggcccgttggcgggattagcgtcggtatcaattggccctggctggacgacgttaatggtgatcccacgcggtccaaaatcacgggccagcccgcgcgccatgccttgcagggcagatttgctggcggcataagcagccatgcctgcaacaggcatacgatcgccattcacggagccgatgattaagatgcgcccgccttcgggcatctgccgggcggcttcaacagaggcatgataaggagcatgaatattgattttgaaaaggcgatcaatatcgtcggcatttaattccagggcctcgccaaagacgccaatacctgcatttaccaccaggatatccaatgcgccgctcttacgaacgacatcaatgacagcgtctctgtcagcactatctgtgaatactgctgtcgctccagtctcttgtgccaggcgtttagcggcatctttcgaccccgcataggtgaatcgtacattggccccatcggtgacgaaacgacgtacgatagcggcaccgataccacgactgccaccgaggatgagaactgtcttacctgtaaaagcgcccataaggactccttgatttattatgtaacatgcattacaaaactgttttaactttctgtcaacatgttttgtaatggtcactaaaaaacaatctcgcgttccaggtcgtcccagacgtttcgctcctgagcaggcaatctctgcggcaaaagtgctttttcaccaaaaaggtttcgatgctgtcagtgttgctgaagttactgattatcttggtattaaccccccgagcctctacgcggcttttggcagtaaagctgggttatttagccgtgtactcaatgaatacgtcggtacggaagctattccgcttgccgatattcttcgtgatgatcgtccagtaggcgagtgcctggttgaggtattaaaagaagcggcgcgcagatatagccaaaacggcggctgcgctggctgtatggttcttgaaggtattcatagtcatgatccactagcgcgtgatattgccgttcaatattatcacgccgcagaaacgaccatttatgactatatcgccaggcggcatccacaaagcgcacaatgtgtgactgattttatgagtaccgtgatgtcagggctttctgcgaaggcacgggaggggcactcaatcgaacaactctgtgcaacagctgcactggcgggggaagcgataaaaactcttctcaaggagtgatgctggccttgatccgaaaggcgggaacgcgcctgccgataagttgtgataagacaataattcacgcattaaggctagcggaattgatcatcttttcgtataacgatagaaatgaaacgttgttttaattaaggagtggaaaagatgatcatcggaaatattcataatcttcagccgtggctaccccaggagttacgccaggcgattgagcatatcaaagcacacgttacggcagaaacgccaaagggcaagcacgatatcgaaggcaatcatctgttttatcttatctcggaagatatgaccgagccgtacgaagcccgccgtgcggagtaccatgcccgctatctcgacattcagattgtgttaaaaggtcaggaaggcatgaccttcagcacgcaacctgcaggcacgccggataccgactggttagctgataaagacatcgcatttttgccggaaggcgttgatgagaaaacagttatccttaatgaaggtgattttgttgtgttttatccgggggaagtgcataaaccgctgtgcgcagtgggtgcaccagcccaggttcgcaaagcagtagtgaagatgctgatggcgtgatgacttttcgccgtaaataactccaggtttacggcgagtttgtgaaaagagcgttttttgatatttttttgtgagtaaaatttgtaatgcttagacgttcttattaactcaaggagtccgtcatgagcaaaatatcaggttggaatttttctcaaaacattacatcagccgacaattgtaaacaaaaaaatgaagacttagatacctggtatgtgggaatgaatgattttgcccgaattgccggagggcagaatagcagaagcaatattctttctcccagagcatttttggagtttttggctaagatatttaccctgggttatgtggattttagcaaacgctccaa" . + . + . + . diff --git a/test/test_files/sbol2_implementation.xml b/test/test_files/sbol2_implementation.xml index e69de29b..681afc6a 100644 --- a/test/test_files/sbol2_implementation.xml +++ b/test/test_files/sbol2_implementation.xml @@ -0,0 +1,28 @@ + + + + design + + + + 1.0.0 + + + mutant + + + + 1.0.0 + + + + build + + 1.0.0 + + + diff --git a/test/test_files/sbol3_genbank_conversion/ignoring_sbol_properties.nt.test b/test/test_files/sbol3_genbank_conversion/ignoring_sbol_properties.nt.test new file mode 100644 index 00000000..43e3d22e --- /dev/null +++ b/test/test_files/sbol3_genbank_conversion/ignoring_sbol_properties.nt.test @@ -0,0 +1,115 @@ +LOCUS BBa_J23100 35 bp DNA linear UNK 01-JAN-1980 +DEFINITION constitutive promoter family member. +ACCESSION BBa_J23100 +VERSION BBa_J23100.1 +KEYWORDS . +SOURCE . + ORGANISM . + . +FEATURES Location/Qualifiers +ORIGIN + 1 ttgacggcta gctcagtcct aggtacagtg ctagc +// +LOCUS BBa_J23102 35 bp DNA linear UNK 01-JAN-1980 +DEFINITION constitutive promoter family member. +ACCESSION BBa_J23102 +VERSION BBa_J23102.1 +KEYWORDS . +SOURCE . + ORGANISM . + . +FEATURES Location/Qualifiers +ORIGIN + 1 ttgacagcta gctcagtcct aggtactgtg ctagc +// +LOCUS LmrA 567 bp DNA linear UNK 01-JAN-1980 +DEFINITION . +ACCESSION LmrA +VERSION LmrA.1 +KEYWORDS . +SOURCE . + ORGANISM . + . +FEATURES Location/Qualifiers +ORIGIN + 1 atgagctatg gtgatagccg tgaaaaaatt ctgagcgcag caacccgtct gtttcagctg + 61 cagggttatt atggcaccgg tctgaatcag attatcaaag aaagcggtgc accgaaaggt + 121 agcctgtatt atcattttcc gggtggtaaa gaacagctgg caattgaagc agtgaacgaa + 181 atgaaagaat atatccgcca gaaaatcgcc gattgtatgg aagcatgtac cgatccggca + 241 gaaggtattc aggcatttct gaaagaactg agctgtcagt ttagctgtac cgaagatatt + 301 gaaggtctgc cggttggtct gctggcagca gaaaccagcc tgaaaagcga accgctgcgt + 361 gaagcatgtc atgaagcata taaagaatgg gccagcgtgt atgaagaaaa actgcgtcag + 421 accggttgta gcgaaagccg tgcaaaagaa gcaagcaccg ttgttaatgc aatgattgaa + 481 ggtggtattc tgctgagcct gaccgcaaaa aatagcacac cgctgctgca tattagcagc + 541 tgtattccgg atctgctgaa acgttaa +// +LOCUS pSB1C3 2070 bp DNA linear UNK 01-JAN-1980 +DEFINITION High copy BioBrick assembly plasmid. +ACCESSION pSB1C3 +VERSION pSB1C3.1 +KEYWORDS . +SOURCE . + ORGANISM . + . +FEATURES Location/Qualifiers + misc_feature 0..21 + /label="BioBrick suffix" + stem_loop 21..93 + /label="E. coli his operon terminator" + stem_loop 29..64 + /label="Stem loop" + primer_bind 156..176 + /label="Verification reverse (VR) primer binding site" + misc_feature 260..875 + /label="rep (pMB1)" + misc_feature 275..276 + /label="ORI" + stem_loop 1041..1147 + /label="T0 terminator" + CDS 1159..1819 + /label="Chloramphenicol resistance" + primer_bind 1932..1952 + /label="Verification forward (VF2) primer binding site" + stem_loop 2008..2012 + /label="end of terminator" + stem_loop 2021..2041 + /label="Stem loop" + misc_feature 2050..2072 + /label="BioBrick prefix" +ORIGIN + 1 tactagtagc ggccgctgca gtccggcaaa aaagggcaag gtgtcaccac cctgcccttt + 61 ttctttaaaa ccgaaaagat tacttcgcgt tatgcaggct tcctcgctca ctgactcgct + 121 gcgctcggtc gttcggctgc ggcgagcggt atcagctcac tcaaaggcgg taatacggtt + 181 atccacagaa tcaggggata acgcaggaaa gaacatgtga gcaaaaggcc agcaaaaggc + 241 caggaaccgt aaaaaggccg cgttgctggc gtttttccac aggctccgcc cccctgacga + 301 gcatcacaaa aatcgacgct caagtcagag gtggcgaaac ccgacaggac tataaagata + 361 ccaggcgttt ccccctggaa gctccctcgt gcgctctcct gttccgaccc tgccgcttac + 421 cggatacctg tccgcctttc tcccttcggg aagcgtggcg ctttctcata gctcacgctg + 481 taggtatctc agttcggtgt aggtcgttcg ctccaagctg ggctgtgtgc acgaaccccc + 541 cgttcagccc gaccgctgcg ccttatccgg taactatcgt cttgagtcca acccggtaag + 601 acacgactta tcgccactgg cagcagccac tggtaacagg attagcagag cgaggtatgt + 661 aggcggtgct acagagttct tgaagtggtg gcctaactac ggctacacta gaagaacagt + 721 atttggtatc tgcgctctgc tgaagccagt taccttcgga aaaagagttg gtagctcttg + 781 atccggcaaa caaaccaccg ctggtagcgg tggttttttt gtttgcaagc agcagattac + 841 gcgcagaaaa aaaggatctc aagaagatcc tttgatcttt tctacggggt ctgacgctca + 901 gtggaacgaa aactcacgtt aagggatttt ggtcatgaga ttatcaaaaa ggatcttcac + 961 ctagatcctt ttaaattaaa aatgaagttt taaatcaatc taaagtatat atgagtaaac + 1021 ttggtctgac agctcgaggc ttggattctc accaataaaa aacgcccggc ggcaaccgag + 1081 cgttctgaac aaatccagat ggagttctga ggtcattact ggatctatca acaggagtcc + 1141 aagcgagctc gatatcaaat tacgccccgc cctgccactc atcgcagtac tgttgtaatt + 1201 cattaagcat tctgccgaca tggaagccat cacaaacggc atgatgaacc tgaatcgcca + 1261 gcggcatcag caccttgtcg ccttgcgtat aatatttgcc catggtgaaa acgggggcga + 1321 agaagttgtc catattggcc acgtttaaat caaaactggt gaaactcacc cagggattgg + 1381 ctgagacgaa aaacatattc tcaataaacc ctttagggaa ataggccagg ttttcaccgt + 1441 aacacgccac atcttgcgaa tatatgtgta gaaactgccg gaaatcgtcg tggtattcac + 1501 tccagagcga tgaaaacgtt tcagtttgct catggaaaac ggtgtaacaa gggtgaacac + 1561 tatcccatat caccagctca ccgtctttca ttgccatacg aaattccgga tgagcattca + 1621 tcaggcgggc aagaatgtga ataaaggccg gataaaactt gtgcttattt ttctttacgg + 1681 tctttaaaaa ggccgtaata tccagctgaa cggtctggtt ataggtacat tgagcaactg + 1741 actgaaatgc ctcaaaatgt tctttacgat gccattggga tatatcaacg gtggtatatc + 1801 cagtgatttt tttctccatt ttagcttcct tagctcctga aaatctcgat aactcaaaaa + 1861 atacgcccgg tagtgatctt atttcattat ggtgaaagtt ggaacctctt acgtgcccga + 1921 tcaactcgag tgccacctga cgtctaagaa accattatta tcatgacatt aacctataaa + 1981 aataggcgta tcacgaggca gaatttcaga taaaaaaaat ccttagcttt cgctaaggat + 2041 gatttctgga attcgcggcc gcttctagag +// diff --git a/test/test_files/sbol3_implementation.xml b/test/test_files/sbol3_implementation.xml index e69de29b..d6b62981 100644 --- a/test/test_files/sbol3_implementation.xml +++ b/test/test_files/sbol3_implementation.xml @@ -0,0 +1,22 @@ + + + + + + + + TetR protein + TetR + + + TetR_protein + + + + + impl1 + + + + diff --git a/test/test_files/sbol_3to2to3_implementation.nt b/test/test_files/sbol_3to2to3_implementation.nt new file mode 100644 index 00000000..8d9815eb --- /dev/null +++ b/test/test_files/sbol_3to2to3_implementation.nt @@ -0,0 +1,12 @@ + "TetR_protein" . + "1" . + . + "1" . + "TetR" . + . + "TetR protein" . + . + "impl1" . + . + . + . diff --git a/test/test_files/sbol_3to2to3_implementation.xml b/test/test_files/sbol_3to2to3_implementation.xml new file mode 100644 index 00000000..4764966a --- /dev/null +++ b/test/test_files/sbol_3to2to3_implementation.xml @@ -0,0 +1,23 @@ + + + + impl1 + + + 1 + + + TetR_protein + TetR + TetR protein + + + + + 1 + + diff --git a/test/test_sbol2_sbol3_direct.py b/test/test_sbol2_sbol3_direct.py index ff519c6d..a71c67ec 100644 --- a/test/test_sbol2_sbol3_direct.py +++ b/test/test_sbol2_sbol3_direct.py @@ -18,7 +18,7 @@ def test_3to2_conversion(self): """Test ability to convert a simple part from SBOL3 to SBOL2""" # Load an SBOL3 document and check its contents doc3 = sbol3.Document() - doc3.read(TEST_FILES / 'sbol3_implementation.nt') + doc3.read(TEST_FILES / 'sbol3_implementation.xml') # Convert to SBOL2 and check contents doc2 = convert3to2(doc3, True) #report = doc2.validate() @@ -26,31 +26,33 @@ def test_3to2_conversion(self): with tempfile.TemporaryDirectory() as tmpdir: tmp2 = Path(tmpdir) / 'doc2.xml' doc2.write(tmp2) - self.assertFalse(file_diff(str(tmp2), str(TEST_FILES / 'BBa_J23101.xml'))) + #doc2.write('C:\\Users\Yehuda\\SBOL-utilities\\test\\test_files\\sbol_3to2_implementation.xml') + self.assertFalse(file_diff(str(tmp2), str(TEST_FILES / 'sbol_3to2_implementation.xml'))) doc3_loop = convert2to3(doc2, use_native_converter=True) self.assertEqual(len(doc3_loop.validate()), 0) tmp3 = Path(tmpdir) / 'doc3_loop.nt' doc3_loop.write(tmp3) - self.assertFalse(file_diff(str(tmp3), str(TEST_FILES / 'BBa_J23101_patched.nt'))) + doc3_loop.write('C:\\Users\Yehuda\\SBOL-utilities\\test\\test_files\\sbol_3to2to3_implementation.xml') + self.assertFalse(file_diff(str(tmp3), str(TEST_FILES / 'sbol3_implementation.xml'))) def test_2to3_conversion(self): """Test ability to convert a simple part from SBOL2 to SBOL3""" # Load an SBOL2 document and check its contents doc2 = sbol2.Document() - doc2.read(TEST_FILES / 'BBa_J23101.xml') + doc2.read(TEST_FILES / 'sbol_3to2_implementation.xml') # Convert to SBOL3 and check contents doc3 = convert2to3(doc2, use_native_converter=True) self.assertEqual(len(doc3.validate()), 0) with tempfile.TemporaryDirectory() as tmpdir: tmp3 = Path(tmpdir) / 'doc3.nt' doc3.write(tmp3) - self.assertFalse(file_diff(str(tmp3), str(TEST_FILES / 'BBa_J23101_patched.nt'))) + self.assertFalse(file_diff(str(tmp3), str(TEST_FILES / 'sbol3_implementation.nt'))) doc2_loop = convert3to2(doc3, True) # report = doc2.validate() # self.assertEqual(len(report), 0, f'Validation failed: {report}') tmp2 = Path(tmpdir) / 'doc2_loop.xml' doc2_loop.write(tmp2) - self.assertFalse(file_diff(str(tmp2), str(TEST_FILES / 'BBa_J23101.xml'))) + self.assertFalse(file_diff(str(tmp2), str(TEST_FILES / 'sbol_3to2_implementation.xml'))) if __name__ == '__main__': From c26de441c4b1848434bbaab0304a2d243228ef36 Mon Sep 17 00:00:00 2001 From: Yehuda-Binik Date: Tue, 17 Oct 2023 11:54:00 -0400 Subject: [PATCH 04/14] Fixed 'built' link bug --- sbol_utilities/sbol3_sbol2_conversion.py | 3 ++- test/test_files/sbol_3to2_implementation.xml | 21 +++++++++-------- .../test_files/sbol_3to2to3_implementation.nt | 12 ---------- .../sbol_3to2to3_implementation.xml | 23 ------------------- test/test_sbol2_sbol3_direct.py | 4 ++-- 5 files changed, 15 insertions(+), 48 deletions(-) delete mode 100644 test/test_files/sbol_3to2to3_implementation.nt delete mode 100644 test/test_files/sbol_3to2to3_implementation.xml diff --git a/sbol_utilities/sbol3_sbol2_conversion.py b/sbol_utilities/sbol3_sbol2_conversion.py index f73e5a45..76c9ac5d 100644 --- a/sbol_utilities/sbol3_sbol2_conversion.py +++ b/sbol_utilities/sbol3_sbol2_conversion.py @@ -200,6 +200,7 @@ def visit_implementation(self, implement3: sbol3.Implementation): # Priority: 1 # Make the Implement object and add it to the document implement2 = sbol2.Implementation(implement3.identity, version=self._sbol2_version(implement3)) + implement2.built = implement3.built self.doc2.addImplementation(implement2) # Map over all other TopLevel properties and extensions not covered by the constructor self._convert_toplevel(implement3, implement2) @@ -469,7 +470,7 @@ def visit_generic_location(self, a: sbol2.GenericLocation): def visit_implementation(self, imp2: sbol2.Implementation): # Priority: 1 # Make the Implementation object and add it to the document - imp3 = sbol3.Implementation(imp2.identity, namespace=self._sbol3_namespace(imp2)) + imp3 = sbol3.Implementation(imp2.identity, namespace=self._sbol3_namespace(imp2), built=imp2.built) self.doc3.add(imp3) # Map over all other TopLevel properties and extensions not covered by the constructor self._convert_toplevel(imp2, imp3) diff --git a/test/test_files/sbol_3to2_implementation.xml b/test/test_files/sbol_3to2_implementation.xml index 6d2471b9..7ede9fe2 100644 --- a/test/test_files/sbol_3to2_implementation.xml +++ b/test/test_files/sbol_3to2_implementation.xml @@ -1,18 +1,19 @@ - - 1 - impl1 - - - - - 1 - TetR_protein TetR + TetR protein - + 1 + TetR_protein + + + + + 1 + impl1 + + diff --git a/test/test_files/sbol_3to2to3_implementation.nt b/test/test_files/sbol_3to2to3_implementation.nt deleted file mode 100644 index 8d9815eb..00000000 --- a/test/test_files/sbol_3to2to3_implementation.nt +++ /dev/null @@ -1,12 +0,0 @@ - "TetR_protein" . - "1" . - . - "1" . - "TetR" . - . - "TetR protein" . - . - "impl1" . - . - . - . diff --git a/test/test_files/sbol_3to2to3_implementation.xml b/test/test_files/sbol_3to2to3_implementation.xml deleted file mode 100644 index 4764966a..00000000 --- a/test/test_files/sbol_3to2to3_implementation.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - impl1 - - - 1 - - - TetR_protein - TetR - TetR protein - - - - - 1 - - diff --git a/test/test_sbol2_sbol3_direct.py b/test/test_sbol2_sbol3_direct.py index a71c67ec..f4cbff8a 100644 --- a/test/test_sbol2_sbol3_direct.py +++ b/test/test_sbol2_sbol3_direct.py @@ -26,13 +26,13 @@ def test_3to2_conversion(self): with tempfile.TemporaryDirectory() as tmpdir: tmp2 = Path(tmpdir) / 'doc2.xml' doc2.write(tmp2) - #doc2.write('C:\\Users\Yehuda\\SBOL-utilities\\test\\test_files\\sbol_3to2_implementation.xml') + doc2.write('C:\\Users\Yehuda\\SBOL-utilities\\test\\test_files\\sbol_3to2_implementation.xml') self.assertFalse(file_diff(str(tmp2), str(TEST_FILES / 'sbol_3to2_implementation.xml'))) doc3_loop = convert2to3(doc2, use_native_converter=True) self.assertEqual(len(doc3_loop.validate()), 0) tmp3 = Path(tmpdir) / 'doc3_loop.nt' doc3_loop.write(tmp3) - doc3_loop.write('C:\\Users\Yehuda\\SBOL-utilities\\test\\test_files\\sbol_3to2to3_implementation.xml') + #doc3_loop.write('C:\\Users\Yehuda\\SBOL-utilities\\test\\test_files\\sbol_3to2to3_implementation.xml') self.assertFalse(file_diff(str(tmp3), str(TEST_FILES / 'sbol3_implementation.xml'))) def test_2to3_conversion(self): From ac0d7b82357694432e921684ccdd8783d2a17c33 Mon Sep 17 00:00:00 2001 From: Yehuda-Binik Date: Wed, 18 Oct 2023 20:19:00 -0400 Subject: [PATCH 05/14] Fixed backport version bug and brought back original test cases --- test/test_files/sbol3_implementation.nt | 2 + test/test_files/sbol3_implementation.xml | 6 +-- .../test_files/sbol_3to2_implementatio_nt.xml | 22 +++++++++ test/test_files/sbol_3to2_implementation.xml | 14 +++--- .../test_files/sbol_3to2to3_implementation.nt | 13 +++++ .../sbol_3to2to3_implementation.xml | 24 +++++++++ test/test_sbol2_sbol3_direct.py | 49 +++++++++++++++++-- 7 files changed, 114 insertions(+), 16 deletions(-) create mode 100644 test/test_files/sbol_3to2_implementatio_nt.xml create mode 100644 test/test_files/sbol_3to2to3_implementation.nt create mode 100644 test/test_files/sbol_3to2to3_implementation.xml diff --git a/test/test_files/sbol3_implementation.nt b/test/test_files/sbol3_implementation.nt index ef1ac954..64a32fb0 100644 --- a/test/test_files/sbol3_implementation.nt +++ b/test/test_files/sbol3_implementation.nt @@ -9,3 +9,5 @@ . "TetR_protein" . . + "1" . + "1" . diff --git a/test/test_files/sbol3_implementation.xml b/test/test_files/sbol3_implementation.xml index d6b62981..5fed035c 100644 --- a/test/test_files/sbol3_implementation.xml +++ b/test/test_files/sbol3_implementation.xml @@ -1,7 +1,7 @@ - - @@ -13,10 +13,8 @@ TetR_protein - impl1 - diff --git a/test/test_files/sbol_3to2_implementatio_nt.xml b/test/test_files/sbol_3to2_implementatio_nt.xml new file mode 100644 index 00000000..9ef51940 --- /dev/null +++ b/test/test_files/sbol_3to2_implementatio_nt.xml @@ -0,0 +1,22 @@ + + + + + + + TetR + TetR_protein + + + TetR protein + + + + + + impl1 + + diff --git a/test/test_files/sbol_3to2_implementation.xml b/test/test_files/sbol_3to2_implementation.xml index 7ede9fe2..d9ef888d 100644 --- a/test/test_files/sbol_3to2_implementation.xml +++ b/test/test_files/sbol_3to2_implementation.xml @@ -1,19 +1,19 @@ - - TetR - TetR protein - 1 - TetR_protein + TetR + TetR_protein + + + TetR protein - + + 1 impl1 - diff --git a/test/test_files/sbol_3to2to3_implementation.nt b/test/test_files/sbol_3to2to3_implementation.nt new file mode 100644 index 00000000..080ee87d --- /dev/null +++ b/test/test_files/sbol_3to2to3_implementation.nt @@ -0,0 +1,13 @@ + "1" . + . + . + . + . + . + . + "impl1" . + "1" . + "TetR_protein" . + "TetR protein" . + . + "TetR" . diff --git a/test/test_files/sbol_3to2to3_implementation.xml b/test/test_files/sbol_3to2to3_implementation.xml new file mode 100644 index 00000000..73166e09 --- /dev/null +++ b/test/test_files/sbol_3to2to3_implementation.xml @@ -0,0 +1,24 @@ + + + + impl1 + + + + 1 + + + TetR_protein + TetR + TetR protein + + + + + 1 + + diff --git a/test/test_sbol2_sbol3_direct.py b/test/test_sbol2_sbol3_direct.py index f4cbff8a..8dfbb415 100644 --- a/test/test_sbol2_sbol3_direct.py +++ b/test/test_sbol2_sbol3_direct.py @@ -14,11 +14,12 @@ class TestDirectSBOL2SBOL3Conversion(unittest.TestCase): # TODO: turn on validation + def test_3to2_conversion(self): """Test ability to convert a simple part from SBOL3 to SBOL2""" # Load an SBOL3 document and check its contents doc3 = sbol3.Document() - doc3.read(TEST_FILES / 'sbol3_implementation.xml') + doc3.read(TEST_FILES / 'BBa_J23101_patched.nt') # Convert to SBOL2 and check contents doc2 = convert3to2(doc3, True) #report = doc2.validate() @@ -26,19 +27,57 @@ def test_3to2_conversion(self): with tempfile.TemporaryDirectory() as tmpdir: tmp2 = Path(tmpdir) / 'doc2.xml' doc2.write(tmp2) - doc2.write('C:\\Users\Yehuda\\SBOL-utilities\\test\\test_files\\sbol_3to2_implementation.xml') - self.assertFalse(file_diff(str(tmp2), str(TEST_FILES / 'sbol_3to2_implementation.xml'))) + self.assertFalse(file_diff(str(tmp2), str(TEST_FILES / 'BBa_J23101.xml'))) doc3_loop = convert2to3(doc2, use_native_converter=True) self.assertEqual(len(doc3_loop.validate()), 0) tmp3 = Path(tmpdir) / 'doc3_loop.nt' doc3_loop.write(tmp3) - #doc3_loop.write('C:\\Users\Yehuda\\SBOL-utilities\\test\\test_files\\sbol_3to2to3_implementation.xml') - self.assertFalse(file_diff(str(tmp3), str(TEST_FILES / 'sbol3_implementation.xml'))) + self.assertFalse(file_diff(str(tmp3), str(TEST_FILES / 'BBa_J23101_patched.nt'))) def test_2to3_conversion(self): """Test ability to convert a simple part from SBOL2 to SBOL3""" # Load an SBOL2 document and check its contents doc2 = sbol2.Document() + doc2.read(TEST_FILES / 'BBa_J23101.xml') + # Convert to SBOL3 and check contents + doc3 = convert2to3(doc2, use_native_converter=True) + self.assertEqual(len(doc3.validate()), 0) + with tempfile.TemporaryDirectory() as tmpdir: + tmp3 = Path(tmpdir) / 'doc3.nt' + doc3.write(tmp3) + self.assertFalse(file_diff(str(tmp3), str(TEST_FILES / 'BBa_J23101_patched.nt'))) + doc2_loop = convert3to2(doc3, True) + # report = doc2.validate() + # self.assertEqual(len(report), 0, f'Validation failed: {report}') + tmp2 = Path(tmpdir) / 'doc2_loop.xml' + doc2_loop.write(tmp2) + self.assertFalse(file_diff(str(tmp2), str(TEST_FILES / 'BBa_J23101.xml'))) + + def test_3to2_implementation_conversion(self): + """Test ability to convert an implementation from SBOL3 to SBOL2""" + # Load an SBOL3 document and check its contents + doc3 = sbol3.Document() + doc3.read(TEST_FILES / 'sbol3_implementation.nt') + # Convert to SBOL2 and check contents + doc2 = convert3to2(doc3, True) + #report = doc2.validate() + #self.assertEqual(len(report), 0, f'Validation failed: {report}') + with tempfile.TemporaryDirectory() as tmpdir: + tmp2 = Path(tmpdir) / 'doc2.xml' + doc2.write(tmp2) + #doc2.write('C:\\Users\Yehuda\\SBOL-utilities\\test\\test_files\\sbol_3to2_implementation.xml') + self.assertFalse(file_diff(str(tmp2), str(TEST_FILES / 'sbol_3to2_implementation.xml'))) + doc3_loop = convert2to3(doc2, use_native_converter=True) + self.assertEqual(len(doc3_loop.validate()), 0) + tmp3 = Path(tmpdir) / 'doc3_loop.nt' + doc3_loop.write(tmp3) + #doc3_loop.write('C:\\Users\Yehuda\\SBOL-utilities\\test\\test_files\\sbol_3to2to3_implementation.nt') + self.assertFalse(file_diff(str(tmp3), str(TEST_FILES / 'sbol3_implementation.nt'))) + + def test_2to3_implementation_conversion(self): + """Test ability to convert an implementation from SBOL2 to SBOL3""" + # Load an SBOL2 document and check its contents + doc2 = sbol2.Document() doc2.read(TEST_FILES / 'sbol_3to2_implementation.xml') # Convert to SBOL3 and check contents doc3 = convert2to3(doc2, use_native_converter=True) From 9c03840014139109a8a01890d52c48cbb7619857 Mon Sep 17 00:00:00 2001 From: Yehuda-Binik Date: Wed, 18 Oct 2023 20:22:23 -0400 Subject: [PATCH 06/14] Deleted unused test files --- test/test_files/sbol2_implementation.xml | 28 ------------------- test/test_files/sbol3_implementation.xml | 20 ------------- .../test_files/sbol_3to2_implementatio_nt.xml | 22 --------------- .../sbol_3to2to3_implementation.xml | 24 ---------------- 4 files changed, 94 deletions(-) delete mode 100644 test/test_files/sbol2_implementation.xml delete mode 100644 test/test_files/sbol3_implementation.xml delete mode 100644 test/test_files/sbol_3to2_implementatio_nt.xml delete mode 100644 test/test_files/sbol_3to2to3_implementation.xml diff --git a/test/test_files/sbol2_implementation.xml b/test/test_files/sbol2_implementation.xml deleted file mode 100644 index 681afc6a..00000000 --- a/test/test_files/sbol2_implementation.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - design - - - - 1.0.0 - - - mutant - - - - 1.0.0 - - - - build - - 1.0.0 - - - diff --git a/test/test_files/sbol3_implementation.xml b/test/test_files/sbol3_implementation.xml deleted file mode 100644 index 5fed035c..00000000 --- a/test/test_files/sbol3_implementation.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - TetR protein - TetR - - - TetR_protein - - - - impl1 - - - diff --git a/test/test_files/sbol_3to2_implementatio_nt.xml b/test/test_files/sbol_3to2_implementatio_nt.xml deleted file mode 100644 index 9ef51940..00000000 --- a/test/test_files/sbol_3to2_implementatio_nt.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - TetR - TetR_protein - - - TetR protein - - - - - - impl1 - - diff --git a/test/test_files/sbol_3to2to3_implementation.xml b/test/test_files/sbol_3to2to3_implementation.xml deleted file mode 100644 index 73166e09..00000000 --- a/test/test_files/sbol_3to2to3_implementation.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - impl1 - - - - 1 - - - TetR_protein - TetR - TetR protein - - - - - 1 - - From 98b9372dd6533de88851fdfe2dfbf0eadbe08429 Mon Sep 17 00:00:00 2001 From: Yehuda-Binik Date: Wed, 18 Oct 2023 20:39:05 -0400 Subject: [PATCH 07/14] changed the formatting of variable names in visit_implementation() in the SBOL3To2ConversionVisitor class to comply with variable naming conventions --- sbol_utilities/sbol3_sbol2_conversion.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sbol_utilities/sbol3_sbol2_conversion.py b/sbol_utilities/sbol3_sbol2_conversion.py index 76c9ac5d..d91cccf1 100644 --- a/sbol_utilities/sbol3_sbol2_conversion.py +++ b/sbol_utilities/sbol3_sbol2_conversion.py @@ -196,14 +196,14 @@ def visit_externally_defined(self, a: sbol3.ExternallyDefined): # Priority: 3 raise NotImplementedError('Conversion of ExternallyDefined from SBOL3 to SBOL2 not yet implemented') - def visit_implementation(self, implement3: sbol3.Implementation): + def visit_implementation(self, imp3: sbol3.Implementation): # Priority: 1 # Make the Implement object and add it to the document - implement2 = sbol2.Implementation(implement3.identity, version=self._sbol2_version(implement3)) - implement2.built = implement3.built - self.doc2.addImplementation(implement2) + imp2 = sbol2.Implementation(imp3.identity, version=self._sbol2_version(imp3)) + imp2.built = imp3.built + self.doc2.addImplementation(imp2) # Map over all other TopLevel properties and extensions not covered by the constructor - self._convert_toplevel(implement3, implement2) + self._convert_toplevel(imp3, imp2) def visit_interaction(self, a: sbol3.Interaction): # Priority: 2 From 8df37825d25448ab42610ab4a122416c20204146 Mon Sep 17 00:00:00 2001 From: Yehuda-Binik Date: Fri, 20 Oct 2023 13:25:06 -0400 Subject: [PATCH 08/14] Update .gitignore to ignore .idea and *.egg-info directories --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 3adefd14..16ddcf6e 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,6 @@ __pycache__/ # test secrets test_secret* + +.idea/ +*.egg-info/ From 299c2b17a15fd4c967c218e01c7fe73b3c5b5a82 Mon Sep 17 00:00:00 2001 From: Yehuda-Binik Date: Fri, 20 Oct 2023 13:35:42 -0400 Subject: [PATCH 09/14] removed .idea and sbol_utilities.egg-info directories --- .idea/.gitignore | 3 -- .idea/SBOL-Utilities.iml | 14 ------- .idea/inspectionProfiles/Project_Default.xml | 13 ------ .../inspectionProfiles/profiles_settings.xml | 6 --- .idea/misc.xml | 4 -- .idea/modules.xml | 8 ---- .idea/vcs.xml | 6 --- sbol_utilities.egg-info/PKG-INFO | 21 ---------- sbol_utilities.egg-info/SOURCES.txt | 42 ------------------- sbol_utilities.egg-info/dependency_links.txt | 1 - sbol_utilities.egg-info/entry_points.txt | 14 ------- sbol_utilities.egg-info/requires.txt | 13 ------ sbol_utilities.egg-info/top_level.txt | 1 - 13 files changed, 146 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/SBOL-Utilities.iml delete mode 100644 .idea/inspectionProfiles/Project_Default.xml delete mode 100644 .idea/inspectionProfiles/profiles_settings.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml delete mode 100644 sbol_utilities.egg-info/PKG-INFO delete mode 100644 sbol_utilities.egg-info/SOURCES.txt delete mode 100644 sbol_utilities.egg-info/dependency_links.txt delete mode 100644 sbol_utilities.egg-info/entry_points.txt delete mode 100644 sbol_utilities.egg-info/requires.txt delete mode 100644 sbol_utilities.egg-info/top_level.txt diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d33521..00000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/.idea/SBOL-Utilities.iml b/.idea/SBOL-Utilities.iml deleted file mode 100644 index 8e5446ac..00000000 --- a/.idea/SBOL-Utilities.iml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 3dc583b2..00000000 --- a/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 105ce2da..00000000 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 0c0bec30..00000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index cca27782..00000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7f..00000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/sbol_utilities.egg-info/PKG-INFO b/sbol_utilities.egg-info/PKG-INFO deleted file mode 100644 index 202f1d08..00000000 --- a/sbol_utilities.egg-info/PKG-INFO +++ /dev/null @@ -1,21 +0,0 @@ -Metadata-Version: 2.1 -Name: sbol-utilities -Version: 1.0a17 -Summary: SBOL utilities -Home-page: https://github.com/SynBioDex/SBOL-utilities -License: MIT License -Keywords: synthetic biology -Classifier: Development Status :: 3 - Alpha -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Description-Content-Type: text/markdown -Provides-Extra: dev -License-File: LICENSE.txt - -SBOL-utilities is a collection of scripts and functions for manipulating SBOL 3 data that can be imported as packages or run from the command line. diff --git a/sbol_utilities.egg-info/SOURCES.txt b/sbol_utilities.egg-info/SOURCES.txt deleted file mode 100644 index b5bd1086..00000000 --- a/sbol_utilities.egg-info/SOURCES.txt +++ /dev/null @@ -1,42 +0,0 @@ -LICENSE.txt -MANIFEST.in -README.md -pyproject.toml -setup.cfg -setup.py -sbol_utilities/__init__.py -sbol_utilities/calculate_complexity_scores.py -sbol_utilities/calculate_sequences.py -sbol_utilities/component.py -sbol_utilities/conversion.py -sbol_utilities/excel_to_sbol.py -sbol_utilities/expand_combinatorial_derivations.py -sbol_utilities/gb2so.csv -sbol_utilities/graph_sbol.py -sbol_utilities/helper_functions.py -sbol_utilities/sbol3_genbank_conversion.py -sbol_utilities/sbol3_sbol2_conversion.py -sbol_utilities/sbol_diff.py -sbol_utilities/sbolgraph-standalone.js -sbol_utilities/sequence.py -sbol_utilities/so2gb.csv -sbol_utilities/workarounds.py -sbol_utilities.egg-info/PKG-INFO -sbol_utilities.egg-info/SOURCES.txt -sbol_utilities.egg-info/dependency_links.txt -sbol_utilities.egg-info/entry_points.txt -sbol_utilities.egg-info/requires.txt -sbol_utilities.egg-info/top_level.txt -test/test_calculate_complexity_scores.py -test/test_calculate_sequences.py -test/test_component.py -test/test_conversion.py -test/test_docstr_coverage.py -test/test_excel_to_sbol.py -test/test_expand_combinatorial_derivations.py -test/test_genbank_sbol3_direct.py -test/test_graph_sbol.py -test/test_helpers.py -test/test_sbol2_sbol3_direct.py -test/test_sbol_diff.py -test/test_sequence.py \ No newline at end of file diff --git a/sbol_utilities.egg-info/dependency_links.txt b/sbol_utilities.egg-info/dependency_links.txt deleted file mode 100644 index 8b137891..00000000 --- a/sbol_utilities.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/sbol_utilities.egg-info/entry_points.txt b/sbol_utilities.egg-info/entry_points.txt deleted file mode 100644 index 0cf8abce..00000000 --- a/sbol_utilities.egg-info/entry_points.txt +++ /dev/null @@ -1,14 +0,0 @@ -[console_scripts] -excel-to-sbol = sbol_utilities.excel_to_sbol:main -fasta-to-sbol = sbol_utilities.conversion:fasta2sbol -genbank-to-sbol = sbol_utilities.conversion:genbank2sbol -graph-sbol = sbol_utilities.graph_sbol:main -sbol-calculate-complexity = sbol_utilities.calculate_complexity_scores:main -sbol-calculate-sequences = sbol_utilities.calculate_sequences:main -sbol-converter = sbol_utilities.conversion:main -sbol-diff = sbol_utilities.sbol_diff:main -sbol-expand-derivations = sbol_utilities.expand_combinatorial_derivations:main -sbol-to-fasta = sbol_utilities.conversion:sbol2fasta -sbol-to-genbank = sbol_utilities.conversion:sbol2genbank -sbol2-to-sbol3 = sbol_utilities.conversion:sbol2to3 -sbol3-to-sbol2 = sbol_utilities.conversion:sbol3to2 diff --git a/sbol_utilities.egg-info/requires.txt b/sbol_utilities.egg-info/requires.txt deleted file mode 100644 index fab893d0..00000000 --- a/sbol_utilities.egg-info/requires.txt +++ /dev/null @@ -1,13 +0,0 @@ -sbol3>=1.1 -sbol2>=1.4 -rdflib>=6.2 -biopython -graphviz -tyto>=1.4 -openpyxl -requests -sbol_factory>=1.1 - -[dev] -pytest -interrogate diff --git a/sbol_utilities.egg-info/top_level.txt b/sbol_utilities.egg-info/top_level.txt deleted file mode 100644 index 5a026f54..00000000 --- a/sbol_utilities.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -sbol_utilities From 972268fa84f6476b39521c213b81459b64c4c12a Mon Sep 17 00:00:00 2001 From: Yehuda-Binik <99425841+Yehuda-Binik@users.noreply.github.com> Date: Mon, 30 Oct 2023 20:35:23 -0400 Subject: [PATCH 10/14] Update sbol3_sbol2_conversion.py Removed unnecessary comment --- sbol_utilities/sbol3_sbol2_conversion.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/sbol_utilities/sbol3_sbol2_conversion.py b/sbol_utilities/sbol3_sbol2_conversion.py index d91cccf1..0168490e 100644 --- a/sbol_utilities/sbol3_sbol2_conversion.py +++ b/sbol_utilities/sbol3_sbol2_conversion.py @@ -475,8 +475,6 @@ def visit_implementation(self, imp2: sbol2.Implementation): # Map over all other TopLevel properties and extensions not covered by the constructor self._convert_toplevel(imp2, imp3) - # raise NotImplementedError('Conversion of Implementation from SBOL2 to SBOL3 not yet implemented') - def visit_interaction(self, a: sbol2.Interaction): # Priority: 2 raise NotImplementedError('Conversion of Interaction from SBOL2 to SBOL3 not yet implemented') From 4d092986578fde08b736018270431e75cd704fc1 Mon Sep 17 00:00:00 2001 From: Yehuda-Binik <99425841+Yehuda-Binik@users.noreply.github.com> Date: Mon, 30 Oct 2023 20:39:59 -0400 Subject: [PATCH 11/14] Delete test/sbol3.nt Deleted a file that was accidentally checked in --- test/sbol3.nt | 436 -------------------------------------------------- 1 file changed, 436 deletions(-) delete mode 100644 test/sbol3.nt diff --git a/test/sbol3.nt b/test/sbol3.nt deleted file mode 100644 index ed4e70d4..00000000 --- a/test/sbol3.nt +++ /dev/null @@ -1,436 +0,0 @@ - "Range1" . - "3242"^^ . - . - . - "0"^^ . - . - "GenbankReference1" . - "Tyson,G.H., McDermott,P.F., Li,C., Chen,Y., Tadesse,D.A., Mukherjee,S., Bodeis-Jones,S., Kabera,C., Gaines,S.A., Loneragan,G.H., Edrington,T.S., Torrence,M., Harhay,D.M. and Zhao,S." . - "" . - "JWYZ01000115" . - "" . - "J. Antimicrob. Chemother. 70 (10), 2763-2769 (2015)" . - . - "" . - "26142410" . - "WGS accurately predicts antimicrobial resistance in Escherichia coli" . - . - . - "Range1" . - "3242"^^ . - . - . - "0"^^ . - . - "GenbankReference2" . - "Tyson,G.H., McDermott,P.F., Li,C., Tadesse,D.A., Mukherjee,S., Bodeis-Jones,S., Kabera,C., Gaines,S.A., Loneragan,G.H., Edrington,T.S., Torrence,M., Harhay,D.M. and Zhao,S." . - "" . - "JWYZ01000115" . - "" . - "Submitted (17-NOV-2014) CVM, FDA, 8401 Muirkirk Rd, Laurel, MD 20708, USA" . - . - "" . - "" . - "Direct Submission" . - . - . - "GenbankStructuredComment1" . - "JWYZ01000115" . - "Genome-Assembly-Data" . - "1::Assembly Method" . - "2::Assembly Name" . - "3::Genome Coverage" . - "4::Sequencing Technology" . - "1::CLC Genomics Workbench v. 7.5" . - "2::Escherichia coli CVM N37069PS v1.0" . - "3::48.5x" . - "4::Illumina MiSeq" . - . - . - "GenbankStructuredComment2" . - "JWYZ01000115" . - "Genome-Annotation-Data" . - "10::CRISPR Arrays" . - "11::rRNAs" . - "12::tRNAs" . - "13::ncRNA" . - "14::Frameshifted Genes" . - "1::Annotation Provider" . - "2::Annotation Date" . - "3::Annotation Pipeline" . - "4::Annotation Method" . - "5::Annotation Software revision" . - "6::Features Annotated" . - "7::Genes" . - "8::CDS" . - "9::Pseudo Genes" . - "10::2" . - "11::11 (5S, 16S, 23S)" . - "12::78" . - "13::17" . - "14::41" . - "1::NCBI" . - "2::12/29/2014 14:07:05" . - "3::NCBI Prokaryotic Genome Annotation Pipeline" . - "4::Best-placed reference protein set; GeneMarkS+" . - "5::2.9 (rev. 455303)" . - "6::Gene; CDS; rRNA; tRNA; ncRNA; repeat_region" . - "7::4,855" . - "8::4,642" . - "9::107" . - . - . - "Range1" . - "115"^^ . - . - . - "1"^^ . - . - "Range1" . - "2299"^^ . - . - . - "1706"^^ . - . - "SequenceFeature10" . - . - . - . - "0:locus_tag" . - "0:PU64_23680" . - . - "Range1" . - "2299"^^ . - . - . - "1706"^^ . - . - "SequenceFeature11" . - . - . - . - "0:locus_tag" . - "1:inference" . - "2:note" . - "3:codon_start" . - "4:transl_table" . - "5:product" . - "6:protein_id" . - "7:translation" . - "0:PU64_23680" . - "1:EXISTENCE: similar to AA sequence:RefSeq:WP_001544295.1" . - "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . - "3:1" . - "4:11" . - "5:TetR family transcriptional regulator" . - "6:KIG36582.1" . - "7:MVTKKQSRVPGRPRRFAPEQAISAAKVLFHQKGFDAVSVAEVTDYLGINPPSLYAAFGSKAGLFSRVLNEYVGTEAIPLADILRDDRPVGECLVEVLKEAARRYSQNGGCAGCMVLEGIHSHDPLARDIAVQYYHAAETTIYDYIARRHPQSAQCVTDFMSTVMSGLSAKAREGHSIEQLCATAALAGEAIKTLLKE" . - . - "Range1" . - "2896"^^ . - . - . - "2444"^^ . - . - "SequenceFeature12" . - . - . - . - "0:locus_tag" . - "0:PU64_23685" . - . - "Range1" . - "2896"^^ . - . - . - "2444"^^ . - . - "SequenceFeature13" . - . - . - . - "0:locus_tag" . - "1:inference" . - "2:note" . - "3:codon_start" . - "4:transl_table" . - "5:product" . - "6:protein_id" . - "7:translation" . - "0:PU64_23685" . - "1:EXISTENCE: similar to AA sequence:RefSeq:WP_001570607.1" . - "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . - "3:1" . - "4:11" . - "5:toxin-antitoxin biofilm protein TabA" . - "6:KIG36583.1" . - "7:MIIGNIHNLQPWLPQELRQAIEHIKAHVTAETPKGKHDIEGNHLFYLISEDMTEPYEARRAEYHARYLDIQIVLKGQEGMTFSTQPAGTPDTDWLADKDIAFLPEGVDEKTVILNEGDFVVFYPGEVHKPLCAVGAPAQVRKAVVKMLMA" . - . - "Range1" . - "3242"^^ . - . - . - "3019"^^ . - . - "SequenceFeature14" . - . - . - . - "0:locus_tag" . - "0:PU64_23690" . - . - "Range1" . - "3242"^^ . - . - . - "3019"^^ . - . - "SequenceFeature15" . - . - . - . - "0:locus_tag" . - "1:inference" . - "2:note" . - "3:codon_start" . - "4:transl_table" . - "5:product" . - "6:protein_id" . - "7:translation" . - "0:PU64_23690" . - "1:EXISTENCE: similar to AA sequence:RefSeq:WP_000036524.1" . - "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . - "3:1" . - "4:11" . - "5:DNA-binding protein" . - "6:KIG36584.1" . - "7:MSKISGWNFSQNITSADNCKQKNEDLDTWYVGMNDFARIAGGQNSRSNILSPRAFLEFLAKIFTLGYVDFSKRS" . - . - "SequenceFeature1" . - . - . - . - "0:locus_tag" . - "0:PU64_23660" . - . - "Range1" . - "115"^^ . - . - . - "1"^^ . - . - "SequenceFeature2" . - . - . - . - "0:locus_tag" . - "1:inference" . - "2:note" . - "3:codon_start" . - "4:transl_table" . - "5:product" . - "6:protein_id" . - "7:translation" . - "0:PU64_23660" . - "1:EXISTENCE: similar to AA sequence:RefSeq:WP_005059815.1" . - "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . - "3:1" . - "4:11" . - "5:pyrBI operon leader peptide" . - "6:KIG36579.1" . - "7:MVQCVRHFVLPRLKKDAGLPFFFPLITHSQPLNRGAFF" . - . - "Range1" . - "3242"^^ . - . - . - "1"^^ . - . - "SequenceFeature3" . - . - . - . - "0:organism" . - "1:mol_type" . - "2:submitter_seqid" . - "3:strain" . - "4:isolation_source" . - "5:db_xref" . - "6:country" . - "7:collection_date" . - "0:Escherichia coli" . - "1:genomic DNA" . - "2:N37069PS_contig_115" . - "3:CVM N37069PS" . - "4:Farm" . - "5:taxon:562" . - "6:USA" . - "7:20-Jan-2012" . - . - "Range1" . - "427"^^ . - . - . - "95"^^ . - . - "SequenceFeature4" . - . - . - . - "0:locus_tag" . - "0:PU64_23665" . - . - "Range1" . - "427"^^ . - . - . - "95"^^ . - . - "SequenceFeature5" . - . - . - . - "0:locus_tag" . - "1:inference" . - "2:note" . - "3:codon_start" . - "4:transl_table" . - "5:product" . - "6:protein_id" . - "7:translation" . - "0:PU64_23665" . - "1:EXISTENCE: similar to AA sequence:RefSeq:WP_001349257.1" . - "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . - "3:1" . - "4:11" . - "5:hypothetical protein" . - "6:KIG36585.1" . - "7:MSNTLNHTSSRQIVRHYTHRQKRRKHLMQYFVSANGLFELKVKVYAFLFDVILQGNCPSVSIIADIPCFFLFHFHAIRYAFYSIHPTYRAECESERLTLLLTAQGCALSL" . - . - "Range1" . - "791"^^ . - . - . - "396"^^ . - . - "SequenceFeature6" . - . - . - . - "0:locus_tag" . - "0:PU64_23670" . - . - "Range1" . - "791"^^ . - . - . - "396"^^ . - . - "SequenceFeature7" . - . - . - . - "0:locus_tag" . - "1:inference" . - "2:note" . - "3:codon_start" . - "4:transl_table" . - "5:product" . - "6:protein_id" . - "7:translation" . - "0:PU64_23670" . - "1:EXISTENCE: similar to AA sequence:RefSeq:WP_001701843.1" . - "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . - "3:1" . - "4:11" . - "5:mRNA endoribonuclease" . - "6:KIG36580.1" . - "7:MVERTAVFPAGRHSLYAEHRYSAAIRSGDLLFVSGQVGSREDGTPEPDFQQQVRLAFDNLHATLAAAGCTFDDIIDVTSFHTDPENQFEDIMTVKNEIFSAPPYPNWTAVGVTWLAGFDFEIKVIARIPEQ" . - . - "Range1" . - "1635"^^ . - . - . - "922"^^ . - . - "SequenceFeature8" . - . - . - . - "0:locus_tag" . - "0:PU64_23675" . - . - "Range1" . - "1635"^^ . - . - . - "922"^^ . - . - "SequenceFeature9" . - . - . - . - "0:locus_tag" . - "1:inference" . - "2:note" . - "3:codon_start" . - "4:transl_table" . - "5:product" . - "6:protein_id" . - "7:translation" . - "0:PU64_23675" . - "1:EXISTENCE: similar to AA sequence:SwissProt:P39333.2" . - "2:Derived by automated computational analysis using gene prediction method: Protein Homology." . - "3:1" . - "4:11" . - "5:oxidoreductase" . - "6:KIG36581.1" . - "7:MGAFTGKTVLILGGSRGIGAAIVRRFVTDGANVRFTYAGSKDAAKRLAQETGATAVFTDSADRDAVIDVVRKSGALDILVVNAGIGVFGEALELNADDIDRLFKINIHAPYHASVEAARQMPEGGRILIIGSVNGDRMPVAGMAAYAASKSALQGMARGLARDFGPRGITINVVQPGPIDTDANPANGPMRDMLHSLMAIKRHGQPEEVAGMVAWLAGPEASFVTGAMHTIDGAFGA" . - . - "Escherichia coli strain CVM N37069PS N37069PS_contig_115, whole genome shotgun sequence" . - "JWYZ01000115" . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - "JWYZ01000115" . - "Annotation was added by the NCBI Prokaryotic Genome Annotation\nPipeline (released 2013). Information about the Pipeline can be\nfound here: http://www.ncbi.nlm.nih.gov/genome/annotation_prok/" . - "16-JAN-2015" . - "BioProject:PRJNA266657::BioSample:SAMN03177677" . - "BCT" . - "JWYZ01000115.1" . - "WGS" . - "JWYZ01000115" . - "DNA" . - "JWYZ01000115" . - "Escherichia coli" . - . - . - "1"^^ . - "Escherichia coli" . - . - . - "Bacteria,Proteobacteria,Gammaproteobacteria,Enterobacterales,Enterobacteriaceae,Escherichia" . - "linear" . - . - "JWYZ01000115_sequence" . - "aaaaaaaagcccctcgattgaggggctgggaatgggtgatcaacgggaagaaaaacggcaggccagcgtcttttttcagacgcggtaagacaaaatgtcgaacacactgaaccatacatcctcccggcaaattgtccggcattatactcatcgtcagaagcggcgcaagcatttgatgcaatattttgtcagcgcaaacggtttatttgaattaaaagtcaaggtatatgcatttttatttgatgtgattctgcaggggaactgtccttcggtatcaataattgcagacattccctgctttttcctttttcactttcacgcaatcagatatgcattttattccattcatccgacttatagggcggagtgtgaaagcgaacggctaacactattgcttactgctcagggatgcgcgctatcactttaatttcaaaatcaaagcctgccagccatgtaacacccaccgccgtccagtttggataaggtggggcgctaaatatttcatttttcaccgtcatgatgtcttcaaattggttttctggatcggtatggaagctcgtaacatcaatgatatcgtcaaaagtgcatcccgcagctgccagggtcgcatgcaaattatcaaatgccagtctgacttgttgctgaaaatcgggttctggtgttccgtcctctcgacttcctacttgcccggaaacaaacagcaaatcgccggaacgaatagccgcagaataacgatgctcagcatatagtgaatgtcggccagcagggaaaacagcggttctttctaccatttggttatcctcaagatttacgacatgaacagaagatttctctttaccgggagccgcttttagcggacgacgtgagtaaacaaaacccagacatcatggataatggctgggcttaattgagcgtagtcggttatgcgccaaacgcgccatcaatggtatgcattgcgccggtaacaaaactggcttctggccctgctaaccatgcgaccataccagcgacctcttccggttgcccatgtcttttgatagccatcaaactatgcaacatatcgcgcattggcccgttggcgggattagcgtcggtatcaattggccctggctggacgacgttaatggtgatcccacgcggtccaaaatcacgggccagcccgcgcgccatgccttgcagggcagatttgctggcggcataagcagccatgcctgcaacaggcatacgatcgccattcacggagccgatgattaagatgcgcccgccttcgggcatctgccgggcggcttcaacagaggcatgataaggagcatgaatattgattttgaaaaggcgatcaatatcgtcggcatttaattccagggcctcgccaaagacgccaatacctgcatttaccaccaggatatccaatgcgccgctcttacgaacgacatcaatgacagcgtctctgtcagcactatctgtgaatactgctgtcgctccagtctcttgtgccaggcgtttagcggcatctttcgaccccgcataggtgaatcgtacattggccccatcggtgacgaaacgacgtacgatagcggcaccgataccacgactgccaccgaggatgagaactgtcttacctgtaaaagcgcccataaggactccttgatttattatgtaacatgcattacaaaactgttttaactttctgtcaacatgttttgtaatggtcactaaaaaacaatctcgcgttccaggtcgtcccagacgtttcgctcctgagcaggcaatctctgcggcaaaagtgctttttcaccaaaaaggtttcgatgctgtcagtgttgctgaagttactgattatcttggtattaaccccccgagcctctacgcggcttttggcagtaaagctgggttatttagccgtgtactcaatgaatacgtcggtacggaagctattccgcttgccgatattcttcgtgatgatcgtccagtaggcgagtgcctggttgaggtattaaaagaagcggcgcgcagatatagccaaaacggcggctgcgctggctgtatggttcttgaaggtattcatagtcatgatccactagcgcgtgatattgccgttcaatattatcacgccgcagaaacgaccatttatgactatatcgccaggcggcatccacaaagcgcacaatgtgtgactgattttatgagtaccgtgatgtcagggctttctgcgaaggcacgggaggggcactcaatcgaacaactctgtgcaacagctgcactggcgggggaagcgataaaaactcttctcaaggagtgatgctggccttgatccgaaaggcgggaacgcgcctgccgataagttgtgataagacaataattcacgcattaaggctagcggaattgatcatcttttcgtataacgatagaaatgaaacgttgttttaattaaggagtggaaaagatgatcatcggaaatattcataatcttcagccgtggctaccccaggagttacgccaggcgattgagcatatcaaagcacacgttacggcagaaacgccaaagggcaagcacgatatcgaaggcaatcatctgttttatcttatctcggaagatatgaccgagccgtacgaagcccgccgtgcggagtaccatgcccgctatctcgacattcagattgtgttaaaaggtcaggaaggcatgaccttcagcacgcaacctgcaggcacgccggataccgactggttagctgataaagacatcgcatttttgccggaaggcgttgatgagaaaacagttatccttaatgaaggtgattttgttgtgttttatccgggggaagtgcataaaccgctgtgcgcagtgggtgcaccagcccaggttcgcaaagcagtagtgaagatgctgatggcgtgatgacttttcgccgtaaataactccaggtttacggcgagtttgtgaaaagagcgttttttgatatttttttgtgagtaaaatttgtaatgcttagacgttcttattaactcaaggagtccgtcatgagcaaaatatcaggttggaatttttctcaaaacattacatcagccgacaattgtaaacaaaaaaatgaagacttagatacctggtatgtgggaatgaatgattttgcccgaattgccggagggcagaatagcagaagcaatattctttctcccagagcatttttggagtttttggctaagatatttaccctgggttatgtggattttagcaaacgctccaa" . - . - . - . From dcbda5fbd2528b07c94059fcd0c835fbf7dd105e Mon Sep 17 00:00:00 2001 From: Yehuda-Binik <99425841+Yehuda-Binik@users.noreply.github.com> Date: Mon, 30 Oct 2023 20:40:59 -0400 Subject: [PATCH 12/14] Delete test/test_files/sbol3_genbank_conversion/ignoring_sbol_properties.nt.test This file was accidentally checked in. --- .../ignoring_sbol_properties.nt.test | 115 ------------------ 1 file changed, 115 deletions(-) delete mode 100644 test/test_files/sbol3_genbank_conversion/ignoring_sbol_properties.nt.test diff --git a/test/test_files/sbol3_genbank_conversion/ignoring_sbol_properties.nt.test b/test/test_files/sbol3_genbank_conversion/ignoring_sbol_properties.nt.test deleted file mode 100644 index 43e3d22e..00000000 --- a/test/test_files/sbol3_genbank_conversion/ignoring_sbol_properties.nt.test +++ /dev/null @@ -1,115 +0,0 @@ -LOCUS BBa_J23100 35 bp DNA linear UNK 01-JAN-1980 -DEFINITION constitutive promoter family member. -ACCESSION BBa_J23100 -VERSION BBa_J23100.1 -KEYWORDS . -SOURCE . - ORGANISM . - . -FEATURES Location/Qualifiers -ORIGIN - 1 ttgacggcta gctcagtcct aggtacagtg ctagc -// -LOCUS BBa_J23102 35 bp DNA linear UNK 01-JAN-1980 -DEFINITION constitutive promoter family member. -ACCESSION BBa_J23102 -VERSION BBa_J23102.1 -KEYWORDS . -SOURCE . - ORGANISM . - . -FEATURES Location/Qualifiers -ORIGIN - 1 ttgacagcta gctcagtcct aggtactgtg ctagc -// -LOCUS LmrA 567 bp DNA linear UNK 01-JAN-1980 -DEFINITION . -ACCESSION LmrA -VERSION LmrA.1 -KEYWORDS . -SOURCE . - ORGANISM . - . -FEATURES Location/Qualifiers -ORIGIN - 1 atgagctatg gtgatagccg tgaaaaaatt ctgagcgcag caacccgtct gtttcagctg - 61 cagggttatt atggcaccgg tctgaatcag attatcaaag aaagcggtgc accgaaaggt - 121 agcctgtatt atcattttcc gggtggtaaa gaacagctgg caattgaagc agtgaacgaa - 181 atgaaagaat atatccgcca gaaaatcgcc gattgtatgg aagcatgtac cgatccggca - 241 gaaggtattc aggcatttct gaaagaactg agctgtcagt ttagctgtac cgaagatatt - 301 gaaggtctgc cggttggtct gctggcagca gaaaccagcc tgaaaagcga accgctgcgt - 361 gaagcatgtc atgaagcata taaagaatgg gccagcgtgt atgaagaaaa actgcgtcag - 421 accggttgta gcgaaagccg tgcaaaagaa gcaagcaccg ttgttaatgc aatgattgaa - 481 ggtggtattc tgctgagcct gaccgcaaaa aatagcacac cgctgctgca tattagcagc - 541 tgtattccgg atctgctgaa acgttaa -// -LOCUS pSB1C3 2070 bp DNA linear UNK 01-JAN-1980 -DEFINITION High copy BioBrick assembly plasmid. -ACCESSION pSB1C3 -VERSION pSB1C3.1 -KEYWORDS . -SOURCE . - ORGANISM . - . -FEATURES Location/Qualifiers - misc_feature 0..21 - /label="BioBrick suffix" - stem_loop 21..93 - /label="E. coli his operon terminator" - stem_loop 29..64 - /label="Stem loop" - primer_bind 156..176 - /label="Verification reverse (VR) primer binding site" - misc_feature 260..875 - /label="rep (pMB1)" - misc_feature 275..276 - /label="ORI" - stem_loop 1041..1147 - /label="T0 terminator" - CDS 1159..1819 - /label="Chloramphenicol resistance" - primer_bind 1932..1952 - /label="Verification forward (VF2) primer binding site" - stem_loop 2008..2012 - /label="end of terminator" - stem_loop 2021..2041 - /label="Stem loop" - misc_feature 2050..2072 - /label="BioBrick prefix" -ORIGIN - 1 tactagtagc ggccgctgca gtccggcaaa aaagggcaag gtgtcaccac cctgcccttt - 61 ttctttaaaa ccgaaaagat tacttcgcgt tatgcaggct tcctcgctca ctgactcgct - 121 gcgctcggtc gttcggctgc ggcgagcggt atcagctcac tcaaaggcgg taatacggtt - 181 atccacagaa tcaggggata acgcaggaaa gaacatgtga gcaaaaggcc agcaaaaggc - 241 caggaaccgt aaaaaggccg cgttgctggc gtttttccac aggctccgcc cccctgacga - 301 gcatcacaaa aatcgacgct caagtcagag gtggcgaaac ccgacaggac tataaagata - 361 ccaggcgttt ccccctggaa gctccctcgt gcgctctcct gttccgaccc tgccgcttac - 421 cggatacctg tccgcctttc tcccttcggg aagcgtggcg ctttctcata gctcacgctg - 481 taggtatctc agttcggtgt aggtcgttcg ctccaagctg ggctgtgtgc acgaaccccc - 541 cgttcagccc gaccgctgcg ccttatccgg taactatcgt cttgagtcca acccggtaag - 601 acacgactta tcgccactgg cagcagccac tggtaacagg attagcagag cgaggtatgt - 661 aggcggtgct acagagttct tgaagtggtg gcctaactac ggctacacta gaagaacagt - 721 atttggtatc tgcgctctgc tgaagccagt taccttcgga aaaagagttg gtagctcttg - 781 atccggcaaa caaaccaccg ctggtagcgg tggttttttt gtttgcaagc agcagattac - 841 gcgcagaaaa aaaggatctc aagaagatcc tttgatcttt tctacggggt ctgacgctca - 901 gtggaacgaa aactcacgtt aagggatttt ggtcatgaga ttatcaaaaa ggatcttcac - 961 ctagatcctt ttaaattaaa aatgaagttt taaatcaatc taaagtatat atgagtaaac - 1021 ttggtctgac agctcgaggc ttggattctc accaataaaa aacgcccggc ggcaaccgag - 1081 cgttctgaac aaatccagat ggagttctga ggtcattact ggatctatca acaggagtcc - 1141 aagcgagctc gatatcaaat tacgccccgc cctgccactc atcgcagtac tgttgtaatt - 1201 cattaagcat tctgccgaca tggaagccat cacaaacggc atgatgaacc tgaatcgcca - 1261 gcggcatcag caccttgtcg ccttgcgtat aatatttgcc catggtgaaa acgggggcga - 1321 agaagttgtc catattggcc acgtttaaat caaaactggt gaaactcacc cagggattgg - 1381 ctgagacgaa aaacatattc tcaataaacc ctttagggaa ataggccagg ttttcaccgt - 1441 aacacgccac atcttgcgaa tatatgtgta gaaactgccg gaaatcgtcg tggtattcac - 1501 tccagagcga tgaaaacgtt tcagtttgct catggaaaac ggtgtaacaa gggtgaacac - 1561 tatcccatat caccagctca ccgtctttca ttgccatacg aaattccgga tgagcattca - 1621 tcaggcgggc aagaatgtga ataaaggccg gataaaactt gtgcttattt ttctttacgg - 1681 tctttaaaaa ggccgtaata tccagctgaa cggtctggtt ataggtacat tgagcaactg - 1741 actgaaatgc ctcaaaatgt tctttacgat gccattggga tatatcaacg gtggtatatc - 1801 cagtgatttt tttctccatt ttagcttcct tagctcctga aaatctcgat aactcaaaaa - 1861 atacgcccgg tagtgatctt atttcattat ggtgaaagtt ggaacctctt acgtgcccga - 1921 tcaactcgag tgccacctga cgtctaagaa accattatta tcatgacatt aacctataaa - 1981 aataggcgta tcacgaggca gaatttcaga taaaaaaaat ccttagcttt cgctaaggat - 2041 gatttctgga attcgcggcc gcttctagag -// From 41f65dd9d8dcad55701846ecca8bb83cd409a646 Mon Sep 17 00:00:00 2001 From: Yehuda-Binik <99425841+Yehuda-Binik@users.noreply.github.com> Date: Mon, 30 Oct 2023 20:45:30 -0400 Subject: [PATCH 13/14] Update test_sbol2_sbol3_direct.py Removed unnecessary and superfluous formatting changes. --- test/test_sbol2_sbol3_direct.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_sbol2_sbol3_direct.py b/test/test_sbol2_sbol3_direct.py index 8dfbb415..9a5ef4dd 100644 --- a/test/test_sbol2_sbol3_direct.py +++ b/test/test_sbol2_sbol3_direct.py @@ -11,15 +11,15 @@ TEST_FILES = Path(__file__).parent / 'test_files' + class TestDirectSBOL2SBOL3Conversion(unittest.TestCase): # TODO: turn on validation - def test_3to2_conversion(self): """Test ability to convert a simple part from SBOL3 to SBOL2""" # Load an SBOL3 document and check its contents doc3 = sbol3.Document() - doc3.read(TEST_FILES / 'BBa_J23101_patched.nt') + doc3.read(TEST_FILES / 'BBa_J23101_patched.nt') # Convert to SBOL2 and check contents doc2 = convert3to2(doc3, True) #report = doc2.validate() From 7750c087adb7b9ffeba89a0ee454706bfe945e89 Mon Sep 17 00:00:00 2001 From: Yehuda-Binik <99425841+Yehuda-Binik@users.noreply.github.com> Date: Mon, 30 Oct 2023 20:49:33 -0400 Subject: [PATCH 14/14] Update test_sbol2_sbol3_direct.py Removed two commented out lines of code that were useful during testing, but no longer needed --- test/test_sbol2_sbol3_direct.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/test_sbol2_sbol3_direct.py b/test/test_sbol2_sbol3_direct.py index 9a5ef4dd..280e6937 100644 --- a/test/test_sbol2_sbol3_direct.py +++ b/test/test_sbol2_sbol3_direct.py @@ -65,13 +65,11 @@ def test_3to2_implementation_conversion(self): with tempfile.TemporaryDirectory() as tmpdir: tmp2 = Path(tmpdir) / 'doc2.xml' doc2.write(tmp2) - #doc2.write('C:\\Users\Yehuda\\SBOL-utilities\\test\\test_files\\sbol_3to2_implementation.xml') self.assertFalse(file_diff(str(tmp2), str(TEST_FILES / 'sbol_3to2_implementation.xml'))) doc3_loop = convert2to3(doc2, use_native_converter=True) self.assertEqual(len(doc3_loop.validate()), 0) tmp3 = Path(tmpdir) / 'doc3_loop.nt' doc3_loop.write(tmp3) - #doc3_loop.write('C:\\Users\Yehuda\\SBOL-utilities\\test\\test_files\\sbol_3to2to3_implementation.nt') self.assertFalse(file_diff(str(tmp3), str(TEST_FILES / 'sbol3_implementation.nt'))) def test_2to3_implementation_conversion(self):