selimsami / qforce

Apache License 2.0
57 stars 13 forks source link

Saving AMBER prmtop files (or convert Gromacs top to AMBER formats) #63

Open mmagithub opened 1 year ago

mmagithub commented 1 year ago

Hi,

I am wondering if there is a straightforward way to save amber compatible prmtop files, as attempting to convert the gromacs generated top/itp files is not straightforward due to the Urey-Bradley terms I am speculating, parmed cannot handle this conversion easily,

Thanks, Marawan

mmagithub commented 1 year ago

I keep getting this error when converting the qforce files to amber prmtop with parmed:

raise TypeError('ChamberParm does not support all potential terms '
TypeError: ChamberParm does not support all potential terms defined in the input Structure

or intermol:

parmed.exceptions.GromacsWarning: 9 1-4 pairs were missing from the [ pairs ] section and were set to zero; make sure you know what you're doing! INFO 2023-03-21 14:48:38 Finished!

Any clue ?

selimsami commented 1 year ago

Hi Marawan,

There is a PR (#62) to write amber files but the authors have not yet addressed my final concerns so it's kinda stuck there.

One option could be to have a look there and finalize that.

Alternatively, keep in mind that UB terms is simply writing a harmonic bond and a harmonic angle together:

[ angles ] ; ai aj ak f theta0 k_theta r0 k_bond 1 2 3 5 120.000 290.220 0.21704 11255.9

can simply be written as:

[bonds] ; ai aj f r0 k_bond 1 3 1 0.21704 11255.9

[ angles ] ; ai aj ak f theta0 k_theta
1 2 3 1 120.000 290.220

then your conversion tools should probably work.

selimsami commented 1 year ago

Regarding your second comment, I am not exactly sure what that means - What kind of output does it produce and what exactly does it set to zero? Q-Force does write out [ pairs ] section and its parameters are read from [ nonbond_params ] section. Could you try to copy the contents of [ nonbond_params ] to a new section called [ pairtypes ] . If [pairtypes] is empty GROMACS reads this from [ nonbond_params ] , but maybe your conversion tool does not figure that out.

mmagithub commented 1 year ago

Thanks Selim, Just wondering if you have ever tried to do the conversion before, it may be straightforward to do using the right tool,

I have asked this question on parmed and intermol repositories and it does not seem that there is a straightforward solution,

Parmed: https://github.com/ParmEd/ParmEd/issues/1298#issuecomment-1479702088

Intermol: https://github.com/shirtsgroup/InterMol/issues/393#issuecomment-1479741587

And I am not a big fan of manually editing parameter files, you can easily mess up things and never know that there is a fundamental issue with the parameters.

I tried copying the sections as you said, it did not help, I am still getting the same error messages.

What tool do you use to write the qforce itp & top file, is it a tool you developed internally or you are using standard tools from gromacs or parmed ?

mmagithub commented 1 year ago

According to the parmed/intermol threads, it seems the topology files written by qforce are missing some parameters, namely the 1-4 interactions terms, would you please confirm that it is what is happening or if there is a better explanation for this behavior.

selimsami commented 10 months ago

I'm afraid the AMBER file writing seems to be suck, there was some incompatibility between the functional forms I think. It should definitely be fixable but I never user AMBER, so I have no motivation or knowledge to take care of this. I might soon implement an OpenMM format though.

I am not sure if something useful came of the discussions in intermol/parmed githubs? What is it that you are currently stuck with regarding the conversion?

If it's just the RB dihedral type, I could make to option to write the dihedrals in Fourier format if this will allow for a successful conversion?

mmagithub commented 10 months ago

Thanks Selim, OpenMM format is also good. I will see how can I make the most use of Gromacs formatted files in my applications.