Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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
        }