def test_get_num_stats(self): """calculators should return correct num stats""" hybrid_calc = Hybrid(150, llim=2, period=4) ipdft_calc = Ipdft(150, llim=2, period=4) autocorr_calc = AutoCorrelation(150, llim=2, period=4) self.assertEqual(hybrid_calc.getNumStats(), 1) self.assertEqual(ipdft_calc.getNumStats(), 1) self.assertEqual(autocorr_calc.getNumStats(), 1) hybrid_calc = Hybrid(150, llim=2, period=4, return_all=True) self.assertEqual(hybrid_calc.getNumStats(), 3)
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)
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 ) stat, p = blockwise_bootstrap( s, ipdft_calc, block_size=10, num_reps=1000, seq_to_symbols=seq_to_symbol )