rcsb.exdb 1.24__tar.gz → 1.26__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/HISTORY.txt +4 -0
  2. {rcsb_exdb-1.24/rcsb.exdb.egg-info → rcsb_exdb-1.26}/PKG-INFO +6 -5
  3. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/cli/ExDbExec.py +17 -0
  4. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/cli/__init__.py +1 -1
  5. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/PolymerEntityExtractor.py +7 -1
  6. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/wf/ExDbWorkflow.py +84 -0
  7. {rcsb_exdb-1.24 → rcsb_exdb-1.26/rcsb.exdb.egg-info}/PKG-INFO +6 -5
  8. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb.exdb.egg-info/requires.txt +4 -4
  9. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/requirements.txt +4 -4
  10. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/setup.py +1 -0
  11. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/LICENSE +0 -0
  12. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/MANIFEST.in +0 -0
  13. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/README.md +0 -0
  14. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/__init__.py +0 -0
  15. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/__init__.py +0 -0
  16. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/branch/BranchedEntityExtractor.py +0 -0
  17. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/branch/GlycanProvider.py +0 -0
  18. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/branch/GlycanUtils.py +0 -0
  19. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/branch/__init__.py +0 -0
  20. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/ChemRefEtlWorker.py +0 -0
  21. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/ChemRefExtractor.py +0 -0
  22. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/ChemRefMappingProvider.py +0 -0
  23. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/PubChemDataCacheProvider.py +0 -0
  24. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/PubChemEtlWrapper.py +0 -0
  25. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/PubChemIndexCacheProvider.py +0 -0
  26. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/__init__.py +0 -0
  27. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/citation/CitationAdapter.py +0 -0
  28. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/citation/CitationExtractor.py +0 -0
  29. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/citation/CitationUtils.py +0 -0
  30. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/citation/__init__.py +0 -0
  31. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/entry/EntryInfoProvider.py +0 -0
  32. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/entry/__init__.py +0 -0
  33. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/AnnotationExtractor.py +0 -0
  34. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/LigandNeighborMappingExtractor.py +0 -0
  35. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/LigandNeighborMappingProvider.py +0 -0
  36. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/ReferenceSequenceAnnotationAdapter.py +0 -0
  37. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/ReferenceSequenceAnnotationProvider.py +0 -0
  38. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/ReferenceSequenceAssignmentAdapter.py +0 -0
  39. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/ReferenceSequenceAssignmentProvider.py +0 -0
  40. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/ReferenceSequenceCacheProvider.py +0 -0
  41. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/TaxonomyExtractor.py +0 -0
  42. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/UniProtCoreEtlWorker.py +0 -0
  43. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/UniProtExtractor.py +0 -0
  44. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/__init__.py +0 -0
  45. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/__init__.py +0 -0
  46. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/fixtureDictMethodResourceProvider.py +0 -0
  47. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/fixturePdbxLoader.py +0 -0
  48. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testAnnotationExtractor.py +0 -0
  49. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testBranchedEntityExtractor.py +0 -0
  50. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testChemRefLoader.py +0 -0
  51. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testChemRefMappingProvider.py +0 -0
  52. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testCitationAdapter.py +0 -0
  53. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testCitationExtractor.py +0 -0
  54. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testCitationUtils.py +0 -0
  55. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testEntryInfoEtlWorkflow.py +0 -0
  56. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testEntryInfoProvider.py +0 -0
  57. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testExDbWorkflow.py +0 -0
  58. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testGlycanEtlWorkflow.py +0 -0
  59. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testGlycanProvider.py +0 -0
  60. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testGlycanUtils.py +0 -0
  61. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testLigandNeighborMappingProvider.py +0 -0
  62. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testObjectExtractor.py +0 -0
  63. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testObjectTransformer.py +0 -0
  64. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testObjectUpdater.py +0 -0
  65. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testPolymerEntityExtractor.py +0 -0
  66. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testPubChemDataCacheProvider.py +0 -0
  67. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testPubChemEtlWorkflow.py +0 -0
  68. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testPubChemEtlWrapper.py +0 -0
  69. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testPubChemIndexCacheProvider.py +0 -0
  70. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testReferenceSequenceAnnotationAdapter.py +0 -0
  71. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testReferenceSequenceAssignmentAdapter.py +0 -0
  72. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testReferenceSequenceAssignmentAdapterValidate.py +0 -0
  73. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testReferenceSequenceAssignmentProvider.py +0 -0
  74. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testReferenceSequenceCacheProvider.py +0 -0
  75. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testTaxonomyExtractor.py +0 -0
  76. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testTreeNodeListWorker.py +0 -0
  77. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testUniProtCoreEtlWorker.py +0 -0
  78. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testUniProtExtractor.py +0 -0
  79. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tree/TreeNodeListWorker.py +0 -0
  80. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tree/__init__.py +0 -0
  81. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/utils/ObjectAdapterBase.py +0 -0
  82. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/utils/ObjectExtractor.py +0 -0
  83. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/utils/ObjectTransformer.py +0 -0
  84. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/utils/ObjectUpdater.py +0 -0
  85. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/utils/ObjectValidator.py +0 -0
  86. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/utils/__init__.py +0 -0
  87. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/wf/EntryInfoEtlWorkflow.py +0 -0
  88. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/wf/GlycanEtlWorkflow.py +0 -0
  89. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/wf/PubChemEtlWorkflow.py +0 -0
  90. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/wf/__init__.py +0 -0
  91. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb.exdb.egg-info/SOURCES.txt +0 -0
  92. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb.exdb.egg-info/dependency_links.txt +0 -0
  93. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb.exdb.egg-info/entry_points.txt +0 -0
  94. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb.exdb.egg-info/not-zip-safe +0 -0
  95. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb.exdb.egg-info/top_level.txt +0 -0
  96. {rcsb_exdb-1.24 → rcsb_exdb-1.26}/setup.cfg +0 -0
