示例#1
0
        public static IAtomContainer PineappleSmell()
        {
            var pineappleSmell = new AtomContainer();

            var carbons = new[]
            {
                pineappleSmell.AddAtom("C"), pineappleSmell.AddAtom("C"),
                pineappleSmell.AddAtom("C"), pineappleSmell.AddAtom("C"),
                pineappleSmell.AddAtom("C"), pineappleSmell.AddAtom("C"),
                pineappleSmell.AddAtom("C"), pineappleSmell.AddAtom("C"),
            };

            var oxygens = new[]
            {
                pineappleSmell.AddAtom("O"), pineappleSmell.AddAtom("O")
            };

            pineappleSmell.AddBond(carbons[0], carbons[1], BondOrder.Single);
            pineappleSmell.AddBond(carbons[1], carbons[2], BondOrder.Single);
            pineappleSmell.AddBond(carbons[2], carbons[3], BondOrder.Single);
            pineappleSmell.AddBond(carbons[3], carbons[4], BondOrder.Single);

            pineappleSmell.AddBond(carbons[4], oxygens[0], BondOrder.Double);
            pineappleSmell.AddBond(carbons[4], oxygens[1], BondOrder.Single);

            pineappleSmell.AddBond(oxygens[1], carbons[5], BondOrder.Single);
            pineappleSmell.AddBond(carbons[5], carbons[6], BondOrder.Single);
            pineappleSmell.AddBond(carbons[6], carbons[7], BondOrder.Single);

            pineappleSmell.SetProperty(NCDK.CDKPropertyName.Title, nameof(pineappleSmell));

            return(pineappleSmell);
        }
示例#2
0
        public static IAtomContainer WashingSoda()
        {
            var co3 = new AtomContainer();

            var carbon = co3.AddAtom("C");

            co3.AddBond(carbon, co3.AddAtom("O"), BondOrder.Double);

            for (var i = 0; i < 2; i++)
            {
                var oxy = co3.AddAtom("O");
                oxy.FormalCharge = -1;
                co3.AddBond(carbon, oxy, BondOrder.Single);
            }

            var washingSoda = new Crystal(co3);

            var sodium00 = washingSoda.AddAtom("Na");

            sodium00.FormalCharge = 1;
            var sodium01 = washingSoda.AddAtom("Na");

            sodium01.FormalCharge = 1;

            washingSoda.Title = nameof(washingSoda);

            return(washingSoda);
        }
示例#3
0
        public static IAtomContainer RootKiller()
        {
            var mol = new AtomContainer();

            var sulfur = mol.AddAtom("S");

            for (var i = 0; i < 2; i++)
            {
                mol.AddBond(sulfur, mol.AddAtom("O"), BondOrder.Double);
            }

            var oxy00 = mol.AddAtom("O");

            oxy00.FormalCharge = -1;
            mol.AddBond(sulfur, oxy00, BondOrder.Single);

            var oxy01 = mol.AddAtom("O");

            oxy01.FormalCharge = -1;
            mol.AddBond(sulfur, oxy01, BondOrder.Single);

            var rootKiller = new Crystal(mol);

            var mg = rootKiller.AddAtom("Cu");

            mg.FormalCharge = 2;

            rootKiller.Title = nameof(rootKiller);

            return(rootKiller);
        }
示例#4
0
        public static IAtomContainer EpsomSalt()
        {
            var mol = new AtomContainer();

            var sulfur = mol.AddAtom("S");

            for (var i = 0; i < 2; i++)
            {
                mol.AddBond(sulfur, mol.AddAtom("O"), BondOrder.Double);
            }

            var oxy00 = mol.AddAtom("O");

            oxy00.FormalCharge = -1;
            mol.AddBond(sulfur, oxy00, BondOrder.Single);

            var oxy01 = mol.AddAtom("O");

            oxy01.FormalCharge = -1;
            mol.AddBond(sulfur, oxy01, BondOrder.Single);

            var epsomSalt = new Crystal(mol);

            var mg = epsomSalt.AddAtom("Mg");

            mg.FormalCharge = 2;

            epsomSalt.Title = nameof(epsomSalt);

            return(epsomSalt);
        }
