using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using static System.Net.WebRequestMethods; namespace BaseCellSimulation.Enzyms.Cytosol { public class PhosphoFructokinase : InternalEnzym { public PhosphoFructokinase() { Km = 0.2; Vmax = 7; KmRange = new(0.05, 0.5); VmaxRange = new(1, 25); } public double Ki_ATP_PFK { get; set; } public double Ka_AMP_PFK { get; set; } public double h_AMP { get; set; } public double h_ATP { get; set; } public override void ApplyChanges(CellRessources res, double dt) { double used = Math.Min(rate * dt, Math.Min(res.Res.Energy.ATP, res.Res.Carbon.F6P)); res.Res.Carbon.F6P -= used; res.Res.Carbon.F1_6BP += used; res.ConsumeATP(used); res.Res.Ions.Protons += used; } public override void ComputeRate(Resources res) { double inhibition = 1.0 / (1.0 + Math.Pow(res.Energy.ATP / Ki_ATP_PFK, h_ATP)); // Hemmung durch ATP double activation = 1.0 + Math.Pow(res.Energy.AMP / Ka_AMP_PFK, h_AMP); // Aktivierung durch AMP rate = Michaelis_Menten(res.Carbon.F6P, Vmax * inhibition * activation, Km); } } }