示例#1
0
        public void TestEthene()
        {
            var filename = "NCDK.Data.Ghemical.ethene.mm1gp";
            var ins      = ResourceLoader.GetAsStream(filename);
            var reader   = new GhemicalMMReader(ins);
            var chemFile = reader.Read(builder.NewChemFile());

            reader.Close();

            Assert.IsNotNull(chemFile);
            Assert.AreEqual(1, chemFile.Count);
            var seq = chemFile[0];

            Assert.IsNotNull(seq);
            Assert.AreEqual(1, seq.Count);
            var model = seq[0];

            Assert.IsNotNull(model);

            var som = model.MoleculeSet;

            Assert.IsNotNull(som);
            Assert.AreEqual(1, som.Count);
            var m = som[0];

            Assert.IsNotNull(m);
            Assert.AreEqual(6, m.Atoms.Count);
            Assert.AreEqual(5, m.Bonds.Count);
        }
示例#2
0
        public void TestExample()
        {
            var testfile = "!Header mm1gp 100\n" + "!Info 1\n" + "!Atoms 6\n" + "0 6 \n" + "1 6 \n" + "2 1 \n"
                           + "3 1 \n" + "4 1 \n" + "5 1 \n" + "!Bonds 5\n" + "1 0 D \n" + "2 0 S \n" + "3 0 S \n" + "4 1 S \n"
                           + "5 1 S \n" + "!Coord\n" + "0 0.06677 -0.00197151 4.968e-07 \n"
                           + "1 -0.0667699 0.00197154 -5.19252e-07 \n" + "2 0.118917 -0.097636 2.03406e-06 \n"
                           + "3 0.124471 0.0904495 -4.84021e-07 \n" + "4 -0.118917 0.0976359 -2.04017e-06 \n"
                           + "5 -0.124471 -0.0904493 5.12591e-07 \n" + "!Charges\n" + "0 -0.2\n" + "1 -0.2\n" + "2 0.1\n"
                           + "3 0.1\n" + "4 0.1\n" + "5 0.1\n" + "!End";
            var stringReader = new StringReader(testfile);
            var reader       = new GhemicalMMReader(stringReader);
            var model        = reader.Read(builder.NewChemModel());

            reader.Close();

            Assert.IsNotNull(model);
            Assert.IsNotNull(model.MoleculeSet);
            var som = model.MoleculeSet;

            Assert.IsNotNull(som);
            Assert.AreEqual(1, som.Count);
            var m = som[0];

            Assert.IsNotNull(m);
            Assert.AreEqual(6, m.Atoms.Count);
            Assert.AreEqual(5, m.Bonds.Count);

            // test reading of formal charges
            var a = m.Atoms[0];

            Assert.IsNotNull(a);
            Assert.AreEqual(6, a.AtomicNumber);
            Assert.AreEqual(-0.2, a.Charge.Value, 0.01);
            Assert.AreEqual(0.06677, a.Point3D.Value.X, 0.01);
        }