package affectors; import main.Node; import main.Globals; import main.Cell; /** Use for inhibitor that is additive. Uses the same function as a simple transcriptional activator (the Phi function) but returns the negative of this function.

Part of a multi-node enhancer element for transcription. Use this affector inside of AddEnhancer elements.*/ public class TxnSiteAddInhibitorAff extends Affector { /** The level of inhibition at which transcription inhibited half-maximally. */ int kParam, /** The "cooperativity" exponent for inhibition. */ nuParam; static final String desc = "Additive inhibition of transcription - use when combining several activators and inhibitor inside meta-affectors"; static final String [] nodeDescriptions = {"Inhibitor"}; static final String [] paramDescriptions = {"Kappa: half-maximal level of inhibitor", "nu: cooperativity of inhibition"}; public TxnSiteAddInhibitorAff() { } 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]); } }