First page Back Continue Last page Overview Image

Km y Vmax para el ejemplo previo usando el método de Eisenthal & Cornish-Bowden

Aunque gráficamente el método es simple e intuitivo, su codificación implica un cierto desafío. Vea en las notas un ejemplo de código python.


Notes:

#El sigiente código python calcula el valor de Km y Vmax por el método de

#Eisenthal & Cornish Bowden para los datos de la figura previa.

# La curva verde fue trazada con esos datos

import numpy as np

import matplotlib.pyplot as plt

import statistics as stat

susc=[60, 108, 180, 300, 480, 900, 1500, 2400, 4200, 7200]

vels=[2.09, 3.58, 5.39, 8.12, 10.2, 14.24, 17.26, 19.59, 21.51, 21.41]

try:

reads=len(susc)

Km=list(())

Vm=list(())

for ii in range(0,reads,1):

mi= vels[ii]/susc[ii]

for jj in range(ii+1,reads,1):

mj=vels[jj]/susc[jj]

Km.append(-(vels[jj]-vels[ii])/(mj-mi))

Vm.append((vels[jj]/mj-vels[ii]/mi)/(1/mj-1/mi))

#uncomment next line to print all data

#print(Km[-1],Vm[-1],ii,jj)

Km_median=stat.median(Km)

Km_MAD = stat.median([abs(number-Km_median) for number in Km])

Vm_median=stat.median(Vm)

Vm_MAD = stat.median([abs(number-Vm_median) for number in Vm])

Km_title = 'Km ± MAD={0:.2f}±{1:.3f}\nMAD is the median absolute error'.format(Km_median,Km_MAD)

Vm_title = 'Vmax ± MAD= {0:.2f}±{1:.2f}\nMAD is the median absolute error'.format(Vm_median,Vm_MAD)

# plot results

tis = 14 # fontsize

lbs = 12

fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(12, 8))

axs[0].violinplot(Vm, positions=None, showmeans=False, showextrema=True, showmedians=True)

axs[0].set_title(Vm_title, fontsize=tis)

axs[0].set_ylabel('Vmax estimate', fontsize=lbs)

axs[0].set_xlabel('normalized density', fontsize=lbs)

axs[1].violinplot(Km,positions=None,showmeans=False, showextrema=True, showmedians=True)

axs[1].set_title(Km_title, fontsize=tis)

axs[1].set_ylabel('Km estimate', fontsize=lbs)

axs[1].set_xlabel('normalized density', fontsize=lbs)

except:

print(f'the number of substrate concentrations ({len(susc)}) and velocities ({len(vels)}) does not match')