package affectors; import main.Globals; import main.Node; /** This is the one half of a dimerization where both undimerized Nodes reside in the same cell. The undimerized Nodes can be either cytoplasmic or membrane bound. Use this affector in the dimerized Node. Use the A version in the undimerized Nodes. The node_scale (max) for each of the dimer is the scaling factor for the singleton to which it is most dis-similar.
Formula
dDIMER/dt = r * max * SINGLE_NODE1 * SINGLE_NODE2
Parameters
Membrane Node [SINGLE_NODE1] | One of the undimerized Nodes |
Cytoplasmic Node [SINGLE_NODE2] | The other of the undimerized Nodes |
Dimerization rate [r_DIMER] | The rate of the dimerization reaction. |
Maximum Cyto [max] | The maximum relative concentration of the undimerized Node which is most disimilar to this one. |
Usage
*/
public class Dimerize_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 second input node). */
int nodeScaleParam;
static final String desc = "Dimerize membrane-bound nodes; version B for dimer";
static final String [] nodeDescriptions = {"Most-similar node", "Other node"};
static final String [] paramDescriptions = {"Second-order reaction rate constant",
"Scale factor (max value) for other node"};
static final int [] whichSides = {-1, -1};
public Dimerize_BAff() {}
protected void setLabelsAndTypes() {
setDescriptions(this.desc, nodeDescriptions, paramDescriptions);
setSided(true, whichSides);
this.Type[GUI_CAPABLE] = 1;
this.Type[CERTIFICATION] = Affector.RETURNS_DERIV;
this.Type[MATHTYPE] = Affector.FF;
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(side) * Nodes[1].getIntegrationValue(side);
}
}
&DIMER
&Dimerize_BAff SINGLE_NODE1 SINGLE_NODE2 r_DIMER max
&endDIMER