00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef CGATOOLS_CGDATA_GENOMEMETADATA_HPP_
00016 #define CGATOOLS_CGDATA_GENOMEMETADATA_HPP_ 1
00017
00019
00020 #include "cgatools/core.hpp"
00021 #include <boost/noncopyable.hpp>
00022 #include <boost/filesystem.hpp>
00023 #include <boost/regex.hpp>
00024
00025 namespace cgatools { namespace cgdata {
00026
00027 class GenomeMetadata : boost::noncopyable
00028 {
00029 public:
00030 GenomeMetadata(const std::string& root);
00031
00032 std::string getEvidenceIntervalsFileName(const std::string& chromName) const;
00033 std::string getEvidenceDnbsFileName(const std::string& chromName) const;
00034 std::string getReferenceSupportFileName(const std::string& chromName) const;
00035 std::string getGeneFileName() const;
00036 std::string getNcRNAFileName() const;
00037 std::string getCnvSegmentsFileName() const;
00038 std::string getGenomeReference() const;
00039 int getFormatVersion() const;
00040
00041 private:
00042 boost::filesystem::path root_, asmDir_, asmRefDir_, asmEvidenceDir_;
00043 std::string asmId_;
00044 };
00045
00047 bool findFiles( boost::filesystem::path const & directory,
00048 std::string const & filename,
00049 std::vector<boost::filesystem::path> & filesFound,
00050 bool recursive = false,
00051 bool includeDir = false,
00052 boost::regex_constants::syntax_option_type regExOptions = boost::regex_constants::basic);
00053
00054 } }
00055
00056 #endif // CGATOOLS_CGDATA_GENOMEMETADATA_HPP_