package affectors; import main.Node; import main.Globals; /** The other half of a pair of affectors which recycles proteins from one state back to another. Use this one in the recycled state. Use the A version in the pre-recycled state. The two versions are just negations of each other. This can be used for both cytoplasmic and membrane-bound proteins. DOES NOT substitute for the Dissociation_Aff pair unless you don't care about the ligand.
Formula
dNODEX_Recycled/dt = NODEX / H_NODEX
Parameters
Recyclee [NODEX] | The Node that is going to be recycled back to this Node. |
Half-life [H_NODEX] | The time it takes for half of the recyclee node to be recycled. |
Usage
&NODEX_Recycled
&RecycleBAff NODEX H_NODEX
&endNODEX_Recycled/code>
*/
public class RecycleBAff extends Affector {
int side;
/** The half-life in minutes for disappearance of the pre-recycled state. */
int halfLifeParam;
static final String desc = "Recycler; version B for product";
static final String [] nodeDescriptions = {"Recyclee"};
static final String [] paramDescriptions = {"Half-life of recyclee"};
static final int [] whichSides = {-1};
public RecycleBAff() {}
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.KK;
this.Type[TERMTYPE] = Affector.CONVERSION; //???
}
public void setParameterNumbers(int [] param_nums)
{
halfLifeParam = param_nums[0];
}
public float getValue(Node which_node) {
return ((Globals.characteristicTime / params[halfLifeParam]) * Nodes[0].getIntegrationValue(side));
}
}