示例#5
0
        public static IAtomContainer BakingSoda()
        {
            var co3h = new AtomContainer();

            var carbon = co3h.AddAtom("C");

            co3h.AddBond(carbon, co3h.AddAtom("O"), BondOrder.Double);

            var oxy00 = co3h.AddAtom("O");

            co3h.AddBond(carbon, oxy00, BondOrder.Single);
            co3h.AddBond(oxy00, co3h.AddAtom("H"), BondOrder.Single);

            var oxy01 = co3h.AddAtom("O");

            oxy01.FormalCharge = -1;

            co3h.AddBond(carbon, oxy01, BondOrder.Single);

            var bakingSoda = new Crystal(co3h);
            var sodium     = bakingSoda.AddAtom("Na");

            sodium.FormalCharge = 1;

            bakingSoda.Title = nameof(bakingSoda);

            return(bakingSoda);
        }
示例#6
0
        public static IAtomContainer Quicklime()
        {
            var quicklime = new AtomContainer();

            quicklime.AddBond(quicklime.AddAtom("O"), quicklime.AddAtom("Ca"), BondOrder.Double);
            quicklime.Title = nameof(quicklime);
            return(quicklime);
        }
示例#7
0
        public static IAtomContainer MuriaticAcid()
        {
            var muriaticAcid = new AtomContainer();

            muriaticAcid.AddBond(muriaticAcid.AddAtom("Cl"), muriaticAcid.AddAtom("H"), BondOrder.Single);

            muriaticAcid.Title = nameof(muriaticAcid);

            return(muriaticAcid);
        }
示例#8
0
        public static IAtomContainer Nos()
        {
            var nos = new AtomContainer();

            var nitrogen = nos.AddAtom("N");

            nos.AddBond(nitrogen, nos.AddAtom("O"), BondOrder.Single);
            nos.AddBond(nitrogen, nos.AddAtom("O"), BondOrder.Single);
            nos.Title = nameof(nos);
            return(nos);
        }
示例#9
0
        public static IAtomContainer Glycine()
        {
            var glycine = new AtomContainer();

            var nitrogen = glycine.AddAtom("N");

            for (var i = 0; i < 2; i++)
            {
                glycine.AddBond(nitrogen, glycine.AddAtom("H"), BondOrder.Single);
            }

            var carbon0 = glycine.AddAtom("C");

            glycine.AddBond(nitrogen, carbon0, BondOrder.Single);
            for (var i = 0; i < 2; i++)
            {
                glycine.AddBond(carbon0, glycine.AddAtom("H"), BondOrder.Single);
            }

            var carbon1 = glycine.AddAtom("C");

            glycine.AddBond(carbon0, carbon1, BondOrder.Single);
            glycine.AddBond(carbon1, glycine.AddAtom("O"), BondOrder.Double);

            var oxy = glycine.AddAtom("O");

            glycine.AddBond(carbon1, oxy, BondOrder.Single);
            glycine.AddBond(oxy, glycine.AddAtom("H"), BondOrder.Single);

            glycine.SetProperty(NCDK.CDKPropertyName.Title, nameof(glycine));

            return(glycine);
        }
示例#10
0
        public static IAtomContainer RubbingAlcohol()
        {
            var rubbingAlcohol = new AtomContainer();

            var carbonTop = rubbingAlcohol.AddAtom("C");

            for (var i = 0; i < 3; i++)
            {
                rubbingAlcohol.AddBond(carbonTop, rubbingAlcohol.AddAtom("H"), BondOrder.Single);
            }

            var carbonBottom = rubbingAlcohol.AddAtom("C");

            for (var i = 0; i < 3; i++)
            {
                rubbingAlcohol.AddBond(carbonBottom, rubbingAlcohol.AddAtom("H"), BondOrder.Single);
            }

            var carbonCenter = rubbingAlcohol.AddAtom("C");

            rubbingAlcohol.AddBond(carbonCenter, carbonTop, BondOrder.Single);
            rubbingAlcohol.AddBond(carbonCenter, carbonBottom, BondOrder.Single);
            rubbingAlcohol.AddBond(carbonCenter, rubbingAlcohol.AddAtom("H"), BondOrder.Single);

            var oxy = rubbingAlcohol.AddAtom("O");

            rubbingAlcohol.AddBond(carbonCenter, oxy, BondOrder.Single);

            rubbingAlcohol.AddBond(oxy, rubbingAlcohol.AddAtom("H"), BondOrder.Single);

            rubbingAlcohol.SetProperty(NCDK.CDKPropertyName.Title, nameof(rubbingAlcohol));

            return(rubbingAlcohol);
        }
