maabuu/posebusters

Infinite loop on large complexes?

Closed this issue · 2 comments

Hello.

When running PoseBusters' bust_table method as

buster = PoseBusters(config="redock", top_n=None)
bust_results = buster.bust_table(mol_table, full_report=True)

for large protein-ligand complexes (e.g., 2000-length protein complexes with multiple ligands in each input SDF file) the method seems to slow down significantly and eventually essentially freeze. For example, I have been running bust_table on a set of 20 of such large protein-ligand complexes for the last 24 hours, and I am still not sure whether the pipeline is still actually working or if it is indeed stuck.

Have you encountered such an issue before?

Log outputs:

[2024-03-10 13:50:29,712][posebusters.posebusters][INFO] - Using default configuration for mode redock.
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[13:50:29] WARNING: not removing hydrogen atom without neighbors
[2024-03-10 13:50:29,765][posebusters.modules.distance_geometry][WARNING] - Molecule has no bonds.
[13:51:00] ERROR:

[13:51:00] ERROR:

[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 28
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 161
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 205
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 251
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 255
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 259
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 282
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 286
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 290
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 313
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 317
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 321
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 344
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 348
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 352
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 368
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 435
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 477
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 519
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 605
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 606
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 615
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 732
[13:51:00] UFFTYPER: Warning: hybridization set to SP3 for atom 770
[14:28:26] Tautomer enumeration stopped at 71544 tautomers: max transforms reached
[15:08:41] Tautomer enumeration stopped at 48501 tautomers: max transforms reached
[15:44:37] Tautomer enumeration stopped at 71544 tautomers: max transforms reached
[16:31:56] Tautomer enumeration stopped at 48501 tautomers: max transforms reached
...
[11:33:32] Tautomer enumeration stopped at 48501 tautomers: max transforms reached
[12:07:56] Tautomer enumeration stopped at 71544 tautomers: max transforms reached
[12:46:10] Tautomer enumeration stopped at 48501 tautomers: max transforms reached
[12:46:50] ERROR:

[12:46:50] ERROR:

[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 28
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 161
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 205
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 251
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 255
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 278
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 282
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 305
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 309
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 313
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 336
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 340
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 344
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 360
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 427
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 469
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 511
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 597
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 598
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 607
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 724
[12:46:51] UFFTYPER: Warning: hybridization set to SP3 for atom 762
[13:22:07] Tautomer enumeration stopped at 71544 tautomers: max transforms reached
[14:00:16] Tautomer enumeration stopped at 48501 tautomers: max transforms reached
[14:34:39] Tautomer enumeration stopped at 71544 tautomers: max transforms reached
[15:12:50] Tautomer enumeration stopped at 48501 tautomers: max transforms reached
[15:54:10] Tautomer enumeration stopped at 71544 tautomers: max transforms reached
[16:32:26] Tautomer enumeration stopped at 48501 tautomers: max transforms reached
[17:06:51] Tautomer enumeration stopped at 71544 tautomers: max transforms reached
[17:45:04] Tautomer enumeration stopped at 48501 tautomers: max transforms reached
[18:19:30] Tautomer enumeration stopped at 71544 tautomers: max transforms reached
[18:57:42] Tautomer enumeration stopped at 48501 tautomers: max transforms reached
[19:32:09] Tautomer enumeration stopped at 71544 tautomers: max transforms reached
[20:10:23] Tautomer enumeration stopped at 48501 tautomers: max transforms reached

I ran examples with hundreds of ligands and very large protein files and it should work faster than this. It looks like your molecules are very large and the tautomer enumeration might be to blame. Could it be that you swapped the small molecule ligand with the protein? How big are your ligands?

Could you share the input files you are using for debugging?

Hi, @maabuu. I am currently investigating a potential issue with the input files on my end, where some of the (multi) ligands were accidentally grouped into the same chain (ID). That may be causing some of these issues. I'll reopen this issue if a local chain separation fix I am testing now doesn't fix this original issue. Thanks!