我在做肽单同位素计算器,有一些问题我解决不了。你知道吗
import re
aminoacid = {
"I": "C6H13NO2",
"L": "C6H13NO2",
"K": "C6H14N2O2",
"M": "C5H11NO2S",
"F": "C9H11NO2",
"T": "C4H9NO3",
"W": "C11H12N2O2",
"V": "C5H11NO2",
"R": "C6H14N4O2",
"H": "C6H9N3O2",
"A": "C3H7NO2",
"N": "C4H8N2O3",
"D": "C4H7NO4",
"C": "C3H7NO2S",
"E": "C5H9NO4",
"Q": "C5H10N2O3",
"G": "C2H5NO2",
"P": "C5H9NO2",
"S": "C3H7NO3",
"Y": "C9H11NO3"
}
acid = input('Sequence: ')
s = re.findall('([A-Z][a-z]?)([0-9]*)', formula)
monoisotopic = {'S': 31.972, 'C': 12.0000, 'H': 1.0078, 'O': 15.9949, 'N': 14.0031}
weight = 0
for elem, count in s:
#For singular elements
if count=='':
count = 1
weight = weight + int(count) * monoisotopic[elem]
print('[M + H]+ : ', weight-(len(acid)-1)*18.0105+1.0078)
print('# of amino acids : ', len(acid))
如果我把单一的氨基酸像“A”放进去,效果会很好。但是当我放入像“AILWNG”这样的序列时,程序无法识别它。如何使这个程序能够识别两个或更多的氨基酸?你知道吗
如果我们把程序分成不同的函数,可能会有所帮助。首先我们定义氨基酸和(相关)原子的原子量:
然后可以定义一个函数来计算氨基酸(或任何其他原子)的重量:
我们可以把氨基酸的分子量加起来,比如:
例如:
(当然这不是H2O,可能上面的蛋白质不存在)
相关问题 更多 >
编程相关推荐