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

Predefined solvent component #661

Open
pbuslaev opened this issue Dec 11, 2023 · 4 comments
Open

Predefined solvent component #661

pbuslaev opened this issue Dec 11, 2023 · 4 comments

Comments

@pbuslaev
Copy link

I wonder if there is a way to generate a SolventComponent from a predefined structure? A use case might be a system with crystalographic waters, crystalographic ions, and cofactors, or a membrane protein.

@IAlibay
Copy link
Member

IAlibay commented Dec 11, 2023

@pbuslaev Thanks for opening up this issue.

Short answer: unfortunately we do not have a defined way to specifically handle an explicit SolventComponent, but some of the things you propose can currently be done via alternate means.

The long answer: implementing a means of reading in an explicit SolventComponent is something we want to get done, particularly for dealing with membrane proteins. It's something we hope to spend time on in the new year.

For crystallographic waters & ions - if there are present in your ProteinComponent and you are using a force field that has the right definition for those residues (I believe our defaults should cover basic ions), then those should be read in and handled properly. Solvation will then be applied on top of that.

For cofactors - for these you can load them in as seperate SmallMoleculeComponents. If you include these in both your states A and B then they will be handled as spectator molecules and treated with the chosen small molecule force field.

For membrane proteins - unfortunately this is not handled by OpenFE right now :( It's definitely on our to-do list though!

Hopefully this goes some way to help answer your question - happy to discsus more if necessary!

@pbuslaev
Copy link
Author

Thanks @IAlibay! Please let me know if you would need any help with that. I would be happy to contribute some code/test.

I also have a similar, but slightly different question. Is it possible to provide a modified ligand/protein parameters? Let's say, that I created Interchange for a ligand and modified torsions on my own. Can I use this modified topology somehow with OpenFE? I can open a separate issue about this question, if you suggest. But creating Component from Open Force Field Interchange object seems to be very appealing to me, since it can help with both predefined SolventComponent and user-defined force field.

@IAlibay
Copy link
Member

IAlibay commented Dec 11, 2023

@pbuslaev - Components don't hold anything as fancy as FF information. Our current approach to providing custom FF is through what is implemented here: openmm/openmmforcefields#288

If you pass your ffxml as an input to "small_molecule_forcefield" in the force field settings, then this will be picked up for use in this way.

@pbuslaev
Copy link
Author

Ah, ok. Thanks for the explanation.

A couple of other questions:

  1. Do I understand correctly, that lipids (and actually waters and ions) can actually be considered as SmallMoleculeComponent as well?
  2. Let's say that I have a ligand and a cofactor in my system. For both I have generated modified OpenFF parameters and I now have two ffxml files. Can I provide a list of force fields to small_molecule_forcefield?

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

No branches or pull requests

2 participants