'ElMo-Knock'

rk.h

Go to the documentation of this file.
00001 #include <vector>
00002 #include <string>
00003 #include "metabolicnetwork.h"
00004 
00005 using namespace std;
00006 
00007 #ifndef RK_H
00008 #define RK_H
00009 
00014 class RK {
00015         private:
00016                 map<int,string> knock_reacs;  //indices of efms for the matrix in metab_network 
00017                 string key;
00018 
00019                 MetabolicNetwork *metab_network;
00020                 vector<double> min_yields;
00021 
00022                 vector<int> inactive_reacs;
00023 
00024                 vector<long> uncollapsed_ineff_efm_indices, collapsed_ineff_efm_indices,uncollapsed_eff_efm_indices;
00025                 int avg_path_length,max_path_length,min_path_length;
00026         public:
00027                 RK();
00028                 RK(const RK &rk);
00029                 RK(map<int,string> knock_reacs, MetabolicNetwork *metab_network);
00030 
00031                 int get_avg_path_length() { return this->avg_path_length;}
00032                 int get_max_path_length() { return this->max_path_length;}
00033                 int get_min_path_length() { return this->min_path_length;}
00034                 string get_key() { return this->key;}
00035                 map<int,string>& get_knock_reacs() { return this->knock_reacs;}         
00036                 vector<long>& get_uncollapsed_ineff_efm_indices() { return this->uncollapsed_ineff_efm_indices; }
00037                 vector<long>& get_uncollapsed_eff_efm_indices() { return this->uncollapsed_eff_efm_indices; }
00038 
00039                 int add_reac(int reac,long &rank);
00040 
00041                 int add_reac_direct(int reac,double &rank);
00042                 int add_reacs(map<int,string> reacs);
00043                 int test_reac(int reac,long &rank);
00044                 int is_core_collapsed(int &cnt_not_collapsed);
00045                 long test_knock_reacs2(map<int,string> knock_reacs, vector<double> &min_yields, long &num_eff_efm_rem, long &num_ineff_efm_rem);
00046                 friend ostream& operator<<(ostream& out, const RK& rk);
00047                 
00048 };
00049 
00050 int find_common_efm(vector<RK> rks, int &num_shared_efms);
00051 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines