35 #ifndef MULTOVL_MULTIOVERLAP_HEADER
36 #define MULTOVL_MULTIOVERLAP_HEADER
57 #include "boost/operators.hpp"
58 #include "boost/serialization/vector.hpp"
79 typedef std::pair<unsigned int, unsigned int> uintpair_t;
80 typedef std::vector<uintpair_t> uintpairvec_t;
105 Filter(
unsigned int ovlen,
unsigned int minmult,
106 unsigned int maxmult,
bool checksoli,
bool intrack =
true);
120 bool accept_new_region(
unsigned int mrstart,
unsigned int mrend,
121 const ancregset_t& ancestors,
unsigned int& mult)
const;
125 static unsigned int distinct_track_count(
const ancregset_t& ancestors);
127 unsigned int _ovlen, _minmult, _maxmult;
128 bool _solitary, _intrack;
150 unsigned int total()
const {
return _total; }
165 const std::vector<int>::const_iterator& from,
166 const std::vector<int>::const_iterator& to
169 typedef std::map<std::string, unsigned int> histo_t;
175 typedef std::vector<MultiRegion> multiregvec_t;
204 unsigned int minmult = 1,
unsigned int maxmult = 0,
bool intrack =
true);
217 unsigned int minmult = 2,
unsigned int maxmult = 0);
222 const multiregvec_t&
overlaps()
const {
return _multiregions; }
232 multiregvec_t _multiregions;
235 friend class boost::serialization::access;
236 template <
class Archive>
237 void serialize(Archive& ar,
const unsigned int version)
239 ar & boost::serialization::base_object<multovl::MultiRegLimit>(*this);
247 #endif // MULTOVL_MULTIOVERLAP_HEADER
Counter & operator+=(const Counter &other)
Merge the contents of another Counter object into the calling object.
MultiOverlap()
Init to empty.
Definition: multioverlap.hh:180
std::multiset< AncestorRegion > ancregset_t
Definition: ancregion.hh:134
MultiOverlap(const Region ®ion, unsigned int trackid)
Init to contain a region and trackid.
Definition: multioverlap.hh:183
void count(const MultiRegion &mr)
Count update based on the ancestor IDs in /mr/.
Region representing multiple overlaps for file-based "multovl".
Definition: multiregion.hh:62
Definition: multireglimit.hh:64
Counter()
Default ctor.
Definition: multioverlap.hh:144
const multiregvec_t & overlaps() const
Definition: multioverlap.hh:222
Instances of the Region class represent regions on a sequence. They have first and last coordinates...
Definition: region.hh:65
unsigned int find_overlaps(unsigned int ovlen, unsigned int minmult=1, unsigned int maxmult=0, bool intrack=true)
unsigned int total() const
Return the total count.
Definition: multioverlap.hh:150
void overlap_stats(Counter &counter) const
Definition: multioverlap.hh:75
unsigned int find_unionoverlaps(unsigned int ovlen, unsigned int minmult=2, unsigned int maxmult=0)
std::string to_string() const
Collection of multiple region limits.
Definition: multioverlap.hh:139