@@ -104,3 +104,7 @@
104
104
  17-Jul-2024 V1.22 Adjust LigandNeighborMappingExtractor
105
105
  20-Aug-2024 V1.23 Add support for target cofactor data loading
106
106
  27-Aug-2024 V1.24 Update tree loading for CARD ontology data
107
+ 22-Oct-2024 V1.25 Add CLI for CCD image and file generation;
108
+ Update CI/CD to python 3.10
109
+ 10-Dec-2024 V1.26 Update PolymerEntityExtractor to sort extracted sequence data;
110
+ Update Azure pipelines to run on latest macOS and ubuntu version
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rcsb.exdb
3
- Version: 1.24
3
+ Version: 1.26
4
4
  Summary: RCSB Python ExDB data extraction and loading workflows
5
5
  Home-page: https://github.com/rcsb/py-rcsb_exdb
6
6
  Author: John Westbrook
@@ -13,13 +13,14 @@ Classifier: License :: OSI Approved :: Apache Software License
13
13
  Classifier: Programming Language :: Python
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
16
17
  Description-Content-Type: text/markdown
17
18
  License-File: LICENSE
18
- Requires-Dist: OpenEye-toolkits>=2020.2.2
19
+ Requires-Dist: OpenEye-toolkits>=2024.1.1
19
20
  Requires-Dist: numpy
20
21
  Requires-Dist: jsonschema>=2.6.0
21
22
  Requires-Dist: rcsb.utils.io>=1.48
22
- Requires-Dist: rcsb.db>=1.723
23
+ Requires-Dist: rcsb.db>=1.725
23
24
  Requires-Dist: rcsb.utils.chem>=0.79
24
25
  Requires-Dist: rcsb.utils.chemref>=0.91
25
26
  Requires-Dist: rcsb.utils.citation>=0.22
@@ -27,12 +28,12 @@ Requires-Dist: rcsb.utils.config>=0.40
27
28
  Requires-Dist: rcsb.utils.ec>=0.25
28
29
  Requires-Dist: rcsb.utils.go>=0.18
29
30
  Requires-Dist: rcsb.utils.seq>=0.82
30
- Requires-Dist: rcsb.utils.seqalign>=0.29
31
+ Requires-Dist: rcsb.utils.seqalign>=0.31
31
32
  Requires-Dist: rcsb.utils.targets>=0.82
