Separation of non-water solvent in the topology file.
I am using the acpype 2020-07-25 from conda, and grateful for continuous development. I tried to solve a protein with a methanol box (MEOHBOX) using tleap.
After conversion from amber to gromacs by acpype, MOH molecules were as a part of the solute in the topology file. The original order and residue index of molecule was [protein, Na+, Cl-, MOH]. Then residue index is not continuous between protein and MOH by removal of ions, and mismatches occurred. Also the parameters of MOH were found as the solute in [ bonds ], [ pairs ], [ angles ], [ dihedrals ], but not in [ atoms ].
The problems are (1) parameter is not found in [atoms], and (2) non-water solvent should be separated from the solute.
Water and ions defined in ionsDict (Na+, Cl-, K+) are skipped and directly written in the last of topology file. It is helpful that non-water solvent like MOH and NMA is treated like water solvent or ions.
As a solution for the problem (1). In acpype.py,
if not self.direct:
if resname in list(ionsDict) + ["WAT"]:
break
Here, I can add parameters in [atoms] using "continue" instead of "break". However, as mentioned above, the order of atoms is not continuous.
To solve the problem (2), we might take pains in implementation. And this problem might have less priority for most users. I am trying to extract any molecules as an individual object in the topology file.
Thanks @riquri, I came across issues related to this module a week ago and I'm glad you gave me a excellent report. Right now what I need are the input files for testing, would you mind send yours (inpcrd and prmtop) please?
@alanwilter I sent an e-mail with input data and some scripts. If you have not received it, please check your spam folder.
@riquri I've got it, thanks!