Currently Open-ComBind is configured to work with GNINA and its outputs. However, Open-ComBind is relatively easy to reconfigure for a new docking tool. Using a new pose generator will require the user to recompute the "native" and "reference" statistics for the ligand poses generated by the new tool.
Open-ComBind is not currently set up to handle ligand poses that have a different protonation state or tautomeric state from the ground truth ligand. All RMSD calculations (including the RMSD of the MCSS) will result in an error if there is a difference between ligands. If you would like to use a docked pose generator that can alter the protonation of the ligand, some code reconfiguration will likely be required.
In order to compute new statistics, the benchmark dataset will be used. The steps for recomputing the statistics are enumerated below.
-
Generate dockings with the new pose generator
- it is best to generate these poses as
.sdf
files (optionally, can gunzip these files as well and save as.sdf.gz
) - Docking score should be saved to each pose in the
sdf
file as a property as an example, the GNINA scores (CNNscore
) are saved as follows:> <CNNscore> (1) 0.9719959497
- it is best to generate these poses as
-
Run the featurization of the ligands, ensuring the docked files are sorted correctly by the new score.
- featurization will now require setting the option
--newscore
with the name of your score in thesdf
files (e.g.CNNscore
for GNINA) - It is assumed that larger scores are better and the pose files will be resorted accordingly. If not, please use
--no-reverse
with the CLI or setreverse=False
if using the Python API.
- featurization will now require setting the option
-
Using the script
open_combind/stats_data/features_to_stats.py
calculate the statistics for the new pose generator. -
To calculate the new
alpha
for your scoring function, generate a plot withopen_combind/stats_data/docked_to_alpha.py
and use the (usually rounded) slope of the best fit line asalpha
for pose prediction.
Likely you will want to use the entire Open-ComBind pipeline, so you will want to reconfigure Open-ComBind to use your new pose generator by default. This will require editing open_combind/features/dock.py
to use your new pose generator rather than GNINA.
Pull requests to make Open-ComBind pose generator agnostic are welcome.