示例#11
0
        public static IAtomContainer CitricAcid()
        {
            var citricAcid = new AtomContainer();

            var carbons = Enumerable.Range(0, 6).Select(i => citricAcid.AddAtom("C")).ToList();
            var oxygens = Enumerable.Range(0, 7).Select(i => citricAcid.AddAtom("O")).ToList();

            citricAcid.AddBond(oxygens[0], citricAcid.AddAtom("H"), BondOrder.Single);

            citricAcid.AddBond(oxygens[0], carbons[0], BondOrder.Single);

            citricAcid.AddBond(oxygens[1], carbons[0], BondOrder.Double);

            citricAcid.AddBond(carbons[0], carbons[1], BondOrder.Single);

            citricAcid.AddBond(carbons[1], citricAcid.AddAtom("H"), BondOrder.Single);
            citricAcid.AddBond(carbons[1], citricAcid.AddAtom("H"), BondOrder.Single);

            citricAcid.AddBond(carbons[1], carbons[2], BondOrder.Single);

            citricAcid.AddBond(oxygens[2], citricAcid.AddAtom("H"), BondOrder.Single);

            citricAcid.AddBond(carbons[2], oxygens[2], BondOrder.Single);

            citricAcid.AddBond(carbons[2], carbons[3], BondOrder.Single);

            citricAcid.AddBond(oxygens[3], citricAcid.AddAtom("H"), BondOrder.Single);

            citricAcid.AddBond(carbons[3], oxygens[3], BondOrder.Single);

            citricAcid.AddBond(carbons[3], oxygens[4], BondOrder.Double);

            citricAcid.AddBond(carbons[2], carbons[4], BondOrder.Single);

            citricAcid.AddBond(carbons[4], citricAcid.AddAtom("H"), BondOrder.Single);
            citricAcid.AddBond(carbons[4], citricAcid.AddAtom("H"), BondOrder.Single);

            citricAcid.AddBond(carbons[4], carbons[5], BondOrder.Single);

            citricAcid.AddBond(oxygens[5], citricAcid.AddAtom("H"), BondOrder.Single);

            citricAcid.AddBond(carbons[5], oxygens[5], BondOrder.Single);

            citricAcid.AddBond(carbons[5], oxygens[6], BondOrder.Double);

            citricAcid.Title = nameof(citricAcid);

            return(citricAcid);
        }
示例#12
0
        public static IAtomContainer Hydronium()
        {
            var hydronium = new AtomContainer();

            var oxy = hydronium.AddAtom("O");

            for (var i = 0; i < 3; i++)
            {
                hydronium.AddBond(oxy, hydronium.AddAtom("H"), BondOrder.Single);
            }

            hydronium.Title = nameof(hydronium);

            return(hydronium);
        }
示例#13
0
        /// <remarks>
        /// <![CDATA[
        /// Ammonium Acetate by neutralizing clear household ammonia with
        ///                  distilled white vinegar and evaporating to dryness
        /// Ammonium Chloride by neutralizing clear household ammonia with
        ///                  hardware store muriatic acid and evaporating to dryness
        /// ]]>
        /// </remarks>
        public static IAtomContainer Ammonia()
        {
            var ammonia = new AtomContainer();

            var nitrogen = ammonia.AddAtom("N");

            for (var i = 0; i < 3; i++)
            {
                ammonia.AddBond(nitrogen, ammonia.AddAtom("H"), BondOrder.Single);
            }

            ammonia.Title = nameof(ammonia);

            return(ammonia);
        }
示例#14
0
        public static IAtomContainer Rust()
        {
            var rust = new AtomContainer();

            var oxygen = Enumerable.Range(0, 3).Select(i => rust.AddAtom("O")).ToList();
            var iron   = Enumerable.Range(0, 2).Select(i => rust.AddAtom("Fe")).ToList();

            rust.AddBond(oxygen[0], iron[0], BondOrder.Double);
            rust.AddBond(iron[0], oxygen[1], BondOrder.Single);
            rust.AddBond(oxygen[1], iron[1], BondOrder.Single);
            rust.AddBond(iron[1], oxygen[2], BondOrder.Double);

            rust.Title = "rust";

            return(rust);
        }
示例#15
0
        public static IAtomContainer Methenium()
        {
            var methenium = new AtomContainer();
            var carbon    = methenium.AddAtom("C");

            for (var i = 0; i < 3; i++)
            {
                methenium.AddBond(carbon, methenium.AddAtom("H"), BondOrder.Single);
            }

            //the electron pair is gone
            carbon.FormalCharge = 1;
            methenium.Title     = nameof(methenium);

            return(methenium);
        }
