rcsb.workflow 0.43__tar.gz → 0.44__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 (25) hide show
  1. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/HISTORY.txt +1 -0
  2. {rcsb_workflow-0.43/rcsb.workflow.egg-info → rcsb_workflow-0.44}/PKG-INFO +7 -7
  3. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb/workflow/chem/__init__.py +1 -1
  4. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb/workflow/targets/ProteinTargetSequenceExecutionWorkflow.py +11 -0
  5. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb/workflow/targets/ProteinTargetSequenceWorkflow.py +54 -4
  6. {rcsb_workflow-0.43 → rcsb_workflow-0.44/rcsb.workflow.egg-info}/PKG-INFO +7 -7
  7. rcsb_workflow-0.44/rcsb.workflow.egg-info/requires.txt +13 -0
  8. rcsb_workflow-0.44/requirements.txt +8 -0
  9. rcsb_workflow-0.43/rcsb.workflow.egg-info/requires.txt +0 -13
  10. rcsb_workflow-0.43/requirements.txt +0 -8
  11. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/LICENSE +0 -0
  12. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/MANIFEST.in +0 -0
  13. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/README.md +0 -0
  14. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb/__init__.py +0 -0
  15. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb/workflow/__init__.py +0 -0
  16. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb/workflow/chem/ChemCompFileWorkflow.py +0 -0
  17. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb/workflow/chem/ChemCompImageWorkflow.py +0 -0
  18. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb/workflow/chem/ChemCompSearchIndexWorkflow.py +0 -0
  19. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb/workflow/targets/__init__.py +0 -0
  20. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb.workflow.egg-info/SOURCES.txt +0 -0
  21. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb.workflow.egg-info/dependency_links.txt +0 -0
  22. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb.workflow.egg-info/not-zip-safe +0 -0
  23. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/rcsb.workflow.egg-info/top_level.txt +0 -0
  24. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/setup.cfg +0 -0
  25. {rcsb_workflow-0.43 → rcsb_workflow-0.44}/setup.py +0 -0
@@ -35,3 +35,4 @@
35
35
  Reduce resource footprint for Azure tests;
36
36
  Make CARDTargetOntologyProvider stashable on Buildlocker
37
37
  21-May-2024 - V0.43 Fix pylinting
38
+ 20-Aug-2024 - V0.44 Add step for loading target cofactor data to MongoDB
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rcsb.workflow
3
- Version: 0.43
3
+ Version: 0.44
4
4
  Summary: RCSB Python data processing and ETL/ELT workflow entry points
5
5
  Home-page: https://github.com/rcsb/py-rcsb_workflow
6
6
  Author: John Westbrook
@@ -16,12 +16,12 @@ Classifier: Programming Language :: Python :: 3.8
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
18
  Requires-Dist: OpenEye-toolkits>=2020.2.2
19
- Requires-Dist: rcsb.utils.chem>=0.75
20
- Requires-Dist: rcsb.utils.seq>=0.63
21
- Requires-Dist: rcsb.utils.targets>=0.57
22
- Requires-Dist: rcsb.utils.seqalign>=0.24
23
- Requires-Dist: rcsb.exdb>=0.87
24
- Requires-Dist: rcsb.utils.io>=1.20
19
+ Requires-Dist: rcsb.utils.chem>=0.79
20
+ Requires-Dist: rcsb.utils.seq>=0.79
21
+ Requires-Dist: rcsb.utils.targets>=0.80
22
+ Requires-Dist: rcsb.utils.seqalign>=0.29
23
+ Requires-Dist: rcsb.exdb>=1.22
24
+ Requires-Dist: rcsb.utils.io>=1.46
25
25
  Provides-Extra: dev
26
26
  Requires-Dist: check-manifest; extra == "dev"
27
27
  Provides-Extra: test
@@ -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__ = "0.43"
5
+ __version__ = "0.44"
@@ -219,6 +219,17 @@ class ProteinTargetSequenceExecutionWorkflow(object):
219
219
  logger.exception("Failing with %s", str(e))
220
220
  return ok
221
221
 
222
+ def loadTargetCofactorData(self):
223
+ """Load target cofactor data from search results"""
224
+ logger.info("Running loadTargetCofactorData...")
225
+ ok = False
226
+ try:
227
+ ptsW = ProteinTargetSequenceWorkflow(self.__cfgOb, self.__cachePath)
228
+ ok = ptsW.loadTargetCofactorData(resourceNameList=["chembl", "pharos", "drugbank"])
229
+ except Exception as e:
230
+ logger.exception("Failing with %s", str(e))
231
+ return ok
232
+
222
233
  #
223
234
  # --- --- --- ---
224
235
 
@@ -15,6 +15,7 @@
15
15
  # 1-Jun-2023 aae Don't back up resources to GitHub during cache update workflows
16
16
  # 12-Jun-2023 dwp Set useTaxonomy filter to False for CARD annotations
17
17
  # 6-Jul-2023 aae Don't overwrite Buildlocker files if there is no data
18
+ # 20-Aug-2024 dwp Add step for loading target cofactor data to MongoDB
18
19
  ##
19
20
  __docformat__ = "google en"
20
21
  __author__ = "John Westbrook"
@@ -304,7 +305,7 @@ class ProteinTargetSequenceWorkflow(object):
304
305
  )
305
306
  #
306
307
  if taxonPath and mU.exists(taxonPath):
307
- mL = mmS.getMatchResults(rawPath, taxonPath, useTaxonomy=True, misMatchCutoff=-1, sequenceIdentityCutoff=identityCutoff, useBitScore=useBitScore)
308
+ mL = mmS.getMatchResults(rawPath, taxonPath, useTaxonomy=True, useTaxonomyCache=True, misMatchCutoff=-1, sequenceIdentityCutoff=identityCutoff, useBitScore=useBitScore)
308
309
  else:
309
310
  mL = mmS.getMatchResults(rawPath, None, useTaxonomy=False, misMatchCutoff=-1, sequenceIdentityCutoff=identityCutoff, useBitScore=useBitScore)
310
311
  logger.info("Query sequences with matches %r (%d) bitScore filter (%r)", resourceName, len(mL), useBitScore)
@@ -320,7 +321,7 @@ class ProteinTargetSequenceWorkflow(object):
320
321
 
321
322
  Args:
322
323
  referenceResourceName (str): reference resource name (e.g., pdbprent)
323
- resourceNameList (list, optional): list of data resources. Defaults to ["sabdab", "card"].
324
+ resourceNameList (list, optional): list of data resources. Defaults to ["sabdab", "card", "imgt"].
324
325
  useTaxonomy (bool, optional): use taxonomy in filtering selections where implemented (e.g., card). Defaults to True.
325
326
  backup (bool, optional): backup results to stash storage. Defaults to False.
326
327
  remotePrefix (str, optional): channel prefix for stash storage. Defaults to None.
@@ -328,7 +329,7 @@ class ProteinTargetSequenceWorkflow(object):
328
329
  Returns:
329
330
  bool: True for success or False otherwise
