'ElMo-Knock'

bitefm.h

Go to the documentation of this file.
00001 #include <vector>
00002 #include <string>
00003 #include <map>
00004 #include <iostream>
00005 #include <fstream>   // file I/O
00006 #include <sstream>
00007 #include <stdlib.h>
00008 #include <iomanip>
00009 #include <algorithm>
00010 #include <time.h>
00011 #include "util.h"
00012 #include "options.h"
00013 
00014 
00015 using namespace std;
00016 
00017 #ifndef BITEFM_H
00018 #define BITEFM_H
00019 
00024 class BitEfm {
00025 
00026         private:
00027                 char *buffer;
00028                 string efm_bit_fname;                   
00029                 vector< vector<double> > stoich;        
00030                 t_UnsignedInt num_ems;                  
00031              t_UnsignedInt file_length;         
00032                 int bytes_per_efm;                              
00033              int num_reacs;                                     
00035         public:
00036 
00037                 BitEfm();
00038                 int load_efm_bit(string efm_bit_fname, t_UnsignedInt  num_ems, vector< vector<double> > &stoich);
00039 
00040                 char* get_buffer() { return this->buffer;}
00041                 int get_bytes_per_efm() { return this->bytes_per_efm;}
00042                 int get_num_reacs();
00043                 t_UnsignedInt get_num_modes();
00044 
00045                 int fast_is_fes(vector<long> &ineff_efm_indices, set<int> &reacs);
00046                 int is_efm_elem_zero(unsigned long index, int reac, int &is_zero);
00047                 int read_single_efm(unsigned long index,vector<double> &efm);
00048                 int print_efm(unsigned long index, vector<string> &reacs_names);
00049 
00050 
00051                 int retain_efm(vector<long> efm_indices2retain, vector< vector<double> > &yields);
00052                 int remove_efm(vector<long> efm_indices2remove, vector< vector<double> > &yields);
00053                 int knock_efms(map<string,int> knock_reacs, vector< vector<double> > &yields);
00054 
00055 };
00056 
00057 
00058 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines