Antonie
|
00001 #pragma once 00002 #include <string> 00003 #include <vector> 00004 00006 struct GeneAnnotation 00007 { 00008 std::string tag; 00009 std::string type; 00010 std::string name; 00011 bool strand; 00012 uint64_t startPos; 00013 uint64_t stopPos; 00014 }; 00015 00016 inline bool operator<(const GeneAnnotation&A, const GeneAnnotation& B) 00017 { 00018 return A.startPos < B.startPos; 00019 } 00020 00022 class GeneAnnotationReader 00023 { 00024 public: 00025 GeneAnnotationReader(const std::string& fname); 00026 std::vector<GeneAnnotation> lookup(uint64_t pos); 00027 uint64_t size() const { return d_gas.size(); } 00028 private: 00029 typedef std::vector<GeneAnnotation> gas_t; 00030 gas_t d_gas; 00031 }; 00032