package affectors; import main.Node; import main.Globals; /** One third of a triplet of affectors which mediates dissociation of protein complexes. Use this one in the RECEPTOR. Use the A version in the ligand-bound state and the C version in the recycled LIGAND. They reverse the heterodimerization affectors. Note that the equation here is exactly the same as the Decay affector. This can be used for both cytoplasmic and membrane-bound proteins.

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
&NODEX

&DissociationB_Aff NODEX H_NODEX
&endNODEX @see DissociationA_Aff @see DissociationC_Aff */ public class DissociationB_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 DissociationB_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)); } }