def test_permutation(self): s = 'ATCGTTGGGACCGGTTCAAGTTTTGGAACTCGCAAGGGGTGAATGGTCTTCGTCTAACGCTGG'\ 'GGAACCCTGAATCGTTGTAACGCTGGGGTCTTTAACCGTTCTAATTTAACGCTGGGGGGTTCT'\ 'AATTTTTAACCGCGGAATTGCGTC' seq_to_symbol = SeqToSymbols(self.motifs, length=len(s)) hybrid_calc = Hybrid(len(s), llim=2, period = 4) ipdft_calc = Ipdft(len(s), llim=2, period = 4) stat, p = blockwise_bootstrap(s, hybrid_calc, block_size=10, num_reps=1000, seq_to_symbols=seq_to_symbol) # print 's=%.4f; p=%.3f' % (stat, p) stat, p = blockwise_bootstrap(s, ipdft_calc, block_size=10, num_reps=1000, seq_to_symbols=seq_to_symbol)
def test_permutation_all(self): """performs permutation test of Hybrid, but considers all stats""" s = 'ATCGTTGGGACCGGTTCAAGTTTTGGAACTCGCAAGGGGTGAATGGTCTTCGTCTAACGCTGG'\ 'GGAACCCTGAATCGTTGTAACGCTGGGGTCTTTAACCGTTCTAATTTAACGCTGGGGGGTTCT'\ 'AATTTTTAACCGCGGAATTGCGTC' seq_to_symbol = SeqToSymbols(self.motifs, length=len(s)) hybrid_calc = Hybrid(len(s), period = 4, return_all=True) stat, p = blockwise_bootstrap(s, hybrid_calc, block_size=10, num_reps=1000, seq_to_symbols=seq_to_symbol)
def test_permutation_skips(self): """permutation test correctly handles data without symbols""" s = 'N' * 150 seq_to_symbol = SeqToSymbols(self.motifs, length=len(s)) ipdft_calc = Ipdft(len(s), llim=2, period = 4) stat, p = blockwise_bootstrap(s, ipdft_calc, block_size=10, num_reps=1000, seq_to_symbols=seq_to_symbol, num_stats=1) self.assertEqual(stat, 0.0) self.assertEqual(p, 1.0)