rcsb.exdb 1.23__tar.gz → 1.25__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.23 → rcsb_exdb-1.25}/HISTORY.txt +3 -0
  2. {rcsb_exdb-1.23/rcsb.exdb.egg-info → rcsb_exdb-1.25}/PKG-INFO +7 -6
  3. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/cli/ExDbExec.py +17 -0
  4. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/cli/__init__.py +1 -1
  5. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tree/TreeNodeListWorker.py +25 -7
  6. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/wf/ExDbWorkflow.py +84 -0
  7. {rcsb_exdb-1.23 → rcsb_exdb-1.25/rcsb.exdb.egg-info}/PKG-INFO +7 -6
  8. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb.exdb.egg-info/requires.txt +5 -5
  9. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/requirements.txt +5 -5
  10. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/setup.py +1 -0
  11. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/LICENSE +0 -0
  12. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/MANIFEST.in +0 -0
  13. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/README.md +0 -0
  14. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/__init__.py +0 -0
  15. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/__init__.py +0 -0
  16. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/branch/BranchedEntityExtractor.py +0 -0
  17. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/branch/GlycanProvider.py +0 -0
  18. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/branch/GlycanUtils.py +0 -0
  19. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/branch/__init__.py +0 -0
  20. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/chemref/ChemRefEtlWorker.py +0 -0
  21. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/chemref/ChemRefExtractor.py +0 -0
  22. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/chemref/ChemRefMappingProvider.py +0 -0
  23. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/chemref/PubChemDataCacheProvider.py +0 -0
  24. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/chemref/PubChemEtlWrapper.py +0 -0
  25. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/chemref/PubChemIndexCacheProvider.py +0 -0
  26. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/chemref/__init__.py +0 -0
  27. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/citation/CitationAdapter.py +0 -0
  28. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/citation/CitationExtractor.py +0 -0
  29. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/citation/CitationUtils.py +0 -0
  30. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/citation/__init__.py +0 -0
  31. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/entry/EntryInfoProvider.py +0 -0
  32. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/entry/__init__.py +0 -0
  33. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/AnnotationExtractor.py +0 -0
  34. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/LigandNeighborMappingExtractor.py +0 -0
  35. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/LigandNeighborMappingProvider.py +0 -0
  36. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/PolymerEntityExtractor.py +0 -0
  37. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/ReferenceSequenceAnnotationAdapter.py +0 -0
  38. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/ReferenceSequenceAnnotationProvider.py +0 -0
  39. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/ReferenceSequenceAssignmentAdapter.py +0 -0
  40. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/ReferenceSequenceAssignmentProvider.py +0 -0
  41. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/ReferenceSequenceCacheProvider.py +0 -0
  42. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/TaxonomyExtractor.py +0 -0
  43. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/UniProtCoreEtlWorker.py +0 -0
  44. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/UniProtExtractor.py +0 -0
  45. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/seq/__init__.py +0 -0
  46. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/__init__.py +0 -0
  47. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/fixtureDictMethodResourceProvider.py +0 -0
  48. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/fixturePdbxLoader.py +0 -0
  49. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testAnnotationExtractor.py +0 -0
  50. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testBranchedEntityExtractor.py +0 -0
  51. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testChemRefLoader.py +0 -0
  52. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testChemRefMappingProvider.py +0 -0
  53. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testCitationAdapter.py +0 -0
  54. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testCitationExtractor.py +0 -0
  55. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testCitationUtils.py +0 -0
  56. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testEntryInfoEtlWorkflow.py +0 -0
  57. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testEntryInfoProvider.py +0 -0
  58. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testExDbWorkflow.py +0 -0
  59. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testGlycanEtlWorkflow.py +0 -0
  60. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testGlycanProvider.py +0 -0
  61. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testGlycanUtils.py +0 -0
  62. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testLigandNeighborMappingProvider.py +0 -0
  63. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testObjectExtractor.py +0 -0
  64. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testObjectTransformer.py +0 -0
  65. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testObjectUpdater.py +0 -0
  66. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testPolymerEntityExtractor.py +0 -0
  67. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testPubChemDataCacheProvider.py +0 -0
  68. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testPubChemEtlWorkflow.py +0 -0
  69. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testPubChemEtlWrapper.py +0 -0
  70. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testPubChemIndexCacheProvider.py +0 -0
  71. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testReferenceSequenceAnnotationAdapter.py +0 -0
  72. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testReferenceSequenceAssignmentAdapter.py +0 -0
  73. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testReferenceSequenceAssignmentAdapterValidate.py +0 -0
  74. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testReferenceSequenceAssignmentProvider.py +0 -0
  75. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testReferenceSequenceCacheProvider.py +0 -0
  76. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testTaxonomyExtractor.py +0 -0
  77. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testTreeNodeListWorker.py +0 -0
  78. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testUniProtCoreEtlWorker.py +0 -0
  79. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tests/testUniProtExtractor.py +0 -0
  80. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/tree/__init__.py +0 -0
  81. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/utils/ObjectAdapterBase.py +0 -0
  82. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/utils/ObjectExtractor.py +0 -0
  83. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/utils/ObjectTransformer.py +0 -0
  84. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/utils/ObjectUpdater.py +0 -0
  85. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/utils/ObjectValidator.py +0 -0
  86. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/utils/__init__.py +0 -0
  87. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/wf/EntryInfoEtlWorkflow.py +0 -0
  88. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/wf/GlycanEtlWorkflow.py +0 -0
  89. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/wf/PubChemEtlWorkflow.py +0 -0
  90. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb/exdb/wf/__init__.py +0 -0
  91. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb.exdb.egg-info/SOURCES.txt +0 -0
  92. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb.exdb.egg-info/dependency_links.txt +0 -0
  93. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb.exdb.egg-info/entry_points.txt +0 -0
  94. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb.exdb.egg-info/not-zip-safe +0 -0
  95. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/rcsb.exdb.egg-info/top_level.txt +0 -0
  96. {rcsb_exdb-1.23 → rcsb_exdb-1.25}/setup.cfg +0 -0
