package affectors; import main.Node; import main.Globals; /** For exocytosis from an intracellular to a membrane-bound Node. Use this one in the Node representing the intracellular compartment. Note that a separate Node is used for the intracellular and the extracellular protein pools, even though the protein itself may be identical in both locations.
Formula
dI_NODEX/dt = -exo_NODEX * I_NODEX
Parameters
Intracellular Node [I_NODEX] | The intracellular Node that is being exocytosed |
Extracellular Node [E_NODEX] | The extracellular Node representing the now membrane-bound protein |
Exocytosis rate [exo_NODEX] | The rate at which Node is exocytosed. |
Usage
@see ExoEAff
*/
public class ExoIAff extends Affector {
/** Rate of exocytosis. */
int exoParam;
static final String desc = "Exocytosis; version I for the Node that gets exocytosed";
static final String [] nodeDescriptions = {"Intracellular form", "Extracellular form"};
static final String [] paramDescriptions = {"Rate of exocytosis"};
public ExoIAff() {}
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.HH;
this.Type[TERMTYPE] = Affector.CONVERSION;
}
public void setParameterNumbers(int [] param_nums)
{
exoParam = param_nums[0];
}
public float getValue(Node which_node) {
return -Globals.characteristicTime * (params[exoParam]*Nodes[0].getIntegrationValue(0));
}
public float getNCValue(Node which_node) {
return -Globals.characteristicTime * (params[exoParam]);
}
}
&I_NODEX
&ExoIAff I_NODEX E_NODEX exo_NODEX
&endI_NODEX