Conversation
JHoeflich1
left a comment
There was a problem hiding this comment.
Requesting a small change when adding POSRES section to the topology. Other than that everything works great!
| sect = 'water' | ||
| if match_string in line: | ||
| if mol == 1 and insert_string not in contents_orig[index - 1]: | ||
| temp_file.write(insert_string) |
There was a problem hiding this comment.
There is a small bug here where the #ifdef POSRES block gets inserted in multiple [ moleculetype ] sections.
A simple fix (beginning at like 825) is:
mol = 0
posres_inserted = False # Add
for index, line in enumerate(contents_orig):
if 'HOH' in line:
sect = 'water'
if match_string in line:
if mol == 1 and not posres_inserted: # Add
temp_file.write(insert_string)
posres_inserted = True # Add
|
I wonder how necessary the POSRES section is; if you are not doing position restraints, it is not needed. |
We use Cartesian restraints on the solute atoms during minimization, so that's why a copy of the topology with POSRES is needed. If it turns out that this section is causing most of the headaches, we could do the minimization in OpenMM (should be ~1 min on a single CPU) and then switch to gmx for dynamics. |
|
It's not a big headache, but running in gmx requires you to manually split the posres file for a protein that has > 1 chain. Chapin recommended generating new indexes for chain 1 and chain 2 with gmx make_ndx, and the creating a posres file for each. Thats what I have been doing up to this point, and automating might require minimization in openMM. |
Description
Change GROMACS file output to interchange to ease code maintanence and prevent the need for outside tools. Interchange by default does not include the settles parameters for each water model, so we manually add these parameters for 3-point water models. We will need to expand to include parameters for 4-point water models in the future.
Status