On Fri, Nov 23, 2012 at 3:23 PM, Andrew Dalke <[email protected]> wrote:
>
>> 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.
Upon further thought, and trying a few examples, I've realized that
what I was asking for was kind of stupid and would likely be difficult
to implement.
> 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?)
That would help.
> 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?
It's probably better if I not get into that in too much detail. As I
said, it was kind of a stupid idea.
-greg
------------------------------------------------------------------------------
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