我有一个包含蛋白质序列(200 个序列)的文本文件,如下所示。
>ptn1
AAGHM
>ptn2
MGLKKRR
我需要为序列的每个字符赋予以下值,并且必须找到每个序列的平均值。
A= 0.2, G= 0.5, L=0.14, M= 0.70, R= 0.55, C=0.48, H= 1.00 , K=0.4
期望的输出
ptn1 - 0.52
ptn2 - 0.462
如何使用 awk 或 python 执行此操作?
您的建议将不胜感激
最佳答案
def avg(sequence):
v= {'A': 0.2, 'C': 0.48, 'R': 0.55, 'G': 0.5, 'H': 1.0,
'K': 0.4, 'M': 0.7, 'L': 0.14}
return sum(v[x] for x in sequence) / len(sequence)
avg("AAGHM") # => 0.5199999999999999
avg("MGLKKRR" # => 0.46285714285714274
关于python - 如何为每个字符分配值并使用 python 或 awk 找到平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11607594/