More isotopes trouble

User 870ab5b546

23-05-2005 17:11:16

We are using setExactIsotopeMatching(false) to compare structures. So, for example, a response of 1,2-dideuterohexane matches to reference structure 1-deuterohexane. In other words, a response with a D isotope will match to a structure that does not have it there.





However, once we throw C-13 into the mix, setExactIsotopeMatching(false) seems to work just like setExactIsotopeMatching(true). So, for example, a response of 1-[13C]-hexane does not match to unadorned hexane. Moreover, if a C-13 is present, even the deuterium matching seems to behave as if setExactIsotopeMatching(true). So, for example, a response of 1,6-[13C2]-2-deuterohexane does not match to 1,6-[13C2]-hexane.

User 870ab5b546

23-05-2005 17:33:22

Curiouser and curiouser.





A response of 1,2,3-trideuterocyclohexane matches to monodeuterocyclohexane, but does not match to cyclohexane itself! How could this possibly happen? We are not changing the value of setExactIsotopeMatching depending on the structures.

User 870ab5b546

23-05-2005 17:43:49

OK, I think I've figured it out. setExactIsotopeMatching(false) displays the following behavior:





Bug: If the reference structure has no isotopes of any particular kind specified, then if the response has any isotopes of that kind, it's not a match. E.g., a response of neither 1-deuterohexane nor 1-[13C]hexane matches to reference structure hexane.





Documented behavior: If the reference structure has at least one D, then the response may have additional D atoms in other positions, and it will still be a match. E.g., a response of 1,2-dideuterohexane matches to reference structure 1-deuterohexane.





Bug: If the reference structure has at least one C-13, then if the response has additional C-13 atoms in other positions, it is not a match. E.g., a response of [1,3,6-13C3]-hexane doesn't match to reference structure [1,6-13C2]-hexane.

ChemAxon a3d59b832c

24-05-2005 13:39:10

Bob,





I suppose from your description, that the response is the target and the reference structure is the query. Is this correct?


(However, for me the other way round would be more familiar.)





I checked the comments regarding D, it should work as you described:


Code:
$ jcsearch -t:e -q '[2H]CCCCCC' '[2H]CC([2H])CCCC'


[2H]CC([2H])CCCC






(The reported structure indicates that there is a match.)


However, I could not reproduce the behaviour you mentioned regarding C-13:


Code:
$ jcsearch -t:e -q 'CCCCCC' 'CCCCC[13CH3]'


CCCCC[13CH3]


$ jcsearch -t:e -q '[13CH3]CCCC[13CH3]' '[2H]C([13CH3])CCC[13CH3]'


[2H]C([13CH3])CCC[13CH3]






Please note that with setExactIsotopeMatching(false) the role of the query and target cannot be exchanged. At this setting the nonisotopic query will also match the isotopic target atom, but not the other way round.





Szabolcs

User 870ab5b546

24-05-2005 14:28:23

I've never understood your "target" and "query" terminology, so I can't say whether the response is the target or whether the reference structure is. However, I can say that a response of 1,2-dideuterohexane matches to a reference structure of 1-deuterohexane, and not vice versa, so that should tell you which is which. I know that the two roles can't be switched when setExactIsotopeMatching is false. We always assign the same roles to response and reference structure.





Your and our results appear to be inconsistent, because I have checked again and again. I guess it's possible that we're using setExactIsotopeMatching = true, but if that were the case, a response of 1,2-dideuterohexane wouldn't match to a reference structure of 1-deuterohexane, and it does.





To repeat: I am finding that a response of 1,2-dideuterohexane does not match to reference structure hexane, but does match to reference structure 1-deuterohexane, and a response of 1,2-[13C]2-hexane matches to neither reference structure hexane nor 1-[13C]-hexane. Unless we are using setExactIsotopeMatching = true in some cases and false in others, I can't imagine how this behavior is anything but a bug in JChem. I'll investigate some more on this side.

ChemAxon a3d59b832c

24-05-2005 16:15:44

I suppose you are still using the code reported in this forum:


http://www.chemaxon.hu/forum/viewpost1293.html





From this I figure out that you are using exactStereoMatching(true), the target is the response and the query is the reference answer. Now I could reproduce that the problem is with the handling of deuterium:





Code:
$ jcsearch -t:e --exactIsotopeMatching:y -q '[2H]CCCCCC' '[2H]CC([2H])CCCC'


[2H]CC([2H])CCCC






This truly should not match. I am just checking this.

User 870ab5b546

26-05-2005 20:27:15

Any progress on this bug?

ChemAxon a3d59b832c

26-05-2005 21:21:02

Yes, It only occurs at EXACT search, with exactIsotopeMatching(true).





I fixed it, and it will be available in the next minor and major releases.


(versions 3.0.12 and 3.1.)





All the best,


Szabolcs