openforcefield/smarty

In SMARTY remove any initial types that match zero atoms

Closed this issue · 3 comments

Example output after 9 iterations

Iteration 9 / 10
Attempting to create new subtype: '[#17]' (c_chlorine) + 'X1' (connections-1) -> '[#17X1]' (c_chlorine connections-1)
Atom type '[#17X1]' (c_chlorine connections-1) unused in dataset; rejecting.
Rejected.
INDEX        ATOMS  MOLECULES                                                          TYPE NAME                           SMARTS REF TYPE        FRACTION OF REF TYPED MOLECULES MATCHED
    1 :        464         42 |                                                       c_hydrogen                             [#1]       HC              244 /              244 (100.000%)
    2 :        232         42 |                                                         c_carbon                             [#6]       CT              232 /              232 (100.000%)
    3 :          0          0 |                                                       c_nitrogen                             [#7]
    4 :        107         42 |                                                         c_oxygen                             [#8]       OH               68 /               68 (100.000%)
    5 :          0          0 |                                                    c_phosphorous                            [#15]
    6 :          0          0 |                                                         c_sulfur                            [#16]
    7 :          0          0 |                                                       c_chlorine                            [#17]
    8 :          0          0 |                                                         c_iodine                            [#53]
TOTAL :        803         42 |                                                                                                         544 /      803 match (67.746 %)

Atom type hierarchy:
	[#1]
	[#16]
	[#8]
	[#53]
	[#15]
	[#6]
	[#7]
	[#17]

We shouldn't be wasting time creating atomtypes that don't exist in the molecule set.
I will address this will all the other things I'm fixing in pull request #198

I had thought I'd fixed this long ago, but it seems like (from looking at the issue tracker) what I really fixed was to allow unused base types to get destroyed. So, these should eventually go away (and then no longer be suggested) but certainly you can save some effort by just getting rid of them initially, @bannanc .

@davidlmobley I'm updating the smarty sampler as we speak, I already added a few lines to remove unused initial types.

fixed in pull request #198