InitalCommit
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BaseCellSimulation.Enzyms
|
||||
{
|
||||
public static class VmaxCalculator
|
||||
{
|
||||
private const double Avogadro = 6.02214076e23; // mol⁻¹
|
||||
|
||||
/// <summary>
|
||||
/// Berechnet Vmax (in mM/s) aus Enzymkinetik-Parametern.
|
||||
/// </summary>
|
||||
/// <param name="kcat">Turnover-Zahl des Enzyms (s⁻¹ pro Molekül)</param>
|
||||
/// <param name="enzymeCount">Anzahl der Enzymmoleküle in der Zelle</param>
|
||||
/// <param name="cellVolume_L">Zellvolumen in Litern (z. B. 1e-12 für typische Eukaryoten)</param>
|
||||
/// <returns>Vmax in mM/s</returns>
|
||||
public static double ComputeVmax(double kcat, double enzymeCount, double cellVolume_L)
|
||||
{
|
||||
// [E_total] = (enzymeCount / Avogadro) / cellVolume
|
||||
double enzymeConcentration_M = (enzymeCount / Avogadro) / cellVolume_L; // mol/L
|
||||
double vmax_M_per_s = kcat * enzymeConcentration_M; // mol/L/s
|
||||
|
||||
// Umrechnung auf mM/s
|
||||
return vmax_M_per_s * 1000.0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Beispielausgabe für häufige Zellgrößen / Transporter.
|
||||
/// </summary>
|
||||
public static void Example()
|
||||
{
|
||||
// Beispielwerte: GLUT1, GLUT2, GLUT3, GLUT4
|
||||
double cellVolume = 1e-12; // Liter (≈ typische Säugetierzelle)
|
||||
double[] enzymeCounts = { 1e5, 1e6, 1e7 }; // niedrige, mittlere, hohe Expression
|
||||
double[] kcats = { 100, 500, 1000 }; // plausible Turnover-Werte
|
||||
|
||||
foreach (var kcat in kcats)
|
||||
{
|
||||
foreach (var enz in enzymeCounts)
|
||||
{
|
||||
double vmax = ComputeVmax(kcat, enz, cellVolume);
|
||||
Console.WriteLine($"kcat={kcat,5:F0} Enzyme={enz:E0} → Vmax={vmax:F2} mM/s");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user