def testAgainstQValue(self): R.assign("pvalues", self.pvalues) qvalue = R('''qvalue( pvalues )''') r_qvalues = qvalue[2] r_pi0 = qvalue[1][0] new = Stats.doFDRPython(self.pvalues) self.assertTrue(getRelativeError(r_pi0, new.mPi0) < self.max_error) for a, b in zip(r_qvalues, new.mQValues): self.assertAlmostEqual(a, b, places=self.nplaces)
def checkFDR(self, **kwargs): old = Stats.doFDR(self.pvalues, **kwargs) # print old.mQValues[:10] # print old.mPi0 new = Stats.doFDRPython(self.pvalues, **kwargs) # print new.mQValues[:10] # print new.mPi0 # self.assertAlmostEqual( old.mPi0, new.mPi0, places=3) self.assertTrue(getRelativeError(old.mPi0, new.mPi0) < self.max_error) for pvalue, a, b in zip(self.pvalues, old.mQValues, new.mQValues): self.assertTrue( getRelativeError(a, b) < self.max_error, "qvalues: relative error %f > %f (pvalue=%f, %f, %f)" % (getRelativeError(a, b), self.max_error, pvalue, a, b))
def checkFDR(self, **kwargs): old = Stats.doFDR(self.pvalues, **kwargs) # print old.mQValues[:10] # print old.mPi0 new = Stats.doFDRPython(self.pvalues, **kwargs) # print new.mQValues[:10] # print new.mPi0 # self.assertAlmostEqual( old.mPi0, new.mPi0, places=3) self.assertTrue(getRelativeError(old.mPi0, new.mPi0) < self.max_error) for pvalue, a, b in zip(self.pvalues, old.mQValues, new.mQValues): self.assertTrue(getRelativeError(a, b) < self.max_error, "qvalues: relative error %f > %f (pvalue=%f, %f, %f)" % (getRelativeError(a, b), self.max_error, pvalue, a, b))