示例#16
0
        /// <summary>
        /// see https://pubchem.ncbi.nlm.nih.gov/compound/6389
        /// </summary>
        public static IAtomContainer Trichlorofluoromethane()
        {
            var trichlorofluoromethane = new AtomContainer();

            var carbon = trichlorofluoromethane.AddAtom("C");

            for (var i = 0; i < 3; i++)
            {
                trichlorofluoromethane.AddBond(carbon, trichlorofluoromethane.AddAtom("Cl"), BondOrder.Single);
            }

            trichlorofluoromethane.AddBond(carbon, trichlorofluoromethane.AddAtom("F"), BondOrder.Single);

            trichlorofluoromethane.SetProperty(NCDK.CDKPropertyName.Title, nameof(trichlorofluoromethane));

            return(trichlorofluoromethane);
        }
示例#17
0
        public static IAtomContainer NitricAcid()
        {
            var nitricAcid = new AtomContainer();

            var nitrogen = nitricAcid.AddAtom("N");

            nitrogen.FormalCharge = 1;
            nitricAcid.AddBond(nitrogen, nitricAcid.AddAtom("O"), BondOrder.Double);
            var oxy = nitricAcid.AddAtom("O");

            oxy.FormalCharge = -1;
            nitricAcid.AddBond(nitrogen, oxy, BondOrder.Single);
            var oh = nitricAcid.AddBond(nitricAcid.AddAtom("O"), nitricAcid.AddAtom("H"), BondOrder.Single);

            nitricAcid.AddBond(nitrogen, oh.Begin, BondOrder.Single);

            nitricAcid.Title = nameof(nitricAcid);
            return(nitricAcid);
        }
示例#18
0
        public static IAtomContainer Lye()
        {
            var hydroxideAnion = new AtomContainer();
            var oxy            = hydroxideAnion.AddAtom("O");

            oxy.FormalCharge = -1;

            hydroxideAnion.AddBond(oxy, hydroxideAnion.AddAtom("H"), BondOrder.Single);

            var lye = new Crystal(hydroxideAnion);

            var sodium = lye.AddAtom("Na");

            sodium.FormalCharge = 1;

            lye.Title = nameof(lye);

            return(lye);
        }
示例#19
0
        public static IAtomContainer Refrigerant()
        {
            var refrigerant = new AtomContainer();

            var carbon = refrigerant.AddAtom("C");

            for (var i = 0; i < 2; i++)
            {
                refrigerant.AddBond(carbon, refrigerant.AddAtom("Cl"), BondOrder.Single);
            }

            for (var i = 0; i < 2; i++)
            {
                refrigerant.AddBond(carbon, refrigerant.AddAtom("F"), BondOrder.Single);
            }

            refrigerant.SetProperty(NCDK.CDKPropertyName.Title, nameof(refrigerant));

            return(refrigerant);
        }
示例#20
0
        public static IAtomContainer Acetonitrile()
        {
            var acetonitrile = new AtomContainer();

            var carbon0 = acetonitrile.AddAtom("C");

            for (var i = 0; i < 3; i++)
            {
                acetonitrile.AddBond(carbon0, acetonitrile.AddAtom("H"), BondOrder.Single);
            }

            var carbon1 = acetonitrile.AddAtom("C");

            acetonitrile.AddBond(carbon0, carbon1, BondOrder.Single);

            acetonitrile.AddBond(carbon1, acetonitrile.AddAtom("N"), BondOrder.Triple);

            acetonitrile.SetProperty(NCDK.CDKPropertyName.Title, nameof(acetonitrile));
            return(acetonitrile);
        }
示例#21
0
        public static IAtomContainer Water()
        {
            var water = new AtomContainer();

            var oxy = water.AddAtom("O");

            oxy.Charge = -0.5;
            var h1 = water.AddAtom("H");

            h1.Charge = 0.25;
            var h2 = water.AddAtom("H");

            h2.Charge = 0.25;
            water.AddBond(oxy, h1, BondOrder.Single);
            water.AddBond(oxy, h2, BondOrder.Single);

            water.SetProperty(NCDK.CDKPropertyName.Title, nameof(water));

            return(water);
        }
