Hi Greg,
> I've found some behavior in the MCS code that I would call a bug. (I'm
> hedging a bit because I realize one could argue about this one...)
> ...
> [11]>>> MCS.FindMCS(mols,ringMatchesRingOnly=False,completeRingsOnly=True)
> [11]: MCSResult(numAtoms=-1, numBonds=-1, smarts=None, completed=1)
>
> The behavior for input [11] is the one that I'm unhappy about. I
> believe that this should also return CCC since it's matching in "chain
> matches ring" mode.
The definition of "completeRingsOnly" is that:
1) if an MCS SMARTS term for a bond matches a molecule's bond, and
2) if the molecule's bond is a ring bond, then
3) the corresponding SMARTS bond term must be in a ring in the SMARTS
Given this definition, there's no way for a chain bond in one molecule
and a ring bond in another molecule to both be matched by the same
MCS SMARTS bond term.
If you look in the code you'll see that enabling 'completeRingsOnly' also
enables 'ringMatchesRingOnly', so option #11 doesn't do what you think it
does. (Perhaps it should raise an exception saying that that mixture
of inputs isn't allowed?)
This is mentioned in the documentation (albeit clumsily):
> You can further restrict things and require that partial rings (as in this
> case) are not allowed. That is, if an atom is part of the MCS and the atom is
> in a ring of the entire molecule then that atom is also in a ring of the MCS.
> Set completeRingsOnly to True to toggle this requirement and also sets
> ringMatchesRingOnly to True.
>
> >>> mols = [Chem.MolFromSmiles("CCC1CC2C1CN2"),
> >>> Chem.MolFromSmiles("C1CC2C1CC2")]
What definition of "completeRingsOnly" do you use? That is, since CCC
is a partial ring of C1CC1 then why are you unhappy that "completeRingsOnly"
doesn't reject the partial ring?
Andrew
[email protected]
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss