00001 /************************************************************************** 00002 * Copyright (c) 2007 Clifford Conley Owens III * 00003 * * 00004 * This file is part of Biorithm. * 00005 * * 00006 * Biorithm is free software: you can redistribute it and/or modify * 00007 * it under the terms of the GNU General Public License as published by * 00008 * the Free Software Foundation, either version 3 of the License, or * 00009 * (at your option) any later version. * 00010 * * 00011 * Biorithm is distributed in the hope that it will be useful, * 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00014 * GNU General Public License for more details. * 00015 * * 00016 * You should have received a copy of the GNU General Public License * 00017 * along with Biorithm. If not, see <http://www.gnu.org/licenses/>. * 00018 * * 00019 **************************************************************************/ 00020 00032 #ifndef FUNCEQUIVFILTER_H 00033 #define FUNCEQUIVFILTER_H 00034 00035 // ---------------------------- Internal Headers ---------------------------- // 00036 00037 #include "Filter.h" 00038 00039 // ---------------------------- External Headers ---------------------------- // 00040 00041 #include "annotations.h" 00042 #include "GO.h" 00043 00050 class FuncEquivFilter: public Filter 00051 { 00052 protected: 00053 // The gene ontology file 00054 string obofile; 00055 00056 // The functional annotations file 00057 string fafile; 00058 00059 // Whether or not we have set the data 00060 bool setdata; 00061 00062 // Whether or not there was a problem with the data 00063 bool problem; 00064 00065 // The gene ontology 00066 GeneOntology go; 00067 00068 // The functional annotations 00069 MyAnnotations fa; 00070 00071 // Helper methods 00072 bool setupData(); 00073 00074 // the name of the file to print row set stats to. 00075 string rowSetFileName; 00076 ofstream rsstr; 00077 // the name of the file to print FE results to. 00078 string feFileName; 00079 // and the corresponding output stream. 00080 ofstream festr; 00081 00082 00083 public: 00084 FuncEquivFilter(const string& obofile, const string& fafile); 00085 FuncEquivFilter(const FuncEquivFilter& src); 00086 virtual ~FuncEquivFilter(); 00087 virtual FuncEquivFilter& operator =(const FuncEquivFilter& rhs); 00088 virtual bool filter(const ItemSet& is, TruthMatrix& tm, string& msg); 00089 }; 00090 00091 #endif