www.pudn.com > Genecircus20070919.rar > Gene_Simulate.h
#pragma once
#include "wx_pch.h"
typedef struct promotorlaw{
wxString one;
wxString two;
double function;
};
typedef std::vector law;
typedef std::vector history;
typedef std::vector history1;
class Gene_Simulate
{
public:
Gene_Simulate(void);
string name;
int x;
int y;
bool if_eukaryotic;
public:
~Gene_Simulate(void);
class Promotor{
public:
law l;
double number_active_postive;
double time_old;
double time;
double time_old1;
double time1;
int index;//记录是那个反应正在占据promotor;
int index1;
string if_active;
bool if_begin_transprict;
Promotor(){
number_active_postive = -1.0;
time = 0.0;
time_old = 0.0;
time1 = 0.0;
time_old1 = 0.0;
if_active = "11";
index = 100000;
index1 = 100000;
};
};
class m_RNA{
public:
double life_time;
double native_active;
double decay;
int number;
int init_number;
double delay_time;
history his_m_RNA;
history mrna_temp;
m_RNA(){
life_time = -1;
number = -1;
init_number = 0;
delay_time = -1;
decay = -1;
};
};
class Pro{
public:
double life_time;
double decay;
int number;
history1 his_Pro;
history1 pro_temp;
Pro(){
life_time = -1;
number = -1;
decay = -1;
};
};
friend class Promotor;
Promotor promotor;
friend class m_RNA;
m_RNA mrna;
friend class Pro;
Pro pro;
int c_i;
bool if_error;
};
class OtherTF{
public:
string name;
wxString law;
int init_number;
int x;
int y;
bool if_error;
OtherTF(){
if_error = false;
}
};
class Control{
public:
wxString law;
int index;
int x;
int y;
double c;
bool if_error;
Control(){
if_error = false;
}
};
typedef std::vector pt;
class LineC{
public:
wxPoint pts[3];
int line_begin;
int line_end;
int type;
double function;//1:press;2:improve
wxPoint ptbegin;
wxPoint ptend;
int c;//this protein 自我结合系数
bool if_complex;
double constant;
int number;//蛋白复合体的数量
wxString name;
bool if_error;
int if_effect;
LineC(){
if_complex = false;
constant = 0.0;
number = 0;
if_error = false;
if_effect = 1;//effect,2 uneffect;
}
};