@@ -103,3 +103,6 @@
103
103
  13-May-2024 V1.21 Update requirements; fix linting
104
104
  17-Jul-2024 V1.22 Adjust LigandNeighborMappingExtractor
105
105
  20-Aug-2024 V1.23 Add support for target cofactor data loading
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rcsb.exdb
3
- Version: 1.23
3
+ Version: 1.25
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
@@ -28,11 +29,11 @@ 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
31
  Requires-Dist: rcsb.utils.seqalign>=0.29
31
- Requires-Dist: rcsb.utils.targets>=0.80
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
- Requires-Dist: rcsb.utils.dictionary>=1.26
35
- Requires-Dist: rcsb.workflow>=0.44
35
+ Requires-Dist: rcsb.utils.dictionary>=1.27
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.23"
5
+ __version__ = "1.25"
@@ -8,6 +8,7 @@
8
8
  # 9-Sep-2019 jdw add AtcProvider() and ChemrefExtractor() for ATC tree.
9
9
  # 12-Apr-2023 dwp add CARD ontology tree
10
10
  # 8-Aug-2023 dwp Load full (unfiltered) taxonomy tree node list, and stop loading GO tree (will be loaded in DW instead)
11
+ # 27-Aug-2024 dwp Update CARD ontology tree loading
11
12
  #
12
13
  ##
13
14
  __docformat__ = "google en"
@@ -181,13 +182,30 @@ class TreeNodeListWorker(object):
181
182
  ok = dl.load(databaseName, collectionName, loadType=loadType, documentList=nL, indexAttributeList=["update_id"], keyNames=None, addValues=addValues, schemaLevel=None)
182
183
  self.__updateStatus(updateId, databaseName, collectionName, ok, statusStartTimestamp)
183
184
  # ---- CARD
184
- cou = CARDTargetOntologyProvider(cachePath=self.__cachePath, useCache=False)
185
- nL = cou.getTreeNodeList()
186
- logger.info("Starting load of EC node tree length %d", len(nL))
187
- if doLoad:
188
- collectionName = "tree_card_node_list"
189
- ok = dl.load(databaseName, collectionName, loadType=loadType, documentList=nL, indexAttributeList=["update_id"], keyNames=None, addValues=addValues, schemaLevel=None)
190
- self.__updateStatus(updateId, databaseName, collectionName, ok, statusStartTimestamp)
185
+ okCou = True
186
+ cou = CARDTargetOntologyProvider(cachePath=self.__cachePath, useCache=useCache)
187
+ if not cou.testCache():
188
+ ok = cou.buildOntologyData()
189
+ cou.reload()
190
+ if not (ok and cou.testCache()):
191
+ logger.error("Skipping load of CARD Target Ontology tree data because it is missing.")
192
+ okCou = False
193
+ if okCou:
194
+ nL = cou.getTreeNodeList()
195
+ logger.info("Starting load of CARD ontology node tree length %d", len(nL))
196
+ if doLoad:
197
+ collectionName = "tree_card_node_list"
198
+ ok = dl.load(
199
+ databaseName,
200
+ collectionName,
201
+ loadType=loadType,
202
+ documentList=nL,
203
+ indexAttributeList=["update_id"],
204
+ keyNames=None,
205
+ addValues=addValues,
206
+ schemaLevel=None
207
+ )
208
+ self.__updateStatus(updateId, databaseName, collectionName, ok, statusStartTimestamp)
191
209
  # ---- Taxonomy
192
210
  tU = TaxonomyProvider(cachePath=self.__cachePath, useCache=useCache)
193
211
  if self.__useFilteredLists:
@@ -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.23
3
+ Version: 1.25
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
@@ -28,11 +29,11 @@ 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
31
  Requires-Dist: rcsb.utils.seqalign>=0.29
31
- Requires-Dist: rcsb.utils.targets>=0.80
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
- Requires-Dist: rcsb.utils.dictionary>=1.26
35
- Requires-Dist: rcsb.workflow>=0.44
35
+ Requires-Dist: rcsb.utils.dictionary>=1.27
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
@@ -11,11 +11,11 @@ rcsb.utils.ec>=0.25
11
11
  rcsb.utils.go>=0.18
12
12
  rcsb.utils.seq>=0.82
13
13
  rcsb.utils.seqalign>=0.29
14
- rcsb.utils.targets>=0.80
14
+ rcsb.utils.targets>=0.82
15
15
  rcsb.utils.struct>=0.47
16
16
  rcsb.utils.taxonomy>=0.43
17
- rcsb.utils.dictionary>=1.26
18
- rcsb.workflow>=0.44
17
+ rcsb.utils.dictionary>=1.27
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
@@ -12,9 +12,9 @@ rcsb.utils.ec >= 0.25
12
12
  rcsb.utils.go >= 0.18
13
13
  rcsb.utils.seq >= 0.82
14
14
  rcsb.utils.seqalign >= 0.29
15
- rcsb.utils.targets >= 0.80
15
+ rcsb.utils.targets >= 0.82
16
16
  rcsb.utils.struct >= 0.47
17
17
  rcsb.utils.taxonomy >= 0.43
18
- rcsb.utils.dictionary >= 1.26
19
- rcsb.workflow >= 0.44
18
+ rcsb.utils.dictionary >= 1.27
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