openforcefield / amber-ff-porting

Scratch space for porting amber FFs into SMIRNOFF format
1 stars 3 forks source link

Removing openeye dependency and allowing porting patches #43

Open pbuslaev opened 9 months ago

pbuslaev commented 9 months ago

Following the discussion in openff-toolkit project, I think it might be important to get rid of openeye dependency. As I see it now, it is only used in get_smarts(prefix, atom_idxs) function in ConvertBackbonoParameters.py and ConvertResidueParameters.py files. There are two reasons, why I think it might be important to get rid of openeye dependency:

  1. I find it important to make it possible for users to port other force field if they need those. An example could be that one was running simulations with amberSB99-ildn and now he wants to test openff-toolkit as a tool for setting up simulations, but wants to use exactly same parameters for testing first.
  2. In case one needs to simulate non-standard residues, amber allows generating ff patches and it might be helpful that the users can add those patches to the force field if required. The porting of the patch should be straightforward and similar to porting of the force field. And again, if the user does not have openeye licence he is limited.

I can work on implementation of get_smarts(prefix, atom_idxs) with rdkit if someone can share with me pairs of mol2 structures and corresponding SMARTS patterns. I can also try to modify porting pipeline a bit, so that it allows patches. Please let me know, if you find those suggestions useful

pbuslaev commented 8 months ago

Following up on this also, would it be possible to generate some tests for get_smarts function in ConvertBackboneParameters.py and ConvertResidueParameters.py? Having those tests, I can rework get_smarts to get rid of openeye dependency

j-wags commented 8 months ago

While adding unit tests would make this repo more suitable for expansion, we don't have effort allocated this year to do that, and this repo is intended to be a point-in-time study instead of a living thing. So we're happy to have contributions but we can't dedicate time to making unit tests. The data you need should be available here, though, in the form of the mol2 input files and the output OFFXMLs.

pbuslaev commented 8 months ago

Ok, I see. Actually, since I think it is important and useful to be able to easily port amber patches, I will try to work on both unittests and porting protocol in the coming weeks.