示例#1
0
文件: test.py 项目: dad/hmm
    def test_implied_terminal_state(self):
        training_data = [('CTTCATGTGAAAGCAGACGTAAGTCA',
                          'EEEEEEEEEEEEEEEEEE5IIIIIII'),
                         ('CTTCATGTGAAAGCAGACATAAGTCA',
                          'EEEEEEEEEEEEEEEEEE5IIIIIII')]
        model = hmm.train_hmm(training_data, True)

        self.assertIn('A', model.alphabet)
        self.assertIn('C', model.alphabet)
        self.assertIn('G', model.alphabet)
        self.assertIn('T', model.alphabet)
        self.assertNotIn('B', model.alphabet)
        self.assertIn('E', model.states.keys())
        self.assertIn('5', model.states.keys())
        self.assertIn('I', model.states.keys())
        self.assertEqual(model.states['5'].p_emission['A'], 0.5)
        self.assertEqual(model.states['5'].p_transition['I'], 1.0)
        self.assertEqual(model.initial_states, ['E'])
        self.assertTrue(model.terminal_state)
        self.assertEqual(model.terminating_states, ['I'])
示例#2
0
def main():
    tab = table.load_seq_data()
    h = hmm.train_hmm(tab, 10)