微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

biopython 1.78 MarkovModel.train_visibletraining_data是什么类型?

如何解决biopython 1.78 MarkovModel.train_visibletraining_data是什么类型?

我想使用biopython的Bio.MarkovModel.train_visible()为核苷酸序列训练二阶Markov模型。也就是说,alphabet=["A","T","G","C"],states=["AA","AT","TT"...]

但是,我得到一个错误

    474     states_indexes = itemindex(states)
    475     outputs_indexes = itemindex(alphabet)
--> 476     for toutputs,tstates in training_data:
    477         if len(tstates) != len(toutputs):
    478             raise ValueError("states and outputs not aligned")
 ValueError: too many values to unpack (expected 2)

表明我可能会给 我尝试将我的training_data作为一对列表提供:

training_data=(['A','T'...],['AA','AT'...])

以及此列表对的压缩列表:

training_data=[('A','AA'),('T','AT')...]

但无济于事。 training_set的正确格式是什么? 谢谢!

解决方法

有关预期输入的示例,请参见文件test_MarkovModel.py

>>> from Bio import MarkovModel

>>> states = ["0","1","2","3"]
>>> alphabet = ["A","C","G","T"]
>>> training_data = [
            ("AACCCGGGTTTTTTT","001112223333333"),("ACCGTTTTTTT","01123333333"),("ACGGGTTTTTT","01222333333"),("ACCGTTTTTTTT","011233333333"),]
>>> markov_model = MarkovModel.train_visible(states,alphabet,training_data)
>>> states = MarkovModel.find_states(markov_model,"AACGTT")
>>> print(states)
[(['0','0','1','2','3','3'],0.008212890625000005)]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。