package affectors; import main.Node; import main.Globals; /** One third of a triplet of affectors which mediates dissociation of protein complexes where one of the ligands is cytoplasmic and the other is membrane-bound. Use this one in the recycled membrane-bound RECEPTOR. Use the A version in the dimerized state and the C version in the cytoplasmic LIGAND. Note that the equation here is exactly the same as the Decay affector. This can be used for both cytoplasmic and membrane-bound proteins. As with the heterodimerization Affectors, the ligand and receptor must be scaled by the ratio between their dimensional maximum quantities, and that scaling happens in here only for the ligand (the complex is assumed to be on the same scale as the receptor).
Formula
dNODEX/dt = NODEX / H_NODEX
Parameters
Complex [NODEX] | The Node represeting the dimer |
Half-life [H_NODEX] | The half-life of the complex before it splits apart. |
Usage
@see DissociationA_Aff
@see DissociationC_Aff
*/
public class DissociationCytoMemB_Aff extends Affector {
/** The half-life in minutes of the "ligand"-bound "receptor" complex; reciprocal of the dissociation rate. */
int halfLifeParam;
static final String desc = "Dissociation of a two-component complex; version B for receptor";
static final String [] nodeDescriptions = {"Complex"};
static final String [] paramDescriptions = {"Half-life of complex"};
static final int [] whichSides = { -1 };
public DissociationCytoMemB_Aff() {}
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));
}
}
&NODEX
&DissociationB_Aff NODEX H_NODEX
&endNODEX