00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef CGA_TOOLS_COMMAND_MAP2SAM_HPP_
00016 #define CGA_TOOLS_COMMAND_MAP2SAM_HPP_ 1
00017
00019
00020 #include "cgatools/core.hpp"
00021 #include "cgatools/command/Command.hpp"
00022 #include "cgatools/util/RangeSet.hpp"
00023
00024 namespace cgatools { namespace command {
00025
00026 class Map2SamConfig {
00027 public:
00028 Map2SamConfig()
00029 :recordsFrom_(0)
00030 ,recordsTo_(std::numeric_limits<size_t>::max())
00031 ,skipNotMapped_(false)
00032 ,addMateSequenceAndScore_(false)
00033 ,mateSvCandidates_(false)
00034 {}
00035
00036 size_t recordsFrom_;
00037 size_t recordsTo_;
00038 bool skipNotMapped_;
00039 bool addMateSequenceAndScore_;
00040 bool mateSvCandidates_;
00041
00042 util::RangeSet::StringVector exportRegions_;
00043
00044 std::string inputReadsFileName_;
00045 std::string inputMappingsFileName_;
00046 std::string inputLibFileName_;
00047 std::string referenceFileName_;
00048 std::string outputFileName_;
00049
00050 std::string commandLine_;
00051 };
00052
00053 class Map2Sam : public Command
00054 {
00055 public:
00056 Map2Sam(const std::string& name);
00057
00058 protected:
00059 int run(po::variables_map& vm);
00060
00061 private:
00062 Map2SamConfig config_;
00063 };
00064
00065 } }
00066
00067 #endif // CGA_TOOLS_COMMAND_MAP2SAM_HPP_