我正在尝试使用最小值、最佳值和最大值为变量分配权重。例如,我计算了 DNA 序列温度 (Tm) 的浮点数(基于 NN 连接算法计算)。我只对特定温度范围内的序列感兴趣。opt=61,min=58,max=64。我想编写两个线性方程,其中温度变量的权重可用于将来的比较(在权重变量本身内)。例如,如果 Tm = 61,这是最理想的(最优),因此它应该获得 100 的权重。Tm 为 58(最不理想)的权重为 10,就像 Tm 为 64(最不理想)也有重量为 10。
伪代码:
def Tm_weight(Tm):
if Tm == 61:
weight = 100
elif Tm > 61:
weight = ((-30*(Tm)) + 1930)
else:
weight = ((30*(Tm)) - 1730)
return weight
这将为我提供所需的权重,但是我正在寻找一种更通用的方法来做到这一点,而无需实际提供值。我希望使用 argparse(所以我可以从命令行更改选项(对于 opt、min 和 max),然后仍然计算这个特定变量的线性权重。有没有更好的方法来做到这一点?