我希望编写一个脚本,它接受用户输入的限制酶名称(因此是一个字符串),并解析给定的DNA序列(也是一个字符串)以获取限制酶序列的实例。输入将访问包含在生物限制模块。一个非常简单的例子:
from Bio.Restriction import *
sequence=('ACGGCTATCGATAACTG...')
enzyme=input('Enter the name of your restriction enzyme: ')
enzymeSite=Bio.Restriction.enzyme.site
enzymeSite in sequence
#True or False
当然,问题是变量enzyme是一个字符串对象,而不是访问类所需的RestrictionType对象。在
^{pr2}$我试着用importlib包。然而,这些酶似乎是类而不是模块,因此importlib也无能为力。在
i=importlib.import_module('Bio.Restriction',fromlist=[''])
dir(i)
#list of Bio.Restriction contents
i=importlib.import_module('Bio.Restriction.EcoRI',fromlist=[''])
Traceback (most recent call last):
File "<pyshell#391>", line 1, in <module>
i=__import__('Bio.Restriction.EcoRI',fromlist=[''])
ImportError: No module named 'Bio.Restriction.EcoRI'
我对Python也相当陌生,所以我没有从阅读限制源文件中得到太多。在
在命令行中强制访问限制性酶有明显的限制。这个问题的一个解决方案是使用两个python脚本,其中一个提示用户输入酶,然后替换代码并从另一个脚本导入输出。另一个解决方法是简单地创建一个字典,列出所有可能的限制性酶及其位点。这两种解决方案都是可怕的。对我来说,理想的解决方案是将用户输入的字符串转换为适当的RestrictionType对象,然后可以使用该对象访问站点。谢谢你的阅读,如果你能帮我解决这个问题,我将不胜感激。在
我以前从未使用过生物光子,但我对生物信息学很感兴趣,所以我研究了一下。我不能保证这是做这件事的最佳方式,因为这很奇怪,但似乎有效。在
我创建了一个}对象,使用与查询相同的字符串。我知道酶的名字非常区分大小写,我用
RestrictionBatch
,并将该酶作为字符串添加到批处理中,然后使用batch.get()
检索{EcoRI
来测试。我用了你的例子:这和你要找的一样吗?在
相关问题 更多 >
编程相关推荐