Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New test system: the Drew-Dickenson B-DNA dodecamer #223

Merged
merged 7 commits into from
Jun 16, 2017

Conversation

gregoryross
Copy link
Collaborator

The test system is a palindromic sequence that is useful for studying ion-DNA interactions. This will be used as a saltswap test system.

Notes from the class doctstrings
Drew-Dickerson B-DNA dodecamer (CGCGAATTCGCG) in explicit solvent. Structure taken from the RCSB PDB accession code 4C64 (1.3 Angstrom resolution). Solvated using the TIP3P water model in a cuboidal box with at least a 10 Angstrom clearance between the edge of the box and the DNA. The DNA is parametrized with the AMBER 14SB forcefield. The system has a total charge of -22 as no neutralizing counterions have been included.

gregoryross added 2 commits June 14, 2017 16:49
@gregoryross gregoryross requested a review from jchodera June 14, 2017 21:06
@jchodera
Copy link
Member

Thanks for adding this!

We need information on the provenance of these files. Can you add a README.md to the ddd-dodecamer/ directory containing the {prmtop,inpcrd} files with complete provenance information? If you prepared this yourself, the scripts you used to do so should also be checked in. You might add information about the provenance to the docstring as well.

# Drew-Dickerson B-DNA dodecamer in explicit solvent
# =============================================================================================

class DDDExplicit(TestSystem):
Copy link
Member

Choose a reason for hiding this comment

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

How about we call it DNADodecamerExplicit or DrewDickersonDNADodecamerExplicit?

@jchodera
Copy link
Member

If this was the protocol you followed with LEaP, you can just add that to the README.md and dump your input scripts into the directory.

Drew-Dickerson B-DNA dodecamer (CGCGAATTCGCG) in explicit solvent. Structure taken from the RCSB PDB accession code

  • 4C64 (1.3 Angstrom resolution). Solvated using the TIP3P water model in a cuboidal box with at least a 10 Angstrom
  • clearance between the edge of the box and the DNA. The DNA is parametrized with the AMBER 14SB forcefield. The
  • system has a total charge of -22 as no neutralizing counterions have been included.

@gregoryross
Copy link
Collaborator Author

@jchodera, I've renamed the test system DNADodecamerExplicit as per your suggestion and added the preparation files, description of preparation, and provence information. Please let me know if your happy for me to merge this (once the tests pass).

Copy link
Member

@jchodera jchodera left a comment

Choose a reason for hiding this comment

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

I'm confused about why we're requiring parmed instead of using simtk.openmm.app.AmberPrmtopFile.

We can add a parmed dependency if essential, but we should actually add it to the setup.py requirements and conda meta.yaml. But if it's because of a bug with AmberPrmtopFile, we should just get the bug fixed and work around it for now by converting to serialized XML files with a separate script.

TestSystem.__init__(self, **kwargs)

try:
from parmed.amber import AmberParm
Copy link
Member

Choose a reason for hiding this comment

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

Wait, why does this require parmed instead of the simtk.openmm.app.PrmtopFile loader?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I copied the DHFR test system setup here. I realize this is not necessary, but I wanted to maintain consistency.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'm happy to change that though.

Copy link
Member

Choose a reason for hiding this comment

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

Wow, I don't remember having done that. I'll add an issue to fix the parmed dependencies in a separate PR.

@jchodera
Copy link
Member

Also, is the system ready to simulate, or does it require further minimization before use?

@gregoryross
Copy link
Collaborator Author

The system has not been minimized or thermalized. Is that necessary though? Minimization and thermalization should be part of any user's pipeline before any production simulation.

@jchodera
Copy link
Member

The system has not been minimized or thermalized. Is that necessary though? Minimization and thermalization should be part of any user's pipeline before any production simulation.

Generally yes, but if the system hasn't been minimized at all, it could lead some of the tests (which see if they can simulate the system for a bit) to blow up. Some pre-minimization also leads to a reduction of the time required for every subsequent use to minimize under the new conditions.

@jchodera
Copy link
Member

I think the failures are unrelated, @gregoryross, so you should be good to merge.

@jchodera jchodera mentioned this pull request Jun 15, 2017
6 tasks
@gregoryross
Copy link
Collaborator Author

@jchodera, I've removed the Parmed dependency and up-dated the DNA forcefield I used for parametrization. I also tried to figure out a way to encapsulate the system after I had minimized and briefly equilibrated it. However, as openmm doesn't have an up-to-date DNA forcefield, I had to pass the equilibrated structure through tleap again so that I could upload it here. Unfortunately, this (cutting a very long story short) screwed up the solvation of the dodecamer, so I'll stick with the unminimized structure for now.

With regards to your concern that minimization will be slow, I found that minimization of the structure only took about a minute or so on my desktop CPU. I even didn't observe the structure blowing-up even without minimization, with I think is due to the high quality of the structure. As long as this is okay with you, I'll merge after the latest test finish.

@jchodera
Copy link
Member

OK, this sounds fine then!

For future reference, it is relatively straightforward to write out a minimized PDB file using simtk.openmm.app.PDBFile.writeFile() and just read in this PDB file instead of the original inpcrd file. This is fine for now, though, but later, saving a minute every time the system is used could add up to a lot of time!

@gregoryross
Copy link
Collaborator Author

gregoryross commented Jun 16, 2017

For future reference, it is relatively straightforward to write out a minimized PDB file using simtk.openmm.app.PDBFile.writeFile() and just read in this PDB file instead of the original inpcrd file.

Ah, good suggestion! Just done this and will merge after tests pass.

@gregoryross gregoryross merged commit fe82cd1 into master Jun 16, 2017
@gregoryross gregoryross deleted the ddd_testsystem branch June 16, 2017 20:56
Lnaden added a commit that referenced this pull request Jul 6, 2017
* Drew-Dickerson DNA dodecamer test system (#223)
* ContextCache bugfix and optimization (#235)
* Compress serialized state strings (#232)
    * Backwards compatible!
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.

2 participants