330
331
  """
331
- resourceNameList = resourceNameList if resourceNameList else ["sabdab", "card"]
332
+ resourceNameList = resourceNameList if resourceNameList else ["sabdab", "card", "imgt"]
332
333
  retOk = True
333
334
  for resourceName in resourceNameList:
334
335
  startTime = time.time()
@@ -490,7 +491,7 @@ class ProteinTargetSequenceWorkflow(object):
490
491
  crmpObj = ChemRefMappingProvider(cachePath=self.__cachePath, useCache=True)
491
492
  lnmpObj = LigandNeighborMappingProvider(cachePath=self.__cachePath, useCache=True)
492
493
 
493
- okB = True
494
+ ok = okB = True
494
495
  resultPath = self.__getFilteredSearchResultPath(resourceName, referenceResourceName)
495
496
  #
496
497
  if resourceName == "chembl":
@@ -528,6 +529,55 @@ class ProteinTargetSequenceWorkflow(object):
528
529
  logger.exception("Failing with %s", str(e))
529
530
  return False
530
531
 
532
+ def loadTargetCofactorData(self, resourceNameList=None):
533
+ """Load target cofactor data to MongoDB.
534
+
535
+ Args:
536
+ resourceNameList (list, optional): list of data resources. Defaults to ["pharos", "chembl"].
537
+
538
+ Returns:
539
+ bool: True for success or False otherwise
540
+ """
541
+ resourceNameList = resourceNameList if resourceNameList else ["chembl", "pharos", "drugbank"]
542
+ retOk = True
543
+ for resourceName in resourceNameList:
544
+ startTime = time.time()
545
+ ok = self.__loadTargetCofactorData(resourceName)
546
+ logger.info(
547
+ "Completed loading target cofactor data for %s (status %r) at %s (%.4f seconds)",
548
+ resourceName,
549
+ ok,
550
+ time.strftime("%Y %m %d %H:%M:%S", time.localtime()),
551
+ time.time() - startTime,
552
+ )
553
+ retOk = retOk and ok
554
+ #
555
+ return retOk
556
+
557
+ def __loadTargetCofactorData(self, resourceName):
558
+ """Load cofactor data inferred from sequence comparison results to MongoDB."""
559
+ try:
560
+ ok = okLoad = False
561
+ aP = None
562
+ #
563
+ if resourceName == "chembl":
564
+ aP = ChEMBLTargetCofactorProvider(cachePath=self.__cachePath, useCache=True)
565
+ elif resourceName == "pharos":
566
+ aP = PharosTargetCofactorProvider(cachePath=self.__cachePath, useCache=True, useStash=True, useGit=True)
567
+ elif resourceName == "drugbank":
568
+ aP = DrugBankTargetCofactorProvider(cachePath=self.__cachePath, useCache=True)
569
+ #
570
+ ok = aP.reload()
571
+ logger.info("%r cofactor data reload status (%r)", resourceName, ok)
572
+ #
573
+ if ok and aP.testCache():
574
+ okLoad = aP.loadCofactorData(cfgOb=self.__cfgOb)
575
+
576
+ return ok and okLoad
577
+ except Exception as e:
578
+ logger.exception("Failing with %s", str(e))
579
+ return False
580
+
531
581
  def __getDatabasePath(self):
532
582
  return os.path.join(self.__cachePath, "sequence-databases")
533
583
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rcsb.workflow
3
- Version: 0.43
3
+ Version: 0.44
4
4
  Summary: RCSB Python data processing and ETL/ELT workflow entry points
5
5
  Home-page: https://github.com/rcsb/py-rcsb_workflow
6
6
  Author: John Westbrook
@@ -16,12 +16,12 @@ Classifier: Programming Language :: Python :: 3.8
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
18
  Requires-Dist: OpenEye-toolkits>=2020.2.2
19
- Requires-Dist: rcsb.utils.chem>=0.75
20
- Requires-Dist: rcsb.utils.seq>=0.63
21
- Requires-Dist: rcsb.utils.targets>=0.57
22
- Requires-Dist: rcsb.utils.seqalign>=0.24
23
- Requires-Dist: rcsb.exdb>=0.87
24
- Requires-Dist: rcsb.utils.io>=1.20
19
+ Requires-Dist: rcsb.utils.chem>=0.79
20
+ Requires-Dist: rcsb.utils.seq>=0.79
21
+ Requires-Dist: rcsb.utils.targets>=0.80
22
+ Requires-Dist: rcsb.utils.seqalign>=0.29
23
+ Requires-Dist: rcsb.exdb>=1.22
24
+ Requires-Dist: rcsb.utils.io>=1.46
25
25
  Provides-Extra: dev
26
26
  Requires-Dist: check-manifest; extra == "dev"
27
27
  Provides-Extra: test
@@ -0,0 +1,13 @@
1
+ OpenEye-toolkits>=2020.2.2
2
+ rcsb.utils.chem>=0.79
3
+ rcsb.utils.seq>=0.79
4
+ rcsb.utils.targets>=0.80
5
+ rcsb.utils.seqalign>=0.29
6
+ rcsb.exdb>=1.22
7
+ rcsb.utils.io>=1.46
8
+
9
+ [dev]
10
+ check-manifest
11
+
12
+ [test]
13
+ coverage
@@ -0,0 +1,8 @@
1
+ --extra-index-url https://pypi.anaconda.org/OpenEye/simple
2
+ OpenEye-toolkits >= 2020.2.2
3
+ rcsb.utils.chem >= 0.79
4
+ rcsb.utils.seq >= 0.79
5
+ rcsb.utils.targets >= 0.80
6
+ rcsb.utils.seqalign >= 0.29
7
+ rcsb.exdb >= 1.22
8
+ rcsb.utils.io >= 1.46
@@ -1,13 +0,0 @@
1
- OpenEye-toolkits>=2020.2.2
2
- rcsb.utils.chem>=0.75
3
- rcsb.utils.seq>=0.63
4
- rcsb.utils.targets>=0.57
5
- rcsb.utils.seqalign>=0.24
6
- rcsb.exdb>=0.87
7
- rcsb.utils.io>=1.20
8
-
9
- [dev]
10
- check-manifest
11
-
12
- [test]
13
- coverage
@@ -1,8 +0,0 @@
1
- --extra-index-url https://pypi.anaconda.org/OpenEye/simple
2
- OpenEye-toolkits >= 2020.2.2
3
- rcsb.utils.chem >= 0.75
4
- rcsb.utils.seq >= 0.63
5
- rcsb.utils.targets >= 0.57
6
- rcsb.utils.seqalign >= 0.24
7
- rcsb.exdb >= 0.87
8
- rcsb.utils.io >= 1.20
File without changes
File without changes
File without changes
File without changes
File without changes