00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef CGATOOLS_VARIANTS_PHASEDALLELE_HPP_
00016 #define CGATOOLS_VARIANTS_PHASEDALLELE_HPP_ 1
00017
00019
00020 #include "cgatools/core.hpp"
00021 #include "cgatools/variants/Call.hpp"
00022
00023 namespace cgatools { namespace variants {
00024
00026 class PhasedAllele
00027 {
00028 public:
00030 PhasedAllele()
00031 : pos_(1, 0)
00032 {
00033 }
00034
00036 void addCall(const Call& call, const reference::CrrFile& crr);
00037
00042 void addSequence(const Call& call, const std::string& sequence);
00043
00045 bool hasHapLink(const std::string& hapLink) const;
00046
00048 const std::string& allele() const
00049 {
00050 return allele_;
00051 }
00052
00055 const std::vector<uint32_t>& pos() const
00056 {
00057 return pos_;
00058 }
00059
00061 const std::vector<const Call*>& calls() const
00062 {
00063 return calls_;
00064 }
00065
00066 private:
00067 std::string allele_;
00068 std::vector<uint32_t> pos_;
00069 std::vector<const Call*> calls_;
00070 };
00071
00072 } }
00073
00074 #endif // CGATOOLS_VARIANTS_PHASEDALLELE_HPP_