コード例 #1
0
        public void TestSetMM2Parameters()
        {
            forceFieldConfigurator.SetMM2Parameters();
            Assert.IsNotNull(forceFieldConfigurator.GetParameterSet());
            var       atomtypeList = forceFieldConfigurator.AtomTypes;
            IAtomType atomtype1    = atomtypeList[1];

            Assert.AreEqual("Csp2", atomtype1.AtomTypeName);
            Assert.AreEqual(6, (int)atomtype1.AtomicNumber);
            Assert.AreEqual(12, (int)atomtype1.MassNumber);
        }
コード例 #2
0
        public void TestGetBondLengthValue_String_String()
        {
            var parser   = CDK.SmilesParser;
            var smiles   = "CCCCCC";
            var molecule = parser.ParseSmiles(smiles);

            Assert.IsNotNull(molecule);
            ForceFieldConfigurator ffc = new ForceFieldConfigurator();

            ffc.SetForceFieldConfigurator("mmff94");
            AtomPlacer3D atomPlacer3d = new AtomPlacer3D(ffc.GetParameterSet());

            ffc.AssignAtomTyps(molecule);

            string id1       = molecule.Atoms[1].AtomTypeName;
            string id2       = molecule.Atoms[2].AtomTypeName;
            string mmff94id1 = "C";
            string mmff94id2 = "C";

            Assert.AreNotSame(mmff94id1, id1);
            Assert.AreNotSame(mmff94id2, id2);

            double bondlength = atomPlacer3d.GetBondLengthValue(id1, id2);

            Assert.AreEqual(1.508, bondlength, 0.001);
        }
コード例 #3
0
        public void InvalidChain()
        {
            string input = "CCCCCC(CCCC)CCCC";
            var    sp    = CDK.SmilesParser;
            var    m     = sp.ParseSmiles(input);

            ForceFieldConfigurator ffc = new ForceFieldConfigurator();

            ffc.SetForceFieldConfigurator("mmff92");
            ffc.AssignAtomTyps(m);

            AtomPlacer3D ap3d = new AtomPlacer3D(ffc.GetParameterSet());

            ap3d.PlaceAliphaticHeavyChain(m, m);
        }
コード例 #4
0
ファイル: ModelBuilder3D.cs プロジェクト: roddickchen/NCDK
 /// <summary>
 /// Sets the forceField attribute of the ModeSetForceFieldConfigurator(lBuilder3D object.
 /// </summary>
 /// <param name="ffname">forceField name</param>
 private void SetForceField(string ffname)
 {
     if (ffname == null)
     {
         ffname = "mm2";
     }
     try
     {
         forceFieldName = ffname;
         ffc.SetForceFieldConfigurator(ffname);
         parameterSet = ffc.GetParameterSet();
     }
     catch (CDKException ex1)
     {
         Trace.TraceError($"Problem with ForceField configuration due to>{ex1.Message}");
         Debug.WriteLine(ex1);
         throw new CDKException("Problem with ForceField configuration due to>" + ex1.Message, ex1);
     }
 }
コード例 #5
0
        public void TestGetAngleValue_String_String_String()
        {
            var parser   = CDK.SmilesParser;
            var smiles   = "CCCCCC";
            var molecule = parser.ParseSmiles(smiles);

            Assert.IsNotNull(molecule);
            ForceFieldConfigurator ffc = new ForceFieldConfigurator();

            ffc.SetForceFieldConfigurator("mmff94");
            AtomPlacer3D atomPlacer3d = new AtomPlacer3D(ffc.GetParameterSet());

            ffc.AssignAtomTyps(molecule);

            string id1 = molecule.Atoms[1].AtomTypeName;
            string id2 = molecule.Atoms[2].AtomTypeName;
            string id3 = molecule.Atoms[3].AtomTypeName;

            double anglev = atomPlacer3d.GetAngleValue(id1, id2, id3);

            Assert.AreEqual(109.608, anglev, 0.001);
        }