Opened 3 years ago
Closed 3 years ago
#7180 closed defect (fixed)
ISOLDE restrain distances: ffi_prep_cif_var failed
| Reported by: | Owned by: | Tristan Croll | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Third Party | Version: | |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Linux-5.15.0-37-generic-x86_64-with-glibc2.35
ChimeraX Version: 1.4 (2022-06-03 23:39:42 UTC)
Description
isolde restrain distances #1.2/G template #4/G adjustForConfidence true
Log:
> set selectionWidth 4
UCSF ChimeraX version: 1.4 (2022-06-03)
© 2016-2022 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open /home/xhan/Downloads/RsmA_ebic/ISOLDE/RsmA-001-job456/7k00-30S-body-
> aln-trim-RimPRsmAAF-modh45-coot-3.pdb
Chain information for 7k00-30S-body-aln-trim-RimPRsmAAF-modh45-coot-3.pdb #1
---
Chain | Description
A | No description available
B | No description available
C | No description available
D | No description available
E | No description available
F | No description available
G | No description available
H | No description available
K | No description available
L | No description available
O | No description available
P | No description available
Q | No description available
R | No description available
T | No description available
U | No description available
> open
> /home/xhan/Downloads/RsmA_ebic/ISOLDE/RsmA-001-job456/job456_deephancer.mrc
> /home/xhan/Downloads/RsmA_ebic/ISOLDE/RsmA-001-job456/Refine3D-job456-run_class001.mrc
Opened job456_deephancer.mrc as #2.1, grid size 416,416,416, pixel 1.02, shown
at level 0.000145, step 2, values float32
Opened Refine3D-job456-run_class001.mrc as #2.2, grid size 416,416,416, pixel
1.02, shown at level 0.00501, step 2, values float32
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...
Chain information for 7k00-30S-body-aln-trim-RimPRsmAAF-modh45-coot-3.pdb
---
Chain | Description
1.2/A | No description available
1.2/B | No description available
1.2/C | No description available
1.2/D | No description available
1.2/E | No description available
1.2/F | No description available
1.2/G | No description available
1.2/H | No description available
1.2/K | No description available
1.2/L | No description available
1.2/O | No description available
1.2/P | No description available
1.2/Q | No description available
1.2/R | No description available
1.2/T | No description available
1.2/U | No description available
> clipper associate #2.2 toModel #1
Opened Refine3D-job456-run_class001.mrc as #1.1.1.1, grid size 416,416,416,
pixel 1.02, shown at step 1, values float32
> clipper associate #2.1 toModel #1
Opened job456_deephancer.mrc as #1.1.1.2, grid size 416,416,416, pixel 1.02,
shown at step 1, values float32
> addh
Summary of feedback from adding hydrogens to 7k00-30S-body-aln-trim-
RimPRsmAAF-modh45-coot-3.pdb #1.2
---
warning | Not adding hydrogens to /A A 2 P because it is missing heavy-atom
bond partners
notes | No usable SEQRES records for 7k00-30S-body-aln-trim-RimPRsmAAF-
modh45-coot-3.pdb (#1.2) chain A; guessing termini instead
No usable SEQRES records for 7k00-30S-body-aln-trim-RimPRsmAAF-
modh45-coot-3.pdb (#1.2) chain B; guessing termini instead
No usable SEQRES records for 7k00-30S-body-aln-trim-RimPRsmAAF-
modh45-coot-3.pdb (#1.2) chain C; guessing termini instead
No usable SEQRES records for 7k00-30S-body-aln-trim-RimPRsmAAF-
modh45-coot-3.pdb (#1.2) chain D; guessing termini instead
No usable SEQRES records for 7k00-30S-body-aln-trim-RimPRsmAAF-
modh45-coot-3.pdb (#1.2) chain E; guessing termini instead
11 messages similar to the above omitted
Chain-initial residues that are actual N termini: /B VAL 4, /C MET 1, /D ALA
2, /E GLU 10, /F MET 1, /G MET 1, /H SER 2, /K ARG 13, /L ALA 2, /O SER 2, /P
MET 1, /Q LYS 4, /R LYS 9, /T ALA 2, /U PRO 2
Chain-initial residues that are not actual N termini: /K GLY 120
Chain-final residues that are actual C termini: /B GLN 227, /C PHE 150, /D LYS
206, /E LEU 165, /F VAL 103, /G SER 273, /H ALA 130, /K VAL 129, /L ALA 124,
/O ARG 89, /P ALA 81, /Q ALA 82, /R HIS 74, /T ALA 87, /U TYR 71
Chain-final residues that are not actual C termini: /K HIS 118
3960 hydrogen bonds
/K HIS 118 is not terminus, removing H atom from 'C'
36 hydrogens added
> help help:index.html
> alphafold fetch P0A8A8 alignTo #1.2/C
AlphaFold chains matching chain C
---
Chain| UniProt Name| UniProt Id| RMSD| Length| Seen| % Id
C | | P0A8A8 | 0.00 | 150 | 150 | 100
> isolde restrain torsions #1.2/C templateResidues #3/C adjustForConfidence
> true
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...
[Repeated 1 time(s)]ISOLDE: Corrected atom nomenclature of 24 residues in
model #3 to IUPAC-IUB standards.
> isolde restrain distances #1.2/C templateAtoms #3/C adjustForConfidence true
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...
[Repeated 1 time(s)]RMSD between 150 pruned atom pairs is 0.000 angstroms;
(across all 150 pairs: 0.000)
Traceback (most recent call last):
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/cmd_line/tool.py", line 319, in execute
cmd.run(cmd_text)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2897, in run
result = ci.function(session, **kw_args)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/cmd.py", line 47, in restrain_distances
restraint_utils.restrain_atom_distances_to_template(session,
template_residues,
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 673, in
restrain_atom_distances_to_template
apply_restraints(tr, rr, adjust_for_confidence, confidence_type)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 637, in
apply_restraints
dr = adrm.add_restraint(ra1, ra2)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2883, in add_restraint
r = self._get_restraints(Atoms([atom1]), Atoms([atom2]), True)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
RuntimeError: ffi_prep_cif_var failed
RuntimeError: ffi_prep_cif_var failed
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
See log for complete Python traceback.
> isolde restrain distances #1.2/C
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...
Traceback (most recent call last):
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/cmd_line/tool.py", line 319, in execute
cmd.run(cmd_text)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2897, in run
result = ci.function(session, **kw_args)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/cmd.py", line 47, in restrain_distances
restraint_utils.restrain_atom_distances_to_template(session,
template_residues,
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 653, in
restrain_atom_distances_to_template
return [apply_restraints(trs, rrs, adjust_for_confidence, confidence_type) for
trs, rrs in zip(template_residues, restrained_residues)]
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 653, in
<listcomp>
return [apply_restraints(trs, rrs, adjust_for_confidence, confidence_type) for
trs, rrs in zip(template_residues, restrained_residues)]
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 637, in
apply_restraints
dr = adrm.add_restraint(ra1, ra2)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2883, in add_restraint
r = self._get_restraints(Atoms([atom1]), Atoms([atom2]), True)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
RuntimeError: ffi_prep_cif_var failed
RuntimeError: ffi_prep_cif_var failed
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
See log for complete Python traceback.
> isolde restrain distances #1.2/G
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...
Traceback (most recent call last):
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/cmd_line/tool.py", line 319, in execute
cmd.run(cmd_text)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2897, in run
result = ci.function(session, **kw_args)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/cmd.py", line 47, in restrain_distances
restraint_utils.restrain_atom_distances_to_template(session,
template_residues,
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 653, in
restrain_atom_distances_to_template
return [apply_restraints(trs, rrs, adjust_for_confidence, confidence_type) for
trs, rrs in zip(template_residues, restrained_residues)]
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 653, in
<listcomp>
return [apply_restraints(trs, rrs, adjust_for_confidence, confidence_type) for
trs, rrs in zip(template_residues, restrained_residues)]
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 637, in
apply_restraints
dr = adrm.add_restraint(ra1, ra2)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2883, in add_restraint
r = self._get_restraints(Atoms([atom1]), Atoms([atom2]), True)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
RuntimeError: ffi_prep_cif_var failed
RuntimeError: ffi_prep_cif_var failed
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
See log for complete Python traceback.
> alphafold fetch P06992 alignTo #1.2/G
AlphaFold chains matching chain G
---
Chain| UniProt Name| UniProt Id| RMSD| Length| Seen| % Id
G | | P06992 | 0.00 | 273 | 273 | 100
> isolde restrain torsions #1.2/G templateResidues #4/G adjustForConfidence
> true
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...
[Repeated 1 time(s)]ISOLDE: Corrected atom nomenclature of 35 residues in
model #4 to IUPAC-IUB standards.
> isolde tutorial
> isolde restrain distances #1.2/G templateAtoms #4/G adjustForConfidence true
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...
[Repeated 1 time(s)]RMSD between 273 pruned atom pairs is 0.000 angstroms;
(across all 273 pairs: 0.000)
Traceback (most recent call last):
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/cmd_line/tool.py", line 319, in execute
cmd.run(cmd_text)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2897, in run
result = ci.function(session, **kw_args)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/cmd.py", line 47, in restrain_distances
restraint_utils.restrain_atom_distances_to_template(session,
template_residues,
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 673, in
restrain_atom_distances_to_template
apply_restraints(tr, rr, adjust_for_confidence, confidence_type)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 637, in
apply_restraints
dr = adrm.add_restraint(ra1, ra2)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2883, in add_restraint
r = self._get_restraints(Atoms([atom1]), Atoms([atom2]), True)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
RuntimeError: ffi_prep_cif_var failed
RuntimeError: ffi_prep_cif_var failed
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
See log for complete Python traceback.
> isolde restrain distances #1.2/G templateAtoms #4/G adjustForConfidence true
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...
[Repeated 1 time(s)]RMSD between 273 pruned atom pairs is 0.000 angstroms;
(across all 273 pairs: 0.000)
Traceback (most recent call last):
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/cmd_line/tool.py", line 319, in execute
cmd.run(cmd_text)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2897, in run
result = ci.function(session, **kw_args)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/cmd.py", line 47, in restrain_distances
restraint_utils.restrain_atom_distances_to_template(session,
template_residues,
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 673, in
restrain_atom_distances_to_template
apply_restraints(tr, rr, adjust_for_confidence, confidence_type)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 637, in
apply_restraints
dr = adrm.add_restraint(ra1, ra2)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2883, in add_restraint
r = self._get_restraints(Atoms([atom1]), Atoms([atom2]), True)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
RuntimeError: ffi_prep_cif_var failed
RuntimeError: ffi_prep_cif_var failed
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
See log for complete Python traceback.
> isolde restrain distances #1.2/G templateAtoms #4/G adjustForConfidence true
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...
[Repeated 1 time(s)]RMSD between 273 pruned atom pairs is 0.000 angstroms;
(across all 273 pairs: 0.000)
Traceback (most recent call last):
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/cmd_line/tool.py", line 319, in execute
cmd.run(cmd_text)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2897, in run
result = ci.function(session, **kw_args)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/cmd.py", line 47, in restrain_distances
restraint_utils.restrain_atom_distances_to_template(session,
template_residues,
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 673, in
restrain_atom_distances_to_template
apply_restraints(tr, rr, adjust_for_confidence, confidence_type)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 637, in
apply_restraints
dr = adrm.add_restraint(ra1, ra2)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2883, in add_restraint
r = self._get_restraints(Atoms([atom1]), Atoms([atom2]), True)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
RuntimeError: ffi_prep_cif_var failed
RuntimeError: ffi_prep_cif_var failed
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
See log for complete Python traceback.
> isolde restrain distances #1.2/G templateAtoms #4/G adjustForConfidence true
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...
[Repeated 1 time(s)]RMSD between 273 pruned atom pairs is 0.000 angstroms;
(across all 273 pairs: 0.000)
Traceback (most recent call last):
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/cmd_line/tool.py", line 319, in execute
cmd.run(cmd_text)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2897, in run
result = ci.function(session, **kw_args)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/cmd.py", line 47, in restrain_distances
restraint_utils.restrain_atom_distances_to_template(session,
template_residues,
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 673, in
restrain_atom_distances_to_template
apply_restraints(tr, rr, adjust_for_confidence, confidence_type)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/restraints/restraint_utils.py", line 637, in
apply_restraints
dr = adrm.add_restraint(ra1, ra2)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2883, in add_restraint
r = self._get_restraints(Atoms([atom1]), Atoms([atom2]), True)
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
RuntimeError: ffi_prep_cif_var failed
RuntimeError: ffi_prep_cif_var failed
File "/home/xhan/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/molobject.py", line 2863, in _get_restraints
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n,
pointer(ret))
See log for complete Python traceback.
OpenGL version: 3.3.0 NVIDIA 470.129.06
OpenGL renderer: NVIDIA GeForce GTX 1070/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Python: 3.9.11
Locale: en_US.UTF-8
Qt version: PyQt6 6.3.0, Qt 6.3.0
Qt runtime version: 6.3.0
Qt platform: xcb
XDG_SESSION_TYPE=x11
DESKTOP_SESSION=ubuntu
XDG_SESSION_DESKTOP=ubuntu
XDG_CURRENT_DESKTOP=ubuntu:GNOME
DISPLAY=:1
Manufacturer: Hewlett-Packard
Model: HP Z440 Workstation
OS: Ubuntu 22.04 jammy
Architecture: 64bit ELF
Virtual Machine: none
CPU: 8 Intel(R) Xeon(R) CPU E5-1620 v3 @ 3.50GHz
Cache Size: 10240 KB
Memory:
total used free shared buff/cache available
Mem: 62Gi 12Gi 19Gi 247Mi 31Gi 49Gi
Swap: 2.0Gi 0.0Ki 2.0Gi
Graphics:
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1070] [10de:1b81] (rev a1)
Subsystem: ASUSTeK Computer Inc. GP104 [GeForce GTX 1070] [1043:8596]
Kernel driver in use: nvidia
Installed Packages:
alabaster: 0.7.12
appdirs: 1.4.4
Babel: 2.10.1
backcall: 0.2.0
blockdiag: 3.0.0
certifi: 2022.5.18.1
cftime: 1.6.0
charset-normalizer: 2.0.12
ChimeraX-AddCharge: 1.2.3
ChimeraX-AddH: 2.1.11
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2.1
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.4.3
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.0.2
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.39.1
ChimeraX-AtomicLibrary: 7.0
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.1
ChimeraX-BasicActions: 1.1
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.1.1
ChimeraX-BondRot: 2.0
ChimeraX-BugReporter: 1.0
ChimeraX-BuildStructure: 2.7
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.1
ChimeraX-ButtonPanel: 1.0
ChimeraX-CageBuilder: 1.0
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.2
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.2.4
ChimeraX-Clipper: 0.18.0
ChimeraX-ColorActions: 1.0
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.1
ChimeraX-CommandLine: 1.2.3
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.4
ChimeraX-CoreFormats: 1.1
ChimeraX-coulombic: 1.3.2
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0
ChimeraX-DataFormats: 1.2.2
ChimeraX-Dicom: 1.1
ChimeraX-DistMonitor: 1.1.5
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ExperimentalCommands: 1.0
ChimeraX-FileHistory: 1.0
ChimeraX-FunctionKey: 1.0
ChimeraX-Geometry: 1.2
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.1
ChimeraX-Hbonds: 2.1.2
ChimeraX-Help: 1.2
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.1
ChimeraX-ISOLDE: 1.4b1
ChimeraX-ItemsInspection: 1.0
ChimeraX-Label: 1.1.1
ChimeraX-LinuxSupport: 1.0
ChimeraX-ListInfo: 1.1.1
ChimeraX-Log: 1.1.5
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.8.1
ChimeraX-Map: 1.1
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0
ChimeraX-MapFilter: 2.0
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1
ChimeraX-Markers: 1.0
ChimeraX-Mask: 1.0
ChimeraX-MatchMaker: 2.0.6
ChimeraX-MDcrds: 2.6
ChimeraX-MedicalToolbar: 1.0.1
ChimeraX-Meeting: 1.0
ChimeraX-MLP: 1.1
ChimeraX-mmCIF: 2.7
ChimeraX-MMTF: 2.1
ChimeraX-Modeller: 1.5.5
ChimeraX-ModelPanel: 1.3.2
ChimeraX-ModelSeries: 1.0
ChimeraX-Mol2: 2.0
ChimeraX-Morph: 1.0
ChimeraX-MouseModes: 1.1
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nucleotides: 2.0.2
ChimeraX-OpenCommand: 1.9
ChimeraX-PDB: 2.6.6
ChimeraX-PDBBio: 1.0
ChimeraX-PDBLibrary: 1.0.2
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1
ChimeraX-PubChem: 2.1
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-ResidueFit: 1.0
ChimeraX-RestServer: 1.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0.1
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5.1
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.6
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0
ChimeraX-Shortcuts: 1.1
ChimeraX-ShowAttr: 1.0
ChimeraX-ShowSequences: 1.0
ChimeraX-SideView: 1.0
ChimeraX-Smiles: 2.1
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.8
ChimeraX-STL: 1.0
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.0.1
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0
ChimeraX-SwapAA: 2.0
ChimeraX-SwapRes: 2.1.1
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1.1
ChimeraX-ToolshedUtils: 1.2.1
ChimeraX-Tug: 1.0
ChimeraX-UI: 1.18.3
ChimeraX-uniprot: 2.2
ChimeraX-UnitCell: 1.0
ChimeraX-ViewDockX: 1.1.2
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0
ChimeraX-WebServices: 1.1.0
ChimeraX-Zone: 1.0
colorama: 0.4.4
cxservices: 1.2
cycler: 0.11.0
Cython: 0.29.26
debugpy: 1.6.0
decorator: 5.1.1
distro: 1.6.0
docutils: 0.17.1
entrypoints: 0.4
filelock: 3.4.2
fonttools: 4.33.3
funcparserlib: 1.0.0
grako: 3.16.5
h5py: 3.7.0
html2text: 2020.1.16
idna: 3.3
ihm: 0.27
imagecodecs: 2021.11.20
imagesize: 1.3.0
ipykernel: 6.6.1
ipython: 7.31.1
ipython-genutils: 0.2.0
jedi: 0.18.1
Jinja2: 3.0.3
jupyter-client: 7.1.0
jupyter-core: 4.10.0
kiwisolver: 1.4.2
line-profiler: 3.4.0
lxml: 4.7.1
lz4: 3.1.10
MarkupSafe: 2.1.1
matplotlib: 3.5.1
matplotlib-inline: 0.1.3
msgpack: 1.0.3
nest-asyncio: 1.5.5
netCDF4: 1.5.8
networkx: 2.6.3
numexpr: 2.8.1
numpy: 1.22.1
openvr: 1.16.802
packaging: 21.3
ParmEd: 3.4.3
parso: 0.8.3
pexpect: 4.8.0
pickleshare: 0.7.5
Pillow: 9.0.1
pip: 21.3.1
pkginfo: 1.8.2
prompt-toolkit: 3.0.29
psutil: 5.9.0
ptyprocess: 0.7.0
pycollada: 0.7.2
pydicom: 2.2.2
Pygments: 2.11.2
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 3.0.9
PyQt6-commercial: 6.3.0
PyQt6-Qt6: 6.3.0
PyQt6-sip: 13.3.1
PyQt6-WebEngine-commercial: 6.3.0
PyQt6-WebEngine-Qt6: 6.3.0
python-dateutil: 2.8.2
pytz: 2022.1
pyzmq: 23.1.0
qtconsole: 5.3.0
QtPy: 2.1.0
RandomWords: 0.3.0
requests: 2.27.1
scipy: 1.7.3
setuptools: 59.8.0
sfftk-rw: 0.7.2
six: 1.16.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
Sphinx: 4.3.2
sphinx-autodoc-typehints: 1.15.2
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 2.0.0
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.5
suds-community: 1.0.0
tables: 3.7.0
tifffile: 2021.11.2
tinyarray: 1.2.4
tornado: 6.1
traitlets: 5.1.1
urllib3: 1.26.9
wcwidth: 0.2.5
webcolors: 1.11.1
wheel: 0.37.1
wheel-filename: 1.3.0
Change History (7)
comment:1 by , 3 years ago
| Platform: | → all |
|---|---|
| Project: | → ChimeraX |
comment:2 by , 3 years ago
| Component: | Unassigned → Third Party |
|---|---|
| Owner: | set to |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → ISOLDE restrain distances: ffi_prep_cif_var failed |
comment:3 by , 3 years ago
This is code that hasn't changed in a long long time, using the ChimeraX c_function API:
def _get_restraint_c_func(self):
if not hasattr(self, '_c_func_get_restraint'):
self._c_func_get_restraint = c_function(
self._c_function_prefix+'_mgr_get_restraint',
args=(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_bool, ctypes.c_void_p),
ret = ctypes.c_size_t)
return self._c_func_get_restraint
def _get_restraints(self, atoms1, atoms2, create=False):
f = self._get_restraint_c_func()
n = len(atoms1)
if n != len(atoms2):
raise TypeError('Lengths of atoms arrays must match!')
ret = numpy.empty(n, cptr)
num = f(self._c_pointer, atoms1._c_pointers, atoms2._c_pointers, create, n, pointer(ret))
return self._plural_restraint_getter(ret[:num])
... wrapping the function:
extern "C" EXPORT size_t
adaptive_distance_restraint_mgr_get_restraint(void *mgr, void* atom1, void* atom2, npy_bool create, size_t n, pyobject_t *restraint)
{
AdaptiveDistanceRestraintMgr *d = static_cast<AdaptiveDistanceRestraintMgr *>(mgr);
Atom **a1 = static_cast<Atom **>(atom1);
Atom **a2 = static_cast<Atom **>(atom2);
size_t count=0;
try {
for (size_t i=0; i<n; ++i) {
AdaptiveDistanceRestraint *r = d->get_restraint(*a1++, *a2++, create);
if (r != nullptr) {
*restraint++ = r;
count++;
}
}
return count;
} catch (...) {
molc_error();
return 0;
}
}
That it's suddenly failing now makes me strongly suspect that this is something about the Ubuntu 22.04 environment (or something specific to the environment on this particular machine) rather than anything I'm doing. But then, I suppose that raises the question: why would it only be failing *here* when c_function is used extensively throughout ChimeraX? Any ideas?
comment:4 by , 3 years ago
Oh, wait. I see I've messed up the argument signature in _get_restraint_c_func() - it's missing the entry for the second-to-last argument (number of atoms). Which raises the question: how the heck has this actually been working all this time?? The ways of ctypes are mysterious...
comment:5 by , 3 years ago
Sean, could you do me a favour? Try editing the file /home/xhan/.local/share/ChimeraX/1.4/site-packages/chimerax/isolde/molobject.py a few lines above line 2863 from:
args=(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_bool, ctypes.c_void_p),
to
args=(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_bool, ctypes.c_size_t, ctypes.c_void_p),
then restart ChimeraX and see if your test case now works?
follow-up: 6 comment:6 by , 3 years ago
Good Morning Tristan Introducing these changes seems to have solved the issue. I mean distance restraints are generated and there is no error message. Is it safe to continue working with the code now? Thanks for your help Sean
comment:7 by , 3 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Great! While I'm still (a) really surprised that ctypes didn't throw an error way back when I first wrote that code, and (b) baffled as to why it started throwing one seemingly only for you, this should now be correct and perfectly safe to use.
Looking around the web for that error message, it seems to crop up mostly associated with
ctypes(which indeed is what I used to wrap this function). My guess is that the version oflibffidistributed with Ubuntu 22.04 is incompatible with the one in the ChimeraX build environment? I don't have an Ubuntu 22.04 system to test on, but I believe a colleague in my lab is now using it. I'm not there today, but will see if I can borrow it for a little while tomorrow for testing.