dina-lab3D / CombFold

Apache License 2.0
68 stars 12 forks source link

Predicting heterotrimer using CombFold in Google Colab #5

Closed Franz4272 closed 5 months ago

Franz4272 commented 5 months ago

Hi Ben,

I hope this message finds you well. First of all, congratulations on all your success with this project.

If I am having trouble predicting a heterotrimer with AFM (low pTM), could I submit a folder with a few models of all possible heterodimers to CombFold in Google Colab? If so, how many models would you recommend submitting to CombFold for each possible heterodimer? I noticed that all the files are unrelaxed in the example/pdbs folder. Do you recommend solely submitting unrelaxed pdb files? Lastly, how do you recommend assigning chain_names if I have to make my own subunits.json file? The stoichiometry of the complex is unknown.

Thank you, Franz

ben-shor commented 5 months ago

Hi Franz,

You are trying to model a heterotrimer with unknown stoichiometry. The stoichiometry enumeration is not yet supported as its own pipeline but I can offer you a workaround to enumerate different stoichiometries fast (similar to what we presented in the paper). Basically, the solution will be in two parts: 1. generate AFM models. 2. create different subunits.json with different stoichiometries and run CombFold assembly.

generate AFM models Run AFM on different combinations of the subunits. It can be as you stated "a few models of all possible heterodimers" but it is also recommended to have larger combinations (for example ABC,AABC,ABBC,AABBC,..). You can use the CombFold pipeline to find which combinations are likely to be beneficial based on the pairwise models (stage 3). The more models you submit to CombFold, the better, as you are more likely to generate a model with higher pTM, and CombFold will have more transformations to use to connect the subunits. Regarding relaxation, I believe it won't make much of a difference unless the AFM models have many backbone clashes.

enumerate stoichiometries After you put all the AFM models into a folder named "pdbs" you can run only the CombFold assembly in the Colab. In each run you can set the stoichiometry by changing chain_names in the subunits.json, for example, if you want to try AAABBBCCC the subunits.json should look like:

{
  "<sub1>": {"name": "<sub1>", "chain_names": ["A", "D", "G"], "start_res": 1, "sequence": "MKDILE..."},
  "<sub2>": {"name": "<sub2>", "chain_names": ["B", "E", "H"], "start_res": 1, "sequence": "MFDKIL...."},
  "<sub3>": {"name": "<sub3>", "chain_names": ["C", "F", "I"], "start_res": 1, "sequence": "MGDKIES...."}
}

Hope this helps, let me know if that worked out for you, or if I forgot to answer something. Ben

Franz4272 commented 5 months ago

Hi Ben,

Thank you for your quick and helpful response. Is there a maximum number of models I should submit to CombFold for each combination of ABC you mentioned ("ABC, AABC, ABBC, AABBC,..")? I am considering using AFProfile to generate a few dozen high-quality AFM models for each combination as input for CombFold. Please let me know what you think when you have time.

I will also install CombFold locally to run the default pipeline as that will likely be faster, but I am genuinely interested in what you think about using AFProfile to generate the AFM models.

Thank you, Franz

ben-shor commented 5 months ago

Hi, There is no limit on how many models you have for each combination, and usually the more - the better. Using AFProfile seems like a good idea to try and get different interactions and increase the chance that the correct interaction will be there for CombFold to use.

Good luck with that! Let me know how it works. Ben

Franz4272 commented 5 months ago

Hi Ben,

Thank you for your response. I'll let you know how it goes.

All the best! Franz

Franz4272 commented 4 months ago

Hi Ben,

It worked great with the AFProfile structures as input! Since each run of AFProfile gave me around 100 good-quality pdb files as input for CombFold, it was able to output some excellent results. I hope you are doing well.

Best, Franz