def testTpedBounded(self): BoundaryCheck.chrom = 1 DataParser.boundary = BoundaryCheck(bp=[2000,3000]) pheno = PhenoCovar() dataset = TransposedPedigreeParser(self.tfam_filename, self.tped_filename) dataset.load_tfam(pheno) dataset.load_genotypes() results = [x for x in mv_esteq.RunAnalysis(dataset, pheno)] self.assertEqual(1, results[0].chr) self.assertEqual(2000, results[0].pos) self.assertAlmostEqual(0.57778118, results[0].p_mvtest, places=6) self.assertAlmostEqual(0.02798537, results[0].betas[1], places=6) self.assertAlmostEqual(0.033790691857, results[0].beta_stderr[1], places=6) self.assertAlmostEqual(0.40755865, results[0].beta_pvalues[1], places=6) self.assertAlmostEqual(0.03275892, results[0].betas[3], places=6) self.assertAlmostEqual(0.0475661, results[0].beta_stderr[3], places=6) self.assertAlmostEqual(0.49101013, results[0].beta_pvalues[3], places=6) self.assertAlmostEqual(0.44661276, results[1].p_mvtest, places=6) self.assertAlmostEqual(0.01663975, results[1].betas[1], places=6) self.assertAlmostEqual(0.03443300, results[1].beta_stderr[1], places=6) self.assertAlmostEqual(0.62891811, results[1].beta_pvalues[1], places=6) self.assertAlmostEqual(0.05712017, results[1].betas[3], places=6) self.assertAlmostEqual(0.04783608, results[1].beta_stderr[3], places=6) self.assertAlmostEqual(0.232446188, results[1].beta_pvalues[3], places=6)
def testBedAnalysisCov(self): PhenoCovar.sex_as_covariate = True DataParser.boundary = BoundaryCheck() pheno = PhenoCovar() ped_parser = bed_parser.Parser(self.nonmissing_fam, self.nonmissing_bim, self.nonmissing_bed) ped_parser.load_fam(pheno) ped_parser.load_bim(map3=False) ped_parser.load_genotypes() results = [x for x in mv_esteq.RunAnalysis(ped_parser, pheno)] self.assertAlmostEqual(0.0034238, results[0].p_mvtest, places=6) self.assertAlmostEqual(0.0143949, results[0].lmpv, places=6) self.assertAlmostEqual(0.58495059, results[1].p_mvtest, places=6) self.assertAlmostEqual(0.65786, results[1].lmpv, places=5) self.assertAlmostEqual(0.45178985, results[2].p_mvtest, places=6) self.assertAlmostEqual(0.83956, results[2].lmpv, places=5) self.assertAlmostEqual(0.133661, results[3].p_mvtest, places=6) self.assertAlmostEqual(0.82169, results[3].lmpv, places=5) self.assertAlmostEqual(0.541391, results[4].p_mvtest, places=6) self.assertAlmostEqual(0.83595, results[4].lmpv, places=5) self.assertAlmostEqual(0.035665, results[5].p_mvtest, places=6) self.assertAlmostEqual(0.94900, results[5].lmpv, places=5) self.assertAlmostEqual(0.784660, results[6].p_mvtest, places=6) self.assertAlmostEqual(0.59324, results[6].lmpv, places=5) self.assertAlmostEqual(0.2137434, results[7].p_mvtest, places=6) self.assertAlmostEqual(0.18069, results[7].lmpv, places=5) self.assertAlmostEqual(0.8160148, results[8].p_mvtest, places=6) self.assertAlmostEqual(0.79734, results[8].lmpv, places=5)
def testTpedAnalysis(self): # We'll start with the correct phenotype with the genotypes, so we'll use # a boundary to restrict us to only use the first SNP BoundaryCheck.chrom = 1 DataParser.boundary = BoundaryCheck() pheno = PhenoCovar() dataset = TransposedPedigreeParser(self.tfam_filename, self.tped_filename) dataset.load_tfam(pheno) dataset.load_genotypes() results = [x for x in mv_esteq.RunAnalysis(dataset, pheno)] self.assertAlmostEqual(0.0034756155, results[0].p_mvtest, places=6) self.assertAlmostEqual(0.1134684009, results[0].betas[1], places=6) self.assertAlmostEqual(0.0337649965541, results[0].beta_stderr[1], places=6) self.assertAlmostEqual(0.0007779211, results[0].beta_pvalues[1], places=6) self.assertAlmostEqual(-0.0033479839, results[0].betas[3], places=6) self.assertAlmostEqual(0.0492050029324, results[0].beta_stderr[3], places=6) self.assertAlmostEqual(0.9457525716, results[0].beta_pvalues[3], places=6) self.assertAlmostEqual(0.57778118, results[1].p_mvtest, places=6) self.assertAlmostEqual(0.02798537, results[1].betas[1], places=6) self.assertAlmostEqual(0.033790691857, results[1].beta_stderr[1], places=6) self.assertAlmostEqual(0.40755865, results[1].beta_pvalues[1], places=6) self.assertAlmostEqual(0.03275892, results[1].betas[3], places=6) self.assertAlmostEqual(0.0475661, results[1].beta_stderr[3], places=6) self.assertAlmostEqual(0.49101013, results[1].beta_pvalues[3], places=6) self.assertAlmostEqual(0.44661276, results[2].p_mvtest, places=6) self.assertAlmostEqual(0.01663975, results[2].betas[1], places=6) self.assertAlmostEqual(0.03443300, results[2].beta_stderr[1], places=6) self.assertAlmostEqual(0.62891811, results[2].beta_pvalues[1], places=6) self.assertAlmostEqual(0.05712017, results[2].betas[3], places=6) self.assertAlmostEqual(0.04783608, results[2].beta_stderr[3], places=6) self.assertAlmostEqual(0.232446188, results[2].beta_pvalues[3], places=6)
def testBedAnalysis(self): # We'll start with the correct phenotype with the genotypes, so we'll use # a boundary to restrict us to only use the first SNP BoundaryCheck.chrom = 1 DataParser.boundary = BoundaryCheck() pheno = PhenoCovar() ped_parser = bed_parser.Parser(self.nonmissing_fam, self.nonmissing_bim, self.nonmissing_bed) ped_parser.load_fam(pheno) ped_parser.load_bim(map3=False) ped_parser.load_genotypes() results = [x for x in mv_esteq.RunAnalysis(ped_parser, pheno)] self.assertAlmostEqual(0.00347562, results[0].p_mvtest, places=6) self.assertAlmostEqual(0.00085539, results[0].lmpv, places=6) self.assertAlmostEqual(0.5777812, results[1].p_mvtest, places=6) self.assertAlmostEqual(0.42212155, results[1].lmpv, places=6) self.assertAlmostEqual(0.44661276, results[2].p_mvtest, places=6) self.assertAlmostEqual(0.61386344, results[2].lmpv, places=6) self.assertAlmostEqual(0.13555597, results[3].p_mvtest, places=6) self.assertAlmostEqual(0.59682217, results[3].lmpv, places=6) self.assertAlmostEqual(0.54029842, results[4].p_mvtest, places=6) self.assertAlmostEqual(0.60475964, results[4].lmpv, places=6) self.assertAlmostEqual(0.03547514, results[5].p_mvtest, places=6) self.assertAlmostEqual(0.86663730, results[5].lmpv, places=6) self.assertAlmostEqual(0.79249216, results[6].p_mvtest, places=6) self.assertAlmostEqual(0.67678089, results[6].lmpv, places=6) self.assertAlmostEqual(0.20973300, results[7].p_mvtest, places=6) self.assertAlmostEqual(0.14431260, results[7].lmpv, places=6) self.assertAlmostEqual(0.81471528, results[8].p_mvtest, places=6) self.assertAlmostEqual(0.56378497, results[8].lmpv, places=6)
def testTPedCmdLineWithSNPs(self): cmds = "--tfile %s --chr=1 --snps=rs2000-rs4000" % ( self.tfam_filename.split(".")[0]) app = mvtest.MVTestApplication() dataset, vars = app.LoadCmdLine(cmds.split(" ")) self.assertEqual(BoundaryCheck.chrom, 1) results = [x for x in mv_esteq.RunAnalysis(dataset, vars)] self.assertEqual(3, len(results)) self.assertEqual(2000, results[0].pos) self.assertEqual(3000, results[1].pos) self.assertEqual(4000, results[2].pos)
def testTPedCmdLineWithKB(self): cmds = "--tfile %s --chr=1 --from-kb=1 --to-kb=6" % ( self.tfam_filename.split(".")[0]) app = mvtest.MVTestApplication() dataset, vars = app.LoadCmdLine(cmds.split(" ")) self.assertEqual(BoundaryCheck.chrom, 1) results = [x for x in mv_esteq.RunAnalysis(dataset, vars)] self.assertEqual(6, len(results)) self.assertEqual(1000, results[0].pos) self.assertEqual(2000, results[1].pos) self.assertEqual(3000, results[2].pos) self.assertEqual(4000, results[3].pos) self.assertEqual(5000, results[4].pos) self.assertEqual(6000, results[5].pos)
def testTPedCmdLineWithRemove(self): missing = "rs3000,rs4000,rs5000" cmds = "--tfile %s --exclude %s" % (self.tfam_filename.split(".")[0], missing) app = mvtest.MVTestApplication() dataset, vars = app.LoadCmdLine(cmds.split(" ")) self.assertEqual("Parser", dataset.__class__.__name__) self.assertEqual("PhenoCovar", vars.__class__.__name__) self.assertEqual(self.tfam_filename, dataset.tfam_file) self.assertEqual(self.tped_filename, dataset.tped_file) self.assertEqual(2000, len(dataset.families)) self.assertEqual(missing.split(","), list(DataParser.boundary.ignored_rs)) results = [x for x in mv_esteq.RunAnalysis(dataset, vars)] self.assertEqual(6, len(results))
def testBedBounded(self): BoundaryCheck.chrom = 1 DataParser.boundary = BoundaryCheck(bp=[2000, 3000]) pheno = PhenoCovar() ped_parser = bed_parser.Parser(self.nonmissing_fam, self.nonmissing_bim, self.nonmissing_bed) ped_parser.load_fam(pheno) ped_parser.load_bim(map3=False) ped_parser.load_genotypes() results = [x for x in mv_esteq.RunAnalysis(ped_parser, pheno)] self.assertEqual(1, results[0].chr) self.assertEqual(2000, results[0].pos) self.assertAlmostEqual(0.5777811, results[0].p_mvtest, places=6) self.assertAlmostEqual(0.4221215, results[0].lmpv, places=6) self.assertAlmostEqual(0.4466128, results[1].p_mvtest, places=6) self.assertAlmostEqual(0.6138634, results[1].lmpv, places=6)
def testBedSnpBounded(self): BoundaryCheck.chrom = 1 DataParser.boundary = SnpBoundaryCheck(snps=["rs1000-rs3000"]) pheno = PhenoCovar() ped_parser = bed_parser.Parser(self.nonmissing_fam, self.nonmissing_bim, self.nonmissing_bed) ped_parser.load_fam(pheno) ped_parser.load_bim(map3=False) ped_parser.load_genotypes() results = [x for x in mv_esteq.RunAnalysis(ped_parser, pheno)] self.assertEqual(1, results[0].chr) self.assertEqual(1000, results[0].pos) self.assertAlmostEqual(0.00347562, results[0].p_mvtest, places=6) self.assertAlmostEqual(0.00085539, results[0].lmpv, places=6) self.assertAlmostEqual(0.5777812, results[1].p_mvtest, places=6) self.assertAlmostEqual(0.42212155, results[1].lmpv, places=6) self.assertAlmostEqual(0.44661276, results[2].p_mvtest, places=6) self.assertAlmostEqual(0.61386344, results[2].lmpv, places=6)
def testTpedSnpBounded(self): BoundaryCheck.chrom = 1 DataParser.boundary = SnpBoundaryCheck(snps=["rs1000-rs3000"]) pheno = PhenoCovar() dataset = TransposedPedigreeParser(self.tfam_filename, self.tped_filename) dataset.load_tfam(pheno) dataset.load_genotypes() results = [x for x in mv_esteq.RunAnalysis(dataset, pheno)] self.assertEqual(1, results[0].chr) self.assertEqual(1000, results[0].pos) self.assertAlmostEqual(0.0034756155, results[0].p_mvtest, places=6) self.assertAlmostEqual(0.1134684009, results[0].betas[1], places=6) self.assertAlmostEqual(0.0337649965541, results[0].beta_stderr[1], places=6) self.assertAlmostEqual(0.0007779211, results[0].beta_pvalues[1], places=6) self.assertAlmostEqual(-0.0033479839, results[0].betas[3], places=6) self.assertAlmostEqual(0.0492050029324, results[0].beta_stderr[3], places=6) self.assertAlmostEqual(0.9457525716, results[0].beta_pvalues[3], places=6) self.assertAlmostEqual(0.57778118, results[1].p_mvtest, places=6) self.assertAlmostEqual(0.02798537, results[1].betas[1], places=6) self.assertAlmostEqual(0.033790691857, results[1].beta_stderr[1], places=6) self.assertAlmostEqual(0.40755865, results[1].beta_pvalues[1], places=6) self.assertAlmostEqual(0.03275892, results[1].betas[3], places=6) self.assertAlmostEqual(0.0475661, results[1].beta_stderr[3], places=6) self.assertAlmostEqual(0.49101013, results[1].beta_pvalues[3], places=6) self.assertAlmostEqual(0.44661276, results[2].p_mvtest, places=6) self.assertAlmostEqual(0.01663975, results[2].betas[1], places=6) self.assertAlmostEqual(0.03443300, results[2].beta_stderr[1], places=6) self.assertAlmostEqual(0.62891811, results[2].beta_pvalues[1], places=6) self.assertAlmostEqual(0.05712017, results[2].betas[3], places=6) self.assertAlmostEqual(0.04783608, results[2].beta_stderr[3], places=6) self.assertAlmostEqual(0.232446188, results[2].beta_pvalues[3], places=6)
def testTPedAnalysisCov(self): PhenoCovar.sex_as_covariate = True DataParser.boundary = BoundaryCheck() pheno = PhenoCovar() dataset = TransposedPedigreeParser(self.tfam_filename, self.tped_filename) dataset.load_tfam(pheno) dataset.load_genotypes() #pheno.standardize_variables() results = [x for x in mv_esteq.RunAnalysis(dataset, pheno)] self.assertAlmostEqual(0.00342380, results[0].p_mvtest, places=6) self.assertAlmostEqual(0.11362883, results[0].betas[1], places=6) self.assertAlmostEqual(0.0337610, results[0].beta_stderr[1], places=6) self.assertAlmostEqual(0.00076356, results[0].beta_pvalues[1], places=6) self.assertAlmostEqual(0.01911090, results[0].betas[3], places=6) self.assertAlmostEqual(0.10143178, results[0].beta_stderr[3], places=6) self.assertAlmostEqual(0.8505542, results[0].beta_pvalues[3], places=6) self.assertAlmostEqual(0.584950593047, results[1].p_mvtest, places=6) self.assertAlmostEqual(0.0276543736525, results[1].betas[1], places=6) self.assertAlmostEqual(0.03383588, results[1].beta_stderr[1], places=6) self.assertAlmostEqual(0.413751829881, results[1].beta_pvalues[1], places=6)