00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef CGA_TOOLS_COMMAND_JUNCTIONDIFF_HPP_
00016 #define CGA_TOOLS_COMMAND_JUNCTIONDIFF_HPP_ 1
00017
00019
00020 #include "cgatools/core.hpp"
00021 #include "cgatools/command/Command.hpp"
00022
00023 namespace cgatools { namespace command {
00024
00025 class JunctionDiffConfig {
00026 public:
00027 JunctionDiffConfig()
00028 : calcFileStat_(false),
00029 junctionFiles_(2),
00030 scoreThresholds_(2),
00031 distanceTolerance_(0)
00032 {}
00033
00034 bool calcFileStat_;
00035 std::string referenceFileName_;
00036 std::string outPrefix_;
00037 std::vector<std::string> junctionFiles_;
00038 std::vector<size_t> scoreThresholds_;
00039 uint32_t distanceTolerance_;
00040 uint32_t minJunctionLength_;
00041 bool outputVcf_;
00042 size_t vcfFilterScoreThreshold_;
00043 size_t vcfFilterSideLength_;
00044 bool vcfNormalPriorityOutput_;
00045 };
00046
00047 class JunctionDiff : public Command
00048 {
00049 public:
00050 JunctionDiff(const std::string& name);
00051
00052 protected:
00053 int run(po::variables_map& vm);
00054
00055 private:
00056 JunctionDiffConfig config_;
00057 };
00058
00059 } }
00060
00061 #endif // CGA_TOOLS_COMMAND_JUNCTIONDIFF_HPP_