The following questions refer to JChem 5.2 and the current website.
I'm a bit confused about discrepancies between the MCS API, the LibraryMCS API, the libmcs GUI app, and the documentation.
I note that
MCS has setIgnoreHybridization and setIgnoreIsotope in its matching options, but the LibraryMCS API does not.
However the libmcs 0.7 GUI has them in its Cluster>Options dialog
Am I right in thinking these used to be in the LibraryMCS class in older versions? Do they have any effect in the GUI app?
I also note that LibraryMCS has several methods relating to similarity thresholds, that are all marked as deprecated
Deprecated. This method has no affect from version 0.7 of LibraryMCS (JChem version 5.0.1) due to internal
The help file under http://www.chemaxon.com/jchem/doc/user/LibMCS.html
however refers to a similarity command-line option -n, even though if you run LibraryMCS.main -n is mapped to the -minMCS option.
Thank you for the accurate observations, I admit that the discrepancies between the API, GUI and the batch command line do exists. Namely, the charge, isotope and hybridization options do not work properly (i.e. have no effect on MCS search).
We will fix these problems and make the new version available for trial using java webstart. You will be notified when these hot-fixes are available.
Regarding the deprecated methods related to similarity thresholds: these have no effect any longer, and there aren't any other methods that provide the same or similar functionality. The reason for that is that similarity measures aren't directly used to control/terminate the clustering process as those were used in older versions of libmcs.
I have not found any ambiguous explanation in the user's documentation about these options or the -n flag. May I ask you to quote the part of the text which refers to the 'similarity command line option'?
Thank you for the valuable feedback and please accept our apologies for the inconvenience these problems might cause.
thanks for looking into this.
If you see:
Under "Comments on Some Parameters", you have (about 3 paragraphs down):
A more sophisticated termination condition can be specified by the
--minSimilarity) option which sets the
minimal similarity measurement parameter. If this value is set, clustering stops
if there are no more compounds (on the current top level of the hierarchy) that
are more similar to each other than this threshold. This option has no default
value, however, when it is set, other options that affect the termination condition
-e) are ignored.
That's tricky, since the text you refer to has been commented out. Ie. it's still there in the HTML source, but should be be displayed by your browser. You may need to clear your browser's cache to make sure that the new content downloads. It should appear like this:
Comments on Some Parameters
Parameters can be set in the
Options dialog in the
Cluster pull down menu.
There are a few tunable parameters involved in the detection of maximum common substructures of a set of compounds. Some of these are important in everyday use of
libmcs while others remain interesting for experienced users only.
A typical way of usage is to define the maximum allowed levels of hierarchy. For instance, there are cases when only first level clusters are interesting, that is, the common substructures of the input molecule set is sought for, but these common structures are not clustered further. In such case there is no point to generate higher levels of hierarchy, this shortens the execution time. In order to stop
libmcs after the first level is created (ie. all input structures are clustered),
1 has to be defined in the parameters dialog.
other options provide control the behaviour of the algorithm and are mainly intended for advanced users.
The minimum allowed size of any MCS found can be set by
Minimal MCS size. When set, for instance to 5, possible common structures smaller than 5 atoms are abandoned.
By default, the heap size in some Java runtime environments is limited to 64MB, so you may run out of memory easily. See FAQ on how to increase the heap size.
Ha, yes - it sorted itself out when I cleared the browser caches. Something weird from when the website got updated, maybe.
Thanks very much for your responsiveness.
Yes, website update might have affected that....
Anyway, those part are commented out at the moment, but those functionality should return soon in LibMCS.
All suggestions to make the API clear, intuitive and easy to use are welcome.
Just for your information, I figured out what was going on with the --minSimilarity option in the discussion above.
Appears to be a firefox bug. I'm using 3.6.3/Windows 32/XP. If I view the page in IE (6!) the commented-out text does not get rendered.
Might be an artifact of the way various browsers attempt to fix broken HTML.
So not your fault, and nothing to do with page caching, but probably worth being aware of for when users get mystified by a different version of the documentation than the one you think you have published!
Thank you for investigating this problem. I'm sure that this will be useful for other users. We will update the documentation accordingly.
I note that the LibraryMCS options setHybridizationMatch and setIsotopeMatch (which were reintroduced in 5.3), seem to have disappeared again in 5.4
Is this intentional?
I'm afraid it is by mistake. It'll be fixed in the next minor release, 5.4.2.