Menu

reproducibility problem: `--local_only` and `--minimize`

2024-07-09
2024-07-10
  • Sang-Yeon Hwang

    Sang-Yeon Hwang - 2024-07-09

    There are some cases when repeated run with options --local_only and/or --minimize gives varying results.

    For example, when I repeatedly run the following command with the files I attached:

    smina.static -r 8B8H_OJQ_protein.pdb -l 8B8H_OJQ_ligand.sdf \
        --local_only --minimize -o output.sdf
    

    the minimizedAffinity value of output.sdf results in one of:
    -10.98858
    -10.48566
    -9.52101

    Using --seed doesn't give deterministic results either.
    I attached another pair of examples "8ACL_LQL" that shows the same problem.

    As I tested, most of the inputs give deterministic results. The above problem occurs about ~4% of cases.

    Please let me know if I can help finding out the cause.

    Smina version: Smina Oct 15 2019. Based on AutoDock Vina 1.1.2.
    OS: Red Hat Enterprise Linux release 9.3 (Plow)
    Attached files are from: https://github.com/maabuu/posebusters

     

    Last edit: Sang-Yeon Hwang 2024-07-09
  • David Koes

    David Koes - 2024-07-10

    The ligand is charged which means OpenBabel wants to add a hydrogen to the charged nitrogen, but it doesn't really know how and uses a random vector resulting in non-deterministic output. If the charge is removed or if the ligand is first converted to a different format (e.g. pdbqt) you get deterministic output. You also get deterministic output with gnina, since gnina explicitly initializes the random number generator that OpenBabel uses with the user provided seed. I've backported this behavior to smina here:
    https://sourceforge.net/p/smina/code/ci/02b978cc88e71be64ed3e40036969b435714c665/

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.