68 lines
1.7 KiB
C#
68 lines
1.7 KiB
C#
using BaseCellSimulation.Enzyms;
|
|
using BaseCellSimulation.Enzyms.Mytochondrion;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using static System.Runtime.InteropServices.JavaScript.JSType;
|
|
|
|
namespace BaseCellSimulation
|
|
{
|
|
/// <summary>
|
|
/// Powerplant of the cell generates ATP out od NADH and Oxygen
|
|
/// </summary>
|
|
/// <param name="cellName"></param>
|
|
/// <param name="oxPhosVmax"></param>
|
|
/// <param name="oxPhosKm"></param>
|
|
/// <param name="pO_Ratio"></param>
|
|
public class Mitochondrion : Organell
|
|
{
|
|
public List<Enzym> Enzyms { get; private set; } = new List<Enzym>();
|
|
|
|
|
|
|
|
private readonly string name;
|
|
|
|
public Mitochondrion() : this("Mitochondrion") {}
|
|
|
|
public Mitochondrion(string cellName)
|
|
{
|
|
name = cellName;
|
|
Enzyms.Add(new PyruvateDehydrogenase());
|
|
//Enzyms.Add(new Enzyms.Mytochondrion.ANTTransporter());
|
|
Enzyms.Add(new OxPhosEnzyme());
|
|
Enzyms.Add(new ATPSynthase());
|
|
Enzyms.Add(new TCAEnzyme());
|
|
}
|
|
|
|
|
|
public string getName()
|
|
{
|
|
return name;
|
|
}
|
|
|
|
public void applyChanges(CellRessources Resources, double dt)
|
|
{
|
|
|
|
|
|
foreach (Enzym enzym in Enzyms)
|
|
{
|
|
enzym.ApplyChanges(Resources, dt);
|
|
}
|
|
|
|
}
|
|
|
|
public void calculateRate(CellRessources res)
|
|
{
|
|
foreach (Enzym enzym in Enzyms)
|
|
{
|
|
if (enzym is InternalEnzym internalEnzym)
|
|
{
|
|
internalEnzym.ComputeRate(res.Res);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|