public void LenthionineSymmetry() { var m = Smi("C1SSCSSS1"); long[] labels = Canon.Symmetry(m, GraphUtil.ToAdjList(m)); Assert.IsTrue(Compares.AreEqual(new long[] { 6, 4, 4, 6, 2, 1, 2 }, labels)); }
public void PhenolSymmetry() { var m = Smi("OC1=CC=CC=C1"); long[] symmetry = Canon.Symmetry(m, GraphUtil.ToAdjList(m)); Assert.IsTrue(Compares.AreEqual(new long[] { 1, 7, 5, 3, 2, 3, 5 }, symmetry)); }
public void ExplicitHydrogensOfEthanolHaveSymmetry() { var m = Smi("C([H])([H])C([H])([H])O"); var symmetry = Canon.Symmetry(m, GraphUtil.ToAdjList(m)); Assert.IsTrue(Compares.AreEqual(new long[] { 6, 1, 1, 7, 3, 3, 5 }, symmetry)); }
public void ExplicitHydrogensDoNotAffectHeavySymmetry() { var m = Smi("CC=C(C)C[H]"); var symmetry = Canon.Symmetry(m, GraphUtil.ToAdjList(m)); Assert.IsTrue(Compares.AreEqual(new long[] { 4, 2, 3, 5, 5, 1 }, symmetry)); }
public void Main() { #region IAtomContainer m = TestMoleculeFactory.MakeAlphaPinene(); int[][] g = GraphUtil.ToAdjList(m); // obtain canon labelling long[] canon_labels = Canon.Label(m, g); // obtain symmetry classes long[] symmetry_labels = Canon.Symmetry(m, g); #endregion }