rcsb.exdb 1.31__tar.gz → 1.33__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.31 → rcsb_exdb-1.33}/HISTORY.txt +2 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/PKG-INFO +2 -2
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/pyproject.toml +3 -3
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tree/TreeNodeListWorker.py +72 -49
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/.gitignore +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/LICENSE +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/README.md +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/__init__.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/__init__.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/branch/BranchedEntityExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/branch/GlycanProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/branch/GlycanUtils.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/branch/__init__.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/chemref/ChemRefEtlWorker.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/chemref/ChemRefExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/chemref/ChemRefMappingProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/chemref/PubChemDataCacheProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/chemref/PubChemEtlWrapper.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/chemref/PubChemIndexCacheProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/chemref/__init__.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/citation/CitationAdapter.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/citation/CitationExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/citation/CitationUtils.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/citation/__init__.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/cli/__init__.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/entry/EntryInfoProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/entry/__init__.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/EntityInstanceExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/EntityPolymerExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/EntityPolymerExtractorFullTests.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/ReferenceSequenceAssignmentUpdater.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/ReferenceSequenceUtils.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/ReferenceSequenceUtilsTests.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/exampleObjectExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/fixtureEntityPolymerExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/testEntityInstanceExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/testEntityPolymerExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/testReferenceSequenceAssignmentUpdater.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/testReferenceSequenceUtils.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/AnnotationExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/LigandNeighborMappingExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/LigandNeighborMappingProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/PolymerEntityExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/ReferenceSequenceAnnotationAdapter.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/ReferenceSequenceAnnotationProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/ReferenceSequenceAssignmentAdapter.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/ReferenceSequenceAssignmentProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/ReferenceSequenceCacheProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/TaxonomyExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/UniProtCoreEtlWorker.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/UniProtExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/seq/__init__.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/__init__.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/fixtureDictMethodResourceProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/fixturePdbxLoader.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testAnnotationExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testBranchedEntityExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testChemRefLoader.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testChemRefMappingProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testCitationAdapter.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testCitationExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testCitationUtils.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testEntryInfoEtlWorkflow.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testEntryInfoProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testGlycanEtlWorkflow.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testGlycanProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testGlycanUtils.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testLigandNeighborMappingProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testObjectExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testObjectTransformer.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testObjectUpdater.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testPolymerEntityExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testPubChemDataCacheProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testPubChemEtlWorkflow.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testPubChemEtlWrapper.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testPubChemIndexCacheProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testReferenceSequenceAnnotationAdapter.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testReferenceSequenceAssignmentAdapter.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testReferenceSequenceAssignmentAdapterValidate.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testReferenceSequenceAssignmentProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testReferenceSequenceCacheProvider.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testTaxonomyExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testTreeNodeListWorker.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testUniProtCoreEtlWorker.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testUniProtExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/tree/__init__.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/utils/ObjectAdapterBase.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/utils/ObjectExtractor.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/utils/ObjectTransformer.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/utils/ObjectUpdater.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/utils/ObjectValidator.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/utils/__init__.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/wf/EntryInfoEtlWorkflow.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/wf/GlycanEtlWorkflow.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/wf/PubChemEtlWorkflow.py +0 -0
- {rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/wf/__init__.py +0 -0
|
@@ -113,3 +113,5 @@
|
|
|
113
113
|
8-Apr-2025 V1.29 Add more logging to PubChemIndexCacheProvider and increase default numProc
|
|
114
114
|
2-Oct-2025 V1.30 Make use of ExDB configuration file for loading drugbank and tree node list DBs/collections and setting indexed fields
|
|
115
115
|
2-Dec-2025 V1.31 Switch to 'pyproject.toml' file and update test pipelines to python 3.12
|
|
116
|
+
8-Dec-2025 V1.32 Correction to pyproject.toml
|
|
117
|
+
6-Jan-2026 V1.33 Updates to TreeNodeListWorker to raise errors upon failures and allow for manual specification of tree lists to load
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rcsb.exdb
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.33
|
|
4
4
|
Summary: RCSB Python ExDB data extraction and loading workflows
|
|
5
5
|
Project-URL: Homepage, https://github.com/rcsb/py-rcsb_exdb
|
|
6
6
|
Author-email: John Westbrook <john.westbrook@rcsb.org>
|
|
@@ -26,7 +26,7 @@ Requires-Dist: rcsb-utils-ec>=0.25
|
|
|
26
26
|
Requires-Dist: rcsb-utils-go>=0.18
|
|
27
27
|
Requires-Dist: rcsb-utils-io>=1.48
|
|
28
28
|
Requires-Dist: rcsb-utils-seq>=0.82
|
|
29
|
-
Requires-Dist: rcsb-utils-struct>=0.
|
|
29
|
+
Requires-Dist: rcsb-utils-struct>=0.51
|
|
30
30
|
Requires-Dist: rcsb-utils-targets>=0.82
|
|
31
31
|
Requires-Dist: rcsb-utils-taxonomy>=0.43
|
|
32
32
|
Provides-Extra: tests
|
|
@@ -5,7 +5,7 @@ build-backend = "hatchling.build"
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "rcsb.exdb"
|
|
7
7
|
description = "RCSB Python ExDB data extraction and loading workflows"
|
|
8
|
-
version = "1.
|
|
8
|
+
version = "1.33"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
11
11
|
{ name="John Westbrook", email="john.westbrook@rcsb.org" }
|
|
@@ -40,7 +40,7 @@ dependencies = [
|
|
|
40
40
|
"rcsb.utils.go >= 0.18",
|
|
41
41
|
"rcsb.utils.seq >= 0.82",
|
|
42
42
|
"rcsb.utils.targets >= 0.82",
|
|
43
|
-
"rcsb.utils.struct >= 0.
|
|
43
|
+
"rcsb.utils.struct >= 0.51",
|
|
44
44
|
"rcsb.utils.taxonomy >= 0.43",
|
|
45
45
|
"rcsb.utils.dictionary >= 1.27",
|
|
46
46
|
]
|
|
@@ -71,7 +71,7 @@ exclude = [
|
|
|
71
71
|
[tool.hatch.build.targets.wheel]
|
|
72
72
|
packages = ["rcsb"]
|
|
73
73
|
exclude = [
|
|
74
|
-
"/rcsb/
|
|
74
|
+
"/rcsb/exdb/test*",
|
|
75
75
|
"/rcsb/mock-*",
|
|
76
76
|
]
|
|
77
77
|
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
# 23-Jan-2025 dwp Change indexed field from 'update_id' to 'id'
|
|
13
13
|
# 7-Aug-2025 dwp Change target DB and collection names to "dw" and "tree_*" (via configuration file);
|
|
14
14
|
# Make use of configuration file for loading tree node lists and setting indexed fields
|
|
15
|
+
# 6-Jan-2026 dwp Raise error if a tree node list is empty or fails to load;
|
|
16
|
+
# Add support for providing a manual list of tree node lists to load (for testing)
|
|
15
17
|
#
|
|
16
18
|
##
|
|
17
19
|
__docformat__ = "google en"
|
|
@@ -41,7 +43,20 @@ logger = logging.getLogger(__name__)
|
|
|
41
43
|
class TreeNodeListWorker(object):
|
|
42
44
|
"""Prepare and load repository holdings and repository update data."""
|
|
43
45
|
|
|
44
|
-
def __init__(
|
|
46
|
+
def __init__(
|
|
47
|
+
self,
|
|
48
|
+
cfgOb,
|
|
49
|
+
cachePath,
|
|
50
|
+
numProc=1,
|
|
51
|
+
chunkSize=10,
|
|
52
|
+
maxStepLength=4000,
|
|
53
|
+
readBackCheck=False,
|
|
54
|
+
documentLimit=None,
|
|
55
|
+
verbose=False,
|
|
56
|
+
useCache=False,
|
|
57
|
+
useFilteredLists=False,
|
|
58
|
+
treeCollectionList=None,
|
|
59
|
+
):
|
|
45
60
|
self.__cfgOb = cfgOb
|
|
46
61
|
self.__cachePath = os.path.abspath(cachePath)
|
|
47
62
|
self.__readBackCheck = readBackCheck
|
|
@@ -55,6 +70,7 @@ class TreeNodeListWorker(object):
|
|
|
55
70
|
self.__statusList = []
|
|
56
71
|
self.__useCache = useCache
|
|
57
72
|
self.__useFilteredLists = useFilteredLists
|
|
73
|
+
self.__treeCollectionList = treeCollectionList if treeCollectionList else [] # Manually specify tree collections to load
|
|
58
74
|
|
|
59
75
|
def __updateStatus(self, updateId, databaseName, collectionName, status, startTimestamp):
|
|
60
76
|
try:
|
|
@@ -95,43 +111,49 @@ class TreeNodeListWorker(object):
|
|
|
95
111
|
ATTRIBUTE_NAMES:
|
|
96
112
|
- parents
|
|
97
113
|
"""
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
114
|
+
ok = True
|
|
115
|
+
useCache = self.__useCache
|
|
116
|
+
#
|
|
117
|
+
logger.info("Starting with cache path %r (useCache=%r)", self.__cachePath, useCache)
|
|
118
|
+
#
|
|
119
|
+
self.__statusList = []
|
|
120
|
+
desp = DataExchangeStatus()
|
|
121
|
+
statusStartTimestamp = desp.setStartTime()
|
|
122
|
+
dl = DocumentLoader(
|
|
123
|
+
self.__cfgOb,
|
|
124
|
+
self.__cachePath,
|
|
125
|
+
self.__resourceName,
|
|
126
|
+
numProc=self.__numProc,
|
|
127
|
+
chunkSize=self.__chunkSize,
|
|
128
|
+
maxStepLength=self.__maxStepLength,
|
|
129
|
+
documentLimit=self.__documentLimit,
|
|
130
|
+
verbose=self.__verbose,
|
|
131
|
+
readBackCheck=self.__readBackCheck,
|
|
132
|
+
)
|
|
133
|
+
#
|
|
134
|
+
sectionName = "tree_node_lists_configuration"
|
|
135
|
+
databaseNameMongo = self.__cfgOb.get("DATABASE_NAME", sectionName=sectionName)
|
|
136
|
+
collectionNameList = self.__cfgOb.get("COLLECTION_NAME_LIST", sectionName=sectionName)
|
|
137
|
+
collectionIndexList = self.__cfgOb.get("COLLECTION_INDICES", sectionName=sectionName)
|
|
138
|
+
# databaseNameMongo = 'dw'
|
|
139
|
+
# collectionNameList = ['tree_taxonomy', 'tree_ec', 'tree_scop', 'tree_scop2', 'tree_cath', 'tree_atc', 'tree_card', 'tree_ecod', 'tree_go']
|
|
140
|
+
# collectionIndexList = [{'INDEX_NAME': 'primary', 'ATTRIBUTE_NAMES': ['id']}, {'INDEX_NAME': 'index_2', 'ATTRIBUTE_NAMES': ['parents']}]
|
|
141
|
+
|
|
142
|
+
if len(self.__treeCollectionList) > 0:
|
|
143
|
+
collectionNameList = [col for col in self.__treeCollectionList]
|
|
144
|
+
|
|
145
|
+
# collectionVersion = self.__cfgOb.get("COLLECTION_VERSION_STRING", sectionName=sectionName)
|
|
146
|
+
# addValues = {"_schema_version": collectionVersion}
|
|
147
|
+
addValues = None
|
|
148
|
+
|
|
149
|
+
for collectionName in collectionNameList:
|
|
150
|
+
nL = self.__getTreeDocList(collectionName, useCache)
|
|
151
|
+
if doLoad:
|
|
152
|
+
if not nL or len(nL) == 0:
|
|
153
|
+
logger.error("Empty node list returned for collectionName %r", collectionName)
|
|
154
|
+
ok = False
|
|
155
|
+
else:
|
|
156
|
+
okL = dl.load(
|
|
135
157
|
databaseNameMongo,
|
|
136
158
|
collectionName,
|
|
137
159
|
loadType=loadType,
|
|
@@ -140,18 +162,19 @@ class TreeNodeListWorker(object):
|
|
|
140
162
|
addValues=addValues,
|
|
141
163
|
schemaLevel=None,
|
|
142
164
|
indexDL=collectionIndexList
|
|
143
|
-
)
|
|
165
|
+
)
|
|
166
|
+
ok = okL and ok
|
|
144
167
|
self.__updateStatus(updateId, databaseNameMongo, collectionName, ok, statusStartTimestamp)
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
return
|
|
168
|
+
|
|
169
|
+
logger.info(
|
|
170
|
+
"Completed load of tree node list for database %r, collection %r, len(nL) %r (status %r)",
|
|
171
|
+
databaseNameMongo, collectionName, len(nL), okL
|
|
172
|
+
)
|
|
173
|
+
# ---
|
|
174
|
+
logger.info("Completed tree node list loading operations with loadType %r (status %r)", loadType, ok)
|
|
175
|
+
if not ok:
|
|
176
|
+
raise ValueError("Failed to load at least one tree node list.")
|
|
177
|
+
return ok
|
|
155
178
|
|
|
156
179
|
def __checkTaxonNodeList(self, nL):
|
|
157
180
|
eCount = 0
|
|
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.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/ReferenceSequenceAssignmentUpdater.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rcsb_exdb-1.31 → rcsb_exdb-1.33}/rcsb/exdb/examples-seq/testReferenceSequenceAssignmentUpdater.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
|
|
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.31 → rcsb_exdb-1.33}/rcsb/exdb/tests/testReferenceSequenceAssignmentAdapterValidate.py
RENAMED
|
File without changes
|
{rcsb_exdb-1.31 → rcsb_exdb-1.33}/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
|