Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is it possible to dock protein-ligand complexes? #35

Closed
h-midlothian opened this issue Sep 13, 2022 · 5 comments
Closed

Is it possible to dock protein-ligand complexes? #35

h-midlothian opened this issue Sep 13, 2022 · 5 comments
Assignees
Labels
question Further information is requested

Comments

@h-midlothian
Copy link

Hello,

We are quite interested in this repo as we are looking for alternatives for Rosetta protein-protein docking module. Here are two issues that we are most concerned about after using Lightdock:
(1) Is it possible for us to dock protein-ligand complexes together? As our tasks are related to PROTAC modeling, it would be better for us to dock the complexes than just the 'apo' structures. However, it seems currently Lightdock only allows standard residue names, so we could only use the constraint file to make the docking surface close to what we wanted, but there were still many models in which the anchor atoms faced the opposite position.
(2) We wonder which parameters might help reduce the clashes of the protein-protein surface. We could see a lot of severe clashes between the receptor protein and the ligand protein from the results. Are there related parameters during the steps that might help to fix them?

Thanks a lot

@h-midlothian h-midlothian added the enhancement New feature or request label Sep 13, 2022
@JorgeRoel
Copy link
Contributor

JorgeRoel commented Sep 13, 2022

Hi @h-midlothian,

First, thanks for your interest in using LightDock. As you may noticed, the current scoring functions in LightDock do not support ligand docking. However, there is a trick that might be of your interest. Assuming that you have your ligand already docked, you could replace the space that the ligand occupies by "dummy" beads and assign desired attractive/repulsive parameters to those "dummy" beads in the scoring function. For example, you could do so by placing a bead on the center-of-mass of a given group of atoms, or alternatively, convert each atom into a dummy bead. By doing this you will explictly account for the ligand during the docking. The implementation would be similar as in our membrane docking protocol. Please see (https://www.nature.com/articles/s41467-020-20076-5) and https://github.com/lightdock/lightdock/blob/master/lightdock/scoring/fastdfire/driver.py (especially the MMB-BJ entity that accounts for membrane beads).

As for the second question, in the beta version of the webserver https://server.lightdock.org/ , we have a final minimization step using openMM that seems to work rather well. You may think of a similar protocol to further refine your docked structures.

@JorgeRoel JorgeRoel added question Further information is requested and removed enhancement New feature or request labels Sep 13, 2022
@brianjimenez
Copy link
Member

In addition to what @JorgeRoel mentioned, there are two experimental branches on the LightDock-Rust repository to account for DUMMY beads (dummy) and ligands (pydock): https://github.com/lightdock/lightdock-rust/branches
We did some internal tests, but still far from a stable version of the code point of view. There is a dummify script in place (https://github.com/lightdock/lightdock/blob/fd_spr_vision/bin/lgd_dummify.py) and the ligand is parametrized as an alanine in the pydock branch on the Rust version. However, please take a look at those and let us know if you have any further question.

@h-midlothian
Copy link
Author

Thanks for your replies. I tried to use the dummify.py script suggested by @brianjimenez and found the small molecules were successfully set as dummy atoms, and I set the dummy residues as passive restraints then. However, when I tried lightdock3_setup.py for the next step, there were still warnings like [pdb] WARNING: Possible problem: [ResidueNonStandardError] Can not check non-standard residue MMY.900, and below are the traceback lines:

Traceback (most recent call last):
  File "/home/cadd/.local/bin/lightdock3_setup.py", line 141, in <module>
    starting_points_files = calculate_starting_positions(
  File "/home/cadd/.local/lib/python3.8/site-packages/lightdock/prep/simulation.py", line 182, in calculate_starting_positions
    starting_points_files = calculate_initial_poses(
  File "/home/cadd/.local/lib/python3.8/site-packages/lightdock/prep/poses.py", line 450, in calculate_initial_poses
    swarm_centers = apply_restraints(
  File "/home/cadd/.local/lib/python3.8/site-packages/lightdock/prep/poses.py", line 273, in apply_restraints
    ca.x + translation[0],
AttributeError: 'NoneType' object has no attribute 'x'

So I wonder what else I should do apart from setting the dummy atoms. Should I change the allowed residue list?

@brianjimenez
Copy link
Member

This might be a problem on the version/branch of LightDock used. Please update to the latest release (0.9.3) and try again. LightDock Python versions does not (yet) support DUMMY beads, please use the Rust version instead.

@h-midlothian
Copy link
Author

OK. Hopefully, the Python version will support this function in the near future. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants