1 #ifndef EQUIV_RANGE__HPP
2 #define EQUIV_RANGE__HPP
127 void CalcMatches(objects::CBioseq_Handle QueryHandle,
128 objects::CBioseq_Handle SubjtHandle,
void CalcMatches(objects::CBioseq_Handle QueryHandle, objects::CBioseq_Handle SubjtHandle, TEquivList &Equivs)
CEquivRange SliceOnSubjt(const CEquivRange &Original, const CRange< TSeqPos > &pSubjt)
bool MergeAbuttings(const TEquivList &Originals, TEquivList &Merges)
void ExtractRangesFromSeqAlign(const objects::CSeq_align &Alignment, TEquivList &Equivs)
CEquivRange Merge(const CEquivRange &First, const CEquivRange &Second)
CEquivRange SliceOnQuery(const CEquivRange &Original, const CRange< TSeqPos > &pQuery)
bool SplitIntersections(const TEquivList &Originals, TEquivList &Splits)
ERelative CalcRelative(const CEquivRange &Check) const
bool AbuttingWith(const CEquivRange &Other) const
ERelative CalcRelativeDuo(const CEquivRange &Check) const
static TSeqPos Distance(const CEquivRange &A, const CEquivRange &B)
objects::ENa_strand Strand
vector< TSeqPos > MisMatchSubjtPoints
bool IntersectingWith(const CEquivRange &Other) const
bool s_SortEquivBySubjt(const CEquivRange &A, const CEquivRange &B)
bool operator<(const CEquivRange &A, const CEquivRange &B)
string s_RelToStr(CEquivRange::ERelative rel)
vector< CEquivRange > TEquivList
bool operator==(const CEquivRange &A, const CEquivRange &B)
CNcbiOstream & operator<<(CNcbiOstream &out, const CEquivRange &range)
std::ofstream out("events_result.xml")
main entry point for tests
unsigned int TSeqPos
Type for sequence locations and lengths.
bool NotEmpty(void) const
bool AbuttingWith(const TThisType &r) const
bool IntersectingWith(const TThisType &r) const
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_SCOPE(ns)
Define a new scope.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
ENa_strand
strand of nucleic acid
range(_Ty, _Ty) -> range< _Ty >
Magic spell ;-) needed for some weird compilers... very empiric.