InitalCommit
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user