cmelab / planckton

Reproducible exploration of organic photovoltaic morphology self-assembly using molecular dynamics.
GNU General Public License v3.0
5 stars 6 forks source link

Added BTO parameters to gaff forcefield #86

Closed gwenwhite closed 2 years ago

gwenwhite commented 2 years ago

Used steps from README.md in planckton/planckton/compounds to calculate and add these parameters.

codecov[bot] commented 2 years ago

Codecov Report

Merging #86 (a86f2af) into master (de17c1b) will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master      #86   +/-   ##
=======================================
  Coverage   98.43%   98.43%           
=======================================
  Files           6        6           
  Lines         192      192           
=======================================
  Hits          189      189           
  Misses          3        3           
jennyfothergill commented 2 years ago

Nice :) I think we'll also need to add Nonbonded forces for types for no and nd. I think we can get these from gaff-foyer. Speaking of... Did we try that already? Since this is a fairly simple molecule we should try maybe just parameterizing it with gaff-foyer:

import mbuild as mb 
import foyer 

gaff = foyer.forcefields.load_GAFF()
# if this smiles sting doesn't work, try using the untyped mol2 file you made for bto
bto_compound = mb.load("OC(=O)CCCc1onc(n1)c2cccc(c2)[N+]([O-])=O", smiles=True)
typed_parmed_structure = gaff.apply(bto_compound, verbose=true)
erjank commented 2 years ago

Another (hopefully small) question that popped up around this was how to add a comment or note in a foyer xml file on how a particular constraint was generated, so that's not lost to the eventual end-user. Like, the desc field works for atom types, but doesn't seem to for dihedrals? Maybe we should elevate that to the foyer folks.

jennyfothergill commented 2 years ago

@gwenwhite YES! Great question. :) There's a couple way we can do this--If the value comes from a paper, we can add a doi field to the parameters like this. Otherwise we can add a comment that explains how we got these parameters.