Appropriate forcefield/residue type for graphene?
Posted: Wed Jul 03, 2024 7:57 am
I'm doing some graphene simulations in water, and am having some setup problems. In this instance I'm starting from a SMILES string and using RDKit to add appropriate hydrogens, then converting to a PDB file. As a result, the PDB residue field is unknown and set to UNL. I tried using the SMIRNOFFTemplateGenerator from openmmforcefields, but have found that the system setup (forcefield.createSystem) fails. (Details: AmberTools antechamber kept allocating memory until it reached 70G RSS, at which point I killed it.)
Setup: OpenMM 8.0.0 installed via conda
openmmforcefields 0.13.0
RDKit 2023.03.3
Ubuntu 22.04 LTS, 64G RAM, 16G swap, 16 threads
Input SMILES (4x6 graphene fragment): C1=CC2=CC3=CC4=C5C6=C3C7=C2C(=C1)C8=C9C7=C1C6=C2C3=C6C1=C1C9=C(C=CC1=CC6=CC1=C3C3=C6C(=C1)C=C1C=CC=C7C1=C6C1=C6C3=C2C5=C2C6=C3C(=CC2=C4)C=CC2=C3C1=C7C=C2)C=C
System size: 708 atoms including solvent
Is there a better residue type to use for graphene or similar systems? Is there a prebuilt forcefield (AMBER, CHARMM, etc.) that should be selected instead of making a custom FF via SMIRNOFFTemplateGenerator?
Any tips/tricks/RTFMs are welcome -- much appreciated. (For example, would a different choice for nonbondedMethod be more appropriate?)
Thanks,
Andrew
Setup: OpenMM 8.0.0 installed via conda
openmmforcefields 0.13.0
RDKit 2023.03.3
Ubuntu 22.04 LTS, 64G RAM, 16G swap, 16 threads
Input SMILES (4x6 graphene fragment): C1=CC2=CC3=CC4=C5C6=C3C7=C2C(=C1)C8=C9C7=C1C6=C2C3=C6C1=C1C9=C(C=CC1=CC6=CC1=C3C3=C6C(=C1)C=C1C=CC=C7C1=C6C1=C6C3=C2C5=C2C6=C3C(=CC2=C4)C=CC2=C3C1=C7C=C2)C=C
System size: 708 atoms including solvent
Code: Select all
alog("creating simulation system...")
alog("length of pdb.positions: " + str(len(pdb.positions)))
system = forcefield.createSystem(
pdb.topology,
nonbondedMethod=PME,
nonbondedCutoff=1*unit.nanometer,
)
alog("system complete")
Any tips/tricks/RTFMs are welcome -- much appreciated. (For example, would a different choice for nonbondedMethod be more appropriate?)
Thanks,
Andrew