package affectors; import main.Node; import main.Globals; import main.Cell; /** Use for activation of transcription. Activates according to an S-shaped function (Phi function) with a half maximal activation level K and a cooperativity nu. This is identical to the Txn1Aff except that it is designed to work inside of a meta-affector. You should only use this Affector inside of an EnhancerRegion.

Formula
dnodex/dt = (ACTIVATOR/K)^nu / (1 + (ACTIVATOR/K)^nu)

Parameters
Activator [ACTIVATOR] The transcriptional activator Node
Half-max activation level [K_ACTIVATORnodex] The concentration of activator at which transcription proceeds at half its maximal rate
Cooperativity [nu_ACTIVATORnodex] The non-linearity of the activating function. The higher the value, the sharper the curves in the S-shaped activation function

Usage
&nodex

&EnhancerRegion H_nodex
&TxnSiteActivatorAff ACTIVATOR K_ACTIVATORnodex nu_ACTIVATORnodex
&endEnhancerRegion
&endnodex */ public class TxnSiteActivatorAff extends Affector { /** The level of activator at which transcription proceeds half-maximally. */ int kParam, /** The "cooperativity" exponent for activation. */ nuParam; static final String desc = "Activated transcription - use this when combining several activators and inhibitor inside meta-affectors"; static final String [] nodeDescriptions = {"Activator"}; static final String [] paramDescriptions = {"Kappa: half-maximal level of activator", "nu: cooperativity of activation"}; public TxnSiteActivatorAff() {} protected void setLabelsAndTypes() { setDescriptions(this.desc, nodeDescriptions, paramDescriptions); this.Type[GUI_CAPABLE] = 1; this.Type[CERTIFICATION] = Affector.RETURNS_DERIV; this.Type[MATHTYPE] = Affector.FF; this.Type[TERMTYPE] = Affector.PRODUCTION; } public void setParameterNumbers(int [] param_nums) { kParam = param_nums[0]; nuParam = param_nums[1]; } public float getValue(Node which_node) { return Phi(Nodes[0].getIntegrationValue(), params[kParam], params[nuParam]); } }