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)); } } }