selimsami / qforce

Apache License 2.0
57 stars 13 forks source link

Include gaff2 in the lennard_jones #10

Closed xiki-tempula closed 2 years ago

xiki-tempula commented 2 years ago

Hi, I was wondering if the gaff in the lennard_jones (https://qforce.readthedocs.io/en/latest/options.html) means gaffv1.7 or gaffv1.8?

Is it possible to include the gaff2 in the lennard_jones as well? Given that it covers a more diverse chemical space.

selimsami commented 2 years ago

Why the link to XTB? didn't fully get that.

You can include any external FF that you would like. Does not have to be in the lennard_jones list.

Could you give me a link to gaff2? might be worth adding to the qforce library.

This is the currently included gaff ff. Not sure if it is 1.7 or 1.8.

xiki-tempula commented 2 years ago

I'm very sorry, I guess I copied and pasted the wrong link.

I don't have a link for gaff2 but I could initiate a PR to get it in.

I could see that the link is for the atom types, I wonder how do you deal with bond, angle and dihedral? Thank you. In the gaff2 scheme, the bond and angle and improper dihedral would be dependent on the gaff2 atomtype. However, they shouldn't differ too much between force fields.

selimsami commented 2 years ago

Bond, angle and dihedrals are QM derived. From GAFF, you would only take the LJ parameters.

xiki-tempula commented 2 years ago

@selimsami Thanks for the explanation. For amber topologies, such as gaff and gaff2, the charge and atom type is usually written as mol2 file as an output of antechamber.

I was thinking that if the input could be provided by mol2 file.

When one set

[ff]
lennard_jones = gaff

and mol2 file is provided as input, the atom type will be read from the mol2 file if ext_lj is not set. If ext_lj is set, it will take priority.

When one set

[ff]
ext_charges = True

and mol2 file is provided as input, the charge will be read from the mol2 file if ext_q is not set. If ext_q is set, it will take priority.

I wonder do you feel that this would be a good add-on? If so, would you mind enlightening me about which function should I modify? Thank you.

If the external charges are provided as input, I wonder if the charge will be symmetrized? For example, the three hydrogens in the methyl group are provided as external charges and are not the same, will qforce enforce them to have the same charge?