Ghost atoms for stereo resolution are only added starting after the first
expanded shell, when a multi-bond to a new ligand is traversed, i.e. the
first time in the 2nd sphere. Adding ghost atoms directly to the stereo
center when going to the first ligand sphere does not make sense because it
disrupts the neighbor count, and implicitly the complete tree structure and
the assumed virtual geometry, of the stereo center. Single vs. double-bonded
ligands can still be implicitly prioritized via the atoms bonded to the
ligand in the 2nd sphere (at least when you work with hydrogen-complete
structures, which is what the R/S algorithm requires anyway).
Btw, the Cactvs toolkit agrees that is is R, and the process of resolution
can be traced, so maybe this is instructive:
cactvs>molfile hread chiral_phosphorous.1.mol
ens0
cactvs>set cactvs(trace) stereo
cactvs>ens new ens0 A_CIP_STEREO
[STEREO]@26: compute stereo property A_LABEL_STEREO.
[STEREO]@26: compute stereo property B_LABEL_STEREO.
[STEREO]@26: B_LABEL_STEREO computation completed.
[STEREO]@26: calc stereo property A_CIP_STEREO.
[STEREO]@26: build stereo tree around atom 6 (use stereo data: 0)
[STEREO]@26: expand in level 1 around atom 6 from exclude atoms 6 -1.
[STEREO]@26: add NEW atom 5 element 8.
[STEREO]@26: add NEW atom 4 element 8.
[STEREO]@26: add NEW atom 7 element 8.
[STEREO]@26: add NEW atom 8 element 8.
[STEREO]@26: level 1 expanded, res = 1.
[STEREO]@26: compare subtree around atom 5(added:1,new:1) and atom
4(added:1,new:1):
Tree around label 5
Tree around label 4
[STEREO]@26: tree comparison result: 0 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 5(added:1,new:1) and atom
7(added:1,new:1):
Tree around label 5
Tree around label 7
[STEREO]@26: tree comparison result: 0 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 5(added:1,new:1) and atom
8(added:1,new:1):
Tree around label 5
Tree around label 8
[STEREO]@26: tree comparison result: 0 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 4(added:1,new:1) and atom
7(added:1,new:1):
Tree around label 4
Tree around label 7
[STEREO]@26: tree comparison result: 0 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 4(added:1,new:1) and atom
8(added:1,new:1):
Tree around label 4
Tree around label 8
[STEREO]@26: tree comparison result: 0 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 7(added:1,new:1) and atom
8(added:1,new:1):
Tree around label 7
Tree around label 8
[STEREO]@26: tree comparison result: 0 nfullsubtreeident 0.
[STEREO]@26: expand in level 2 around atom 5 from exclude atoms 6 -1.
[STEREO]@26: add NEW atom 3 element 6.
[STEREO]@26: expand in level 2 around atom 4 from exclude atoms 6 -1.
[STEREO]@26: add NEW atom 2 element 6.
[STEREO]@26: expand in level 2 around atom 7 from exclude atoms 6 -1.
[STEREO]@26: add NEW atom 9 element 6.
[STEREO]@26: expand in level 2 around atom 8 from exclude atoms 6 -1.
[STEREO]@26: first subtree in level 1 from atoms 7/8 has more successors (1
vs. 0)
[STEREO]@26: level 2 expanded, res = 1.
[STEREO]@26: compare subtree around atom 5(added:1,new:1) and atom
4(added:1,new:1):
Tree around label 5
ALabel 3 Signature 06008000 [Element 6 Iso 0 AStereo 0 BStereo
0]
Tree around label 4
ALabel 2 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
[STEREO]@26: tree comparison result: -2 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 5(added:1,new:1) and atom
7(added:1,new:1):
Tree around label 5
ALabel 3 Signature 06008000 [Element 6 Iso 0 AStereo 0 BStereo
0]
Tree around label 7
ALabel 9 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
[STEREO]@26: tree comparison result: -2 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 5(added:1,new:1) and atom
8(added:0,new:1):
Tree around label 5
ALabel 3 Signature 06008000 [Element 6 Iso 0 AStereo 0 BStereo
0]
Tree around label 8
[STEREO]@26: first subtree in level 1 from atoms 5/8 has more successors (1
vs. 0)
[STEREO]@26: tree comparison result: 1 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 4(added:1,new:1) and atom
7(added:1,new:1):
Tree around label 4
ALabel 2 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
Tree around label 7
ALabel 9 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
[STEREO]@26: tree comparison result: 0 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 4(added:1,new:1) and atom
8(added:0,new:1):
Tree around label 4
ALabel 2 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
Tree around label 8
[STEREO]@26: first subtree in level 1 from atoms 4/8 has more successors (1
vs. 0)
[STEREO]@26: tree comparison result: 1 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 7(added:1,new:1) and atom
8(added:0,new:1):
Tree around label 7
ALabel 9 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
Tree around label 8
[STEREO]@26: first subtree in level 1 from atoms 7/8 has more successors (1
vs. 0)
[STEREO]@26: tree comparison result: 1 nfullsubtreeident 0.
[STEREO]@26: expand in level 3 around atom 3 from exclude atoms 6 -1.
[STEREO]@26: add NEW atom 1 element 6.
[STEREO]@26: add NEW atom 10 element 6.
[STEREO]@26: add NEW atom 15 element 1.
[STEREO]@26: expand in level 3 around atom 2 from exclude atoms 6 -1.
[STEREO]@26: add old atom 1 element 6.
[STEREO]@26: add NEW atom 13 element 1.
[STEREO]@26: add NEW atom 14 element 1.
[STEREO]@26: expand in level 3 around atom 9 from exclude atoms 6 -1.
[STEREO]@26: add NEW atom 16 element 1.
[STEREO]@26: add NEW atom 17 element 1.
[STEREO]@26: add NEW atom 18 element 1.
[STEREO]@26: first subtree in level 1 from atoms 7/8 has more successors (1
vs. 0)
[STEREO]@26: level 3 expanded, res = 1.
[STEREO]@26: compare subtree around atom 5(added:1,new:1) and atom
4(added:1,new:1):
Tree around label 5
ALabel 3 Signature 06008000 [Element 6 Iso 0 AStereo 0 BStereo
0]
ALabel 1 Signature 06000000 [Element 6 Iso 0 AStereo 0
BStereo 0]
ALabel 10 Signature 06000000 [Element 6 Iso 0 AStereo 0
BStereo 0]
ALabel 15 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
Tree around label 4
ALabel 2 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
ALabel 1 Signature 06000000 [Element 6 Iso 0 AStereo 0
BStereo 0]
ALabel 13 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 14 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
[STEREO]@26: signature mask difference on subtree: 06000000 vs 01000000.
[STEREO]@26: tree comparison result: 1 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 5(added:1,new:1) and atom
7(added:1,new:1):
Tree around label 5
ALabel 3 Signature 06008000 [Element 6 Iso 0 AStereo 0 BStereo
0]
ALabel 1 Signature 06000000 [Element 6 Iso 0 AStereo 0
BStereo 0]
ALabel 10 Signature 06000000 [Element 6 Iso 0 AStereo 0
BStereo 0]
ALabel 15 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
Tree around label 7
ALabel 9 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
ALabel 16 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 17 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 18 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
[STEREO]@26: signature mask difference on subtree: 06000000 vs 01000000.
[STEREO]@26: tree comparison result: 1 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 5(added:1,new:1) and atom
8(added:0,new:1):
Tree around label 5
ALabel 3 Signature 06008000 [Element 6 Iso 0 AStereo 0 BStereo
0]
ALabel 1 Signature 06000000 [Element 6 Iso 0 AStereo 0
BStereo 0]
ALabel 10 Signature 06000000 [Element 6 Iso 0 AStereo 0
BStereo 0]
ALabel 15 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
Tree around label 8
[STEREO]@26: first subtree in level 1 from atoms 5/8 has more successors (1
vs. 0)
[STEREO]@26: tree comparison result: 1 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 4(added:1,new:1) and atom
7(added:1,new:1):
Tree around label 4
ALabel 2 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
ALabel 1 Signature 06000000 [Element 6 Iso 0 AStereo 0
BStereo 0]
ALabel 13 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 14 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
Tree around label 7
ALabel 9 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
ALabel 16 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 17 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 18 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
[STEREO]@26: signature mask difference on subtree: 06000000 vs 01000000.
[STEREO]@26: tree comparison result: 1 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 4(added:1,new:1) and atom
8(added:0,new:1):
Tree around label 4
ALabel 2 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
ALabel 1 Signature 06000000 [Element 6 Iso 0 AStereo 0
BStereo 0]
ALabel 13 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 14 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
Tree around label 8
[STEREO]@26: first subtree in level 1 from atoms 4/8 has more successors (1
vs. 0)
[STEREO]@26: tree comparison result: 1 nfullsubtreeident 0.
[STEREO]@26: compare subtree around atom 7(added:1,new:1) and atom
8(added:0,new:1):
Tree around label 7
ALabel 9 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
ALabel 16 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 17 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 18 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
Tree around label 8
[STEREO]@26: first subtree in level 1 from atoms 7/8 has more successors (1
vs. 0)
[STEREO]@26: tree comparison result: 1 nfullsubtreeident 0.
[STEREO]@26: --- FINAL result: unsolved 0 undecidable 0 result 1.
[STEREO]@26: Final stereo tree:
Tree around label 6
ALabel 5 Signature 08000000 [Element 8 Iso 0 AStereo 0 BStereo 0]
ALabel 3 Signature 06008000 [Element 6 Iso 0 AStereo 0 BStereo
0]
ALabel 1 Signature 06000000 [Element 6 Iso 0 AStereo 0
BStereo 0]
ALabel 10 Signature 06000000 [Element 6 Iso 0 AStereo 0
BStereo 0]
ALabel 15 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 4 Signature 08000000 [Element 8 Iso 0 AStereo 0 BStereo 0]
ALabel 2 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
ALabel 1 Signature 06000000 [Element 6 Iso 0 AStereo 0
BStereo 0]
ALabel 13 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 14 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 7 Signature 08000000 [Element 8 Iso 0 AStereo 0 BStereo 0]
ALabel 9 Signature 06000000 [Element 6 Iso 0 AStereo 0 BStereo
0]
ALabel 16 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 17 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 18 Signature 01000000 [Element 1 Iso 0 AStereo 0
BStereo 0]
ALabel 8* Signature 08000000 [Element 8 Iso 0 AStereo 0 BStereo 0]
[STEREO]@26: got CIP atom descriptor from label for atom 6 pmdesc -1 result
1.
undef undef undef undef undef R undef undef undef undef undef undef undef
undef undef undef undef undef undef undef undef
cactvs>
On Sat, Jul 23, 2011 at 5:28 PM, Greg Landrum <[email protected]>wrote:
> Hi,
>
> I've spent a while beating my head against this without much success,
> so I figured I'd ask around.
>
> The attached mol file contains a chiral phosphorus center; I'm trying
> to figure out whether the label for that center should be R or S.
> My usual approach to this is to draw the thing in Marvin Sketch and/or
> Chemdraw and see what they say. Both agree that the P is (R).
> The problem I have with that is that I can't really figure out why.
> I'm sure the answer is simple, but I haven't been able to find it.
>
> I've been singularly unsuccessful at coming up with the right search
> phrase to google for a result.
> The one explanation I was able to find for labeling these things:
> http://www.chemistry.ucsc.edu/courses/palleros/PhosphatesII.pdf
> makes sense to me (the O with the double bond is the highest priority
> atom), but that would lead to a label of (S) for the P in the attached
> molecule.
>
> I attempted to figure this out by going back to the original CIP
> papers, but that way leads to madness (and I didn't find anything in
> my skim of the papers anyway).
>
> Here's how I would go about doing the assignment... using the mol-file
> numbering of the atoms:
>
> P6 has neighbors: O4, O5, O7
> Expand those out in shells...
> Shell 1:
> O4 : C2
> O5 : C3
> O7 : C9
> O8 : (P) <- because of the double bond
> Shell 2:
> O4 : C2 : C1
> O5 : C3 : C1, C10
> O7 : C9 :
> O8 : (P)
> Now we have a ranking in order of increasing priority: O7, O4, O5, O8.
> This leads to an assignment of (S) to the P.
>
> The only way I can find to make the Marvin/ChemDraw assignment work is
> to ignore the double bond to O8 when doing the expansion and to treat
> it as a naked O:
> Shell 1:
> O4 : C2
> O5 : C3
> O7 : C9
> O8 :
> Shell 2:
> O4 : C2 : C1
> O5 : C3 : C1, C10
> O7 : C9 :
> O8 :
> This gives the ranking O8, O7, O4, O5, which is consistent with an
> assignment of (R) to the P. I just can't figure out why one would do
> things this way.
>
> Anyone have any help or a clarification for this?
>
> -greg
>
>
> ------------------------------------------------------------------------------
> Storage Efficiency Calculator
> This modeling tool is based on patent-pending intellectual property that
> has been used successfully in hundreds of IBM storage optimization engage-
> ments, worldwide. Store less, Store more with what you own, Move data to
> the right place. Try It Now!
> http://www.accelacomm.com/jaw/sfnl/114/51427378/
> _______________________________________________
> Blueobelisk-discuss mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/blueobelisk-discuss
>
>
--
Wolf-D. Ihlenfeldt, Xemistry GmbH
www.xemistry.com
------------------------------------------------------------------------------
Storage Efficiency Calculator
This modeling tool is based on patent-pending intellectual property that
has been used successfully in hundreds of IBM storage optimization engage-
ments, worldwide. Store less, Store more with what you own, Move data to
the right place. Try It Now! http://www.accelacomm.com/jaw/sfnl/114/51427378/
_______________________________________________
Blueobelisk-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/blueobelisk-discuss