rcsb.workflow 0.67__tar.gz → 0.69__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.
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/HISTORY.txt +2 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/PKG-INFO +1 -1
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/pyproject.toml +1 -1
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/bcif/task_functions.py +8 -1
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/cli/BcifExec.py +8 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/targets/ProteinTargetSequenceExecutionWorkflow.py +10 -5
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/targets/ProteinTargetSequenceWorkflow.py +2 -1
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/wuw/BcifWorkflow.py +3 -1
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/.gitignore +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/LICENSE +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/README.md +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/__init__.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/__init__.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/bcif/__init__.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/chem/ChemCompFileWorkflow.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/chem/ChemCompImageWorkflow.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/chem/ChemCompSearchIndexWorkflow.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/chem/__init__.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/cli/ChemSearchIndexExec.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/cli/ExDbExec.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/cli/ImgExec.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/cli/__init__.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/refstats/LigandQualityReferenceGenerator.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/refstats/ResidueRsccReferenceGenerator.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/refstats/__init__.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/targets/__init__.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/__init__.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/fixturePdbxLoader.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/testBcifWorkflow.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/testChemCompFileWorkflow.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/testChemCompImageWorkflow.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/testChemCompSearchIndexWorkflow.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/testExDbWorkflow.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/testLigandQualityReferenceGenerator.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/testProteinTargetSequenceWorkflow.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/testResidueRsccReferenceGenerator.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/wuw/ExDbWorkflow.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/wuw/PdbCsmImageWorkflow.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/wuw/WuwUtils.py +0 -0
- {rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/wuw/__init__.py +0 -0
|
@@ -62,3 +62,5 @@
|
|
|
62
62
|
2-Mar-2026 - V0.66 Add refstats subpackage for ligand and RSCC reference generation;
|
|
63
63
|
Update test pipelines to python 3.13
|
|
64
64
|
7-May-2026 - V0.67 Configure logging at start of CLI executable scripts
|
|
65
|
+
11-May-2026 - V0.68 Temporarily skip DrugBank data processing until dataset becomes available
|
|
66
|
+
17-Jul-2026 - V0.69 Add shortlink support for bcif generation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rcsb.workflow
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.69
|
|
4
4
|
Summary: RCSB Python data processing and ETL/ELT workflow entry points
|
|
5
5
|
Project-URL: Homepage, https://github.com/rcsb/py-rcsb_workflow
|
|
6
6
|
Author-email: John Westbrook <john.westbrook@rcsb.org>
|
|
@@ -5,7 +5,7 @@ build-backend = "hatchling.build"
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "rcsb.workflow"
|
|
7
7
|
description = "RCSB Python data processing and ETL/ELT workflow entry points"
|
|
8
|
-
version = "0.
|
|
8
|
+
version = "0.69"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
11
11
|
{ name="John Westbrook", email="john.westbrook@rcsb.org" }
|
|
@@ -50,6 +50,7 @@ def convertCifFilesToBcif(
|
|
|
50
50
|
rcsbDict: str,
|
|
51
51
|
ihmDict: str,
|
|
52
52
|
flrDict: str,
|
|
53
|
+
shortlink: bool,
|
|
53
54
|
):
|
|
54
55
|
"""
|
|
55
56
|
Converts CIF files to BCIF format based on a given list file.
|
|
@@ -107,6 +108,7 @@ def convertCifFilesToBcif(
|
|
|
107
108
|
contentType,
|
|
108
109
|
dictionaryApi,
|
|
109
110
|
temppath,
|
|
111
|
+
shortlink,
|
|
110
112
|
)
|
|
111
113
|
singleTask(*args)
|
|
112
114
|
elif batchSize > 1:
|
|
@@ -125,6 +127,7 @@ def convertCifFilesToBcif(
|
|
|
125
127
|
contentType,
|
|
126
128
|
dictionaryApi,
|
|
127
129
|
temppath,
|
|
130
|
+
shortlink,
|
|
128
131
|
)
|
|
129
132
|
results.append(pool.apply_async(singleTask, args))
|
|
130
133
|
for r in results:
|
|
@@ -167,6 +170,7 @@ def singleTask(
|
|
|
167
170
|
contentType: str,
|
|
168
171
|
dictionaryApi: DictionaryApi,
|
|
169
172
|
temppath: str,
|
|
173
|
+
shortlink: bool,
|
|
170
174
|
) -> None:
|
|
171
175
|
remoteFileName = "%s%s" % (
|
|
172
176
|
getInputPdbId(pdbId, contentType),
|
|
@@ -174,7 +178,10 @@ def singleTask(
|
|
|
174
178
|
)
|
|
175
179
|
|
|
176
180
|
# form input cifFilePath
|
|
177
|
-
if
|
|
181
|
+
if shortlink:
|
|
182
|
+
# Use remote path without hash
|
|
183
|
+
cifFilePath = os.path.join(remotePath, remoteFileName)
|
|
184
|
+
elif not remotePath.startswith("http"):
|
|
178
185
|
# local file
|
|
179
186
|
cifFilePath = os.path.join(remotePath, remoteFileName)
|
|
180
187
|
if inputHash:
|
|
@@ -126,6 +126,14 @@ def main():
|
|
|
126
126
|
default="https://raw.githubusercontent.com/ihmwg/flrCIF/refs/heads/master/dist/mmcif_ihm_flr_ext.dic",
|
|
127
127
|
required=False,
|
|
128
128
|
)
|
|
129
|
+
parser.add_argument(
|
|
130
|
+
"--shortlink",
|
|
131
|
+
action="store_true",
|
|
132
|
+
default=False,
|
|
133
|
+
required=False,
|
|
134
|
+
help="Build remote file path without a hash",
|
|
135
|
+
)
|
|
136
|
+
|
|
129
137
|
# logging
|
|
130
138
|
parser.add_argument("--log_file_path", required=False)
|
|
131
139
|
parser.add_argument("--debug", action="store_true", default=False, required=False)
|
|
@@ -176,7 +176,8 @@ class ProteinTargetSequenceExecutionWorkflow(object):
|
|
|
176
176
|
addTaxonomy=True,
|
|
177
177
|
reloadPharos=reloadPharos,
|
|
178
178
|
fromDbPharos=fromDbPharos,
|
|
179
|
-
resourceNameList=["sabdab", "card", "drugbank", "chembl", "pharos"],
|
|
179
|
+
# resourceNameList=["sabdab", "card", "drugbank", "chembl", "pharos"],
|
|
180
|
+
resourceNameList=["sabdab", "card", "chembl", "pharos"],
|
|
180
181
|
backupPharos=True,
|
|
181
182
|
remotePrefix=self.__stashRemotePrefix
|
|
182
183
|
)
|
|
@@ -199,7 +200,8 @@ class ProteinTargetSequenceExecutionWorkflow(object):
|
|
|
199
200
|
ok = False
|
|
200
201
|
try:
|
|
201
202
|
ptsW = ProteinTargetSequenceWorkflow(self.__cfgOb, self.__cachePath)
|
|
202
|
-
ok = ptsW.createSearchDatabases(resourceNameList=["sabdab", "card", "drugbank", "chembl", "pharos", "pdbprent"], addTaxonomy=True, timeOutSeconds=3600, verbose=False)
|
|
203
|
+
# ok = ptsW.createSearchDatabases(resourceNameList=["sabdab", "card", "drugbank", "chembl", "pharos", "pdbprent"], addTaxonomy=True, timeOutSeconds=3600, verbose=False)
|
|
204
|
+
ok = ptsW.createSearchDatabases(resourceNameList=["sabdab", "card", "chembl", "pharos", "pdbprent"], addTaxonomy=True, timeOutSeconds=3600, verbose=False)
|
|
203
205
|
except Exception as e:
|
|
204
206
|
logger.exception("Failing with %s", str(e))
|
|
205
207
|
return ok
|
|
@@ -234,7 +236,8 @@ class ProteinTargetSequenceExecutionWorkflow(object):
|
|
|
234
236
|
ptsW = ProteinTargetSequenceWorkflow(self.__cfgOb, self.__cachePath)
|
|
235
237
|
ok1 = ptsW.search(
|
|
236
238
|
referenceResourceName="pdbprent",
|
|
237
|
-
resourceNameList=["sabdab", "drugbank", "chembl", "pharos"],
|
|
239
|
+
# resourceNameList=["sabdab", "drugbank", "chembl", "pharos"],
|
|
240
|
+
resourceNameList=["sabdab", "chembl", "pharos"],
|
|
238
241
|
identityCutoff=0.95,
|
|
239
242
|
sensitivity=4.5,
|
|
240
243
|
timeOutSeconds=1000,
|
|
@@ -288,7 +291,8 @@ class ProteinTargetSequenceExecutionWorkflow(object):
|
|
|
288
291
|
ok = False
|
|
289
292
|
try:
|
|
290
293
|
ptsW = ProteinTargetSequenceWorkflow(self.__cfgOb, self.__cachePath)
|
|
291
|
-
ok = ptsW.buildCofactorData(referenceResourceName="pdbprent", resourceNameList=["chembl", "pharos", "drugbank"], backup=True, remotePrefix=self.__stashRemotePrefix)
|
|
294
|
+
# ok = ptsW.buildCofactorData(referenceResourceName="pdbprent", resourceNameList=["chembl", "pharos", "drugbank"], backup=True, remotePrefix=self.__stashRemotePrefix)
|
|
295
|
+
ok = ptsW.buildCofactorData(referenceResourceName="pdbprent", resourceNameList=["chembl", "pharos"], backup=True, remotePrefix=self.__stashRemotePrefix)
|
|
292
296
|
except Exception as e:
|
|
293
297
|
logger.exception("Failing with %s", str(e))
|
|
294
298
|
return ok
|
|
@@ -299,7 +303,8 @@ class ProteinTargetSequenceExecutionWorkflow(object):
|
|
|
299
303
|
ok = False
|
|
300
304
|
try:
|
|
301
305
|
ptsW = ProteinTargetSequenceWorkflow(self.__cfgOb, self.__cachePath)
|
|
302
|
-
ok = ptsW.loadTargetCofactorData(resourceNameList=["chembl", "pharos", "drugbank"])
|
|
306
|
+
# ok = ptsW.loadTargetCofactorData(resourceNameList=["chembl", "pharos", "drugbank"])
|
|
307
|
+
ok = ptsW.loadTargetCofactorData(resourceNameList=["chembl", "pharos"])
|
|
303
308
|
except Exception as e:
|
|
304
309
|
logger.exception("Failing with %s", str(e))
|
|
305
310
|
return ok
|
{rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/targets/ProteinTargetSequenceWorkflow.py
RENAMED
|
@@ -64,7 +64,8 @@ class ProteinTargetSequenceWorkflow(object):
|
|
|
64
64
|
self.__configName = cfgOb.getDefaultSectionName()
|
|
65
65
|
self.__cachePath = os.path.abspath(cachePath)
|
|
66
66
|
self.__umP = None
|
|
67
|
-
self.__defaultResourceNameList = ["sabdab", "card", "drugbank", "chembl", "pdbprent"]
|
|
67
|
+
# self.__defaultResourceNameList = ["sabdab", "card", "drugbank", "chembl", "pdbprent"]
|
|
68
|
+
self.__defaultResourceNameList = ["sabdab", "card", "chembl", "pdbprent"]
|
|
68
69
|
|
|
69
70
|
def testCache(self):
|
|
70
71
|
return True
|
|
@@ -37,6 +37,7 @@ class BcifWorkflow:
|
|
|
37
37
|
self.outputHash = bool(args.outputHash)
|
|
38
38
|
self.inputHash = bool(args.inputHash)
|
|
39
39
|
self.batchSize = int(args.batchSize)
|
|
40
|
+
self.shortlink = bool(args.shortlink)
|
|
40
41
|
# config
|
|
41
42
|
self.pdbxDict = args.pdbxDict
|
|
42
43
|
self.maDict = args.maDict
|
|
@@ -83,5 +84,6 @@ class BcifWorkflow:
|
|
|
83
84
|
self.maDict,
|
|
84
85
|
self.rcsbDict,
|
|
85
86
|
self.ihmDict,
|
|
86
|
-
self.flrDict
|
|
87
|
+
self.flrDict,
|
|
88
|
+
self.shortlink,
|
|
87
89
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/refstats/LigandQualityReferenceGenerator.py
RENAMED
|
File without changes
|
{rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/refstats/ResidueRsccReferenceGenerator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/testChemCompSearchIndexWorkflow.py
RENAMED
|
File without changes
|
|
File without changes
|
{rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/testLigandQualityReferenceGenerator.py
RENAMED
|
File without changes
|
{rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/testProteinTargetSequenceWorkflow.py
RENAMED
|
File without changes
|
{rcsb_workflow-0.67 → rcsb_workflow-0.69}/rcsb/workflow/tests/testResidueRsccReferenceGenerator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|