def test_gwas_with_beta_covariate(self):
     """
     Tests method gwasBetaCovar (Performs GWAS analysis with beta/effect size and covariates)
     Checks for equality within 7 decimal places of returned list with expected list of functions and results
     """
     self.args_with_covar['beta'] = 'SNPWeight'
     self.win = Winnow.Winnow(self.args_with_covar)
     s, b, c = self.win.load_data('/Testwithcovar.csv')
     self.win.load_ote()
     desired = [
         'test_filename', 0.0020088036966300713, 0.034581652710000001,
         0.086763105180589231, 0.85191672505254723, 6, 475, 9516, 3,
         0.6666666666666666, 0.04754278850965869, 0.0009, 0.0478, 0.9522,
         0.6666666666666666, 0.9524572114903413, 0.012474012474012475,
         0.9875259875259875, 0.6191238781570081, 0.083426920159999987,
         0.49487168117447544
     ]
     result = gwas.gwasBetaCovar('test_filename', b,
                                 self.win.beta_true_false,
                                 self.win.snp_true_false, s,
                                 self.args_with_covar['threshold'], c)[1]
     for x in range(0, len(result)):
         try:
             self.assertAlmostEquals(desired[x], result[x])
         except AssertionError:
             print "Test failed"
             print "Desired value " + str(
                 desired[x]
             ) + " does not match up with result value " + str(result[x])
 def test_gwas_with_beta(self):
     """
     Tests method gwasWithBeta (performs GWAS analysis with beta/effect size)
     Checks for equality within 7 decimal places of returned list with expected list of functions and results
     """
     self.args_without_covar['beta'] = 'BETA'
     self.win = Winnow.Winnow(self.args_without_covar)
     s, b = self.win.load_data("/PlinkStd1.qassoc")
     self.win.load_ote()
     desired = [
         'test_filename', 0.058961209687231467, 0.18211782935394127,
         -0.038381861728111748, 0.43427678571428574, 0, 384, 2816, 35, 0.0,
         0.12, 0.010819165378670788, 0.1295208655332303, 0.8704791344667697,
         0.0, 0.88, 0.0, 1.0, -0.12, -7.7753167457938126
     ]
     result = gwas.gwasWithBeta('test_filename', b,
                                self.win.beta_true_false,
                                self.win.snp_true_false, s,
                                self.args_without_covar['threshold'])[1]
     for x in range(0, len(result)):
         try:
             self.assertAlmostEquals(desired[x], result[x])
         except AssertionError:
             print "Test failed"
             print "Desired value " + str(
                 desired[x]
             ) + " does not match up with result value " + str(result[x])
 def test_do_analysis(self):
     self.win = winnow.Winnow(self.args)
     self.win.load_kt()
     gen = self.win.do_analysis()
     a = gen.next()[1]
     self.assertEqual(format_float(a), [
         0.05896121, 0.18211783, -0.03838186, 0.43427679, 0, 384, 2816, 35,
         0.0, 0.12, 0.12952087, 0.87047913, 0.0, 0.88, 0.0, 1.0, -0.12
     ])
     gen.close()
 def test_load_data(self):
     self.win = winnow.Winnow(self.args)
     s, b = self.win.load_data("/PlinkStd1.qassoc")
     score = (0.6028, 0.06006, 0.4884, 0.6276, 0.8426, 0.4332, 0.717,
              0.3584, 0.1795, 0.3647)
     beta = (0.3355, 0.3324, 0.2584, -0.2379, 0.0457, 0.113, -0.3001,
             -0.3267, 0.09707, 0.006248)
     self.assertEqual((score, beta),
                      ((s[2061], s[1678], s[1553], s[2455], s[746], s[1892],
                        s[813], s[1886], s[2005], s[1116]),
                       (b[1766], b[2847], b[194], b[299], b[1813], b[2593],
                        b[497], b[2572], b[2107], b[829])))
 def test_do_gwas(self):
     self.win = winnow.Winnow(self.args)
     self.win.snp_true_false = (True, False, True, True, True, False, False,
                                True, False, False, True, False)
     score_column = (0.003, 0.65, 0.004, 0.006, 0.078, 0.003, 0.0001, 0.513,
                     0.421, 0.0081, 0.043, 0.98)
     self.win.beta_true_false = (1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1)
     beta_column = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
     a = format_float(self.win.do_gwas(score_column, beta_column, None)[1])
     self.assertEqual(a, [
         47.08333333, 5.91666667, 0.16903085, 0.56944444, 4.0, 3.0, 3.0,
         2.0, 0.66666667, 0.5, 0.41666667, 0.58333333, 0.66666667, 0.5,
         0.57142857, 0.42857143, 0.16666667
     ])
 def test_gwas_without_beta(self):
     self.args_without_covar['beta'] = None
     self.win = Winnow.Winnow(self.args_without_covar)
     s = self.win.load_data("/PlinkStd1.qassoc")
     self.win.load_ote()
     desired = [
         -0.038381861728111748, 0.43427678571428574, 0, 384, 2816, 35, 0.0,
         0.12, 0.1295208655332303, 0.8704791344667697, 0.0, 0.88, 0.0, 1.0,
         -0.12
     ]
     result = gwas.gwasWithoutBeta(self.win.snp_true_false, s,
                                   self.args_without_covar['threshold'])[1]
     for x in range(0, len(result)):
         self.assertAlmostEquals(desired[x], result[x])
 def test_gwas_without_beta_covariate(self):
     self.args_with_covar['beta'] = None
     self.win = Winnow.Winnow(self.args_with_covar)
     s, c = self.win.load_data("/Testwithcovar.csv")
     self.win.load_ote()
     desired = [
         0.086763105180589231, 0.85191672505254723, 6, 475, 9516, 3,
         0.6666666666666666, 0.04754278850965869, 0.0478, 0.9522,
         0.6666666666666666, 0.9524572114903413, 0.012474012474012475,
         0.9875259875259875, 0.6191238781570081, 0.08342692016000644
     ]
     result = gwas.gwasNoBetaCovar(self.win.snp_true_false, s,
                                   self.args_with_covar['threshold'], c)[1]
     for x in range(0, len(result)):
         self.assertAlmostEquals(desired[x], result[x])
