ReliaSolve / Molprobity2

0 stars 0 forks source link

Find out how Reduce decides if a ring is aromatic in a HET #85

Closed russell-taylor closed 3 years ago

russell-taylor commented 3 years ago

Add to write-up and send to Dave and Jane.

russell-taylor commented 3 years ago

It uses the isAromMethyl() function defined in reduce.cpp.

russell-taylor commented 3 years ago

For each returned plan, analyseRes() checks whether the residue is an aromatic methyl group by calling isAromMethyl() and if so then it adds the AROMATICFLAG feature to the plan. isAromMethyl() proceeds as follows: Verify that there is a ring bonded to the hydrogen by calling ResConn::findRingBondedToMethyl(), which verifies that the hydrogen is connected to a carbon that has three hydrogens bonded to it and this carbon is a member of a 5 or 6 element ring. It then traverses the ring looking at each set of four sequential atoms in the ring to see if any of their dihedral angles fail a test; if they all pass, then the ring is aromatic. The test is as follows: Adjust the dihedral angle by +360 and -180 until it falls between 0 and 180 degrees. Check that the angle is within MaxAromRingDih (parameter defaulting to 10 degrees) of flat. If not, it fails and is not an aromatic ring.