package affectors; import main.Node; import main.Globals; /**Diploid version of Txn2bAff. Reduces to same result if the two alleles are * identical. Assumptions for diploidizing: * *

Txn2a implements transcriptional activation under the control of one activator and one * inhibitor, the latter of which competetively inhibits the activator. The inhibitor behaves * as if it titrates away the activator according to some dose-response curve; another way to * look at it is that the inhibitor raises the threshhold for activation. The activator and * inhibitor may be either cytoplasmic or membrane-bound, as long as both are in the same cell * as the target. * *

Formula *
EFFECTIVE_ACT = ACTIVATOR(neighbors) * ( 1 - INHIBITOR^nu_INHIB / * (K_INHIBITOR^nu_INHIB + INHIBITOR^nu_INHIB)) *
dnodex/dt = (1 / H_nodex) * EFFECTIVE_ACT^nu_ACT / * (K_ACT^nu_ACT + EFFECTIVE_ACT^nu_ACT) * *

Parameters * * * * * * * * * * * * * * * * * * *
Inhibitor 1 [INHIBITOR1] The inhibitor allele 1 * Node
Inhibitor 2 [INHIBITOR2] The inhibitor allele 2 * Node
Activator 1 [ACTIVATOR1] The transcriptional activator * allele 1 Node
Activator 2 [ACTIVATOR2] The transcriptional activator * allele 2 Node
Half-max activation level allele 1 [K_ACTIVATOR1nodex] The * concentration of activator allele 1 at which transcription proceeds at half * its maximal rate
Half-max activation level allele 2 [K_ACTIVATOR2nodex] The * concentration of activator allele 2 at which transcription proceeds at half * its maximal rate
Activator Cooperativity allele 1 [nu_ACTIVATOR1nodex] The * non-linearity of the activating function allele 1. The higher the value, the * sharper the curves in the S-shaped activation function
Activator Cooperativity allele 2 [nu_ACTIVATOR2nodex] The * non-linearity of the activating function allele 2. The higher the value, the * sharper the curves in the S-shaped activation function
mRNA Half-life [H_nodex] The half life of the product mRNA
Half-max inhibition level allele 1 on activator allele 1 [K_INHIBITOR11] The * concentration of inhibitor allele 1 on activator allele 1 at which transcription proceeds at half * the rate it would have otherwise
Half-max inhibition level allele 1 on activator allele 2 [K_INHIBITOR12] The * concentration of inhibitor allele 1 on activator allele 2 at which transcription proceeds at half * the rate it would have otherwise
Half-max inhibition level allele 2 on activator allele 1 [K_INHIBITOR21] The * concentration of inhibitor allele 2 on activator allele 1 at which transcription proceeds at half * the rate it would have otherwise
Half-max inhibition level allele 2 on activator allele 2 [K_INHIBITOR22] The * concentration of inhibitor allele 2 on activator allele 2 at which transcription proceeds at half * the rate it would have otherwise
Inhibition Cooperativity allele 1 on activator allele 1 [nu_INHIBITOR11] The * non-linearity of the inhibiting function allele 1 on activator allele 1. The higher the value, the * sharper the curves in the upside-down S-shaped inhibition function
Inhibition Cooperativity allele 1 on activator allele 2 [nu_INHIBITOR12] The * non-linearity of the inhibiting function allele 1 on activator allele 2. The higher the value, the * sharper the curves in the upside-down S-shaped inhibition function
Inhibition Cooperativity allele 2 on activator allele 1 [nu_INHIBITOR21] The * non-linearity of the inhibiting function allele 2 on activator allele 1. The higher the value, the * sharper the curves in the upside-down S-shaped inhibition function
Inhibition Cooperativity allele 2 on activator allele 2 [nu_INHIBITOR22] The * non-linearity of the inhibiting function allele 2 on activator allele 2. The higher the value, the * sharper the curves in the upside-down S-shaped inhibition function
* *

Usage *
&nodex *

&Txn2aDipAff INHIBITOR1 INHIBITOR2 ACTIVATOR1 ACTIVATOR2 * K_ACTIVATOR1nodex K_ACTIVATOR2nodex nu_ACTIVATOR1nodex * nu_ACTIVATOR1nodex H_nodex K_INHIBITOR1nodex K_INHIBITOR2nodex * nu_INHIBITOR1nodex nu_INHIBITOR2nodex
* &endnodex * *

NOTE - you can accomplish this same function using the meta-enhancers, and those are a * more general framework for putting together transcription terms. */ public class Txn2aDipAff extends Affector { /** The level of activator at which transcription proceeds half-maximally. */ int kParam1; /** The level of activator at which transcription proceeds half-maximally. */ int kParam2; /** The "cooperativity" exponent for activation. */ int nuParam1; /** The "cooperativity" exponent for activation. */ int nuParam2; /** The half-life of the transcript. */ int halfLifeParam; /** The level of inhibitor allele 1 at which half the activator allele 1 has been neutralized. */ int kInhibitParam11; /** The level of inhibitor allele 1 at which half the activator allele 2 has been neutralized. */ int kInhibitParam12; /** The level of inhibitor allele 2 at which half the activator allele 1 has been neutralized. */ int kInhibitParam21; /** The level of inhibitor allele 2 at which half the activator allele 2 has been neutralized. */ int kInhibitParam22; /** The "cooperativity" exponent for inhibition allele 1 on activator 1. */ int rhoParam11; /** The "cooperativity" exponent for inhibition allele 1 on activator 2. */ int rhoParam12; /** The "cooperativity" exponent for inhibition allele 2 on activator 1. */ int rhoParam21; /** The "cooperativity" exponent for inhibition allele 2 on activator 2. */ int rhoParam22; static final String desc = "Diploid Transcription dependent on an activator, squelched by an inhibitor"; static final String [] nodeDescriptions = {"Inhibitor allele 1", "Inhibitor allele 2", "Activator allele 1", "Activator allele 2"}; static final String [] paramDescriptions ={"Kappa: half-maximal level of activator allele 1", "Kappa: half-maximal level of activator allele 2", "nu: cooperativity of activation allele 1", "nu: cooperativity of activation allele 2", "Half-life of transcript produced", "Kappa: half-maximal level of inhibitor allele 1 on activator 1", "Kappa: half-maximal level of inhibitor allele 1 on activator 2", "Kappa: half-maximal level of inhibitor allele 2 on activator 1", "Kappa: half-maximal level of inhibitor allele 2 on activator 2", "rho: cooperativity of inhibition allele 1 on activator 1", "rho: cooperativity of inhibition allele 1 on activator 2", "rho: cooperativity of inhibition allele 2 on activator 1", "rho: cooperativity of inhibition allele 2 on activator 2"}; public Txn2aDipAff() {} 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) { kParam1 = param_nums[0]; kParam2 = param_nums[1]; nuParam1 = param_nums[2]; nuParam2 = param_nums[3]; halfLifeParam = param_nums[4]; kInhibitParam11 = param_nums[5]; kInhibitParam12 = param_nums[6]; kInhibitParam21 = param_nums[7]; kInhibitParam22 = param_nums[8]; rhoParam11 = param_nums[9]; rhoParam12 = param_nums[10]; rhoParam21 = param_nums[11]; rhoParam22 = param_nums[12]; } public float getValue(Node which_node) { float total_activator1 = Nodes[2].getIntegrationValue(); float total_activator2 = Nodes[3].getIntegrationValue(); float I11=Chi(Nodes[0].getIntegrationValue(),params[kInhibitParam11],params[rhoParam11]); float I12=Chi(Nodes[1].getIntegrationValue(),params[kInhibitParam12],params[rhoParam12]); float I21=Chi(Nodes[0].getIntegrationValue(),params[kInhibitParam21],params[rhoParam21]); float I22=Chi(Nodes[1].getIntegrationValue(),params[kInhibitParam22],params[rhoParam22]); float A1=Chi(total_activator1/(1.0f+0.5f*(I11+I21)),params[kParam1],params[nuParam1]); float A2=Chi(total_activator2/(1.0f+0.5f*(I12+I22)),params[kParam2],params[nuParam2]); return ((Globals.characteristicTime / params[halfLifeParam])*(A1+A2)/(2*(1+A1+A2))); } }