Exemple #8
0
 def test_do_analysis(self):
     """
     Test method do_analysis (generator that performs the analysis - currently only GWAS is allowed).
     Checks for equality of returned list and expected list of analyzed values.
     """
     self.win = winnow.Winnow(self.args)
     self.win.load_kt()
     gen = self.win.do_analysis()
     a = gen.next()[1][1:]
     expected = [
         0.05896121, 0.18211783, -0.03838186, 0.43427679, 0.0, 384.0,
         2816.0, 35.0, 0.0, 0.12, 0.01081917, 0.12952087, 0.87047913, 0.0,
         0.88, 0.0, 1.0, -0.12, -7.77531675
     ]
     self.assertEqual(format_float(a), expected)
     gen.close()
Exemple #9
0
 def test_load_data(self):
     """
     Test method load_data (load_data returns a list of score and beta values from a given file)
     Checks for equality of returned list and expected list of score and beta values.
     """
     self.win = winnow.Winnow(self.args)
     s, b = self.win.load_data("/PlinkStd1.qassoc")
     score = (0.6028, 0.06006, 0.4884, 0.6276, 0.8426, 0.4332, 0.717,
              0.3584, 0.1795, 0.3647)
     beta = (0.3355, 0.3324, 0.2584, -0.2379, 0.0457, 0.113, -0.3001,
             -0.3267, 0.09707, 0.006248)
     expected = ((s[2061], s[1678], s[1553], s[2455], s[746], s[1892],
                  s[813], s[1886], s[2005], s[1116]),
                 (b[1766], b[2847], b[194], b[299], b[1813], b[2593],
                  b[497], b[2572], b[2107], b[829]))
     self.assertEqual((score, beta), expected)
 def test_load_ote(self):
     self.win = winnow.Winnow(self.args)
     self.win.load_ote()
     snp = (False, False, False, True, False, False, False, False, False,
            True)
     beta = (0.0002, 0.0, 0.0061, 0.0, 0.0, 0.0026, 0.0454, 0.0, 0.0, 0.0)
     self.assertEqual(
         (snp, beta),
         ((self.win.snp_true_false[2549], self.win.snp_true_false[1510],
           self.win.snp_true_false[1587], self.win.snp_true_false[12],
           self.win.snp_true_false[458], self.win.snp_true_false[502],
           self.win.snp_true_false[577], self.win.snp_true_false[3209],
           self.win.snp_true_false[1709], self.win.snp_true_false[15]),
          (self.win.beta_true_false[22], self.win.beta_true_false[684],
           self.win.beta_true_false[16], self.win.beta_true_false[2745],
           self.win.beta_true_false[832], self.win.beta_true_false[15],
           self.win.beta_true_false[29], self.win.beta_true_false[2028],
           self.win.beta_true_false[715], self.win.beta_true_false[276])))
Exemple #11
0
 def test_do_gwas(self):
     """
     Test method do_gwas (returns the results of the GWAS analysis given scores, betas, and covariates)
     Checks for equality of returned list and expected list of GWAS analysis values
     """
     self.win = winnow.Winnow(self.args)
     self.win.snp_true_false = (True, False, True, True, True, False, False,
                                True, False, False, True, False)
     score_column = (0.003, 0.65, 0.004, 0.006, 0.078, 0.003, 0.0001, 0.513,
                     0.421, 0.0081, 0.043, 0.98)
     self.win.beta_true_false = (1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1)
     beta_column = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
     a = format_float(
         self.win.do_gwas('test_filename', score_column, beta_column,
                          None)[1][1:])
     expected = [
         47.08333333, 5.91666667, 0.16903085, 0.56944444, 4.0, 3.0, 3.0,
         2.0, 0.66666667, 0.5, 0.5, 0.41666667, 0.58333333, 0.66666667, 0.5,
         0.57142857, 0.42857143, 0.16666667, 0.33333185
     ]
     self.assertEqual(a, expected)
Exemple #12
0
 def test_load_ote(self):
     """
     Test method load_ote (loads truth and effect type known truth file).
     Checks for equality of returned lists and expected lists of snp and beta values.
     """
     self.win = winnow.Winnow(self.args)
     self.win.load_ote()
     snp = (False, False, False, True, False, False, False, False, False,
            True)
     beta = (0.0002, 0.0, 0.0061, 0.0, 0.0, 0.0026, 0.0454, 0.0, 0.0, 0.0)
     expected = (
         (self.win.snp_true_false[2549], self.win.snp_true_false[1510],
          self.win.snp_true_false[1587], self.win.snp_true_false[12],
          self.win.snp_true_false[458], self.win.snp_true_false[502],
          self.win.snp_true_false[577], self.win.snp_true_false[3209],
          self.win.snp_true_false[1709], self.win.snp_true_false[15]),
         (self.win.beta_true_false[22], self.win.beta_true_false[684],
          self.win.beta_true_false[16], self.win.beta_true_false[2745],
          self.win.beta_true_false[832], self.win.beta_true_false[15],
          self.win.beta_true_false[29], self.win.beta_true_false[2028],
          self.win.beta_true_false[715], self.win.beta_true_false[276]))
     self.assertEqual((snp, beta), expected)