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.
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/HISTORY.txt +4 -0
- {rcsb_exdb-1.24/rcsb.exdb.egg-info → rcsb_exdb-1.26}/PKG-INFO +6 -5
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/cli/ExDbExec.py +17 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/cli/__init__.py +1 -1
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/PolymerEntityExtractor.py +7 -1
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/wf/ExDbWorkflow.py +84 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26/rcsb.exdb.egg-info}/PKG-INFO +6 -5
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb.exdb.egg-info/requires.txt +4 -4
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/requirements.txt +4 -4
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/setup.py +1 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/LICENSE +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/MANIFEST.in +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/README.md +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/__init__.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/__init__.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/branch/BranchedEntityExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/branch/GlycanProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/branch/GlycanUtils.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/branch/__init__.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/ChemRefEtlWorker.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/ChemRefExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/ChemRefMappingProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/PubChemDataCacheProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/PubChemEtlWrapper.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/PubChemIndexCacheProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/chemref/__init__.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/citation/CitationAdapter.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/citation/CitationExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/citation/CitationUtils.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/citation/__init__.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/entry/EntryInfoProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/entry/__init__.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/AnnotationExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/LigandNeighborMappingExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/LigandNeighborMappingProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/ReferenceSequenceAnnotationAdapter.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/ReferenceSequenceAnnotationProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/ReferenceSequenceAssignmentAdapter.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/ReferenceSequenceAssignmentProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/ReferenceSequenceCacheProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/TaxonomyExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/UniProtCoreEtlWorker.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/UniProtExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/seq/__init__.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/__init__.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/fixtureDictMethodResourceProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/fixturePdbxLoader.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testAnnotationExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testBranchedEntityExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testChemRefLoader.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testChemRefMappingProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testCitationAdapter.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testCitationExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testCitationUtils.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testEntryInfoEtlWorkflow.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testEntryInfoProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testExDbWorkflow.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testGlycanEtlWorkflow.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testGlycanProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testGlycanUtils.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testLigandNeighborMappingProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testObjectExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testObjectTransformer.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testObjectUpdater.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testPolymerEntityExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testPubChemDataCacheProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testPubChemEtlWorkflow.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testPubChemEtlWrapper.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testPubChemIndexCacheProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testReferenceSequenceAnnotationAdapter.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testReferenceSequenceAssignmentAdapter.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testReferenceSequenceAssignmentAdapterValidate.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testReferenceSequenceAssignmentProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testReferenceSequenceCacheProvider.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testTaxonomyExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testTreeNodeListWorker.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testUniProtCoreEtlWorker.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testUniProtExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tree/TreeNodeListWorker.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tree/__init__.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/utils/ObjectAdapterBase.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/utils/ObjectExtractor.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/utils/ObjectTransformer.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/utils/ObjectUpdater.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/utils/ObjectValidator.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/utils/__init__.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/wf/EntryInfoEtlWorkflow.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/wf/GlycanEtlWorkflow.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/wf/PubChemEtlWorkflow.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/wf/__init__.py +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb.exdb.egg-info/SOURCES.txt +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb.exdb.egg-info/dependency_links.txt +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb.exdb.egg-info/entry_points.txt +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb.exdb.egg-info/not-zip-safe +0 -0
- {rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb.exdb.egg-info/top_level.txt +0 -0
- {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.
|
|
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>=
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
@@ -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
|
|
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.
|
|
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>=
|
|
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.
|
|
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.
|
|
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.
|
|
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>=
|
|
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.
|
|
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.
|
|
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.
|
|
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 >=
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testReferenceSequenceAssignmentAdapterValidate.py
RENAMED
|
File without changes
|
{rcsb_exdb-1.24 → rcsb_exdb-1.26}/rcsb/exdb/tests/testReferenceSequenceAssignmentProvider.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
|
|
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
|
|
File without changes
|
|
File without changes
|