Here is a brief FAQ for the SMSD users.
Q: How can I use SMSD to perform Maximum Common Subgraph/Substructure (MCS) search between two molecules?
A: The MCS search in the SMSD is driven by the kind of input molecules under consideration. The SMSD comes with at least 4 different algorithms to report MCS, it chooses the appropriate algorithm according. For example, if the molecule is not very big or complex it can use CDK-MCS (UIT formally defined in the CDK) or MCSPlus and if the input structure is very complex like Vitamin B12 (also called cobalamin) it prefers to compute it using VF2- lib. Please read the published paper regarding the algorithms http://www.jcheminf.com/content/1/1/12
Q: Can I perform faster substructure search using the SMSD ?
A: The SMSD supports ultra fast substructure search mode which do not require exhaustive MCS search. This mode uses a specialised substructure search algorithm coded in the SMSD.
Q: What are chemical filter(s) in the SMSD and what do tthey mean?
A: There are three types of chemical filters used in the SMSD
- Stereo match filter
- Bond energy filter
- Fragment filter
The concept of chemical filters was designed to rank the MCS solutions in a chemically relevant manner. Each MCS search usually reports more than one possible solution and it would be useful if the best match was the top hit.
For example, if a query molecule has an open ring and a closed ring fused together while the target has a closed ring (benzene). The reported solution a) closed rings are matched b) open ring matches with closed ring. As a user one would expect two closed ring matches to precede the later match. This can be achieved by using the stereo filter. Likewise, fragment filters are useful if you want your matched components to occur in the periphery.
Q: Can I perform bond sensitive searches and bond insensitive searches (single bond can match with double bond) ?
A: Yes SMSD supports both types of searches.
- Bond insensitive searches are preferred if you are looking to match overall scafold between two molecules.
- Bond sensitive searches are more stringent and they report core matches between two molecules.
Note: Bond insensitive searches are computationally more exhaustive and demanding than bond sensitive searches.