Get group hit information when using JChemSearch

User 22337819af

29-02-2012 19:17:27

Hello


We are using JChemSearch to carry out an R-Group decomposition on a set of 100k structures.  Previously we had used the RGroupDecomposition class, and had used the information in Decomposition.getGroupHit().  Is there any way to get the equivalent information provided by getGroupHit() when using JChemSearch, or do we need to run a separate search to get this?  


(see this thread for related issue of why we are using JChemSearch instead of RGroupDecomposition - short answer, multithreading requires the former:


https://www.chemaxon.com/forum/viewtopic.php?p=40079#40079


)


Thank you,


Dave

ChemAxon fb166edcbd

01-03-2012 11:30:21

Unfortunately the Decomposition object is currently not part of the RgDecompResults result object, I will add this for the 5.10 release.


However, you can just as well run RGroupDecomposition for the matching targets and fetch the Decomposition objects in your code. In the sample code below, jcs is the JChemSearch object.


 


Molecule[] targets = fetchHitsAsMolecules(hits, null, null, null, false);
RGroupDecomposition rgd = new RGroupDecomposition();
rgd.setSearchOptions(searchOptions);
rgd.setAttachmentType(attachmentType);
rgd.setQuery(query);
for (int i=0; i < targets.length; ++i) {
rgd.setTarget(targets);
Decomposition d = rgd.findDecomposition();
int[][] groupHit = d.getGroupHit();
}

User 22337819af

01-03-2012 16:07:57

That kind of defeats the purpose of using JChemSearch, doesn't it?  We were using JChemSearch because it runs in parallel automatically, but if we have to go back and use RGroupDecomposition anyway, we're back to where we started.  We might as well not bother with JChemSearch then.

ChemAxon fb166edcbd

02-03-2012 14:32:15

The gain is that the search itself is run concurrently and with screening. You are right that RGroupDecomposition should be run anyway and it is not concurrent BUT it will only process the matching targets.


Therefore if the majority of the targets match the query then you will probably not experience any speed-up but the situation may be much better if there are a lot of targets to be filtered out.

User 22337819af

02-03-2012 15:05:33

Thank you for adding it to the 5.10 release.  A quick estimate indicates that we should still see a significant speed improvement, and we might have to do much less code modification.  We may or may not go ahead with at this point, though.  Do you have a rough estimate for when the 5.10 release will occur?  Thank you again for all of your help.

ChemAxon fb166edcbd

05-03-2012 13:22:35

5.10 will come out in about 3 months time, however, I suggest that you should use the code sample above instead of retrieving the results through the RgDecompResults object. It is simpler to use it directly and RgDecompResults would do the same thing anyway.