32
33
  Requires-Dist: rcsb.utils.struct>=0.47
33
34
  Requires-Dist: rcsb.utils.taxonomy>=0.43
34
35
  Requires-Dist: rcsb.utils.dictionary>=1.27
35
- Requires-Dist: rcsb.workflow>=0.45
36
+ Requires-Dist: rcsb.workflow>=0.46
36
37
  Requires-Dist: statistics; python_version < "3.0"
37
38
  Provides-Extra: dev
38
39
  Requires-Dist: check-manifest; extra == "dev"
@@ -11,6 +11,8 @@
11
11
  # 25-Apr-2024 dwp Add arguments and logic to support CLI usage from weekly-update workflow;
12
12
  # Add support for logging output to a specific file
13
13
  # 20-Aug-2024 dwp Add load_target_cofactors operation; change name of upd_targets_cofactors to upd_targets
14
+ # 22-Oct-2024 dwp Add ccd_img_gen and ccd_file_gen operations
15
+ # (latter will only be used briefly, as will stop generating SDF and Mol2 files in Dec 2024)
14
16
  ##
15
17
  __docformat__ = "google en"
16
18
  __author__ = "John Westbrook"
@@ -53,6 +55,8 @@ def main():
53
55
  "upd_entry_info",
54
56
  "upd_glycan_idx",
55
57
  "upd_resource_stash",
58
+ "ccd_img_gen",
59
+ "ccd_file_gen",
56
60
  ]
57
61
  )
58
62
  parser.add_argument(
@@ -86,6 +90,11 @@ def main():
86
90
  parser.add_argument("--min_match_primary_percent", default=None, help="Minimum reference sequence match percentage (for op 'upd_ref_seq')")
87
91
  parser.add_argument("--test_mode", default=False, action="store_true", help="Test mode for reference sequence updates (for op 'upd_ref_seq')")
88
92
  #
93
+ # Arguments specific for op == 'ccd_img_gen' or 'ccd_file_gen'
94
+ parser.add_argument("--cc_output_path", default=None, help="The base local directory path where chemical component files (image, coordinates) are written (for op 'ccd_img_gen')")
95
+ parser.add_argument("--cc_cache_path", default=None, help="The base local directory path where chemical component cache data are written (for op 'ccd_img_gen')")
96
+ parser.add_argument("--oe_license_path", default=None, help="Path to OpenEye license file")
97
+ #
89
98
  # Arguments buildExdbResources
90
99
  parser.add_argument("--rebuild_all_neighbor_interactions", default=False, action="store_true", help="Rebuild all neighbor interactions from scratch (default is incrementally)")
91
100
  parser.add_argument("--cc_file_prefix", default="cc-full", help="File name discriminator for index sets")
@@ -121,6 +130,11 @@ def main():
121
130
  "upd_resource_stash",
122
131
  ]:
123
132
  okR = exWf.buildExdbResource(op, **loadD)
133
+ elif op in [
134
+ "ccd_img_gen",
135
+ "ccd_file_gen",
136
+ ]:
137
+ okR = exWf.generateCcdFiles(op, **loadD)
124
138
  else:
125
139
  logger.error("Unsupported op %r", op)
126
140
  #
@@ -209,6 +223,9 @@ def processArguments(args):
209
223
  "ccFileNamePrefix": args.cc_file_prefix,
210
224
  "ccUrlTarget": args.cc_url_target,
211
225
  "birdUrlTarget": args.bird_url_target,
226
+ "ccOutputPath": args.cc_output_path,
227
+ "ccCachePath": args.cc_cache_path,
228
+ "licenseFilePath": args.oe_license_path,
212
229
  }
213
230
 
214
231
  return op, commonD, loadD
@@ -2,4 +2,4 @@ __docformat__ = "google en"
2
2
  __author__ = "John Westbrook"
3
3
  __email__ = "john.westbrook@rcsb.org"
4
4
  __license__ = "Apache 2.0"
5
- __version__ = "1.24"
5
+ __version__ = "1.26"
@@ -7,6 +7,8 @@
7
7
  #
