示例#1
0
 def test_nextSNPs(self):
     for b in [1, 2, 3]:
         bed = ld.PlinkBEDFile('test/plink_test/plink.bed', self.N, self.bim)
         x = bed.nextSNPs(b)
         assert x.shape == (5, b)
         assert np.all(np.abs(np.mean(x, axis=0)) < 0.01)
         assert np.all(np.abs(np.std(x, axis=0) - 1) < 0.01)
示例#2
0
 def test_nextSNPs_maf_ref(self):
     b = 4
     bed = ld.PlinkBEDFile('test/plink_test/plink.bed', self.N, self.bim)
     x = bed.nextSNPs(b)
     bed._currentSNP -= b
     y = bed.nextSNPs(b, minorRef=True)
     assert np.all(x == -y)
示例#3
0
 def test_nextSNPs_maf_ref(self):
     b = 4
     bed = ld.PlinkBEDFile(os.path.join(PLINK_TEST_FILES_DIR, 'plink.bed'),
                           self.N, self.bim)
     x = bed.nextSNPs(b)
     bed._currentSNP -= b
     y = bed.nextSNPs(b, minorRef=True)
     assert np.all(x == -y)
示例#4
0
 def test_filter_snps(self):
     keep_snps = [1, 4]
     bed = ld.PlinkBEDFile('test/plink_test/plink.bed', self.N, self.bim,
                           keep_snps=keep_snps)
     assert bed.m == 1
     assert bed.n == 5
 # pad bits are initialized with random memory --> can't test them
     assert bed.geno[0:10] == ba.bitarray('0001011111')
示例#5
0
 def test_filter_indivs_and_snps(self):
     keep_indivs = [0, 1]
     keep_snps = [1, 5]
     bed = ld.PlinkBEDFile('test/plink_test/plink.bed', self.N, self.bim,
                           keep_snps=keep_snps, keep_indivs=keep_indivs)
     assert bed.m == 1
     assert bed.n == 2
     print bed.geno
     assert bed.geno[0:4] == ba.bitarray('0001')
示例#6
0
 def test_filter_indivs(self):
     keep_indivs = [0, 1]
     bed = ld.PlinkBEDFile('test/plink_test/plink.bed', self.N, self.bim,
                           keep_indivs=keep_indivs)
     assert bed.m == 2
     assert bed.n == 2
     # pad bits are initialized with random memory --> can't test them
     assert bed.geno[0:4] == ba.bitarray('0001')
     assert bed.geno[8:12] == ba.bitarray('0001')
示例#7
0
 def test_filter_snps(self):
     keep_snps = [1, 4]
     bed = ld.PlinkBEDFile(os.path.join(PLINK_TEST_FILES_DIR, 'plink.bed'),
                           self.N,
                           self.bim,
                           keep_snps=keep_snps)
     assert bed.m == 1
     assert bed.n == 5
     # pad bits are initialized with random memory --> can't test them
     assert bed.geno[0:10] == ba.bitarray('0001011111')
示例#8
0
 def test_filter_indivs(self):
     keep_indivs = [0, 1]
     bed = ld.PlinkBEDFile(os.path.join(PLINK_TEST_FILES_DIR, 'plink.bed'),
                           self.N,
                           self.bim,
                           keep_indivs=keep_indivs)
     assert bed.m == 2
     assert bed.n == 2
     # pad bits are initialized with random memory --> can't test them
     assert bed.geno[0:4] == ba.bitarray('0001')
     assert bed.geno[8:12] == ba.bitarray('0001')
示例#9
0
 def test_filter_indivs_and_snps(self):
     keep_indivs = [0, 1]
     keep_snps = [1, 5]
     bed = ld.PlinkBEDFile(os.path.join(PLINK_TEST_FILES_DIR, 'plink.bed'),
                           self.N,
                           self.bim,
                           keep_snps=keep_snps,
                           keep_indivs=keep_indivs)
     self.assertEqual(bed.m, 1)
     self.assertEqual(bed.n, 2)
     print(bed.geno)
     self.assertTrue(bed.geno[0:4] == ba.bitarray('0001'))
示例#10
0
 def test_nextSNPs(self):
     b_num = [3, 2, 1]
     for b in b_num:
         bed = ld.PlinkBEDFile(
             os.path.join(PLINK_TEST_FILES_DIR, 'plink.bed'), self.N,
             self.bim)
         x = bed.nextSNPs(b)
         print("x", x)
         print(np.std(x, axis=0))
         self.assertEqual(x.shape, (5, b))
         self.assertTrue(np.all(np.abs(np.mean(x, axis=0)) < 0.01))
         self.assertTrue(np.all(np.abs(np.std(x, axis=0) - 1) < 0.01))
示例#11
0
 def test_bed(self):
     bed = ld.PlinkBEDFile('test/plink_test/plink.bed', self.N, self.bim)
     # remove three monomorphic SNPs
     print bed.geno
     print bed.m
     assert bed.m == 4
     # no individuals removed
     print bed.n
     assert self.N == bed.n
     # 5 indivs * 4 polymorphic SNPs
     print len(bed.geno)
     assert len(bed.geno) == 64
     print bed.freq
     correct = np.array(
         [0.59999999999999998, 0.59999999999999998, 0.625, 0.625])
     assert np.all(bed.freq == correct)
示例#12
0
 def test_bed(self):
     bed = ld.PlinkBEDFile(os.path.join(PLINK_TEST_FILES_DIR, 'plink.bed'),
                           self.N, self.bim)
     # remove three monomorphic SNPs
     print(bed.geno)
     print(bed.m)
     assert bed.m == 4
     # no individuals removed
     print(bed.n)
     assert self.N == bed.n
     # 5 indivs * 4 polymorphic SNPs
     print(len(bed.geno))
     assert len(bed.geno) == 64
     print(bed.freq)
     correct = np.array(
         [0.59999999999999998, 0.59999999999999998, 0.625, 0.625])
     assert np.all(bed.freq == correct)
示例#13
0
 def test_nextSNPs_errors1(self):
     bed = ld.PlinkBEDFile('test/plink_test/plink.bed', self.N, self.bim)
     bed.nextSNPs(0)
示例#14
0
 def test_bad_filename(self):
     bed = ld.PlinkBEDFile('test/plink_test/plink.bim', 9, self.bim)
示例#15
0
 def test_nextSNPs_errors2(self):
     bed = ld.PlinkBEDFile(os.path.join(PLINK_TEST_FILES_DIR, 'plink.bed'),
                           self.N, self.bim)
     bed.nextSNPs(5)
示例#16
0
 def test_bad_filename(self):
     bed = ld.PlinkBEDFile(os.path.join(PLINK_TEST_FILES_DIR, 'plink.bim'),
                           9, self.bim)