InitalCommit
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BaseCellSimulation.Enzyms.Nucleus
|
||||
{
|
||||
public class DNMT1 : InternalEnzym
|
||||
{
|
||||
public DNMT1()
|
||||
{
|
||||
Km = 0.01;
|
||||
Vmax = 0.25;
|
||||
}
|
||||
|
||||
public override void ApplyChanges(CellRessources res, double dt)
|
||||
{
|
||||
// Berechne tatsächlich übertragene Methylmenge
|
||||
double dMethyl = Math.Min(rate * dt, res.Res.Protein.SAM);
|
||||
|
||||
// Chromatinzugänglichkeit moduliert Effektivität
|
||||
double accessibilityFactor = Math.Clamp(res.Res.Nucleus.ChromatinAccessibility / 0.005, 0.1, 1.0);
|
||||
dMethyl *= accessibilityFactor;
|
||||
|
||||
// SAM → SAH Umwandlung
|
||||
res.Res.Protein.SAM -= dMethyl;
|
||||
res.Res.Protein.SAH += dMethyl; // 1:1 Bildung
|
||||
|
||||
// Methylierung der DNA (vereinfachte Darstellung)
|
||||
res.Res.Nucleus.ChromatinAccessibility -= dMethyl * 0.005;
|
||||
if (res.Res.Nucleus.ChromatinAccessibility < 0)
|
||||
res.Res.Nucleus.ChromatinAccessibility = 0;
|
||||
}
|
||||
|
||||
public override void ComputeRate(Resources res)
|
||||
{
|
||||
double activityFactor = Math.Min(1.0, res.Nucleus.ReplicationProgress / 10.0);
|
||||
Michaelis_Menten(res.Protein.SAM * activityFactor);
|
||||
rate *= activityFactor;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user