wwpdb.apps.ccmodule 0.25.dev1__tar.gz → 0.27__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 (64) hide show
  1. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/PKG-INFO +1 -1
  2. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/setup.py +2 -2
  3. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/__init__.py +1 -1
  4. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/chem/ChemCompAnnotate.py +4 -2
  5. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/chem/ChemCompAssign.py +7 -7
  6. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/chem/ChemCompAssignDepict.py +15 -0
  7. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/chem/ChemCompAssignDepictLite.py +10 -4
  8. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/reports/ChemCompAlignImageGenerator.py +1 -4
  9. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/reports/ChemCompReports.py +9 -8
  10. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/sketch/ChemCompSketch.py +5 -3
  11. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/utils/ChemCompConfig.py +5 -6
  12. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/utils/ChemCompDpUtility.py +11 -10
  13. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/utils/LigandAnalysisState.py +2 -2
  14. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/view/ChemCompViewDepict.py +2 -2
  15. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/webapp/ChemCompWebApp.py +10 -5
  16. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/webapp/ChemCompWebAppLite.py +6 -8
  17. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb.apps.ccmodule.egg-info/PKG-INFO +1 -1
  18. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb.apps.ccmodule.egg-info/SOURCES.txt +0 -6
  19. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb.apps.ccmodule.egg-info/requires.txt +2 -2
  20. wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/admin/ChemCompAdmin.py +0 -127
  21. wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/edit/ChemCompTableEditor.py +0 -384
  22. wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/edit/ChemCompTableEditorDepict.py +0 -564
  23. wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/io/PdbxChemComp.py +0 -303
  24. wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/view/__init__.py +0 -0
  25. wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/webapp/__init__.py +0 -0
  26. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/README.md +0 -0
  27. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/setup.cfg +0 -0
  28. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/__init__.py +0 -0
  29. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/__init__.py +0 -0
  30. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/chem/PdbxChemCompAssign.py +0 -0
  31. {wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/admin → wwpdb.apps.ccmodule-0.27/wwpdb/apps/ccmodule/chem}/__init__.py +0 -0
  32. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/depict/ChemCompDepict.py +0 -0
  33. {wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/chem → wwpdb.apps.ccmodule-0.27/wwpdb/apps/ccmodule/depict}/__init__.py +0 -0
  34. {wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/depict → wwpdb.apps.ccmodule-0.27/wwpdb/apps/ccmodule/extract}/__init__.py +0 -0
  35. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/extract/ccOps.py +0 -0
  36. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/io/ChemCompAssignDataStore.py +0 -0
  37. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/io/ChemCompDataExport.py +0 -0
  38. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/io/ChemCompDataImport.py +0 -0
  39. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/io/ChemCompEditStore.py +0 -0
  40. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/io/ChemCompIo.py +0 -0
  41. {wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/edit → wwpdb.apps.ccmodule-0.27/wwpdb/apps/ccmodule/io}/__init__.py +0 -0
  42. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/reports/ChemCompAlignImages.py +0 -0
  43. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/reports/ChemCompBigAlignImages.py +0 -0
  44. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/reports/ChemCompGenImage.py +0 -0
  45. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/reports/InstanceDataGenerator.py +0 -0
  46. {wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/extract → wwpdb.apps.ccmodule-0.27/wwpdb/apps/ccmodule/reports}/__init__.py +0 -0
  47. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/search/ChemCompSearch.py +0 -0
  48. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/search/ChemCompSearchDb.py +0 -0
  49. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/search/ChemCompSearchDbDepict.py +0 -0
  50. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/search/ChemCompSearchDepict.py +0 -0
  51. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/search/DbSession.py +0 -0
  52. {wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/io → wwpdb.apps.ccmodule-0.27/wwpdb/apps/ccmodule/search}/__init__.py +0 -0
  53. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/sketch/ChemCompSketchDepict.py +0 -0
  54. {wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/reports → wwpdb.apps.ccmodule-0.27/wwpdb/apps/ccmodule/sketch}/__init__.py +0 -0
  55. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/utils/ChemCompWFInterface.py +0 -0
  56. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/utils/Exceptions.py +0 -0
  57. {wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/search → wwpdb.apps.ccmodule-0.27/wwpdb/apps/ccmodule/utils}/__init__.py +0 -0
  58. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/view/ChemCompView.py +0 -0
  59. {wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/sketch → wwpdb.apps.ccmodule-0.27/wwpdb/apps/ccmodule/view}/__init__.py +0 -0
  60. {wwpdb.apps.ccmodule-0.25.dev1/wwpdb/apps/ccmodule/utils → wwpdb.apps.ccmodule-0.27/wwpdb/apps/ccmodule/webapp}/__init__.py +0 -0
  61. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb/apps/ccmodule/webapp/wsgi.py +0 -0
  62. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb.apps.ccmodule.egg-info/dependency_links.txt +0 -0
  63. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb.apps.ccmodule.egg-info/not-zip-safe +0 -0
  64. {wwpdb.apps.ccmodule-0.25.dev1 → wwpdb.apps.ccmodule-0.27}/wwpdb.apps.ccmodule.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wwpdb.apps.ccmodule
3
- Version: 0.25.dev1
3
+ Version: 0.27
4
4
  Summary: wwPDB workflow engine utils
5
5
  Home-page: https://github.com/rcsb/py-wwpdb_apps_wf_engine_utils
6
6
  Author: Ezra Peisach
@@ -46,12 +46,12 @@ setup(
46
46
  },
47
47
  #
48
48
  # Also depends on 'openeye.oechem' but cannot install by pypi
