Files
CellSimulation/BaseCellSimulation/Enzyms/Cytosol/PhosphoFructokinase.cs
2025-11-16 19:52:52 +01:00

43 lines
1.4 KiB
C#

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