示例#22
0
        public static IAtomContainer DiethylEther()
        {
            var diethylEther = new AtomContainer();

            var carbon0 = diethylEther.AddAtom("C");

            for (var i = 0; i < 3; i++)
            {
                diethylEther.AddBond(carbon0, diethylEther.AddAtom("H"), BondOrder.Single);
            }

            var carbon1 = diethylEther.AddAtom("C");

            diethylEther.AddBond(carbon0, carbon1, BondOrder.Single);

            for (var i = 0; i < 2; i++)
            {
                diethylEther.AddBond(carbon1, diethylEther.AddAtom("H"), BondOrder.Single);
            }

            var oxy = diethylEther.AddAtom("O");

            diethylEther.AddBond(carbon1, oxy, BondOrder.Single);

            var carbon2 = diethylEther.AddAtom("C");

            diethylEther.AddBond(oxy, carbon2, BondOrder.Single);

            for (var i = 0; i < 2; i++)
            {
                diethylEther.AddBond(carbon2, diethylEther.AddAtom("H"), BondOrder.Single);
            }

            var carbon3 = diethylEther.AddAtom("C");

            for (var i = 0; i < 3; i++)
            {
                diethylEther.AddBond(carbon3, diethylEther.AddAtom("H"), BondOrder.Single);
            }

            diethylEther.AddBond(carbon2, carbon3, BondOrder.Single);

            diethylEther.SetProperty(NCDK.CDKPropertyName.Title, nameof(diethylEther));

            return(diethylEther);
        }
示例#23
0
        public static IAtomContainer WoodBleach()
        {
            var woodBleach = new AtomContainer();

            var carbons = new IAtom[2];

            for (var i = 0; i < 2; i++)
            {
                carbons[i] = woodBleach.AddAtom("C");
                woodBleach.AddBond(carbons[i], woodBleach.AddAtom("O"), BondOrder.Double);
                var oxy = woodBleach.AddAtom("O");
                woodBleach.AddBond(carbons[i], oxy, BondOrder.Single);
                woodBleach.AddBond(oxy, woodBleach.AddAtom("H"), BondOrder.Single);
            }

            woodBleach.AddBond(carbons[0], carbons[1], BondOrder.Single);

            woodBleach.Title = nameof(woodBleach);

            return(woodBleach);
        }
示例#24
0
        public static IAtomContainer Propane()
        {
            var propane = new AtomContainer();

            var carbon = new[]
            {
                propane.AddAtom("C"),
                propane.AddAtom("C"),
                propane.AddAtom("C")
            };

            propane.AddBond(carbon[0], carbon[1], BondOrder.Single);
            propane.AddBond(carbon[1], carbon[2], BondOrder.Single);

            for (var j = 0; j < 3; j++)
            {
                propane.AddBond(carbon[0], propane.AddAtom("H"), BondOrder.Single);
            }

            for (var j = 0; j < 2; j++)
            {
                propane.AddBond(carbon[1], propane.AddAtom("H"), BondOrder.Single);
            }

            for (var j = 0; j < 3; j++)
            {
                propane.AddBond(carbon[2], propane.AddAtom("H"), BondOrder.Single);
            }

            propane.SetProperty(NCDK.CDKPropertyName.Title, nameof(propane));

            return(propane);
        }
示例#25
0
        public static IAtomContainer Ethanol()
        {
            var ethanol = new AtomContainer();

            var carbon00 = ethanol.AddAtom("C");

            for (var i = 0; i < 3; i++)
            {
                ethanol.AddBond(carbon00, ethanol.AddAtom("H"), BondOrder.Single);
            }

            var carbon01 = ethanol.AddAtom("C");

            ethanol.AddBond(carbon00, carbon01, BondOrder.Single);

            for (var i = 0; i < 2; i++)
            {
                ethanol.AddBond(carbon01, ethanol.AddAtom("H"), BondOrder.Single);
            }

            var oxy = ethanol.AddAtom("O");

            ethanol.AddBond(carbon01, oxy, BondOrder.Single);
            ethanol.AddBond(oxy, ethanol.AddAtom("H"), BondOrder.Single);

            ethanol.SetProperty(NCDK.CDKPropertyName.Title, nameof(ethanol));

            return(ethanol);
        }