49
- install_requires=['mmcif', 'mmcif.utils >= 0.13', 'wwpdb.utils.config ~= 0.24',
49
+ install_requires=['mmcif', 'mmcif.utils >= 0.13', 'wwpdb.utils.config ~= 0.34',
50
50
  'wwpdb.utils.dp >= 0.11', 'rcsb.utils.multiproc',
51
51
  'wwpdb.utils.wf',
52
52
  'wwpdb.utils.session >= 0.2',
53
53
  'mysqlclient',
54
- "wwpdb.io >= 0.16.dev1"
54
+ "wwpdb.io ~= 0.27"
55
55
  ],
56
56
  packages=find_packages(exclude=['wwpdb.apps.tests_ccmodule']),
57
57
  package_data={
@@ -3,4 +3,4 @@ __docformat__ = "restructuredtext en"
3
3
  __author__ = "Ezra Peisach"
4
4
  __email__ = "ezra.peisach@rcsb.org"
5
5
  __license__ = "Apache 2.0"
6
- __version__ = "0.25.dev1"
6
+ __version__ = "0.27"
@@ -20,6 +20,7 @@ import shutil
20
20
 
21
21
 
22
22
  from wwpdb.apps.ccmodule.utils.ChemCompConfig import ChemCompConfig
23
+ from wwpdb.io.locator.ChemRefPathInfo import ChemRefPathInfo
23
24
 
24
25
 
25
26
  class ChemCompAnnotate(object):
@@ -77,8 +78,9 @@ class ChemCompAnnotate(object):
77
78
  """
78
79
  """
79
80
  idUc = str(ccId).upper()
80
- fileName = idUc + ".cif"
81
- self.__definitionFilePath = os.path.join(self.__ccConfig.getPath('chemCompCachePath'), idUc[0:1], idUc[0:3], fileName)
81
+ crpi = ChemRefPathInfo(verbose=self.__verbose, log=self.__lfh)
82
+
83
+ self.__definitionFilePath = crpi.getFilePath(idUc, "CC")
82
84
  #
83
85
  if (not os.access(self.__definitionFilePath, os.R_OK)):
84
86
  return False
@@ -104,10 +104,10 @@ from wwpdb.apps.ccmodule.io.ChemCompDataImport import ChemCompDataImport
104
104
  from wwpdb.apps.ccmodule.io.ChemCompDataExport import ChemCompDataExport
105
105
  from wwpdb.apps.ccmodule.io.ChemCompIo import ChemCompReader
106
106
  from wwpdb.apps.ccmodule.io.ChemCompAssignDataStore import ChemCompAssignDataStore
107
- from wwpdb.apps.ccmodule.utils.ChemCompConfig import ChemCompConfig
108
107
  from mmcif.io.PdbxReader import PdbxReader
109
108
  from pathlib import Path
110
109
  from wwpdb.io.locator.PathInfo import PathInfo
110
+ from wwpdb.io.locator.ChemRefPathInfo import ChemRefPathInfo
111
111
  from mmcif.io.IoAdapterCore import IoAdapterCore
112
112
 
113
113
 
@@ -166,9 +166,9 @@ class ChemCompAssign(object):
166
166
  self.__ccReportPath = os.path.join(self.__sessionPath, 'assign')
167
167
  elif context == 'deposition':
168
168
  self.__depId = self.__reqObj.getValue('identifier')
169
- self.__depositPath = Path(PathInfo().getDepositPath(self.__depId)).parent
170
- self.__modelDirPath = os.path.join(self.__depositPath, self.__depId)
171
- self.__ccReportPath = os.path.join(self.__depositPath, self.__depId, self._CC_REPORT_DIR)
169
+ depositPath = Path(PathInfo().getDepositPath(self.__depId))
170
+ self.__modelDirPath = os.path.join(depositPath)
171
+ self.__ccReportPath = os.path.join(depositPath, self._CC_REPORT_DIR)
172
172
 
173
173
  self.normal = ['ALA', 'CYS', 'ASP', 'GLU', 'PHE', 'GLY', 'HIS', 'ILE',
174
174
  'LYS', 'LEU', 'MET', 'ASN', 'PRO', 'GLN', 'ARG', 'SER',
@@ -804,9 +804,9 @@ class ChemCompAssign(object):
804
804
  self.__lfh.write("+%s.%s() starting\n" % (self.__class__.__name__, inspect.currentframe().f_code.co_name))
805
805
  #
806
806
  rtrnCode = -1
807
- ccConfig = ChemCompConfig(self.__reqObj, verbose=self.__verbose, log=self.__lfh)
808
- pathPrefix = ccConfig.getPath('chemCompCachePath')
809
- validationPth = os.path.join(pathPrefix, ccId[:1], ccId, ccId + '.cif')
807
+ crpi = ChemRefPathInfo(self.__cI.get("SITE_PREFIX"), verbose=self.__verbose, log=self.__lfh)
808
+ validationPth = crpi.getFilePath(ccId, "CC")
809
+
810
810
  #
811
811
  if os.access(validationPth, os.R_OK):
812
812
  rtrnCode = 0
@@ -101,6 +101,7 @@ from wwpdb.apps.ccmodule.depict.ChemCompDepict import ChemCompDepict
101
101
  # from wwpdb.apps.ccmodule.chem.PdbxChemCompAssign import PdbxCategoryDefinition
102
102
  from wwpdb.apps.ccmodule.io.ChemCompAssignDataStore import ChemCompAssignDataStore
103
103
  from wwpdb.utils.config.ConfigInfo import ConfigInfo
104
+ from wwpdb.utils.config.ConfigInfoApp import ConfigInfoAppCc
104
105
  from wwpdb.utils.oe_util.oedepict.OeDepict import OeDepict
105
106
  from wwpdb.utils.oe_util.build.OeBuildMol import OeBuildMol
106
107
 
@@ -123,6 +124,7 @@ class ChemCompAssignDepict(ChemCompDepict):
123
124
  self.__debug = True
124
125
  #
125
126
  self.__cI = ConfigInfo()
127
+ self.__cIAppCc = ConfigInfoAppCc(verbose=self.__verbose, log=self.__lfh)
126
128
  #
127
129
  # self.__cDict = PdbxCategoryDefinition._cDict
128
130
  #
@@ -382,6 +384,8 @@ class ChemCompAssignDepict(ChemCompDepict):
382
384
  #
383
385
  oL = []
384
386
  #
387
+ if self.__cIAppCc.get_extended_ccd_supp():
388
+ oL.append('<script>max_ccd_width = 5;</script>\n')
385
389
  oL.append('<div id="cc_entity_browser">\n<h4>Browse Chem Components by Entity Group</h4>\n<div id="pagi" class="noprint fltlft"></div>\n<br class="clearfloat" />\n')
386
390
  oL.append('<div id="cc_entity_browse_content">\n')
387
391
  i = 0
@@ -531,6 +535,12 @@ class ChemCompAssignDepict(ChemCompDepict):
531
535
  ##
532
536
  ############################################################
533
537
  #
538
+ # CCD ID width expansion
539
+ if self.__cIAppCc.get_extended_ccd_supp():
540
+ lclDict['max_ccd_width'] = '5'
541
+ else:
542
+ lclDict['max_ccd_width'] = '3'
543
+
534
544
  # ######## Rerun Search handling ############################
535
545
  ##
536
546
  lclDict['link_radius_dlta'] = p_ccAssgnDataStr.getGlblRerunSrchParam_lnkRadii(p_authAssignedGrp)
@@ -628,6 +638,11 @@ class ChemCompAssignDepict(ChemCompDepict):
628
638
  #
629
639
  #######################################################################################################################################################
630
640
  #######################################################################################################################################################
641
+ if self.__cIAppCc.get_extended_ccd_supp():
642
+ p_hlprDict['max_ccd_width'] = '5'
643
+ else:
644
+ p_hlprDict['max_ccd_width'] = '3'
645
+
631
646
  p_hlprDict['top_hit_ccid'] = topHitCcId
632
647
  p_hlprDict['2dpath_labld_w_hy_ref'] = os.path.join(self.rltvSessionPath, 'assign', instId, 'image', topHitCcId + '_Big.svg')
633
648
  # p_hlprDict['2dpath_labld_w_hy_ref'] = os.path.join(self.rltvSessionPath, 'assign', 'rfrnc_reports', topHitCcId, topHitCcId + '_D3L3.gif')
@@ -62,6 +62,7 @@ from wwpdb.apps.ccmodule.chem.ChemCompAssign import ChemCompAssign
62
62
  # from wwpdb.apps.ccmodule.chem.PdbxChemCompAssign import PdbxCategoryDefinition
63
63
  from wwpdb.apps.ccmodule.io.ChemCompAssignDataStore import ChemCompAssignDataStore
64
64
  from wwpdb.utils.config.ConfigInfo import ConfigInfo
65
+ from wwpdb.utils.config.ConfigInfoApp import ConfigInfoAppCc
65
66
  from pathlib import Path
66
67
  from wwpdb.io.locator.PathInfo import PathInfo
67
68
 
@@ -87,7 +88,7 @@ class ChemCompAssignDepictLite(ChemCompDepict):
87
88
  self.__lfh = log
88
89
  self.__debug = False
89
90
  self.__reqObj = p_reqObj
90
- self.__depId = "D_0" if self.__reqObj.getValue("identifier") in [None, 'TMP_ID'] else str(self.__reqObj.getValue("identifier")).upper()
91
+ self.__depId = "D_0" if self.__reqObj.getValue("identifier") in [None, "", 'TMP_ID'] else str(self.__reqObj.getValue("identifier")).upper()
91
92
  #
92
93
  # self.__cDict = PdbxCategoryDefinition._cDict
93
94
  #
@@ -115,15 +116,16 @@ class ChemCompAssignDepictLite(ChemCompDepict):
115
116
  #
116
117
  self.__siteId = str(self.__reqObj.getValue("WWPDB_SITE_ID"))
117
118
  self.__cI = ConfigInfo(self.__siteId)
119
+ self.__cIAppCc = ConfigInfoAppCc(self.__siteId, verbose=self.__verbose, log=self.__lfh)
120
+
118
121
  # self.__deployPath = self.__cI.get('SITE_DEPLOY_PATH')
119
122
  self.__siteSrvcUrlPathPrefix = self.__cI.get('SITE_SERVICE_URL_PATH_PREFIX', '')
120
123
  self.__workingRltvAssgnSessionPath = ''
121
124
 
122
125
  self.__alternateTopHitMarkup = '''<input id="use_exact_mtch_id_%(auth_assgnd_grp)s_%(tophit_id)s" class="c_%(auth_assgnd_grp)s addrss_msmtch use_exact_mtch_id" type="radio" name="addrss_msmtch_chc" value="use_exact_mtch_id" %(use_exact_mtch_id_checked)s %(disabled)s /><label for="use_exact_mtch_id_%(auth_assgnd_grp)s_%(tophit_id)s">Use exact match ID of <span name="%(tophit_id)s" style="color: #F00;" class="strong tophit">%(tophit_id)s</span> (<a href="http://ligand-expo.rcsb.org/pyapps/ldHandler.py?formid=cc-index-search&target=%(tophit_id)s&operation=ccid" target="_blank">See Definition</a>) instead of originally proposed ID</label><br />''' # noqa: E501
123
126
 
124
- self.__depositPath = Path(PathInfo().getDepositPath(self.__depId)).parent
125
- self.__ccReportPath = os.path.join(self.__depositPath, self.__depId, self._CC_REPORT_DIR)
126
- # self.__depositAssignPath = os.path.join(self.__depositPath, self.__depId, self._CC_ASSIGN_DIR)
127
+ depositPath = Path(PathInfo().getDepositPath(self.__depId))
128
+ self.__ccReportPath = os.path.join(depositPath, self._CC_REPORT_DIR)
127
129
  self.__logger = self._setupLog(log)
128
130
 
129
131
  ################################################################################################################
@@ -604,6 +606,7 @@ class ChemCompAssignDepictLite(ChemCompDepict):
604
606
  lclDict['none_of_abv_checked'] = ''
605
607
 
606
608
  lclDict['alt_ccid'] = ''
609
+ lclDict['alt_ccid_width'] = '3'
607
610
  lclDict['dscrptr_type'] = ''
608
611
  lclDict['dscrptr_str'] = ''
609
612
  lclDict['inchi_selected'] = ''
@@ -626,6 +629,9 @@ class ChemCompAssignDepictLite(ChemCompDepict):
626
629
  ligFrmla = p_ccAssgnDataStr.getDpstrCcFrmla(p_authAssignedGrp) if p_ccAssgnDataStr.getDpstrCcFrmla(p_authAssignedGrp) != '?' else ""
627
630
  ligComments = p_ccAssgnDataStr.getDpstrComments(p_authAssignedGrp) if p_ccAssgnDataStr.getDpstrComments(p_authAssignedGrp) != '?' else ""
628
631
 
632
+ if self.__cIAppCc.get_extended_ccd_supp():
633
+ lclDict['alt_ccid_width'] = '5'
634
+
629
635
  if p_authAssignedGrp in p_hlprDict['hndle_msmtch_tophit_id_list'] and len(p_hlprDict['hndle_msmtch_tophit_id_list'][p_authAssignedGrp]) > 0:
630
636
  lclDict['dsply_addrss_msmtch_opts'] = ''
631
637
  else:
@@ -24,7 +24,6 @@ import os
24
24
  import sys
25
25
 
26
26
  from wwpdb.utils.config.ConfigInfo import ConfigInfo
27
- from wwpdb.utils.config.ConfigInfoApp import ConfigInfoAppCommon
28
27
  from wwpdb.utils.dp.RcsbDpUtility import RcsbDpUtility
29
28
  from wwpdb.io.locator.ChemRefPathInfo import ChemRefPathInfo
30
29
 
@@ -44,10 +43,8 @@ class ChemCompAlignImageGenerator(object):
44
43
 
45
44
  self.__siteId = str(self.__reqObj.getValue("WWPDB_SITE_ID"))
46
45
  self.__cI = ConfigInfo(self.__siteId)
47
- self.__cICommon = ConfigInfoAppCommon(self.__siteId)
48
46
  #
49
- self.__ccRefPathInfo = ChemRefPathInfo(configObj=self.__cI, configCommonObj=self.__cICommon,
50
- verbose=self.__verbose, log=self.__lfh)
47
+ self.__ccRefPathInfo = ChemRefPathInfo(self.__siteId, verbose=self.__verbose, log=self.__lfh)
51
48
 
52
49
  def generateImages(self, instId=None, instFile=None, hitList=None):
53
50
  if (not instId) or (not instFile):
@@ -24,9 +24,9 @@ import sys
24
24
  import shutil
25
25
 
26
26
  from wwpdb.apps.ccmodule.utils.ChemCompConfig import ChemCompConfig
27
- # from wwpdb.utils.config.ConfigInfo import ConfigInfo
28
27
  from pathlib import Path
29
28
  from wwpdb.io.locator.PathInfo import PathInfo
29
+ from wwpdb.io.locator.ChemRefPathInfo import ChemRefPathInfo
30
30
 
31
31
 
32
32
  class ChemCompReport(object):
@@ -60,8 +60,9 @@ class ChemCompReport(object):
60
60
  self.__reportFileRelativePath = None
61
61
  self.__definitionId = None
62
62
  self.__definitionFilePath = None
63
- # self.__siteId = str(self.__reqObj.getValue("WWPDB_SITE_ID"))
63
+ self.__siteId = str(self.__reqObj.getValue("WWPDB_SITE_ID"))
64
64
  # self.__cI = ConfigInfo(self.__siteId)
65
+ self.__crpi = ChemRefPathInfo(self.__siteId, verbose=verbose, log=log)
65
66
 
66
67
  context = self.__getContext()
67
68
  if context == 'standalone':
@@ -71,8 +72,8 @@ class ChemCompReport(object):
71
72
  self.__ccReportPath = os.path.join(self.__sessionPath, 'assign')
72
73
  elif context == 'deposition':
73
74
  self.__depId = self.__reqObj.getValue('identifier').upper()
74
- self.__depositPath = Path(PathInfo().getDepositPath(self.__depId)).parent
75
- self.__ccReportPath = os.path.join(self.__depositPath, self.__depId, 'cc_analysis')
75
+ depositPath = Path(PathInfo().getDepositPath(self.__depId))
76
+ self.__ccReportPath = os.path.join(depositPath, 'cc_analysis')
76
77
 
77
78
  def __getContext(self):
78
79
  filesource = self.__reqObj.getValue('filesource')
@@ -113,8 +114,7 @@ class ChemCompReport(object):
113
114
  """
114
115
  """
115
116
  idUc = str(ccId).upper()
116
- fileName = idUc + ".cif"
117
- self.__definitionFilePath = os.path.join(self.__ccConfig.getPath('chemCompCachePath'), idUc[0:1], idUc[0:3], fileName)
117
+ self.__definitionFilePath = self.__crpi.getFilePath(idUc, "CC")
118
118
  #
119
119
  if (not os.access(self.__definitionFilePath, os.R_OK)):
120
120
  return False
@@ -273,6 +273,8 @@ class ChemCompCheckReport(object):
273
273
  self.__sessionRelativePath = self.__sObj.getRelativePath()
274
274
  #
275
275
  self.__ccConfig = ChemCompConfig(reqObj, verbose=self.__verbose, log=self.__lfh)
276
+ siteId = str(self.__reqObj.getValue("WWPDB_SITE_ID"))
277
+ self.__crpi = ChemRefPathInfo(siteId, verbose=verbose, log=log)
276
278
 
277
279
  #
278
280
  self.__reportFilePath = None
@@ -299,8 +301,7 @@ class ChemCompCheckReport(object):
299
301
  """
300
302
  """
301
303
  idUc = str(ccId).upper()
302
- fileName = idUc + ".cif"
303
- self.__definitionFilePath = os.path.join(self.__ccConfig.getPath('chemCompCachePath'), idUc[0:1], idUc[0:3], fileName)
304
+ self.__definitionFilePath = self.__crpi.getFilePath(idUc, "CC")
304
305
  #
305
306
  if (not os.access(self.__definitionFilePath, os.R_OK)):
306
307
  return False
@@ -21,6 +21,7 @@ import shutil
21
21
  from wwpdb.apps.ccmodule.utils.ChemCompConfig import ChemCompConfig
22
22
  from wwpdb.apps.ccmodule.io.ChemCompIo import ChemCompReader
23
23
  from wwpdb.apps.ccmodule.extract.ccOps import ccOps
24
+ from wwpdb.io.locator.ChemRefPathInfo import ChemRefPathInfo
24
25
 
25
26
 
26
27
  class ChemCompSketch(object):
@@ -76,9 +77,10 @@ class ChemCompSketch(object):
76
77
  def __getFilePathFromId(self, ccId):
77
78
  """
78
79
  """
79
- idUc = str(ccId).upper()
80
- fileName = idUc + ".cif"
81
- self.__ccFilePath = os.path.join(self.__ccConfig.getPath('chemCompCachePath'), idUc[0:1], idUc[0:3], fileName)
80
+ siteid = self.__reqObj.getValue("WWPDB_SITE_ID")
81
+ crpi = ChemRefPathInfo(siteid, verbose=self.__verbose, log=self.__lfh)
82
+
83
+ self.__ccFilePath = crpi.getFilePath(ccId, "CC")
82
84
  #
83
85
  if (not os.access(self.__ccFilePath, os.R_OK)):
84
86
  return False
@@ -20,7 +20,7 @@ Maintain configuration and path information for chemical component module applic
20
20
  import sys
21
21
  import os
22
22
  import os.path
23
- from wwpdb.utils.config.ConfigInfoApp import ConfigInfoAppCommon
23
+ from wwpdb.utils.config.ConfigInfoApp import ConfigInfoAppCommon, ConfigInfoAppCc
24
24
 
25
25
 
26
26
  class ChemCompConfig(object):
@@ -48,6 +48,7 @@ class ChemCompConfig(object):
48
48
  #
49
49
  self.__siteId = str(self.__reqObj.getValue("WWPDB_SITE_ID"))
50
50
  self.__cICommon = ConfigInfoAppCommon(self.__siteId)
51
+ self.__cIAppCc = ConfigInfoAppCc(self.__siteId, verbose=verbose, log=log)
51
52
  #
52
53
  # derived from the top path by convention
53
54
  #
@@ -57,8 +58,7 @@ class ChemCompConfig(object):
57
58
 
58
59
  # RPS 2011-11-29 --- use of above symbolic links for archBinPath and archDataPath being superseded by paths determined via calls to ConfigInfo
59
60
  self.__ccAppsBinPath = os.path.join(self.__cICommon.get_site_cc_apps_path(), "bin")
60
- self.__ccDictPath = self.__cICommon.get_site_cc_dict_path()
61
- self.__ccCvsPath = self.__cICommon.get_site_cc_cvs_path()
61
+ self.__ccDictPath = self.__cIAppCc.get_site_cc_dict_path()
62
62
  self.__oeLicenseFilePath = self.__cICommon.get_site_cc_oe_licence()
63
63
  self.__oeDirPath = self.__cICommon.get_site_cc_oe_dir()
64
64
 
@@ -67,7 +67,6 @@ class ChemCompConfig(object):
67
67
  self.__lfh.write("+ChemCompConfig.__init() --------------------------------------------------------------------------\n")
68
68
  self.__lfh.write("+ChemCompConfig.__init() ------ self.__ccAppsBinPath is: %s \n" % self.__ccAppsBinPath)
69
69
  self.__lfh.write("+ChemCompConfig.__init() ------ self.__ccDictPath is: %s \n" % self.__ccDictPath)
70
- self.__lfh.write("+ChemCompConfig.__init() ------ self.__ccCvsPath is: %s \n" % self.__ccCvsPath)
71
70
  self.__lfh.write("+ChemCompConfig.__init() --------------------------------------------------------------------------\n")
72
71
  #
73
72
  # Place holders for working path info -
@@ -146,8 +145,8 @@ class ChemCompConfig(object):
146
145
  # elif (type == "sandboxPathV2"):
147
146
  # return os.path.join("/data/components/ligand-dict-v1")
148
147
  #
149
- elif (type == "sandboxPathV3" or type == "chemCompCachePath"):
150
- return self.__ccCvsPath
148
+ # elif (type == "sandboxPathV3" or type == "chemCompCachePath"):
149
+ # return self.__ccCvsPath
151
150
  elif (type == "fpPatternPath"):
152
151
  return self.__cICommon.get_cc_fp_patterns()
153
152
  elif (type == "serializedCcDictPath"):
@@ -53,11 +53,13 @@ class ChemCompDpUtility(object):
53
53
 
54
54
  # setting up chem comp config
55
55
  self._ccConfig = ChemCompConfig(self._reqObj, self._verbose, self._lfh)
56
- self._ccRefPathInfo = ChemRefPathInfo(configObj=self._cI, configCommonObj=self._cICommon,
57
- verbose=self._verbose, log=self._lfh)
58
- self._depositPath = Path(PathInfo().getDepositPath(self._depId)).parent
59
- self._ccReportPath = os.path.join(self._depositPath, self._depId, self._CC_REPORT_DIR)
60
- self._depositAssignPath = os.path.join(self._depositPath, self._depId, self._CC_ASSIGN_DIR)
56
+
57
+ siteId = str(self._reqObj.getValue("WWPDB_SITE_ID"))
58
+
59
+ self._ccRefPathInfo = ChemRefPathInfo(siteId, verbose=self._verbose, log=self._lfh)
60
+ depositPath = Path(PathInfo().getDepositPath(self._depId))
61
+ self._ccReportPath = os.path.join(depositPath, self._CC_REPORT_DIR)
62
+ self._depositAssignPath = os.path.join(depositPath, self._CC_ASSIGN_DIR)
61
63
  self._ligState = LigandAnalysisState(self._depId, self._verbose, self._lfh)
62
64
 
63
65
  def doAnalysis(self):
@@ -254,8 +256,7 @@ class ChemCompDpUtility(object):
254
256
  IOError: if we were not able to read the ligand ".cif" file from
255
257
  the ligand dict
256
258
  """
257
- ccDictPrefix = self._ccConfig.getPath('chemCompCachePath')
258
- chemCompCifPath = os.path.join(ccDictPrefix, topHitCcId[:1], topHitCcId, topHitCcId + '.cif')
259
+ chemCompCifPath = self._ccRefPathInfo.getFilePath(topHitCcId)
259
260
  refImageOutputPath = os.path.join(self._ccReportPath, topHitCcId + '.svg')
260
261
 
261
262
  if os.access(chemCompCifPath, os.R_OK):
@@ -275,8 +276,7 @@ class ChemCompDpUtility(object):
275
276
  Returns:
276
277
  bool: True if the ligand has an entry in the dictionary, False otherwise
277
278
  """
278
- ccDictPrefix = self._ccConfig.getPath('chemCompCachePath')
279
- ligandEntryPath = os.path.join(ccDictPrefix, ccid[:1], ccid, ccid + '.cif')
279
+ ligandEntryPath = self._ccRefPathInfo.getFilePath(ccid)
280
280
 
281
281
  if not os.access(ligandEntryPath, os.R_OK):
282
282
  self._logger.warning('Ligand ID %s has no corresponding dict ref file at %s', ccid, ligandEntryPath)
@@ -552,7 +552,8 @@ class ChemCompDpUtility(object):
552
552
  self._logger.warning('---- WARNING ---- No path obtained for CC assign details export file, id %s', depId)
553
553
 
554
554
  # chem comp depositor progress file
555
- pathDict['dpstrPrgrssFileFlPth'] = os.path.join(self._depositPath, depId, 'cc-dpstr-progress')
555
+ depositPath = Path(PathInfo().getDepositPath(depId))
556
+ pathDict['dpstrPrgrssFileFlPth'] = os.path.join(depositPath, 'cc-dpstr-progress')
556
557
  pathDict['dpstrPrgrssFileDirPth'] = os.path.split(pathDict['dpstrPrgrssFileFlPth'])[0]
557
558
 
558
559
  if (self._verbose):
@@ -28,8 +28,8 @@ class LigandAnalysisState:
28
28
 
29
29
  self._cI = ConfigInfo()
30
30
  self._depId = depId
31
- self._depositPath = Path(PathInfo().getDepositPath(self._depId)).parent
32
- self._ccReportPath = os.path.join(self._depositPath, self._depId, 'cc_analysis')
31
+ depositPath = Path(PathInfo().getDepositPath(self._depId))
32
+ self._ccReportPath = os.path.join(depositPath, 'cc_analysis')
33
33
  self._ccStateFilePath = os.path.join(self._ccReportPath, self._CC_STATE_FILE)
34
34
 
35
35
  self._progress = 0
@@ -56,8 +56,8 @@ class ChemCompViewDepict(ChemCompDepict):
56
56
  #
57
57
  checked = ''
58
58
  #
59
- sPathRel = os.path.join(self.rltvSessionPath, ccId)
60
- sPathAbslt = os.path.join(self.absltSessionPath, ccId)
59
+ sPathRel = os.path.join(self.rltvAssgnSessionPath, ccId)
60
+ sPathAbslt = os.path.join(self.absltAssgnSessionPath, ccId)
61
61
  #
62
62
  p_ccDict['sess_path_rel'] = sPathRel
63
63
  p_ccDict['jmol_code_base'] = self.jmolCodeBase
@@ -159,7 +159,6 @@ from wwpdb.apps.ccmodule.sketch.ChemCompSketch import ChemCompSketch
159
159
  from wwpdb.apps.ccmodule.sketch.ChemCompSketchDepict import ChemCompSketchDepict
160
160
  #
161
161
  from wwpdb.utils.wf.dbapi.WfTracking import WfTracking
162
- from wwpdb.apps.ccmodule.utils.ChemCompConfig import ChemCompConfig
163
162
  #
164
163
  from wwpdb.apps.ccmodule.io.ChemCompAssignDataStore import ChemCompAssignDataStore
165
164
  from wwpdb.apps.ccmodule.io.ChemCompDataImport import ChemCompDataImport
@@ -167,7 +166,7 @@ from wwpdb.apps.ccmodule.io.ChemCompDataExport import ChemCompDataExport
167
166
  from wwpdb.apps.ccmodule.io.ChemCompIo import ChemCompReader
168
167
  #
169
168
  from wwpdb.utils.config.ConfigInfo import ConfigInfo
170
- from wwpdb.utils.config.ConfigInfoApp import ConfigInfoAppCommon
169
+ from wwpdb.utils.config.ConfigInfoApp import ConfigInfoAppCommon, ConfigInfoAppCc
171
170
  #
172
171
  from wwpdb.io.file.mmCIFUtil import mmCIFUtil
173
172
  #
@@ -175,6 +174,7 @@ from wwpdb.utils.oe_util.oedepict.OeDepict import OeDepict
175
174
  from wwpdb.utils.oe_util.build.OeBuildMol import OeBuildMol
176
175
  #
177
176
  from wwpdb.io.locator.PathInfo import PathInfo
177
+ from wwpdb.io.locator.ChemRefPathInfo import ChemRefPathInfo
178
178
  from wwpdb.utils.dp.RcsbDpUtility import RcsbDpUtility
179
179
 
180
180
 
@@ -298,7 +298,7 @@ class ChemCompWebAppWorker(object):
298
298
  self.__rltvSessionPath = None
299
299
  self.__siteId = str(self.__reqObj.getValue("WWPDB_SITE_ID"))
300
300
  self.__cI = ConfigInfo(self.__siteId)
301
- self.__ccConfig = ChemCompConfig(reqObj, verbose=self.__verbose, log=self.__lfh)
301
+ self.__cIAppCc = ConfigInfoAppCc(self.__siteId, verbose=self.__verbose, log=self.__lfh)
302
302
  self.__modelFilePath = None
303
303
  #
304
304
  self.__pathInstncsVwTmplts = "templates/workflow_ui/instances_view"
@@ -624,6 +624,11 @@ class ChemCompWebAppWorker(object):
624
624
  myD['instance'] = wfInstId
625
625
  myD['pdbid'] = str(self.__reqObj.getValue("pdbid"))
626
626
  myD['annotator'] = str(self.__reqObj.getValue("annotator"))
627
+ # CCD ID width expansion
628
+ if self.__cIAppCc.get_extended_ccd_supp():
629
+ myD['max_ccd_width'] = '5'
630
+ else:
631
+ myD['max_ccd_width'] = '3'
627
632
  #
628
633
  myD['session_url_prefix'] = os.path.join(self.__rltvSessionPath, "assign", instanceId)
629
634
  myD['processing_site'] = self.__cI.get('SITE_NAME').upper()
@@ -1582,8 +1587,8 @@ class ChemCompWebAppWorker(object):
1582
1587
  self.__reqObj.setReturnFormat(return_format="json")
1583
1588
  rC = ResponseContent(reqObj=self.__reqObj, verbose=self.__verbose, log=self.__lfh)
1584
1589
  #
1585
- pathPrefix = self.__ccConfig.getPath('chemCompCachePath')
1586
- validationPth = os.path.join(pathPrefix, ccId[:1], ccId, ccId + '.cif')
1590
+ crpi = ChemRefPathInfo(siteId=self.__siteId, verbose=self.__verbose, log=self.__lfh)
1591
+ validationPth = crpi.getFilePath(ccId, "CC")
1587
1592
  if (self.__verbose):
1588
1593
  self.__lfh.write("+ChemCompWebAppWorker._ccAssign_validateCcId() ---- validating CC ID %s against path: %s\n" % (ccId, validationPth))
1589
1594
  if not os.access(validationPth, os.R_OK):
@@ -106,7 +106,6 @@ except Exception as e:
106
106
  # from wwpdb.apps.ccmodule.search.ChemCompSearchDbDepict import ChemCompSearchDbDepict
107
107
  #
108
108
  # from wwpdb.utils.wf.dbapi.WfTracking import WfTracking
109
- from wwpdb.apps.ccmodule.utils.ChemCompConfig import ChemCompConfig
110
109
  #
111
110
  from wwpdb.apps.ccmodule.io.ChemCompAssignDataStore import ChemCompAssignDataStore
112
111
  from wwpdb.apps.ccmodule.io.ChemCompDataExport import ChemCompDataExport
@@ -119,6 +118,7 @@ from wwpdb.io.file.mmCIFUtil import mmCIFUtil
119
118
  from wwpdb.utils.wf.dbapi.WfDbApi import WfDbApi
120
119
  from wwpdb.utils.wf.dbapi.WFEtime import getTimeNow
121
120
  from wwpdb.io.locator.PathInfo import PathInfo
121
+ from wwpdb.io.locator.ChemRefPathInfo import ChemRefPathInfo
122
122
 
123
123
 
124
124
  class ChemCompWebAppLite(object):
@@ -247,11 +247,7 @@ class ChemCompWebAppLiteWorker(object):
247
247
  self.__siteSrvcUrlPathPrefix = self.__cI.get('SITE_SERVICE_URL_PATH_PREFIX', '')
248
248
  # self.__siteConfigDir = self.__cI.get('TOP_WWPDB_SITE_CONFIG_DIR')
249
249
  # self.__siteLoc = self.__cI.get('WWPDB_SITE_LOC')
250
- self.__ccConfig = ChemCompConfig(reqObj, verbose=self.__verbose, log=self.__lfh)
251
250
  self.__pathInfo = PathInfo()
252
- self.__depositPath = Path(self.__pathInfo.getDepositPath(self.__depId)).parent
253
- # self.__depositAssignPath = os.path.join(self.__depositPath, self.__depId, 'assign')
254
- # self.__ccReportPath = os.path.join(self.__depositPath, self.__depId, 'cc_analysis') # should we add 'cc_analysis' in a variable in site-config?
255
251
  self.__logger = self._setupLog(log)
256
252
 
257
253
  #
@@ -381,7 +377,8 @@ class ChemCompWebAppLiteWorker(object):
381
377
  ligandId = self.__reqObj.getValue("ligid")
382
378
  filename = self.__reqObj.getValue("file")
383
379
 
384
- ccReportPath = os.path.join(self.__depositPath, depId, "cc_analysis")
380
+ depositPath = Path(self.__pathInfo.getDepositPath(depId))
381
+ ccReportPath = os.path.join(depositPath, "cc_analysis")
385
382
  fileType = filename.split(".")[-1]
386
383
  filePath = None
387
384
 
@@ -1134,8 +1131,9 @@ class ChemCompWebAppLiteWorker(object):
1134
1131
  self.__reqObj.setReturnFormat(return_format="json")
1135
1132
  rC = ResponseContent(reqObj=self.__reqObj, verbose=self.__verbose, log=self.__lfh)
1136
1133
  #
1137
- pathPrefix = self.__ccConfig.getPath('chemCompCachePath')
1138
- validationPth = os.path.join(pathPrefix, ccId[:1], ccId, ccId + '.cif')
1134
+
1135
+ crpi = ChemRefPathInfo(self.__siteId, verbose=self.__verbose, log=self.__lfh)
1136
+ validationPth = crpi.getFilePath(ccId, "CC")
1139
1137
  if (self.__verbose):
1140
1138
  self.__lfh.write("+%s.%s() ---- validating CC ID %s against path: %s\n" % (self.__class__.__name__, inspect.currentframe().f_code.co_name, ccId, validationPth))
1141
1139
  if not os.access(validationPth, os.R_OK):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wwpdb.apps.ccmodule
3
- Version: 0.25.dev1
3
+ Version: 0.27
4
4
  Summary: wwPDB workflow engine utils
5
5
  Home-page: https://github.com/rcsb/py-wwpdb_apps_wf_engine_utils
6
6
  Author: Ezra Peisach
@@ -10,8 +10,6 @@ wwpdb.apps.ccmodule.egg-info/requires.txt
10
10
  wwpdb.apps.ccmodule.egg-info/top_level.txt
11
11
  wwpdb/apps/__init__.py
12
12
  wwpdb/apps/ccmodule/__init__.py
13
- wwpdb/apps/ccmodule/admin/ChemCompAdmin.py
14
- wwpdb/apps/ccmodule/admin/__init__.py
15
13
  wwpdb/apps/ccmodule/chem/ChemCompAnnotate.py
16
14
  wwpdb/apps/ccmodule/chem/ChemCompAssign.py
17
15
  wwpdb/apps/ccmodule/chem/ChemCompAssignDepict.py
@@ -20,9 +18,6 @@ wwpdb/apps/ccmodule/chem/PdbxChemCompAssign.py
20
18
  wwpdb/apps/ccmodule/chem/__init__.py
21
19
  wwpdb/apps/ccmodule/depict/ChemCompDepict.py
22
20
  wwpdb/apps/ccmodule/depict/__init__.py
23
- wwpdb/apps/ccmodule/edit/ChemCompTableEditor.py
24
- wwpdb/apps/ccmodule/edit/ChemCompTableEditorDepict.py
25
- wwpdb/apps/ccmodule/edit/__init__.py
26
21
  wwpdb/apps/ccmodule/extract/__init__.py
27
22
  wwpdb/apps/ccmodule/extract/ccOps.py
28
23
  wwpdb/apps/ccmodule/io/ChemCompAssignDataStore.py
@@ -30,7 +25,6 @@ wwpdb/apps/ccmodule/io/ChemCompDataExport.py
30
25
  wwpdb/apps/ccmodule/io/ChemCompDataImport.py
31
26
  wwpdb/apps/ccmodule/io/ChemCompEditStore.py
32
27
  wwpdb/apps/ccmodule/io/ChemCompIo.py
33
- wwpdb/apps/ccmodule/io/PdbxChemComp.py
34
28
  wwpdb/apps/ccmodule/io/__init__.py
35
29
  wwpdb/apps/ccmodule/reports/ChemCompAlignImageGenerator.py
36
30
  wwpdb/apps/ccmodule/reports/ChemCompAlignImages.py
@@ -1,12 +1,12 @@
1
1
  mmcif
2
2
  mmcif.utils>=0.13
3
- wwpdb.utils.config~=0.24
3
+ wwpdb.utils.config~=0.34
4
4
  wwpdb.utils.dp>=0.11
5
5
  rcsb.utils.multiproc
6
6
  wwpdb.utils.wf
7
7
  wwpdb.utils.session>=0.2
8
8
  mysqlclient
9
- wwpdb.io>=0.16.dev1
9
+ wwpdb.io~=0.27
10
10
 
11
11
  [consumer]
12
12
  wwpdb.utils.oe_util>=0.2