| Substructure matching performance update – Possibly issues with some residues, but possible it’s a bug in SMARTS generation method Started debugging, may be complex. We can return to this later in the meeting if there’s time. The problem was that some SDFs have the guanidinium double bond between the C and the nonterminal N
LYS_LFOH may be mislabeled re: leaving atoms
|
Update on PDB/PDBx reader | JW – OpenMM seems to have a way to assign connectivity by atom name JW – It turns out that openMM will ASSIGN bonds to PDB files that follow standard residues. We can use this to perceive the CONECT records, and with a hack to the underlying code, we can make openMM write out PDBs with conect records for all atoms. But, since we already have OpenMM as a toolkit dependency, we can just use the PDB reader directly, without needing to write a non-spec “PDB-with-all-CONECT-records” file.
LW – A few weeks ago, I tried to use OpenMM’s PDB reader, but when I named atoms according to their element and listed all bonds explicitly as CONECT, OpenMM added ADDITIONAL bonds. This problem went away when I renamed the atoms. Using LW’s example PDB, with CONECT records for everything but the AHA residue stripped:
from simtk.openmm.app import PDBFile, PDBxFile
pdb = PDBFile('aha.pdb')
print([*pdb.topology.bonds()][-50:]) This shows that all the standard AA have bonds assigned (even without CONECT records), while the nonstandard AHA residue has bonds read from the CONECT records. This is good news – It means that we can load PDBs with nonstandard AAs and use networkx graph matching to assign bond orders and stuff! |