def calculate_hmm_m(training_set, test_set, taxonomy, cursor, connection, settings):
    da_id_taxonomy = find_da_id(taxonomy, cursor)
    states, start_probability, transition_probability = start_transition_probability_extraction(training_set, taxonomy)
    n_states = len(states)

    feature_list, emissions = extract_features_training_set(training_set, taxonomy, states, settings)

    # print model.transmat_
    con_pathes, test_obs, emissions = extract_features_test_set(test_set, taxonomy, feature_list, emissions, settings)

    model = MultinomialHMM(n_components=n_states)
    model._set_startprob(start_probability)
    model._set_transmat(transition_probability)
    model._set_emissionprob(emissions)
    da_predictions(test_obs, model, con_pathes, states, da_id_taxonomy, taxonomy, cursor, connection)