43 lines
1.4 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|