51 lines
1.4 KiB
C#
51 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace BaseCellSimulation.Enzyms.Cytosol
|
|
{
|
|
public class Lactat_Dehydrogenase : InternalEnzym
|
|
{
|
|
public Lactat_Dehydrogenase()
|
|
{
|
|
Km = 0.5;
|
|
Vmax = 10;
|
|
|
|
KmRange = new(0.05,2);
|
|
VmaxRange = new(2, 25);
|
|
|
|
Km_NADH = 0.05;
|
|
Km_NADH_Range = new(0.005, 0.2);
|
|
}
|
|
|
|
public double Km_NADH { get; set; }
|
|
|
|
public ValueRange Km_NADH_Range { get; set; }
|
|
|
|
public override void ApplyChanges(CellRessources res, double dt)
|
|
{
|
|
double used = Math.Min(rate * dt, Math.Min(res.Res.Carbon.Pyruvate, res.Res.Energy.NADH));
|
|
|
|
//LDH Lactat production and NAD+ regeneration
|
|
res.Res.Carbon.Pyruvate -= used;
|
|
res.Res.Carbon.Lactate += used;
|
|
res.TransferNADH(used,true);
|
|
|
|
//Consume Protons
|
|
res.Res.Ions.Protons -= 1.0 * used;
|
|
}
|
|
|
|
public override void ComputeRate(Resources res)
|
|
{
|
|
double oxscaled = res.Oxygen * 1000;
|
|
double o2Factor = Math.Max(0.0, 1.0 - oxscaled / (oxscaled + 10.0));
|
|
rate = Vmax * o2Factor
|
|
* (res.Carbon.Pyruvate / (Km + res.Carbon.Pyruvate))
|
|
* (res.Energy.NADH / (Km_NADH + res.Energy.NADH));
|
|
|
|
}
|
|
}
|
|
}
|