/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 59 */ #include #include # include "CholeraRelaySystemHeader.h" using namespace std; double kSynthConstLuxOmRNA =0.5; double Y =1; double kMaxRepressLuxO =0; double kHalfRepressLuxO =1; double b =1; double kMaxRepressQrrsRNA =0; double kHalfRepressQrrsRNA =1; double c =1; double kTranslation =0.1; double kPhosphorylationLuxO =0.5; double kDePhosphorylationLuxOP =0; double kMaxProdLuxOP =0.5; double kHalfProdLuxOP =0.01; double d =1; double kMaxProdQrrHapR =0.5; double kHalfProdHapR =0.01; double e =1; double kDissQrrsRNAHapRmRNA =0.001; double kAssQrrsRNAHapRmRNA =1; double Hfq =1; double kSynthConstHapRmRNA =0.5; double X =1; double kMaxRepressHapR =0; double kHalfRepressHapR =1; double g =1; double kMaxProdHapA =0.5; double kHalfProdHapA =0.01; double h =1; double kDegHapRmRNA = 0.00288; double kDegLuxOP =0.01; double kDegLuxOmRNA = 0.00288; double kDegQrrsRNA = 0.00288; double kDegHapR =0.01; double kDegLuxO =0.01; double kDegHapA =0.01; double *ode(double y[], double dy[]) { /// Section 0: LuxOmRNA, dy[0] = kSynthConstLuxOmRNA * X - (kMaxRepressLuxO/(1 + (pow((y[1]/kHalfRepressLuxO),b)))) - (kMaxRepressQrrsRNA/(1 + (pow((y[3]/kHalfRepressQrrsRNA),c)))) - kDegLuxOmRNA * y[0] ; /// Section 1: LuxO. dy[1] = kTranslation * y[0] - kPhosphorylationLuxO * y[1] -kDegLuxO * y[1] - kDePhosphorylationLuxOP * y[2] ; /// Section 2: LuxO-P. dy[2] = kPhosphorylationLuxO * y[1] - kDePhosphorylationLuxOP * y[2] - kDegLuxOP * y[2] ; /// Section 3: QrrsRNA. dy[3] = kMaxProdLuxOP * (pow(y[2],d)/(pow(kHalfProdLuxOP,d) + pow(y[2],d))) + kMaxProdQrrHapR * (pow(y[6],e)/(pow(kHalfProdHapR,e) + pow(y[6],e))) - kAssQrrsRNAHapRmRNA * y[3] * y[4] * Hfq - kDegQrrsRNA * y[3] ; /// Section 4: HapRmRNA. dy[4] = kSynthConstHapRmRNA * Y - (kMaxRepressHapR/(1 + (pow((y[6]/kHalfRepressHapR),g))))- kAssQrrsRNAHapRmRNA * y[3] * y[4] * Hfq - kDegHapRmRNA * y[4] ; /// Section 5: QrrsRNAHapRmRNA. dy[5] = kAssQrrsRNAHapRmRNA * y[3] * y[4] * Hfq - kDegHapRmRNA * y[5] - kDegQrrsRNA * y[5] ; /// Section 6: HapR. dy[6] = kTranslation * y[4] - kDegHapR * y[6] ; /// Section 7: HapAmRNA. dy[7] = kMaxProdHapA * (pow(y[6],h)/(pow(kHalfProdHapA,h) + pow(y[6],h))) ; /// Section 8: HapA. dy[8] = kTranslation * y[7] - kDegHapA * y[8] ; return dy; }