karanicolaslab / PROTAC_ternary

MIT License
16 stars 6 forks source link

mutlimodel PDB file with conformers not recognized and overflow error #4

Open mieczyslaw opened 4 years ago

mieczyslaw commented 4 years ago

I have used the default command as in readme, and a PDB file with multiple linker conformers (named as MODEL1, MODEL2 etc. as by PDB format). The script works fine if linker PDB contains one conformer, but crashes when multiple conformer file is given. It also thinks that only one linker conformer has been provided, which is incorrect. I believe the multimodel PDB file should be the way to provide multiple conformers?

1 decoy(s) has/have been passed to the system.
1 linker conformer(s) has/have been passed to the system.
../ternary_model_prediction.py:115: RuntimeWarning: overflow encountered in multiply
  dist = dist * dist
/scipy/optimize/optimize.py:2115: RuntimeWarning: invalid value encountered in double_scalars
  tmp1 = (x - w) * (fx - fv)
/scipy/optimize/optimize.py:2116: RuntimeWarning: invalid value encountered in double_scalars
  tmp2 = (x - v) * (fx - fw)
/scipy/optimize/optimize.py:2937: RuntimeWarning: invalid value encountered in double_scalars
  if (fx2 - fval) > delta:
/scipy/optimize/optimize.py:2946: RuntimeWarning: invalid value encountered in double_scalars
  if 2.0 * (fx - fval) <= bnd:
mieczyslaw commented 4 years ago

In fact the error above (apart from only 1 conformer recognized) appears for single conformers too.

sven-miller commented 3 years ago

@mieczyslaw This issue has been resolved in the updated code

mieczyslaw commented 3 years ago

@sven-miller yes, single and multimodel PDB files is now being read; the new issue is that when multimodel conformers file is given, only one conformer is used...

sven-miller commented 3 years ago

@mieczyslaw pdb files that contain multiple conformers need to be split into the individual components. Having the separated conformer PDBs (i.e., 1,000) and a txt file listing either names in the same directory you run the ternary_prediction.py script should help this work. Please let me know if this is still an issue.