cctbx / cctbx_project

Computational Crystallography Toolbox
https://cci.lbl.gov/docs/cctbx
Other
207 stars 111 forks source link

Construct Clashscore2 that uses Probe2 and Reduce2 #974

Closed russell-taylor closed 3 months ago

russell-taylor commented 3 months ago

Make phenix.clashscore2 and mmtbx.clashscore2 that uses Probe2 and Reduce2

mmtbx/command_lineclashscore.py is a script that runs mmtbx/programs/clashcore.py.

mmtbx/programs/clashscore.py is a script that runs Reduce and Probe on input files and returns a list of clashes

russell-taylor commented 3 months ago

It runs reduce by calling run_reduce_with_timeout() from mmtbx.utils It runs probe by calling easy_run.fully_buffered() from libtbx.

@todo Modify the Program Template to pass the appropriate entries (model rather than pdb_hierarchy) into the modified clashscore class. In clashscore: repeat the work in _AddHydrogens and then construct a reduce2.Optimizer and get its model, then reinterpret it like reduce2 does (after first removing hydrogens if asked to). Then harness probe2 like reduce2 does when making FlipKins. This will avoid having to save and re-load (and re-parse) the model file. When we need to write the reduce2 file for debugging, we can do that by setting the reduce2 output file name to match that and just not deleting the file afterwards.