def test_subset_Snp2Dist(self): #!!!move these to another test class logging.info("in test_subset") snpreader = Bed(self.currentFolder + "/../examples/toydata.5chrom.bed",count_A1=False) snp2dist = snpreader.as_dist(max_weight=2) sub = snp2dist[::2,::2] distdata1 = sub.read() expected = snpreader.as_dist(max_weight=2)[::2,::2].read() np.testing.assert_array_almost_equal(distdata1.val, expected.val, decimal=10) logging.info("done with test")
def test_snp_dist2(self): logging.info("in test_snp_dist2") snpreader = Bed(self.currentFolder + "/../examples/toydata.5chrom.bed", count_A1=False) snp2dist = snpreader.as_dist(max_weight=2) s = str(snp2dist) _fortesting_JustCheckExists().input(snp2dist)
def test_roundtrip(self): max_weight = 2 snpreader1 = Bed(self.currentFolder + "/../examples/toydata.5chrom.bed",count_A1=True) snpdata1 = snpreader1.read() distreader1 = snpreader1.as_dist(max_weight) snpreader2 = distreader1.as_snp(max_weight) assert snpdata1.allclose(snpreader2.read(),equal_nan=True) snpdata1.val[0,0] = np.nan assert snpdata1.allclose(snpdata1.as_dist(max_weight).as_snp(max_weight).read(),equal_nan=True)
def test_intersection_Snp2Dist(self): from pysnptools.distreader._snp2dist import _Snp2Dist from pysnptools.snpreader import Pheno, Bed from pysnptools.distreader._subset import _DistSubset from pysnptools.snpreader._subset import _SnpSubset from pysnptools.util import intersect_apply snp_all = Bed(self.currentFolder + "/../examples/toydata.5chrom.bed",count_A1=True) k = snp_all.as_dist(max_weight=2) pheno = Pheno(self.currentFolder + "/../examples/toydata.phe") pheno = pheno[1:,:] # To test intersection we remove a iid from pheno k1,pheno = intersect_apply([k,pheno]) assert isinstance(k1.snpreader,_SnpSubset) and not isinstance(k1,_DistSubset) #What happens with fancy selection? k2 = k[::2,:] assert isinstance(k2,_Snp2Dist) logging.info("Done with test_intersection")