two questions about mcs
1) Has mcs(which .bat) non graphical output? If I not submit -w option, it writes to stdout only working information and smiles string of target molecule (in working information someone exception.., it appears for smiles and mol input files, see picture below). In help (-h) nothing described about non graphical output. Option -o (analogy with libmcs) does not work.
It would be very nice to see in stdout the smiles string of common maximal substructure (substructures in future) :)
2) Would you explain the difference between -MCS and -MCES matching mode? I know that first is Maximal Common Substructure (or subgraph) and last is Maximal Common Edges Substructure, but what is the conceptual, "physical" difference?
1. The default behaviour is to provide non-graphical output. However: for compatibility reasons it is always the smiles of the target structure that is printed and not the actual MCS found. (By compatibility I mean a behaviour similar to what jcsearch does: it also outputs targets that contain the query structure.)
I understand now that the real need is the actual MCS so I will change the output of mcs and I will make the MCS output the default.
The query - in the present implementation - has to be a molecule string (practically speaking a smiles, while target is a molecule file. The help message provided by mcs -h is wrong because it tells that -q accept a filename. It will! - as it should. Thank you for the bug report.
2. MCS here refers to MCIS, maximum common induced subgraph. As I understand the community needs MCES (often called the maximum overlaping sets, MOS), so we consider to omit the MCIS search that's trickier anyway.
What do you think?!
Thanks and regards,
I'd like to save MCIS option with default MCES. You are right - MCES is really more relevant in a lot of tasks but ability to use MCIS is an one more degree of freedom :) It may be helpful in some cases.
Also in the help (-h) I'd write MCIS instead MCS so in different papers the definition MCS means either MCIS or MCES, so it is easy to confuse.
Look at the picture below, It is seems that -m MCS (that is MCIS) option produces MCES decision and option -m MCES produce MCIS decision. Check please.
Also on the same example if query is smiles string instead file - no common substructure is found (bottom of the picture).
m1.smi - CC1CCCC1
m2.smi - CC1CCCCC1
Check it please also, may be am I doing something wrong?
What tha algorithms did you use for MCES and MCIS - backtracking and maximum clique accordingly?
Best regards, Vladimir
thank you for all the comments and nice illustration: you're right, MCIS and MCES are mixed up indeed. The problem you reported can be reproduced. All these willbe fixed asap.
Regarding the algorithm: it uses backtracking.
Many thanks for the valuable feedback.
Please be informed that a new MCES algorithm was released in JChem 5.4.
It is not a backtracking based one, but a clique based approach. And it is MCES, MCS is not available (now).
The issues you reported are fixed by this new implementation.
ps. all feedback and comments are always welcome!!!