'ElMo-Knock'

options.h

Go to the documentation of this file.
00001 #include <vector>
00002 #include <string>
00003 #include "util.h"
00004 using namespace std;
00005 
00006 #ifndef OPTIONS_H
00007 #define OPTIONS_H
00008 
00009 /*
00010    Class: Options
00011    Contains options that are parsed from command line and printed to screen and output result file
00012 */
00013 
00014 class Options {
00015 
00016         private:
00017                 string config_fname;    
00018                 string efm_bit_fname;
00019                 string efm_meta_fname;
00020                 string output_fname;
00021                 string yields_fname;
00022                 vector<string> init_knock_reacs;
00023                 vector<string> target_reacs;
00024                 vector<string> substrate_reacs;
00025                 vector<string> transport_reacs;
00026                 vector<double> min_yields;
00027                 vector<double> min_core_yields;
00028                 string use_xchg_reacs;          
00029                 int max_efm_cands,max_rk_cands, max_reac_subset_length;
00030                 string algorithm;
00031                 string network_capacity;
00032         public:
00033                 Options() {}
00034                 Options(string config_fname);
00035         void    load(string config_fname);              
00036         void    print();
00037         void    print_to_file(ostream &out);
00038 
00039         int     get_max_rk_cands() { return this->max_rk_cands;}
00040         int     get_max_efm_cands() { return this->max_efm_cands;}
00041         int     get_max_reac_subset_length() { return this->max_reac_subset_length;}
00042 
00043         string  get_algorithm() { return this->algorithm;}
00044         string  get_network_capacity() { return this->network_capacity;}
00045 
00046         string  get_efm_bit_fname() { return this->efm_bit_fname;}
00047         string  get_efm_meta_fname() { return this->efm_meta_fname;}
00048         string  get_output_fname() { return this->output_fname;}
00049         string  get_yields_fname() { return this->yields_fname;}
00050         string  get_config_fname() { return this->config_fname;}
00051 
00052         string  get_use_xchg_reacs() { return this->use_xchg_reacs;}
00053 
00054         vector<string>& get_init_knock_reacs() { return this->init_knock_reacs;}
00055         vector<string>& get_target_reacs() {return this->target_reacs;}
00056         vector<string>& get_substrate_reacs() {return this->substrate_reacs;}
00057         vector<string>& get_transport_reacs() {return this->transport_reacs;}
00058         vector<double>& get_min_yields() { return this->min_yields;}
00059         vector<double>& get_min_core_yields(){ return this->min_core_yields;}
00060 
00061         //friend ostream& operator<<(ostream& out, const Options& opt);         
00062         void load_efm_meta_file(vector< vector<double> > &stoich, vector<string> &reacs_names, t_UnsignedInt &num_ems);
00063                 
00064 };
00065 void parse_string( const string& str, const char separator, vector<string>& result );
00066 #endif
00067 
00068 
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines