Hi Bob,
You are right, there is no implicit H that should be matching in that case.
It took a while for me to track down the problem, but here is the story:
In 5.3.2, we have introduced a new search option value to respond to a support question related to duplicate search:
o New search option value for implicitHMatcing: "ignore". "Charge:ignore" search option now forces implicitHMatcing:ignore.
This is the description of this search option:
--implicitHMatching:d/y/n/i Describes the matching of implicit and
explicit hydrogens.
Values:
d Default: its value is y in almost every cases.
There is only one exception: its value is n in case of duplicate
search against a query table in a database.
y Implicit and explicit hydrogens can match. The sum of implicit
and explicit hydrogens of the query atom and the sum on the
matched target atom must equal.
n Implicit and explicit hydrogens cannot match. The number of
implicit hydrogens (of the matching atoms) are not checked.
i Implicit and explicit hydrogens are ignored.
In case of i (ignore), all H-s are ignored by the search, and so H atom indexes are not traced. This is why in this case the negative indexes are returned if a hit is requested for an explicit H.
Later we realized that this setting is causing problems at non-duplicate search (this is exactly what is happening in your case), so we relaxed the forcing of the ignore H option in 5.3.6:
o Search option charge:i sets implicitHMatching:i only in case of duplicate search type.
So the workaround in your case for 5.3.3 is to set implicitHMatching to IMPLICIT_H_MATCHING_ENABLED:
https://www.chemaxon.com/jchem/doc/dev/java/api/chemaxon/sss/search/SearchOptions.html#setImplicitHMatching%28int%29
I am sorry for the confusion.
I will also make the documentation clearer about the implicit H matching option. Let me know if you have any questions relating to this.
Best regards,
Szabolcs
New search option value for implicitHMatcing: "ignore". "Charge:ignore" search option now forces implicitHMatcing:ignore.