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