Skip to content

Conversation

@ajfriedman22
Copy link
Collaborator

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

  • Ready to go

Copy link

@JHoeflich1 JHoeflich1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 

@mrshirts
Copy link

I wonder how necessary the POSRES section is; if you are not doing position restraints, it is not needed.

@chapincavender
Copy link
Collaborator

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.

@JHoeflich1
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants