private void updateReferences(IUsingFormula usingFormula, string moleculeName, string compoundName, Simulation simulation, IContainer processParameterContainer, InteractionKineticModifications kineticModification) { if (!_kineticModifications.Is(kineticModification)) { return; } var formula = usingFormula.Formula; var kiAliasBase = kiAliasFrom(kineticModification); var kiParameter = kiParameterFrom(kineticModification); doOverAllInteractions(moleculeName, compoundName, simulation, kiAliasBase, (interactionProcess, inhibitorAlias, kiAlias, kwaterAlias) => { var inhibitor = interactionProcess.ParentCompound; if (formula.FormulaUsablePathBy(inhibitorAlias) == null) { formula.AddObjectPath(inhiborConcentrationPath(inhibitor, inhibitorAlias, processParameterContainer)); } if (formula.FormulaUsablePathBy(kwaterAlias) == null) { formula.AddObjectPath(kwaterPath(inhibitor, kwaterAlias, processParameterContainer)); } if (formula.FormulaUsablePathBy(kiAlias) == null) { formula.AddObjectPath(kiPath(kiParameter, inhibitor, interactionProcess, kiAlias)); } }); }
protected InteractionKineticUpdaterSpecificationBase(IObjectPathFactory objectPathFactory, IDimensionRepository dimensionRepository, IInteractionTask interactionTask, InteractionType interactionType, string kiNumeratorParameter, string kiDenominatorParameter, string kiNumeratorAlias, string kiDenominatorAlias, string inhibitorAlias) { _objectPathFactory = objectPathFactory; _dimensionRepository = dimensionRepository; _interactionTask = interactionTask; _interactionType = interactionType; _kineticModifications = modificationsFrom(interactionType); _kiNumeratorParameter = kiNumeratorParameter; _kiDenominatorParameter = kiDenominatorParameter; _kiNumeratorAlias = kiNumeratorAlias; _kiDenominatorAlias = kiDenominatorAlias; _inhibitorAlias = inhibitorAlias; }
private Tuple <string, string> kiInfoFrom(InteractionKineticModifications kineticModification) { switch (kineticModification) { case InteractionKineticModifications.KmDenominator: case InteractionKineticModifications.KcatDenominator: return(new Tuple <string, string>(_kiDenominatorAlias, _kiDenominatorParameter)); case InteractionKineticModifications.KmNumerator: case InteractionKineticModifications.CLSpecDenominator: return(new Tuple <string, string>(_kiNumeratorAlias, _kiNumeratorParameter)); default: throw new ArgumentOutOfRangeException("kineticModification"); } }
private (string kiAlias, string kiParameter) kiInfoFrom(InteractionKineticModifications kineticModification) { switch (kineticModification) { case InteractionKineticModifications.KmDenominator: case InteractionKineticModifications.KcatDenominator: return(_kiDenominatorAlias, _kiDenominatorParameter); case InteractionKineticModifications.KmNumerator: case InteractionKineticModifications.CLSpecDenominator: return(_kiNumeratorAlias, _kiNumeratorParameter); default: throw new ArgumentOutOfRangeException(nameof(kineticModification)); } }
public static bool Is(this InteractionKineticModifications modifications, InteractionKineticModifications typeToCompare) { return((modifications & typeToCompare) != 0); }
private string inhibitionTermsFor(string moleculeName, string compoundName, Simulation simulation, InteractionKineticModifications kineticModification) { if (!_kineticModifications.Is(kineticModification)) { return(string.Empty); } var kiAliasBase = kiAliasFrom(kineticModification); var inibitionTerms = new List <string>(); doOverAllInteractions(moleculeName, compoundName, simulation, kiAliasBase, (interactionProcess, inhibitorAlias, kiAlias, kwaterAlias) => inibitionTerms.Add($"{kwaterAlias}*{inhibitorAlias}/{kiAlias}")); return(inibitionTerms.ToString(" + ")); }
private string kiParameterFrom(InteractionKineticModifications kineticModification) { return(kiInfoFrom(kineticModification).Item2); }
private string kiAliasFrom(InteractionKineticModifications kineticModification) { return(kiInfoFrom(kineticModification).Item1); }