Opened 5 years ago
Closed 5 years ago
#3317 closed defect (fixed)
CCD fetch failures need to be cached
Reported by: | Tristan Croll | Owned by: | Greg Couch |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Performance | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Linux-3.10.0-1062.9.1.el7.x86_64-x86_64-with-centos-7.7.1908-Core ChimeraX Version: 1.0rc202005242323 (2020-05-24 23:23:37 UTC) Description Trying to make a membrane model big enough to embed a very large complex (for visualisation purposes only, not for simulation). Took a PDB file with a pre-equilibrated slab of 256 POPC lipids (all named by CHARMM conventions), tiled it out to 3x3, renumbered all the residues, deleted hydrogens and waters, and saved as mmCIF. Trying to load the result back into ChimeraX hangs it for many minutes (at least 15 minutes and counting so far). OpenGL version: 3.3.0 NVIDIA 440.33.01 OpenGL renderer: TITAN Xp/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation Manufacturer: Dell Inc. Model: Precision T5600 OS: CentOS Linux 7 Core Architecture: 64bit ELF CPU: 32 Intel(R) Xeon(R) CPU E5-2687W 0 @ 3.10GHz Cache Size: 20480 KB Memory: total used free shared buff/cache available Mem: 62G 12G 19G 357M 31G 49G Swap: 4.9G 0B 4.9G Graphics: 03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [TITAN Xp] [10de:1b02] (rev a1) Subsystem: NVIDIA Corporation Device [10de:11df] Kernel driver in use: nvidia PyQt version: 5.12.3 Compiled Qt version: 5.12.4 Runtime Qt version: 5.12.8 File attachment: big_membrane_lipids_only.cif
Attachments (1)
Change History (6)
by , 5 years ago
Attachment: | big_membrane_lipids_only.cif added |
---|
comment:1 by , 5 years ago
Was just about to say it looks like it's permanently frozen, when it finally came through. Looks like it's doing a bit of a DOS attack on the poor CCD server - attempting to download the template for every residue in the file. On 2020-05-26 19:06, ChimeraX wrote:
follow-up: 1 comment:2 by , 5 years ago
Component: | Unassigned → Performance |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → CCD fetch failures need to be cached |
comment:3 by , 5 years ago
Status: | assigned → accepted |
---|
comment:4 by , 5 years ago
Fix will be on toolshed after the 1.0 release. In the mean time, the following patch to chimerax/atomic/mmcif/mmcif.py speeds things up a little:
--- chimerax/atomic/mmcif/mmcif.py +++ chimerax/atomic/mmcif/mmcif.py @@ -356,8 +356,13 @@ def fetch_mmcif_pdbj(session, pdb_id, **kw): return fetch_mmcif(session, pdb_id, fetch_source="pdbj", **kw) +_nonexistant_ccd_entries = set() + + def _get_template(session, name): """Get Chemical Component Dictionary (CCD) entry""" + if name in _nonexistant_ccd_entries: + return None from chimerax.core.fetch import fetch_file filename = '%s.cif' % name url = "http://ligand-expo.rcsb.org/reports/%s/%s/%s.cif" % (name[0], name, @@ -365,6 +370,7 @@ def _get_template(session, name): try: return fetch_file(session, url, 'CCD %s' % name, filename, 'CCD', timeout=15) except (UserError, OSError): + _nonexistant_ccd_entries.add(name) return None
comment:5 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Also reduce the warnings due to a missing CCD entry to one line instead of three lines per occurrence.
Note:
See TracTickets
for help on using tickets.
Added by email2trac