00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef CGA_TOOLS_COMMAND_CALLDIFF_HPP_
00016 #define CGA_TOOLS_COMMAND_CALLDIFF_HPP_ 1
00017
00019
00020 #include "cgatools/core.hpp"
00021 #include "cgatools/command/Command.hpp"
00022 #include "cgatools/variants/Locus.hpp"
00023 #include "cgatools/variants/CallDiffResult.hpp"
00024
00025 namespace cgatools { namespace command {
00026
00027 class SomaticScoreCalc;
00028
00029 class CallDiff : public Command
00030 {
00031 public:
00032 CallDiff(const std::string& name);
00033
00034 protected:
00035 void addOptions(po::options_description& options,
00036 po::positional_options_description& positionalOptions);
00037
00038 int run(po::variables_map& vm);
00039
00040 private:
00041
00042 typedef boost::array< std::map<std::string, std::map<
00043 std::vector<variants::cdmt::MatchType>, int> >, 2 > LocusStats;
00044
00045
00046 typedef std::map< std::vector<variants::cdmt::MatchType>,int> SuperlocusStats;
00047
00048
00049 typedef std::map< uint32_t, std::vector<variants::cdmt::MatchType> > LocusDiffClassStore;
00050
00051 std::string getClassification(
00052 const variants::Locus& locus, const reference::CrrFile& crr) const;
00053 void dumpLocusStats(std::ostream& out,
00054 LocusStats& locusStats,
00055 bool pct) const;
00056 void dumpSuperlocusStats(std::ostream& out,
00057 SuperlocusStats& superlocusStats) const;
00058 void writeVariantOutput(const reference::CrrFile& crr,
00059 const std::string& inpFn, const std::string& outFn,
00060 const LocusDiffClassStore& ldc,
00061 SomaticScoreCalc* somatic) const;
00062
00063 std::string referenceFileName_;
00064 std::string variantFileNameA_;
00065 std::string variantFileNameB_;
00066 std::string oPrefix_;
00067 std::string reports_;
00068 size_t extend3Mers_;
00069 size_t extendBases_;
00070 size_t statsColumnCount_;
00071 size_t maxHypothesisCount_;
00072 bool noReferenceCoverValidation_;
00073 std::string exportRootA_;
00074 std::string exportRootB_;
00075 };
00076
00077 } }
00078
00079 #endif // CGA_TOOLS_COMMAND_CALLDIFF_HPP_