openforcefield/smirnoff99Frosst

Fix an incorrectly ordered generic

Closed this issue · 3 comments

In the smirff99Frosst, I noticed two probable typos:

 <Bond smirks="[#6X2:1]-[#6X4:2]" id="b23" k="700.0" length="1.468"/>
 <Bond smirks="[#6X2:1]-[#6:2]" id="b24" k="700.0" length="1.440"/>
 <Bond smirks="[#6X2:1]=[#6X3:2]" id="b25" k="1098.0" length="1.35"/>

The second line should come before the first, correct? Otherwise, the second will override the first and thus never be used...?

Also, this angle pattern contains a typo, 1~ which should be just ~, I think?

<Angle smirks="[*r3:1]1~@[*r3:2]~@[*r3:3]1" angle="60." id="a4" k="700.0"/>

On the second of these -- this is just how a ring is defined in SMARTS/SMIRKS, which makes sense how it transfers from SMILES. But per @cbayly13 , the first is indeed a typo.

I'll get a fix in.

Would it be worthwhile to develop a tool to figure out how many times each type is applied to a very large dataset (e.g. ZINC) to catch errors like this?

For types that are used zero times, simply flagging them for examination is probably enough for someone to figure out what the bug is.

@jchodera - yes, we have such a tool, we just haven't had time to do large datasets yet, but we're working on that.

I just happened to notice this while showing someone the file. There are certainly going to be other issues and we have plans to catch them....

(Before even getting to what you propose, we're first working on ensuring we have coverage of all the chemical space we think we cover...)