69 : m_Src_id_Handle(src_id),
74 m_Dst_id_Handle(dst_id),
75 m_Dst_loc_Empty(&master_loc_empty),
77 m_PartialHasUnconvertedId(
false),
79 m_LastType(eMappedObjType_not_set),
95 : m_Src_id_Handle(src_id),
100 m_Dst_id_Handle(dst_id),
101 m_Dst_loc_Empty(&master_loc_empty),
103 m_PartialHasUnconvertedId(
false),
105 m_LastType(eMappedObjType_not_set),
151 TRange overlap = dst_rg & cvt_src_rg;
209 if ( fuzz.
IsLim() ) {
337 if ( src_pos < m_Src_from || src_pos >
m_Src_to ) {
367 bool partial_from =
false, partial_to =
false;
380 if ( src_from > src_to ) {
394 swap(partial_from, partial_to);
398 if ( partial_from ) {
417 "Wrong last location type");
428 "Wrong last location type");
439 "Wrong last location type");
510 dst_strand = src_strand;
515 dst_strand =
Reverse(src_strand);
523 dst_int.
SetTo(dst_to);
524 dst_mix.push_back(dst_loc);
575 bool last_truncated =
false;
578 if ( !dst_ints && !dst_mix ) {
583 if ( last_truncated &&
590 mix_loc->
SetInt(*dst_int);
591 dst_mix->push_back(mix_loc);
594 dst_ints->push_back(dst_int);
596 last_truncated =
false;
599 if (last_truncated)
continue;
605 dst_mix->push_back(null_loc);
610 last_truncated =
true;
653 dst_mix->push_back(null_loc);
660 mix_loc->
SetPnt().SetPoint(dst_pos);
662 mix_loc->
SetPnt().SetStrand(dst_strand);
665 mix_loc->
SetPnt().SetFuzz(*dst_fuzz);
681 dst_pnts->push_back(dst_pos);
691 if ( src_mix.empty() ) {
695 if ( !first_loc.
IsInt() ) {
705 src_from = first_int.
GetFrom();
708 if ( !loc.
IsInt() ) {
720 if ( strand != src_strand ) {
726 if ( to < from || from < prev_pos || to >
m_Src_to ) {
735 src_to = first_int.
GetTo();
738 if ( !loc.
IsInt() ) {
750 if ( strand != src_strand ) {
756 if ( to < from || to > prev_pos || from <
m_Src_from ) {
761 src_from = prev_pos+1;
766 dst_strand = src_strand;
771 dst_strand =
Reverse(src_strand);
797 bool last_truncated =
false;
802 if ( last_truncated &&
807 dst_mix->push_back(dst_loc);
808 last_truncated =
false;
811 if (last_truncated)
continue;
816 dst_mix->push_back(null_loc);
821 last_truncated =
true;
845 dst_equiv->push_back(dst_loc);
861 if ( src_bond.
IsSetB() ) {
862 dst_bond->
SetB().Assign(src_bond.
GetB());
865 if ( src_bond.
IsSetB() ) {
870 dst_bond->
SetA().Assign(src_bond.
GetA());
886 switch ( src.
Which() ) {
891 _ASSERT(
"this cannot happen" && 0);
962 "Unsupported location type");
992 mapped_feat->
SetData(*new_data);
1049 mapped_cbs.push_back(cb);
1093 mapped_feat->
SetData().SetRna().SetPseudo(
1097 mapped_feat->
SetData().SetRna().ResetPseudo();
1099 mapped_feat->
SetData().SetRna().SetExt().SetTRNA().SetAa(
1102 mapped_feat->
SetData().SetRna().SetExt().SetTRNA().SetCodon() =
1106 mapped_feat->
SetData().SetRna().SetExt().SetTRNA().ResetCodon();
1114 .SetRna().SetExt().SetTRNA().SetAnticodon(*ac_loc);
1118 .SetRna().SetExt().SetTRNA().ResetAnticodon();
1178 switch ( obj.
Which() ) {
1195 orig_feat = created_feat;
1207 if ( mapped_feat ) {
1242 orig_loc = created_loc;
1245 Convert(*orig_loc, mapped_loc);
1276 switch ( obj.
Which() ) {
1293 orig_feat = created_feat;
1305 if ( mapped_feat ) {
1345 orig_loc = created_loc;
1348 Convert(*orig_loc, mapped_loc);
1428 return &loc->
SetMix().Set();
1434 switch (loc->
Which()) {
1439 dst_mix->push_back(mix_loc);
1455 dst_mix->push_back(mix_loc);
1460 dst_mix->push_back(loc);
1477 m_PartialHasUnconvertedId(
false),
1478 m_TotalRange(
TRange::GetEmpty()),
1486 unsigned int loc_index)
1497 x_Add(cvt, loc_index);
1502 unsigned int loc_index)
1516 unsigned int loc_index)
1524 if ( ranges != index_iter->second.end() ) {
1525 return ranges->second.begin(
TRange(from, to));
1554 mapped_feat->
SetData(*new_data);
1604 Convert((*it)->GetLoc(), cb_loc, 0);
1610 mapped_cbs.push_back(cb);
1649 mapped_feat->
SetData().SetRna().SetPseudo(
1653 mapped_feat->
SetData().SetRna().ResetPseudo();
1655 mapped_feat->
SetData().SetRna().SetExt().SetTRNA().SetAa(
1658 mapped_feat->
SetData().SetRna().SetExt().SetTRNA().SetCodon() =
1662 mapped_feat->
SetData().SetRna().SetExt().SetTRNA().ResetCodon();
1665 Convert(src_anticodon, ac_loc, 0);
1670 .SetRna().SetExt().SetTRNA().SetAnticodon(*ac_loc);
1674 .SetRna().SetExt().SetTRNA().ResetAnticodon();
1730 switch ( obj.
Which() ) {
1735 unsigned int loc_index = 0;
1744 Convert(*src_loc, mapped_loc, loc_index);
1769 if ( mapped_feat ) {
1778 unsigned int loc_index)
1783 for ( ; mit; ++mit) {
1802 struct FConversions_Less
1819 return (*
this)(*cvt1, *cvt2);
1823 struct FConversions_ReverseLess
1840 return (*
this)(*cvt1, *cvt2);
1844 struct FConversions_Equal
1855 return (*
this)(*cvt1, *cvt2);
1863 unsigned int loc_index)
1870 typedef vector< CRef<CSeq_loc_Conversion> > TConversions;
1874 for ( ; mit; ++mit) {
1875 cvts.push_back(mit->second);
1877 if ( revert_order ) {
1878 reverse(cvts.begin(), cvts.end());
1879 stable_sort(cvts.begin(), cvts.end(), FConversions_ReverseLess());
1880 cvts.erase(unique(cvts.begin(), cvts.end(), FConversions_Equal()),
1884 stable_sort(cvts.begin(), cvts.end(), FConversions_Less());
1885 cvts.erase(unique(cvts.begin(), cvts.end(), FConversions_Equal()),
1897 if ( revert_order ) {
1898 if (last_int && cvt->
GetSrc_to() == last_to - 1) {
1907 if (last_int && cvt->
GetSrc_from() == last_to + 1) {
1916 ints.push_back(mapped);
1929 if (ints.size() > 1) {
1932 else if (ints.size() == 1) {
1933 dst->
SetInt(**ints.begin());
1945 unsigned int loc_index)
1953 bool last_truncated =
false;
1958 if ( last_truncated &&
1964 dst_mix->push_back(dst_int);
1967 if ( dst_int->
IsInt() ) {
1971 dst_ints->splice(dst_ints->end(),
1977 dst_mix->push_back(dst_int);
1982 if (last_truncated)
continue;
1988 dst_mix->push_back(null_loc);
1996 last_truncated = !mapped;
2004 unsigned int loc_index)
2017 bool mapped =
false;
2023 for ( ; mit; ++mit) {
2036 locs.push_back(pnt);
2051 locs.push_back(null_loc);
2062 unsigned int loc_index)
2069 bool last_truncated =
false;
2072 if (
Convert(**
i, dst_loc, loc_index) ) {
2074 if ( last_truncated &&
2079 dst_mix.push_back(dst_loc);
2081 last_truncated =
false;
2084 if (last_truncated)
continue;
2088 dst_mix.push_back(null_loc);
2093 last_truncated =
true;
2103 unsigned int loc_index)
2111 if (
Convert(**
i, dst_loc, loc_index) ||
2117 dst_equiv.push_back(dst_loc);
2128 unsigned int loc_index)
2143 for ( ; mit && !pntA; ++mit) {
2153 if ( src_bond.
IsSetB() ) {
2158 for ( ; mit && !pntB; ++mit) {
2169 if ( pntA || pntB ) {
2171 dst_bond.
SetA(*pntA);
2174 dst_bond.
SetA().Assign(src_bond.
GetA());
2177 dst_bond.
SetB(*pntB);
2179 else if ( src_bond.
IsSetB() ) {
2180 dst_bond.
SetB().Assign(src_bond.
GetB());
2190 unsigned int loc_index)
2194 switch ( src.
Which() ) {
2199 _ASSERT(
"this cannot happen" && 0);
2213 for ( ; mit; ++mit) {
2229 whole_int.
SetId().Assign(src_id);
2275 "Unsupported location type");
static CRef< CScope > m_Scope
User-defined methods of the data storage class.
User-defined methods of the data storage class.
bool IsReverse(ENa_strand s)
ENa_strand Reverse(ENa_strand s)
@ eExtreme_Biological
5' and 3'
User-defined methods of the data storage class.
User-defined methods of the data storage class.
Annotation iterators exceptions.
void InitializeMappedSeq_feat(const CSeq_feat &src, CSeq_feat &dst) const
void SetMappedSeq_align_Cvts(CSeq_loc_Conversion_Set &cvts)
void SetMappedPartial_to(void)
void SetMappedSeq_id(CSeq_id &id)
void SetTotalRange(const TRange &range)
void SetProduct(bool product)
void SetGraphRanges(CGraphRanges *ranges)
void SetMappedPartial_from(void)
EMappedObjectType GetMappedObjectType(void) const
void SetMappedSeq_loc(CSeq_loc &loc)
void SetMappedConverstion(CSeq_loc_Conversion &cvt)
void SetMappedSeq_feat(CSeq_feat &feat)
void SetMappedStrand(ENa_strand strand)
bool IsPartial(void) const
void SetPartial(bool value)
TAnnotType Which(void) const
const CSeq_annot_Info & GetSeq_annot_Info(void) const
bool IsRegular(void) const
const CSeq_feat * GetFeatFast(void) const
TFeatType GetFeatType(void) const
const CSeq_graph * GetGraphFast(void) const
const CAnnotObject_Info & GetAnnotObject_Info(void) const
CAnnotMapping_Info & GetMappingInfo(void) const
Helper class for mapping graphs.
@RNA_ref.hpp User-defined methods of the data storage class.
CBioseq_Handle GetBioseqHandle(const CSeq_id_Handle &id, int get_flag)
void SetCdregion(TCdregion &v)
CRef< CSeq_align > GetDstAlign(void) const
Create mapped alignment.
void Convert(CSeq_loc_Conversion_Set &cvts)
void UpdateTableFeatLocation(CRef< CSeq_loc > &seq_loc, CRef< CSeq_point > &seq_point, CRef< CSeq_interval > &seq_interval, const CAnnotObject_Info &feat_info) const
void UpdateTableFeatProduct(CRef< CSeq_loc > &seq_loc, CRef< CSeq_point > &seq_point, CRef< CSeq_interval > &seq_interval, const CAnnotObject_Info &feat_info) const
void UpdateTableFeat(CRef< CSeq_feat > &seq_feat, CRef< CSeq_point > &seq_point, CRef< CSeq_interval > &seq_interval, const CAnnotObject_Info &feat_info) const
const CSeqTableInfo & GetTableInfo(void) const
namespace ncbi::objects::
bool IsPartialStart(ESeqLocExtremes ext) const
TSeqPos GetLength(void) const
void SetPartialStart(bool val, ESeqLocExtremes ext)
void SetPartialStop(bool val, ESeqLocExtremes ext)
bool ConvertPacked_int(const CSeq_loc &src, CRef< CSeq_loc > &dst, unsigned int loc_index)
void ConvertCdregion(CAnnotObject_Ref &ref, const CSeq_feat &orig_feat, CRef< CSeq_feat > &mapped_feat)
bool ConvertEquiv(const CSeq_loc &src, CRef< CSeq_loc > &dst, unsigned int loc_index)
unsigned int m_SingleIndex
bool ConvertPoint(const CSeq_point &src, CRef< CSeq_loc > &dst, unsigned int loc_index)
bool ConvertMix(const CSeq_loc &src, CRef< CSeq_loc > &dst, unsigned int loc_index)
TSeq_id_Handles m_Dst_id_Handles
void Add(CSeq_loc_Conversion &cvt, unsigned int loc_index)
void ConvertFeature(CAnnotObject_Ref &ref, const CSeq_feat &orig_feat, CRef< CSeq_feat > &mapped_feat)
bool ConvertPacked_pnt(const CSeq_loc &src, CRef< CSeq_loc > &dst, unsigned int loc_index)
TRangeIterator BeginRanges(CSeq_id_Handle id, TSeqPos from, TSeqPos to, unsigned int loc_index)
TConvByIndex m_CvtByIndex
void ConvertRna(CAnnotObject_Ref &ref, const CSeq_feat &orig_feat, CRef< CSeq_feat > &mapped_feat)
bool ConvertBond(const CSeq_loc &src, CRef< CSeq_loc > &dst, unsigned int loc_index)
void x_Add(CSeq_loc_Conversion &cvt, unsigned int loc_index)
CSeq_loc_Conversion_Set(CHeapScope &scope)
CRef< CGraphRanges > m_GraphRanges
bool m_PartialHasUnconvertedId
void Convert(CAnnotObject_Ref &obj, CSeq_loc_Conversion::ELocationType loctype)
bool ConvertInterval(const CSeq_interval &src, CRef< CSeq_loc > &dst, unsigned int loc_index)
TRangeMap::iterator TRangeIterator
CRef< CSeq_loc_Conversion > m_SingleConv
void ConvertMix(const CSeq_loc &src, CRef< CSeq_loc > &dst, EConvertFlag flag=eCnvDefault)
bool m_PartialHasUnconvertedId
void ConvertFeature(CAnnotObject_Ref &ref, const CSeq_feat &orig_feat, CRef< CSeq_feat > &mapped_feat)
CSeq_id_Handle m_Src_id_Handle
CRef< CSeq_point > GetDstPoint(void)
bool HasUnconvertedId(void) const
bool Convert(const CSeq_loc &src, CRef< CSeq_loc > &dst, EConvertFlag flag=eCnvDefault)
CRef< CSeq_loc_mix > GetDstMix(void)
bool IsPartial(void) const
void ConvertPacked_int(const CSeq_loc &src, CRef< CSeq_loc > &dst)
void MakeDstMix(CSeq_loc_mix &dst, const CSeq_loc_mix &src) const
CConstRef< CInt_fuzz > m_DstFuzz_to
CRef< CSeq_loc > m_Dst_loc_Empty
void ConvertRna(CAnnotObject_Ref &ref, const CSeq_feat &orig_feat, CRef< CSeq_feat > &mapped_feat)
bool ConvertInterval(TSeqPos src_from, TSeqPos src_to, ENa_strand src_strand)
CConstRef< CInt_fuzz > ReverseFuzz(const CInt_fuzz &fuzz) const
~CSeq_loc_Conversion(void)
void ResetKeepPartial(void)
void ConvertEquiv(const CSeq_loc &src, CRef< CSeq_loc > &dst)
const TRange & GetTotalRange(void) const
TSeqPos GetSrc_from(void) const
@ eMappedObjType_Seq_loc_mix
@ eMappedObjType_Seq_point
@ eMappedObjType_Seq_interval
static CSeq_loc_mix::Tdata * s_ConvertToMix(CRef< CSeq_loc > &loc)
void ConvertSimpleLoc(const CSeq_id_Handle &src_id, const CRange< TSeqPos > src_range, const SAnnotObject_Index &src_index)
void SetMappedLocation(CAnnotObject_Ref &ref, ELocationType loctype)
bool GoodSrcId(const CSeq_id &id)
EMappedObjectType m_LastType
void CheckDstInterval(void)
ENa_strand ConvertStrand(ENa_strand strand) const
bool IsSpecialLoc(void) const
CSeq_id_Handle m_Dst_id_Handle
void ConvertPacked_pnt(const CSeq_loc &src, CRef< CSeq_loc > &dst)
TPartialFlag m_PartialFlag
void ConvertCdregion(CAnnotObject_Ref &ref, const CSeq_feat &orig_feat, CRef< CSeq_feat > &mapped_feat)
CConstRef< CInt_fuzz > m_DstFuzz_from
TSeqPos GetSrc_to(void) const
void CombineWith(CSeq_loc_Conversion &cvt)
TRange GetSrcRange(void) const
bool ConvertPoint(TSeqPos src_pos, ENa_strand src_strand)
bool ConvertSimpleMix(const CSeq_loc &src)
void SetDstLoc(CRef< CSeq_loc > &loc)
TSeqPos ConvertPos(TSeqPos src_pos)
void SetConversion(const CSeqMap_CI &seg)
CConstRef< CSeq_loc > m_SrcLoc
void ConvertBond(const CSeq_loc &src, CRef< CSeq_loc > &dst)
const CSeq_id_Handle & GetDst_id_Handle(void) const
CSeq_loc_Conversion(CSeq_loc &master_loc_empty, const CSeq_id_Handle &dst_id, const CSeqMap_CI &seg, const CSeq_id_Handle &src_id, CScope *scope)
const CSeq_id_Handle & GetSrc_id_Handle(void) const
CRef< CSeq_interval > GetDstInterval(void)
CRef< CGraphRanges > m_GraphRanges
container_type::iterator iterator
const_iterator end() const
const_iterator find(const key_type &key) const
iterator_bool insert(const value_type &val)
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
const TSeqPos kInvalidSeqPos
Define special value for invalid sequence position.
void swap(NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair1, NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair2)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
@ eShallow
Assign/Compare pointers only.
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
void SetPacked_int(TPacked_int &v)
void SetPacked_pnt(TPacked_pnt &v)
bool IsPartialStart(ESeqLocExtremes ext) const
check start or stop of location for e_Lim fuzz
const_iterator begin(void) const
void SetPartialStart(bool val, ESeqLocExtremes ext)
set / remove e_Lim fuzz on start or stop (lt/gt - indicating partial interval)
void SetPartialStop(bool val, ESeqLocExtremes ext)
void SetNull(void)
Override all setters to incorporate cache invalidation.
bool IsPartialStop(ESeqLocExtremes ext) const
void AddRange(const TRange &rg)
TSeqPos GetOffset(void) const
void IncOffset(TSeqPos inc)
static bool GetNonMappingAsNull(void)
void SetOffset(TSeqPos offset)
@ eGetBioseq_All
Search bioseq, load if not loaded yet.
TSeqPos GetBioseqLength(void) const
TSeqPos GetRefPosition(void) const
bool GetRefMinusStrand(void) const
TSeqPos GetPosition(void) const
return position of current segment in sequence
TSeqPos GetLength(void) const
return length of current segment
CConstRef< C > ConstRef(const C *object)
Template function for conversion of const object pointer to CConstRef.
CRef< C > Ref(C *object)
Helper functions to get CRef<> and CConstRef<> objects.
void Reset(void)
Reset reference object.
void Reset(void)
Reset reference object.
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty – pointing to an object and has a non-null value.
TObjectType * GetPointerOrNull(void) THROWS_NONE
Get pointer value.
TObjectType & GetNCObject(void) const
Get object.
position_type GetLength(void) const
TParent::value_type value_type
iterator insert(const value_type &value)
position_type GetTo(void) const
position_type GetFrom(void) const
static TThisType GetEmpty(void)
TThisType & SetLength(position_type length)
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.
void SetFrom(TFrom value)
Assign a value to From data member.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
bool IsLim(void) const
Check if variant Lim is selected.
TLim GetLim(void) const
Get the variant data.
TLim & SetLim(void)
Select the variant.
@ eLim_tl
space to left of position
@ eLim_tr
space to right of position
const TAnticodon & GetAnticodon(void) const
Get the Anticodon member data.
TType GetType(void) const
Get the Type member data.
const TAa & GetAa(void) const
Get the Aa member data.
const TCodon & GetCodon(void) const
Get the Codon member data.
bool IsTRNA(void) const
Check if variant TRNA is selected.
bool IsSetAnticodon(void) const
location of anticodon Check if a value has been assigned to Anticodon data member.
bool IsSetExt(void) const
generic fields for ncRNA, tmRNA, miscRNA Check if a value has been assigned to Ext data member.
bool IsSetCodon(void) const
codon(s) as in Genetic-code Check if a value has been assigned to Codon data member.
TPseudo GetPseudo(void) const
Get the Pseudo member data.
bool IsSetPseudo(void) const
Check if a value has been assigned to Pseudo data member.
const TExt & GetExt(void) const
Get the Ext member data.
const TTRNA & GetTRNA(void) const
Get the variant data.
void SetAa(TAa &value)
Assign a value to Aa data member.
bool IsSetOrf(void) const
just an ORF ? Check if a value has been assigned to Orf data member.
void SetStops(TStops value)
Assign a value to Stops data member.
void ResetMismatch(void)
Reset Mismatch data member.
E_Choice Which(void) const
Which variant is currently selected.
bool IsSetCode(void) const
genetic code used Check if a value has been assigned to Code data member.
TGaps GetGaps(void) const
Get the Gaps member data.
bool IsCdregion(void) const
Check if variant Cdregion is selected.
TStops GetStops(void) const
Get the Stops member data.
TOrf GetOrf(void) const
Get the Orf member data.
void ResetCode(void)
Reset Code data member.
void ResetGaps(void)
Reset Gaps data member.
void SetCode(TCode &value)
Assign a value to Code data member.
const TLocation & GetLocation(void) const
Get the Location member data.
bool IsSetConflict(void) const
conflict Check if a value has been assigned to Conflict data member.
list< CRef< CCode_break > > TCode_break
TFrame GetFrame(void) const
Get the Frame member data.
const TData & GetData(void) const
Get the Data member data.
const TCode & GetCode(void) const
Get the Code member data.
void ResetFrame(void)
Reset Frame data member.
void ResetConflict(void)
Reset Conflict data member.
void SetData(TData &value)
Assign a value to Data data member.
TCode_break & SetCode_break(void)
Assign a value to Code_break data member.
bool IsSetStops(void) const
number of stop codons on above Check if a value has been assigned to Stops data member.
const TCdregion & GetCdregion(void) const
Get the variant data.
TMismatch GetMismatch(void) const
Get the Mismatch member data.
void SetLoc(TLoc &value)
Assign a value to Loc data member.
const TProduct & GetProduct(void) const
Get the Product member data.
void SetGaps(TGaps value)
Assign a value to Gaps data member.
void SetConflict(TConflict value)
Assign a value to Conflict data member.
bool IsSetGaps(void) const
number of gaps on conflict/except Check if a value has been assigned to Gaps data member.
void ResetOrf(void)
Reset Orf data member.
const TRna & GetRna(void) const
Get the variant data.
void ResetStops(void)
Reset Stops data member.
const TCode_break & GetCode_break(void) const
Get the Code_break member data.
void SetMismatch(TMismatch value)
Assign a value to Mismatch data member.
bool IsRna(void) const
Check if variant Rna is selected.
bool IsSetMismatch(void) const
number of mismatches on above Check if a value has been assigned to Mismatch data member.
void SetOrf(TOrf value)
Assign a value to Orf data member.
void SetFrame(TFrame value)
Assign a value to Frame data member.
TConflict GetConflict(void) const
Get the Conflict member data.
bool IsSetCode_break(void) const
individual exceptions Check if a value has been assigned to Code_break data member.
bool IsSetFrame(void) const
Check if a value has been assigned to Frame data member.
void SetTo(TTo value)
Assign a value to To data member.
const TFuzz_from & GetFuzz_from(void) const
Get the Fuzz_from member data.
void SetPoint(TPoint value)
Assign a value to Point data member.
void SetId(TId &value)
Assign a value to Id data member.
void SetA(TA &value)
Assign a value to A data member.
bool IsMix(void) const
Check if variant Mix is selected.
const TB & GetB(void) const
Get the B member data.
list< CRef< CSeq_interval > > Tdata
ENa_strand
strand of nucleic acid
const Tdata & Get(void) const
Get the member data.
TStrand GetStrand(void) const
Get the Strand member data.
const TId & GetId(void) const
Get the Id member data.
const TPnt & GetPnt(void) const
Get the variant data.
TPoint GetPoint(void) const
Get the Point member data.
const TFuzz_to & GetFuzz_to(void) const
Get the Fuzz_to member data.
const TWhole & GetWhole(void) const
Get the variant data.
void SetId(TId &value)
Assign a value to Id data member.
void SetStrand(TStrand value)
Assign a value to Strand data member.
bool IsSetStrand(void) const
Check if a value has been assigned to Strand data member.
TFrom GetFrom(void) const
Get the From member data.
void SetFuzz(TFuzz &value)
Assign a value to Fuzz data member.
bool IsSetFuzz(void) const
Check if a value has been assigned to Fuzz data member.
list< CRef< CSeq_loc > > Tdata
const TFuzz & GetFuzz(void) const
Get the Fuzz member data.
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.
void SetFrom(TFrom value)
Assign a value to From data member.
TStrand GetStrand(void) const
Get the Strand member data.
void SetStrand(TStrand value)
Assign a value to Strand data member.
bool IsSetFuzz(void) const
Check if a value has been assigned to Fuzz data member.
const Tdata & Get(void) const
Get the member data.
const TPacked_pnt & GetPacked_pnt(void) const
Get the variant data.
void SetFuzz(TFuzz &value)
Assign a value to Fuzz data member.
void SetId(TId &value)
Assign a value to Id data member.
const Tdata & Get(void) const
Get the member data.
const TEquiv & GetEquiv(void) const
Get the variant data.
TPoints & SetPoints(void)
Assign a value to Points data member.
list< CRef< CSeq_loc > > Tdata
vector< TSeqPos > TPoints
void SetFuzz_to(TFuzz_to &value)
Assign a value to Fuzz_to data member.
void SetFuzz_from(TFuzz_from &value)
Assign a value to Fuzz_from data member.
bool IsPacked_int(void) const
Check if variant Packed_int is selected.
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.
Tdata & Set(void)
Assign a value to data member.
bool IsSetFuzz_to(void) const
Check if a value has been assigned to Fuzz_to data member.
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.
TStrand GetStrand(void) const
Get the Strand member data.
TTo GetTo(void) const
Get the To member data.
bool IsInt(void) const
Check if variant Int is selected.
const TInt & GetInt(void) const
Get the variant data.
void SetB(TB &value)
Assign a value to B data member.
bool IsSetFuzz_from(void) const
Check if a value has been assigned to Fuzz_from data member.
void SetStrand(TStrand value)
Assign a value to Strand data member.
const TFuzz & GetFuzz(void) const
Get the Fuzz member 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
const TLoc & GetLoc(void) const
Get the Loc member data.
<!DOCTYPE HTML >< html > n< header > n< title > PubSeq Gateway Help Page</title > n< style > n table
range(_Ty, _Ty) -> range< _Ty >
static bool NeedFullFeature(const CAnnotObject_Ref &ref, CSeq_loc_Conversion::ELocationType loctype)
bool LocationIsWhole(void) const
bool LocationIsSimple(void) const
bool LocationIsInterval(void) const
bool LocationIsPoint(void) const