00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef CGA_TOOLS_COMMAND_SNPDIFF_HPP_
00016 #define CGA_TOOLS_COMMAND_SNPDIFF_HPP_ 1
00017
00019
00020 #include "cgatools/core.hpp"
00021 #include "cgatools/command/Command.hpp"
00022
00023 namespace cgatools { namespace command {
00024
00025 class SnpDiff : public Command
00026 {
00027 public:
00028 SnpDiff(const std::string& name);
00029
00030 protected:
00031 int run(po::variables_map& vm);
00032
00033 private:
00034 std::string formatCount(uint32_t count, uint32_t total, bool fraction) const;
00035 void printMatchRow(std::ostream& out,
00036 const char* rowName,
00037 std::map<std::string,int>& matchTable,
00038 const std::vector< std::pair<std::string,std::string> >& matchClassNames,
00039 bool fraction) const;
00040 void printMatchTable(std::ostream& out,
00041 std::vector< std::map<std::string,int> >& stats,
00042 const std::vector< std::pair<std::string,std::string> >& matchClassNames,
00043 bool fraction) const;
00044 void printConcordanceRow(std::ostream& out,
00045 const char* rowName,
00046 const std::map<std::string,int>& matchTable,
00047 bool fraction,
00048 bool alleleConcordance) const;
00049 void printConcordanceTable(std::ostream& out,
00050 const std::vector< std::map<std::string,int> >& stats,
00051 bool fraction,
00052 bool alleleConcordance) const;
00053
00054 std::string referenceFileName_;
00055 std::string variantFileName_;
00056 std::string genotypesFileName_;
00057 std::string oPrefix_;
00058 std::string reports_;
00059 };
00060
00061 } }
00062
00063 #endif // CGA_TOOLS_COMMAND_SNPDIFF_HPP_