package affectors; import main.Globals; import main.Node; /** This is one third of a heterodimerization between a membrane bound and a cytoplasmic protein, leading to a membrane-bound complex. Use this affector in the undimerized, cytoplasmic species. Use the A version in the membrane bound undimerized species and the C version in the dimer. Be careful to put the membrane and cytoplasmic species in the right order in the initializer. The node_scale for each of the singleton proteins is the scaling factor for the >other< singleton (i.e. in the membrane node, give cytoNode0 as node_scale and vice-versa).
Formula
dCYTO_NODE/dt = - r * max_MEMBRANE_NODE * MEMBRANE_NODE * CYTO_NODE
Parameters
Membrane Node [MEMBRANE_NODE] | The undimerized Node that is on the membrane |
Cytoplasmic Node [CYTO_NODE] | The undimerized Node that is in the cytoplasm |
Dimerization rate [r_DIMER] | The rate of the dimerization reaction. |
Maximum Cyto [max_MEMBRANE] | The maximum relative concentration of the membrane-bound Node. |
Usage
*/
public class DimerizeCytoMem_BAff extends Affector {
/** The rate of the dimerization reaction. */
int kParam;
/** The scaling factor of the other undimerized node in this reaction (i.e. max for membrane-bound node). */
int nodeScaleParam;
static final String desc = "Dimerize membrane-bound & cytoplasmic node; version B for cytoplasmic node";
static final String [] nodeDescriptions = {"Membrane-bound node", "Cytoplasmic node"};
static final String [] paramDescriptions = {"Second-order rate constant",
"Scale factor (max value) for most-similar node"};
static final int [] whichSides = {-1, -1};
public DimerizeCytoMem_BAff() {}
protected void setLabelsAndTypes() {
setDescriptions(this.desc, nodeDescriptions, paramDescriptions);
setSided(true, whichSides);
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)
{
kParam = param_nums[0];
nodeScaleParam = param_nums[1];
}
public float getValue(Node which_node) {
return -Globals.characteristicTime * params[kParam] * params[nodeScaleParam] * Nodes[0].getIntegrationValue() * Nodes[1].getIntegrationValue();
}
public float getNCValue(Node which_node) {
return -Globals.characteristicTime * params[kParam] * params[nodeScaleParam] * Nodes[0].getIntegrationValue();
}
}
&CYTO_NODE
&DimerizeCytoMem_BAff MEMBRANE_NODE CYTO_NODE r_DIMER max_MEMBRANE
&endCYTO_NODE