package affectors; import main.Node; import main.Globals; /** *

This is one half of an affector that dephosphorylates a single node assuming a constant * background phosphotase activity. Use this affector in the phosphorylated species. Use * {@link DephosphorylateB_Aff} in the product species. For cytoplasmic proteins. *

* Formula *
dNODEXp/dt = -DMax * NODEXp *

* Parameters * * * *
NODEXp [NODEXp] The phosphorylated Node
Dmax [Dmax] Rate of dephosphorylation.
*

* Usage *
&NODEp *

* &DephosphorylateA_Aff NODEp Dmax *
* &endNODEp * * @author Kerry Kim * @see DephosphorylateB_Aff * */ public class DephosphorylateA_Aff extends Affector { /** The rate of dephosphorylation. */ int dMax; static final String desc = "Dephosphorylation of cytoplasmic protein, use version B for unphosphorylated"; static final String [] nodeDescriptions = {"Phosphorylated protein"}; static final String [] paramDescriptions = {"Rate of dephosphorylataion"}; static final int [] whichSides = {-1}; public DephosphorylateA_Aff() {} protected void setLabelsAndTypes() { setDescriptions(this.desc, nodeDescriptions, paramDescriptions); setContainsTarget(true); this.Type[GUI_CAPABLE] = 1; this.Type[CERTIFICATION] = Affector.RETURNS_DERIV; this.Type[MATHTYPE] = Affector.GG; this.Type[TERMTYPE] = Affector.CONVERSION; } public void setParameterNumbers(int [] param_nums) { dMax = param_nums[0]; } public float getValue(Node which_node) { return -Globals.characteristicTime *(Nodes[0].getIntegrationValue() * params[dMax]); } public float getNCValue(Node which_node) { return -Globals.characteristicTime * params[dMax]; } }