8
8
  # Updates:
9
9
  # 9-Jan-2024 dwp Turn off use of uniprot_exdb DB for enriching protein entity details file (data not used)
10
+ # 10-Dec-2024 dwp Sort extracted polymer entity sequence data by entity ID (alphabetically), to ensure consistent
11
+ # ordering between coasts (order of sequence data influences results of mmseqs2 sequence searching)
10
12
  #
11
13
  ##
12
14
  __docformat__ = "google en"
@@ -16,6 +18,7 @@ __license__ = "Apache 2.0"
16
18
 
17
19
  import logging
18
20
  import os
21
+ from collections import OrderedDict
19
22
 
20
23
  from rcsb.exdb.utils.ObjectExtractor import ObjectExtractor
21
24
  from rcsb.utils.io.MarshalUtil import MarshalUtil
@@ -175,9 +178,12 @@ class PolymerEntityExtractor(object):
175
178
  pass
176
179
  rD[rId] = {"alignmentL": uDL, "sourceOrgL": sL, "partCount": partCount, "taxCount": taxCount, "sequence": seqS, "seqLen": seqLen}
177
180
 
181
+ # Sort the dict in alphabetical order (by entity ID key) to ensure consistent/reproducible treatment by mmseqs2
182
+ sortedD = OrderedDict((k, rD.pop(k)) for k in sorted(rD))
183
+
178
184
  except Exception as e:
179
185
  logger.exception("Failing with %s", str(e))
180
- return rD, missingSrcD
186
+ return sortedD, missingSrcD
181
187
 
182
188
  def __getSourcePart(self, entityId, sourceOrgL, entityBeg, seqLen):