示例#26
0
        public static IAtomContainer Vinegar()
        {
            var vinegar = new AtomContainer();

            var carbon0 = vinegar.AddAtom("C");

            for (var i = 0; i < 3; i++)
            {
                vinegar.AddBond(carbon0, vinegar.AddAtom("H"), BondOrder.Single);
            }

            var carbon1 = vinegar.AddAtom("C");

            vinegar.AddBond(carbon0, carbon1, BondOrder.Single);

            vinegar.AddBond(carbon1, vinegar.AddAtom("O"), BondOrder.Double);

            var oxy = vinegar.AddAtom("O");

            vinegar.AddBond(carbon1, oxy, BondOrder.Single);

            vinegar.AddBond(oxy, vinegar.AddAtom("H"), BondOrder.Single);

            vinegar.SetProperty(NCDK.CDKPropertyName.Title, nameof(vinegar));

            return(vinegar);
        }
示例#27
0
        public static IAtomContainer MethanesulfonicAcid()
        {
            var methanesulfonicAcid = new AtomContainer();

            var sulfur = methanesulfonicAcid.AddAtom("S");

            for (var i = 0; i < 2; i++)
            {
                methanesulfonicAcid.AddBond(sulfur, methanesulfonicAcid.AddAtom("O"), BondOrder.Double);
            }

            var oxy = methanesulfonicAcid.AddAtom("O");

            methanesulfonicAcid.AddBond(sulfur, oxy, BondOrder.Single);
            methanesulfonicAcid.AddBond(oxy, methanesulfonicAcid.AddAtom("H"), BondOrder.Single);

            var carbon = methanesulfonicAcid.AddAtom("C");

            methanesulfonicAcid.AddBond(sulfur, carbon, BondOrder.Single);

            for (var i = 0; i < 3; i++)
            {
                methanesulfonicAcid.AddBond(carbon, methanesulfonicAcid.AddAtom("H"), BondOrder.Single);
            }

            methanesulfonicAcid.Title = nameof(methanesulfonicAcid);

            return(methanesulfonicAcid);
        }
示例#28
0
        public static IAtomContainer Bleach()
        {
            var hypochlorite = new AtomContainer();

            var oxygen = hypochlorite.AddAtom("O");

            var chloride = hypochlorite.AddAtom("Cl");

            chloride.FormalCharge = -1;

            hypochlorite.AddBond(oxygen, chloride, BondOrder.Single);

            var bleach = new Crystal(hypochlorite);

            var sodium = bleach.AddAtom("Na");

            sodium.FormalCharge = 1;

            bleach.Title = nameof(bleach);

            return(bleach);
        }
示例#29
0
        public static IAtomContainer Methylamine()
        {
            var methylamine = new AtomContainer();

            var carbon   = methylamine.AddAtom("C");
            var nitrogen = methylamine.AddAtom("N");

            for (var i = 0; i < 3; i++)
            {
                methylamine.AddBond(carbon, methylamine.AddAtom("H"), BondOrder.Single);
            }

            for (var i = 0; i < 2; i++)
            {
                methylamine.AddBond(nitrogen, methylamine.AddAtom("H"), BondOrder.Single);
            }

            methylamine.AddBond(carbon, nitrogen, BondOrder.Single);

            methylamine.Title = nameof(methylamine);

            return(methylamine);
        }
示例#30
0
        public static IAtomContainer DDT()
        {
            var ddt = new AtomContainer();

            var benzeneLeft = Benzene();

            benzeneLeft.AddBond(benzeneLeft.Atoms[0], benzeneLeft.AddAtom("Cl"), BondOrder.Single);

            var benzeneRight = Benzene();

            benzeneRight.AddBond(benzeneRight.Atoms[0], benzeneRight.AddAtom("Cl"), BondOrder.Single);

            var carbon00 = ddt.AddAtom("C");

            benzeneLeft.Atoms.Add(carbon00);

            benzeneLeft.AddBond(benzeneLeft.Atoms[3], carbon00, BondOrder.Single);

            benzeneRight.Atoms.Add(carbon00);
            benzeneRight.AddBond(benzeneRight.Atoms[3], carbon00, BondOrder.Single);

            ddt.AddAtomContainer(benzeneLeft);
            ddt.AddAtomContainer(benzeneRight);

            var carbon01 = ddt.AddAtom("C");

            ddt.AddBond(carbon00, carbon01, BondOrder.Single);

            for (var i = 0; i < 3; i++)
            {
                ddt.AddBond(carbon01, ddt.AddAtom("Cl"), BondOrder.Single);
            }

            ddt.SetProperty(NCDK.CDKPropertyName.Title, "DDT");
            return(ddt);
        }