using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BaseCellSimulation.Enzyms.Nucleus { public class PARP1 : InternalEnzym { private const double EnergyCostATP = 0.3; public PARP1() { Km = 0.02; Vmax = 0.4; } public override void ApplyChanges(CellRessources res, double dt) { double dRepair = Math.Min(rate * dt, res.Res.Protein.DNA_damage); dRepair = res.Res.Energy.NAD >= dRepair * EnergyCostATP ? dRepair : res.Res.Energy.NAD / EnergyCostATP; res.Res.Energy.NAD -= dRepair * EnergyCostATP; res.Res.Energy.NADH += dRepair * 0.2; res.Res.Protein.DNA_damage -= dRepair * 0.8; } public override void ComputeRate(Resources res) { Michaelis_Menten(res.Protein.DNA_damage); } } }