183
189
  """Return the source part containing the input entity range -
@@ -25,6 +25,8 @@ from rcsb.utils.dictionary.DictMethodResourceProvider import DictMethodResourceP
25
25
  from rcsb.utils.dictionary.DictMethodResourceCacheWorkflow import DictMethodResourceCacheWorkflow
26
26
  from rcsb.utils.dictionary.NeighborInteractionWorkflow import NeighborInteractionWorkflow
27
27
  from rcsb.workflow.targets.ProteinTargetSequenceExecutionWorkflow import ProteinTargetSequenceExecutionWorkflow
28
+ from rcsb.workflow.chem.ChemCompImageWorkflow import ChemCompImageWorkflow
29
+ from rcsb.workflow.chem.ChemCompFileWorkflow import ChemCompFileWorkflow
28
30
  from rcsb.exdb.chemref.ChemRefEtlWorker import ChemRefEtlWorker
29
31
  from rcsb.exdb.seq.ReferenceSequenceAnnotationAdapter import ReferenceSequenceAnnotationAdapter
30
32
  from rcsb.exdb.seq.ReferenceSequenceAnnotationProvider import ReferenceSequenceAnnotationProvider
@@ -271,6 +273,88 @@ class ExDbWorkflow(object):
271
273
  logger.exception("Failing with %s", str(e))
272
274
  return False
273
275
 
276
+ def generateCcdFiles(self, op, **kwargs):
277
+ logger.info("Starting operation %r\n", op)
278
+ #
279
+ # argument processing
280
+ if op not in [
281
+ "ccd_img_gen",
282
+ "ccd_file_gen",
283
+ ]:
284
+ logger.error("Unsupported operation %r - exiting", op)
285
+ return False
286
+ try:
287
+ ccOutputPath = kwargs.get("ccOutputPath", None)
288
+ ccCachePath = kwargs.get("ccCachePath", None)
289
+ licenseFilePath = kwargs.get("licenseFilePath", None)
290
+ ccUrlTarget = kwargs.get("ccUrlTarget", None)
291
+ birdUrlTarget = kwargs.get("birdUrlTarget", None)
292
+ #
293
+ except Exception as e:
294
+ logger.exception("Argument or configuration processing failing with %s", str(e))
295
+ return False
296
+ #
297
+ ok = False
298
+ if op == "ccd_img_gen":
299
+ logger.info("Generating CCD 2D images ...")
300
+ cciWf = ChemCompImageWorkflow(
301
+ imagePath=ccOutputPath,
302
+ cachePath=ccCachePath,
303
+ licenseFilePath=licenseFilePath,
304
+ ccUrlTarget=ccUrlTarget,
305
+ birdUrlTarget=birdUrlTarget,
306
+ )
307
+ ok = cciWf.testCache()
308
+ logger.info("CCD image generation setup status %r", ok)
309
+ #
310
+ ok = cciWf.makeImages() and ok
311
+ logger.info("CCD image generation status %r", ok)
312
+ #
313
+ elif op == "ccd_file_gen":
314
+ logger.info("Generating SDF and Mol2 files from CCD...")
315
+ # CCD ideal coordinates
316
+ ccfWf = ChemCompFileWorkflow(
317
+ fileDirPath=ccOutputPath,
318
+ cachePath=ccCachePath,
319
+ licenseFilePath=licenseFilePath,
320
+ ccUrlTarget=ccUrlTarget,
321
+ birdUrlTarget=birdUrlTarget,
322
+ molBuildType="ideal-xyz"
323
+ )
324
+ ok1 = ccfWf.testCache()
325
+ logger.info("CCD ideal coordinates generation setup status %r", ok1)
326
+ #
327
+ ok1 = ccfWf.makeFiles(fmt="sdf") and ok1
328
+ logger.info("CCD ideal file sdf generation status %r", ok1)
329
+ ok1 = ccfWf.makeFiles(fmt="mol2") and ok1
330
+ logger.info("CCD ideal file mol2 generation status %r", ok1)
331
+
332
+ # CCD model coordinates
333
+ ccfWf = ChemCompFileWorkflow(
334
+ fileDirPath=ccOutputPath,
335
+ cachePath=ccCachePath,
336
+ licenseFilePath=licenseFilePath,
337
+ ccUrlTarget=ccUrlTarget,
338
+ birdUrlTarget=birdUrlTarget,
339
+ molBuildType="model-xyz"
340
+ )
341
+ ok2 = ccfWf.testCache()
342
+ logger.info("CCD model coordinates generation setup status %r", ok2)
343
+ #
344
+ ok2 = ccfWf.makeFiles(fmt="sdf") and ok2
345
+ logger.info("CCD model file sdf generation status %r", ok2)
346
+ ok2 = ccfWf.makeFiles(fmt="mol2") and ok2
347
+ logger.info("CCD model file mol2 generation status %r", ok2)
348
+ #
349
+ ok = ok1 and ok2
350
+ #
351
+ logger.info("Completed operation %r with status %r\n", op, ok)
352
+ if not ok:
353
+ logger.error("%r FAILED with status %s", op, ok)
354
+ raise ValueError("%r FAILED. Check the loader log for details." % op)
355
+
356
+ return ok
357
+
274
358
  def buildExdbResource(self, op, **kwargs):
275
359
  logger.info("Starting operation %r\n", op)
276
360
  #
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rcsb.exdb
3
- Version: 1.24
3
+ Version: 1.26
4
4
  Summary: RCSB Python ExDB data extraction and loading workflows
5
5
  Home-page: https://github.com/rcsb/py-rcsb_exdb
6
6
  Author: John Westbrook
@@ -13,13 +13,14 @@ Classifier: License :: OSI Approved :: Apache Software License
13
13
  Classifier: Programming Language :: Python
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
16
17
  Description-Content-Type: text/markdown
17
18
  License-File: LICENSE
18
- Requires-Dist: OpenEye-toolkits>=2020.2.2
19
+ Requires-Dist: OpenEye-toolkits>=2024.1.1
19
20
  Requires-Dist: numpy
20
21
  Requires-Dist: jsonschema>=2.6.0
21
22
  Requires-Dist: rcsb.utils.io>=1.48
22
- Requires-Dist: rcsb.db>=1.723
23
+ Requires-Dist: rcsb.db>=1.725
23
24
  Requires-Dist: rcsb.utils.chem>=0.79
24
25
  Requires-Dist: rcsb.utils.chemref>=0.91
25
26
  Requires-Dist: rcsb.utils.citation>=0.22
@@ -27,12 +28,12 @@ Requires-Dist: rcsb.utils.config>=0.40
27
28
  Requires-Dist: rcsb.utils.ec>=0.25
28
29
  Requires-Dist: rcsb.utils.go>=0.18
29
30
  Requires-Dist: rcsb.utils.seq>=0.82
30
- Requires-Dist: rcsb.utils.seqalign>=0.29
31
+ Requires-Dist: rcsb.utils.seqalign>=0.31
31
32
  Requires-Dist: rcsb.utils.targets>=0.82
32
33
  Requires-Dist: rcsb.utils.struct>=0.47
33
34
  Requires-Dist: rcsb.utils.taxonomy>=0.43
34
35
  Requires-Dist: rcsb.utils.dictionary>=1.27
35
- Requires-Dist: rcsb.workflow>=0.45
36
+ Requires-Dist: rcsb.workflow>=0.46
36
37
  Requires-Dist: statistics; python_version < "3.0"
37
38
  Provides-Extra: dev
38
39
  Requires-Dist: check-manifest; extra == "dev"
@@ -1,8 +1,8 @@
1
- OpenEye-toolkits>=2020.2.2
1
+ OpenEye-toolkits>=2024.1.1
2
2
  numpy
3
3
  jsonschema>=2.6.0
4
4
  rcsb.utils.io>=1.48
5
- rcsb.db>=1.723
5
+ rcsb.db>=1.725
6
6
  rcsb.utils.chem>=0.79
7
7
  rcsb.utils.chemref>=0.91
8
8
  rcsb.utils.citation>=0.22
@@ -10,12 +10,12 @@ rcsb.utils.config>=0.40
10
10
  rcsb.utils.ec>=0.25
11
11
  rcsb.utils.go>=0.18
12
12
  rcsb.utils.seq>=0.82
13
- rcsb.utils.seqalign>=0.29
13
+ rcsb.utils.seqalign>=0.31
14
14
  rcsb.utils.targets>=0.82
15
15
  rcsb.utils.struct>=0.47
16
16
  rcsb.utils.taxonomy>=0.43
17
17
  rcsb.utils.dictionary>=1.27
18
- rcsb.workflow>=0.45
18
+ rcsb.workflow>=0.46
19
19
 
20
20
  [:python_version < "3.0"]
21
21
  statistics
@@ -1,9 +1,9 @@
1
1
  --extra-index-url https://pypi.anaconda.org/OpenEye/simple
2
- OpenEye-toolkits >= 2020.2.2
2
+ OpenEye-toolkits >= 2024.1.1
3
3
  numpy
4
4
  jsonschema >= 2.6.0
5
5
  rcsb.utils.io >= 1.48
6
- rcsb.db >= 1.723
6
+ rcsb.db >= 1.725
7
7
  rcsb.utils.chem >= 0.79
8
8
  rcsb.utils.chemref >= 0.91
9
9
  rcsb.utils.citation >= 0.22
@@ -11,10 +11,10 @@ rcsb.utils.config >= 0.40
11
11
  rcsb.utils.ec >= 0.25
12
12
  rcsb.utils.go >= 0.18
13
13
  rcsb.utils.seq >= 0.82
14
- rcsb.utils.seqalign >= 0.29
14
+ rcsb.utils.seqalign >= 0.31
15
15
  rcsb.utils.targets >= 0.82
16
16
  rcsb.utils.struct >= 0.47
17
17
  rcsb.utils.taxonomy >= 0.43
18
18
  rcsb.utils.dictionary >= 1.27
19
- rcsb.workflow >= 0.45
19
+ rcsb.workflow >= 0.46
20
20
  statistics; python_version < "3.0"
@@ -45,6 +45,7 @@ setup(
45
45
  "Programming Language :: Python",
46
46
  "Programming Language :: Python :: 3",
47
47
  "Programming Language :: Python :: 3.9",
48
+ "Programming Language :: Python :: 3.10",
48
49
  ],
49
50
  entry_points={"console_scripts": ["exdb_exec_cli=rcsb.exdb.cli.ExDbExec:main"]},
50
51
  #
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes