86 state.m_TransSplicing = trans_splcing;
94 switch ( loc.
Which() ) {
177 state.m_PrevId.Reset();
253 state.m_PrevId && h &&
state.m_PrevId != h ) {
259 if ( pos1 >= 0 && pos2 >= 0 &&
abs(pos2-pos1) > 1 ) {
262 bool backw = pos2 < pos1;
264 bool backw2 =
IsReverse(strand) != minus2;
265 if ( backw1 == backw && backw2 == backw ) {
267 int dir = backw ? -1: 1;
268 for (
int pos = pos1+dir; pos != pos2; pos += dir ) {
279 state.m_PrevStrand = strand;
321 if ( it2 !=
end() && it1->second.IntersectingWith(it2->second) ) {
336 if ( it2 !=
end() && it1->second.GetOverlappingRange()
337 .IntersectingWith(it2->second.GetOverlappingRange()) ) {
431 AddSegment(it.GetRefSeqid(), it.GetRefMinusStrand());
bool IsReverse(ENa_strand s)
ENa_strand Reverse(ENa_strand s)
User-defined methods of the data storage class.
const CSeqMap & GetSeqMap(void) const
const TId & GetId(void) const
CHandleRange::TRange TRange
void AddLocation(const CSeq_loc &loc, ETransSplicing trans_splcing=eNoTransSplicing)
void AddRanges(const CSeq_id_Handle &h, const CHandleRange &hr)
bool TotalRangeIntersectingWith(const CHandleRangeMap &rmap) const
bool IntersectingWithMap(const CHandleRangeMap &rmap) const
void AddRange(const CSeq_id_Handle &h, const TRange &range, ENa_strand strand)
bool IntersectingWithLoc(const CSeq_loc &loc) const
CConstRef< CMasterSeqSegments > m_MasterSeq
TLocMap::const_iterator const_iterator
const_iterator end(void) const
void AddRange(TRange range, ENa_strand strand)
int AddSegment(const CSeq_id_Handle &id, bool minus_strand)
bool GetMinusStrand(int seg) const
list< CRef< CSeq_id > > TIds2
~CMasterSeqSegments(void)
vector< CSeq_id_Handle > TIds
int GetSegmentCount(void) const
void AddSegments(const CSeqMap &seq)
void AddSegmentIds(int idx, const TIds &ids)
void AddSegmentId(int idx, const CSeq_id_Handle &id)
int FindSeg(const CSeq_id_Handle &h) const
const CSeq_id_Handle & GetHandle(int seg) const
pair< CSeq_id_Handle, bool > TSeg
const CTSE_Info & GetTSE_Info(void) const
CConstRef< CBioseq_Info > FindMatchingBioseq(const CSeq_id_Handle &id) const
container_type::const_iterator const_iterator
const_iterator end() const
const_iterator find(const key_type &key) const
struct parameters_t * pb[]
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
CConstRef< C > ConstRef(const C *object)
Template function for conversion of const object pointer to CConstRef.
static TThisType GetEmpty(void)
static TThisType GetWhole(void)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
const TB & GetB(void) const
Get the B member data.
list< CRef< CSeq_interval > > Tdata
ENa_strand
strand of nucleic acid
TStrand GetStrand(void) const
Get the Strand member data.
const TPnt & GetPnt(void) const
Get the variant data.
TPoint GetPoint(void) const
Get the Point member data.
const TWhole & GetWhole(void) const
Get the variant data.
bool IsSetStrand(void) const
Check if a value has been assigned to Strand data member.
list< CRef< CSeq_loc > > Tdata
E_Choice Which(void) const
Which variant is currently selected.
const TId & GetId(void) const
Get the Id member data.
const TId & GetId(void) const
Get the Id member data.
TStrand GetStrand(void) const
Get the Strand member data.
const Tdata & Get(void) const
Get the member data.
const TPacked_pnt & GetPacked_pnt(void) const
Get the variant data.
const Tdata & Get(void) const
Get the member data.
const TEquiv & GetEquiv(void) const
Get the variant data.
list< CRef< CSeq_loc > > Tdata
vector< TSeqPos > TPoints
const TA & GetA(void) const
Get the A member data.
const TEmpty & GetEmpty(void) const
Get the variant data.
bool IsSetStrand(void) const
Check if a value has been assigned to Strand data member.
const TPoints & GetPoints(void) const
Get the Points member data.
const TInt & GetInt(void) const
Get the variant data.
const TMix & GetMix(void) const
Get the variant data.
bool IsSetB(void) const
other end may not be available Check if a value has been assigned to B data member.
const TPacked_int & GetPacked_int(void) const
Get the variant data.
const TBond & GetBond(void) const
Get the variant data.
@ e_not_set
No variant selected.
@ e_Equiv
equivalent sets of locations
@ e_Empty
to NULL one Seq-id in a collection
@ e_Feat
indirect, through a Seq-feat
range(_Ty, _Ty) -> range< _Ty >
CHandleRange::TRange TRange
ETransSplicing m_TransSplicing