volkamerlab / opencadd

A Python library for structural cheminformatics
https://opencadd.readthedocs.io
MIT License
89 stars 18 forks source link

Theseus fails with SIGABRT #34

Closed jaimergp closed 4 years ago

jaimergp commented 4 years ago
superposer 3pk2 3pk2

outputs:

 ┌─┐┬ ┬┌─┐┌─┐┬─┐┌─┐┌─┐┌─┐┌─┐┬─┐
 └─┐│ │├─┘├┤ ├┬┘├─┘│ │└─┐├┤ ├┬┘
 └─┘└─┘┴  └─┘┴└─┴  └─┘└─┘└─┘┴└─
 Brought to you by @volkamerlab

gsl: svd.c:712: ERROR: Jacobi iterations did not reach desired tolerance
Default GSL error handler invoked.
Traceback (most recent call last):
  File "/home/jaime/.conda/envs/structuralalignment/bin/superposer", line 11, in <module>
    load_entry_point('superposer', 'console_scripts', 'superposer')()
  File "/home/jaime/devel/py/volkamerlab/superposer/superposer/cli.py", line 88, in main
    result, *_empty = align(
  File "/home/jaime/devel/py/volkamerlab/superposer/superposer/api.py", line 34, in align
    result = aligner.calculate([reference, mobile])
  File "/home/jaime/devel/py/volkamerlab/superposer/superposer/superposition/base.py", line 32, in calculate
    return self._calculate(structures, **kwargs)
  File "/home/jaime/devel/py/volkamerlab/superposer/superposer/superposition/theseus.py", line 182, in _calculate
    superposition_output = self._run_theseus_different(pdbs_filename)
  File "/home/jaime/devel/py/volkamerlab/superposer/superposer/superposition/theseus.py", line 262, in _run_theseus_different
    output = subprocess.check_output(
  File "/home/jaime/.conda/envs/structuralalignment/lib/python3.8/subprocess.py", line 411, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/home/jaime/.conda/envs/structuralalignment/lib/python3.8/subprocess.py", line 512, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['theseus', '-f', '-M', 'theseus.filemap', '-A', 'theseus.aln', '0.pdb', '1.pdb']' died with <Signals.SIGABRT: 6>.

This might be due to the presence of metals, and we should take care of that, but we should catch that error in a better way.

jaimergp commented 4 years ago

Turns out it's not the metal in 3pk2 but using exactly the same structure that messes the convergence checks.