InitalCommit

This commit is contained in:
WyanMueller
2025-11-16 10:30:26 +01:00
parent 8b0b73bba8
commit d2e409d10f
73 changed files with 3209 additions and 0 deletions
@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BaseCellSimulation.Enzyms.Membrane.GLUT
{
public class GLUT1 : MembranEnzyme
{
public GLUT1()
{
Km = 1.5; // Example Km value in mM
Vmax = 0.5;
KmRange = new(1.0, 3.0);
VmaxRange = new(0.1, 10.0);
}
public override void ApplyChanges(CellRessources res, double dt)
{
double flux = Math.Min(res.Env.Glucose, rate * dt);
res.Env.Glucose -= flux;
res.Res.Carbon.Glucose += flux;
}
public override double CalculateGradient(CellRessources res)
{
return res.Env.Glucose - res.Res.Carbon.Glucose;
}
public override void ComputeRate(double gradient, EnviromentState Env)
{
if (gradient <= 0)
{
rate = 0;
return;
}
Michaelis_Menten(gradient);
}
}
}
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BaseCellSimulation.Enzyms.Membrane.GLUT
{
public class GLUT2 : GLUT1
{
public GLUT2()
{
Km = 17.0; // Example Km value in mM
Vmax = 1.2;
KmRange = new(15.0, 20.0);
VmaxRange = new(1.0, 50.0);
}
}
}
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BaseCellSimulation.Enzyms.Membrane.GLUT
{
public class GLUT3 : GLUT1
{
public GLUT3()
{
Km = 1.0;
Vmax = 0.8;
KmRange = new(0.3, 1.0);
VmaxRange = new(0.5, 20.0);
}
}
}
@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BaseCellSimulation.Enzyms.Membrane.GLUT
{
public class GLUT4 : GLUT1
{
public GLUT4()
{
Km = 5.0; // Example Km value in mM for GLUT4
Vmax = 0.6; // Higher Vmax for GLUT4
ActivationThreshold = 0.3; // Example threshold for insulin activation
KmRange = new(4.0, 6.0);
VmaxRange = new(0.2, 15.0);
}
public double ActivationThreshold { get; set; }
public override void ComputeRate(double gradient, EnviromentState Env)
{
if (gradient <= 0)
{
rate = 0;
return;
}
// GLUT4 is insulin-responsive, so we can add an insulin factor
double insulinFactor = 0.5 * (Math.Tanh((Env.Insulin - ActivationThreshold) / 0.1) + 1.0); // Example: insulin increases rate up to 3x
Michaelis_Menten(gradient);
rate *= insulinFactor;
}
}
}