コード例 #1
0
 public void ExamplesTest()
 {
     // Paroxetine 0.935
     Assert.AreEqual(0.934, QED.Calculate(Chem.MolFromSmiles("c1cc2OCOc2cc1OCC1CNCCC1c1ccc(F)cc1")), 0.01);
     // Leflunomide 0.929
     Assert.AreEqual(0.911, QED.Calculate(Chem.MolFromSmiles("C1=NOC(C)=C1C(=O)Nc1ccc(cc1)C(F)(F)F")), 0.01);
     // Clomipramine 0.779
     Assert.AreEqual(0.818, QED.Calculate(Chem.MolFromSmiles("CN(C)CCCN1c2ccccc2CCc2ccc(Cl)cc21")), 0.01);
     // Tegaserod 0.213
     Assert.AreEqual(0.235, QED.Calculate(Chem.MolFromSmiles("CCCCCNC(=N)NN=CC1=CNc2ccc(CO)cc21")), 0.01);
 }
コード例 #2
0
 public void NCI200Test()
 {
     foreach (var d in ReadTestData("NCI_200_qed.csv"))
     {
         Assert.AreEqual(d.Expected, QED.Calculate(d.Mol), 0.01, $"QED not equal to expected in line {d.LineNo}");
         // Check that adding hydrogens will not change the result
         // This is currently not the case. Hydrogens change the number of rotatable bonds and the
         // number of alerts.
         var mol = d.Mol.AddHs();
         Assert.AreEqual(d.Expected, QED.Calculate(mol), 0.01, $"QED not equal to expected in line {d.LineNo}");
     }
 }
コード例 #3
0
        public void RegressionTest()
        {
            int failed = 0;

            foreach (var d in ReadTestData("Regression_qed.csv"))
            {
                if (Math.Abs(d.Expected - QED.Calculate(d.Mol)) > 0.01)
                {
                    failed++;
                    Trace.WriteLine($"QED not equal to expected in line {d.LineNo}");
                }
            }
            if (failed > 1)
            {
                Assert.Fail();
            }
        }
コード例 #4
0
        public void PropertiesTest()
        {
            var m = Chem.MolFromSmiles("N=C(CCSCc1csc(N=C(N)N)n1)NS(N)(=O)=O");
            var p = QED.CreateProperties(m);

            Assert.AreEqual(337.045, p[MW], 0.01);
            Assert.AreEqual(-0.55833, p[ALOGP], 0.01);
            Assert.AreEqual(6, p[HBA]);
            Assert.AreEqual(5, p[HBD]);
            Assert.AreEqual(173.33, p[PSA], 0.01);
            Assert.AreEqual(7, p[ROTB]);
            Assert.AreEqual(1, p[AROM]);
            Assert.AreEqual(3, p[ALERTS]);

            p = QED.CreateProperties(m.AddHs());
            Assert.AreEqual(337.045, p[MW], 0.01);
            Assert.AreEqual(-0.55833, p[ALOGP], 0.01);
            Assert.AreEqual(6, p[HBA]);
            Assert.AreEqual(5, p[HBD]);
            Assert.AreEqual(173.33, p[PSA], 0.01);
            Assert.AreEqual(7, p[ROTB]);
            Assert.AreEqual(1, p[AROM]);
            Assert.AreEqual(3, p[ALERTS]);
        }
コード例 #5
0
ファイル: Main.cs プロジェクト: jhogan/qed
		public void Roller_Complete(Roller roller, QED.Business.CodePromotion.ReportEventArgs args){
			_rollerCount--;
			DialogResult res = MessageBox.Show(this, "Roll: " + roller.ToString() + " is complete. \r\n" + args.Message + "\r\nClose output tab?", 
				"QED", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
			if (res == DialogResult.Yes){
				TabPage tp = (TabPage)UI.GetTabByName(this.tabMain, "tab"  + roller.ToString());
				tabMain.TabPages.Remove(tp);
			}
		}
コード例 #6
0
ファイル: Main.cs プロジェクト: jhogan/qed
		public void Roller_Report(Roller roller, QED.Business.CodePromotion.ReportEventArgs  args){
			TabPage tp = (TabPage)UI.GetTabByName(this.tabMain, "tab"  + roller.ToString());
			RichTextBox rch = (RichTextBox)UI.GetControlByName(tp, "rch"  + roller.ToString());
			if (rch != null){
				rch.Text += args.Message + "\r\n";
				System.Diagnostics.Debug.WriteLine(args.Message);
			}else{
				throw new Exception ("RichTextBox not found to report message to for roller " + roller.ToString());	
			}
		}