Main Page | Class Hierarchy | Class List | File List | Class Members

ParamFile.h

00001 #ifndef _PARAMFILE_H
00002 #define _PARAMFILE_H
00003 
00004 #include <string>
00005 #include <list>
00006 
00007 class ParamFile {
00008  public:
00009   ParamFile(const std::string&);
00010 
00011   static ParamFile* getInstance() {
00012     return _instance;
00013   }
00014   static void createInstance(const std::string& file) {
00015     _instance = new ParamFile(file);
00016   }
00017 
00018   void load(const std::string&);
00019 
00020   int getMaxSeqLen() const { return _maxSeqLen; }
00021   int getOverlapLen() const { return _overlapLen; }
00022   int getInternalExonLengthPenalty() const { return _internalExonLenPenalty; }
00023   int getIntronLengthPenalty() const { return _intronLenPenalty; }
00024   int getIgrLengthPenalty() const { return _igrLenPenalty; }
00025   int getMinIntronLength() const { return _minIntronLen; }
00026   int getMinIgrLength() const { return _minIgrLen; }
00027   int getAlignmentConnectionCutoff() const { return _minAlignmentConnectionCutoff; }
00028 
00029   double getIntronPenalty() const { return _intronPenalty; }
00030   double getIgrPenalty() const { return _igrPenalty; }
00031   double getInternalExonPenalty() const { return _internalExonPenalty; }
00032   
00033   const std::list<std::string>& getDonorList() const { return _donors; }
00034   const std::list<std::string>& getAcceptorList() const { return _acceptors; }
00035   
00036  private:
00037   void createDefault(const std::string&);
00038 
00039  private:
00040   int 
00041     _intronLenPenalty, _igrLenPenalty, _minIntronLen, _minIgrLen, _minAlignmentConnectionCutoff,
00042     _internalExonLenPenalty, _maxSeqLen, _overlapLen;
00043 
00044   double _intronPenalty, _igrPenalty, _internalExonPenalty;
00045 
00046   std::list<std::string> _donors;
00047   std::list<std::string> _acceptors;
00048 
00049   static ParamFile* _instance;
00050 };
00051 
00052 #endif // _PARAMFILE_H