tristanic / isolde

Interactive molecular dynamics based model building into low-resolution crystallographic and cryo-EM maps
Other
33 stars 4 forks source link

Error creating restraints on Ubuntu (but not OSX) #9

Closed frozenfas closed 2 years ago

frozenfas commented 2 years ago

Good Moring. I was wondering if you could point me in the right direction to solving a problem I am having creating distance restraints in Isolde on Ubuntu? When I execute the following command:

isolde restrain distances #1.2/G templateAtoms #4/G adjustForConfidence true

get the following error:

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/XXX/.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/XXX/.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/XXX/.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/XXX/.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/XXX/.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/XXX/.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))

1.2 is a model with multiple chains but chain G is a alphafold model and #4 is that alphafold model downloaded with:

alphafold fetch P06992 alignTo #1.2/G

Also restaining torsions works fine: isolde restrain torsions #1.2/G template #4/G adjustForConfidence true

On OSX I can restrain both torsions and distances with no error using the same models, maps and commands.

thanks in advance for any help you can provide.

sean

tristanic commented 2 years ago

Hmm... this is a worry, and something I haven't come across before. Some quick looking around suggests it's a problem with the ctypes library used for the Python bindings here... if it's reproducible, could you trigger the traceback and report it via the ChimeraX bug reporter (Help/Report a Bug)? That will give some extra information about your specific system. In particular, which version of Ubuntu are you using?

frozenfas commented 2 years ago

Thanks for responding so quick. we just submitted the report in chimeraX. The Ubuntu is 22.04

tristanic commented 2 years ago

Fixed (commit b1752c4).