00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef CGATOOLS_VARIANTS_ALLELE_HPP_
00016 #define CGATOOLS_VARIANTS_ALLELE_HPP_ 1
00017
00019
00020 #include "cgatools/core.hpp"
00021 #include "cgatools/variants/Call.hpp"
00022
00023 #include <string>
00024 #include <vector>
00025
00026 namespace cgatools { namespace variants {
00027
00028 class Locus;
00029
00032 class Allele
00033 {
00034 public:
00037 Allele()
00038 : locus_(0)
00039 {
00040 }
00041
00044 Allele(const Locus* locus)
00045 : locus_(locus)
00046 {
00047 }
00048
00051 const std::vector<size_t>& getCallOffsets() const
00052 {
00053 return callOffsets_;
00054 }
00055
00056 const Call& getCall(size_t index) const;
00057
00060 std::string getAlleleSequence() const;
00061
00064 std::string getRefSequence() const;
00065
00068 const std::string& getHapLink() const;
00069
00072 std::string getXRef() const;
00073
00075 int32_t getMinVarScoreVAF() const;
00076
00078 int32_t getMinVarScoreEAF() const;
00079
00081 Call::VarQuality getMinVarQuality() const;
00082
00085 bool hasNoCalls() const;
00086
00088 void clearCalls();
00089
00091 void addCallOffset(size_t offset);
00092
00094 void setLocus(const Locus* locus);
00095
00096 private:
00097 const Locus* locus_;
00098 std::vector<size_t> callOffsets_;
00099 };
00100
00101 } }
00102
00103 #endif // CGATOOLS_VARIANTS_ALLELE_HPP_