65 #define START_TIMER(X) TimerMap[#X].Start()
66 #define STOP_TIMER(X) TimerMap[#X].Stop()
67 #define PRINT_TIMERS(X) ITERATE (TTimerMap, iter, TimerMap) { \
68 ERR_POST(X << "Timer: " << iter->first << ": " \
69 << iter->second.AsString() << "s"); \
72 #define MARKLINE cerr << __FILE__ << ":" << __LINE__ << endl;
81 return (B.length() <
A.length());
132 if (Loc.GetId() ==
NULL) {
176 if (Loc.GetId() ==
NULL) {
180 for ( ; LocIter; ++LocIter) {
181 if (LocIter->Equals(Loc)) {
186 Result->
SetMix().Set().push_back(MappedLoc);
189 if (Result->
IsMix()) {
193 else if (Loc.IsPacked_int() || Loc.IsPacked_pnt()) {
208 Guess(Loc, GuessSpec);
247 PrimaryLoc =
Map(Loc, PrimarySpec);
278 PrimaryLoc =
Map(Loc, PrimarySpec);
295 return Map(*Result, Spec);
307 if (Loc.GetId() ==
NULL) {
322 if (Result !=
e_No) {
333 if (Result !=
e_No) {
343 if (Result !=
e_No) {
356 bool HideRefSeqAcc =
false;
359 if (
m_Assembly->GetDesc().CanGetRelease_type() &&
360 m_Assembly->GetDesc().CanGetRelease_status() &&
363 HideRefSeqAcc =
true;
368 for ( ; SeqIter; ++SeqIter) {
377 ChildIter, SeqIter->SetSequences()) {
380 for ( ; InnerIter; ++InnerIter) {
399 for ( ; IdIter; ++IdIter) {
400 const CTextseq_id* textseqid = IdIter->GetTextseq_Id();
401 if (textseqid != 0) {
411 for ( ; ReplIter; ++ReplIter) {
412 if (ReplIter->CanGetName() && !ReplIter->GetName().empty() ) {
416 }
else if(ReplIter->IsSetSequence() && ReplIter->GetSequence().IsSingle()) {
417 const CGC_Sequence& SingleSeq = ReplIter->GetSequence().GetSingle();
421 if (!SubName.empty() &&
529 for ( ; IdIter; ++IdIter) {
530 if (IdIter->IsGi()) {
546 if( (*SynIter)->IsGenbank() ||
547 (*SynIter)->IsRefseq() ) {
562 for ( ; IdIter; ++IdIter) {
563 if (IdIter->IsGi()) {
577 bool DoesRecurse =
false;
579 for ( ; StructIdIter; ++StructIdIter) {
580 if (StructIdIter->Equals(TopId)) {
594 bool DoesRecurse =
false;
597 for ( ; SubSeqIdIter; ++SubSeqIdIter) {
598 if (SubSeqIdIter->Equals(TopId)) {
614 bool IsRandom =
false;
618 for ( ; IdIter; ++IdIter) {
642 const bool SeqHasGi =
bool(GenGi) ||
bool(RefGi);
644 bool SeqQualifies =
false;
645 bool ParentQualifies =
false;
654 const bool ParentHasGi =
bool(GenGi) ||
bool(RefGi);
659 ParentQualifies =
true;
701 for ( ; ReplIter; ++ReplIter) {
702 if (ReplIter->CanGetName() && ReplIter->CanGetSequence() &&
703 ReplIter->GetSequence().IsSingle() &&
704 ReplIter->GetSequence().GetSingle().CanGetSeq_id_synonyms() &&
705 ReplIter->GetSequence().GetSingle().CanGetStructure() ) {
706 CGC_Sequence& Seq = ReplIter->SetSequence().SetSingle();
707 bool NameFound =
false;
710 NameFound =
NStr::Equal((*it)->GetPrivate().GetSeqIdString(), ReplIter->GetName());
715 ChromoId->SetExternal().SetExternal() =
CHROMO_EXT;
716 ChromoId->SetExternal().SetId().SetLocal().SetStr() = ReplIter->GetName();
732 SeqIter->SetSequences()
752 CGC_Sequence::TSeq_id_synonyms::iterator IdIter;
753 for (IdIter =
Sequence.SetSeq_id_synonyms().begin();
754 IdIter !=
Sequence.SetSeq_id_synonyms().end(); ) {
756 if ((*IdIter)->IsExternal() &&
757 (*IdIter)->GetExternal().IsSetExternal() &&
758 NStr::Equal((*IdIter)->GetExternal().GetExternal(),
"UCSC")
761 IdIter =
Sequence.SetSeq_id_synonyms().erase(IdIter);
762 Sequence.SetSeq_id_synonyms().push_front(CopyId);
842 if(LocalStr.size() == 5) {
873 if (textseqid != 0 &&
901 Pre.assign(Spec.
Pattern.data(), 0, DelimPos);
904 if (!Pre.empty() || !Post.empty()) {
917 if (Seq.CanGetRoles()) {
923 SeqRole =
min(SeqRole, *RoleIter);
942 const int OldRole =
x_GetRole(*Found->second);
978 return ConstRef(is_gb ? &tsid->GetGenbank() : &tsid->GetRefseq());
991 for ( ; IdIter; ++IdIter) {
1007 if (seq_id_alias->IsSetPublic()) {
1010 if (seq_id_alias->IsSetGpipe()) {
1013 if (seq_id_alias->IsSetGi()) {
1029 if (!(*TagIter)->CanGetSeqs()) {
1059 if (!(*TagIter)->CanGetSeqs()) {
1099 for( ; syn_id_iter; ++syn_id_iter) {
1100 if ( syn_id_iter->Equals(Id)) {
1125 return ConstRef(&seq_id_alias->GetPublic());
1128 return ConstRef(&seq_id_alias->GetGpipe());
1131 return ConstRef(&seq_id_alias->GetGi());
1152 const CSeq_id& Private = (*it)->GetPrivate();
1196 if ((seq_id_alias->CanGetPublic() && alias_is_public) ||
1197 (seq_id_alias->CanGetGpipe() && alias_is_gpipe) ||
1198 (seq_id_alias->CanGetGi() && alias_is_gi)
1204 if ((*it)->GetExternal().GetExternal() == Spec.
External) {
1232 if ((Parent ==
e_Yes || Parent ==
e_Up)) {
1281 if (seq_id_alias->IsSetPublic() && seq_id_alias->GetPublic().Equals(Id)) {
1286 if (seq_id_alias->IsSetGpipe() && seq_id_alias->GetGpipe().Equals(Id)) {
1291 if (seq_id_alias->IsSetGi() && seq_id_alias->GetGi().Equals(Id)) {
1306 (*it)->GetPrivate().Equals(Id)
1337 if (Start !=
NPOS) {
1348 const CSeq_id& Private = (*it)->GetPrivate();
1354 if (Start !=
NPOS) {
1372 const objects::CGC_Assembly& Assembly,
1380 return Found->second;
1383 LOG_POST(
Warning <<
"x_FindParentSequence: Depth Bounce " << Id.AsFastaString());
1387 if (Assembly.IsAssembly_set()) {
1404 else if (Assembly.IsUnit()) {
1408 if ((*MolIter)->GetSequence().IsSingle()) {
1409 const CGC_Sequence& Parent = (*MolIter)->GetSequence().GetSingle();
1430 !(*ChildIter)->CanGetSeqs()
1435 if ((*SeqIter)->GetSeq_id().Equals(Id)) {
1442 if (IdIter->Equals(Id)) {
1469 if(IdStr.find(
"random") !=
NPOS)
1471 if(IdStr.find(
"decoy") !=
NPOS)
1480 size_t Start =
NStr::Find(IdStr, *ChromoIter);
1481 size_t End = Start + ChromoIter->length()-1;
1483 ((Start > 0 &&
isdigit(IdStr[Start-1])) ||
1484 (End+1 < IdStr.length() &&
isdigit(IdStr[End+1])) )) {
1512 return Found->second;
1531 Result->
Assign(SourceLoc);
1534 for ( ; IdIter; ++IdIter) {
1545 for ( ; PartIter; ++PartIter) {
1546 if ((*IdIter)->Equals(*PartIter)) {
1566 Result->
Assign(SourceLoc);
1573 if(Result->
Equals(SourceLoc))
1575 Result =
Map(*Result, Spec);
1596 if(Result->
Equals(SourceLoc)) {
1599 if(Result->
Equals(SourceLoc)) {
1602 Result =
Map(*Result, Spec);
1606 Result =
Map(*Result, Spec);
1661 if (!Seq->CanGetStructure()) {
1665 const CDelta_ext& DeltaExt = Seq->GetStructure();
1669 if (DeltaSeq.
IsLoc()) {
1680 if (Intersect.
Empty()) {
1683 if (Intersect == GapRange) {
1686 if (Intersect == LocRange) {
1694 if (Intersect == LocRange) {
1697 if (!Intersect.
Empty()) {
1711 if (First != Second) {
1722 bool NcbiOnly)
const
1736 Seq = Found->second;
1743 if (seq_id_alias->IsSetPublic()) {
1744 Synonyms.push_back(
ConstRef(&seq_id_alias->GetPublic()));
1746 if (seq_id_alias->IsSetGpipe()) {
1747 Synonyms.push_back(
ConstRef(&seq_id_alias->GetGpipe()));
1749 if (seq_id_alias->IsSetGi()) {
1750 Synonyms.push_back(
ConstRef(&seq_id_alias->GetGi()));
1758 const CSeq_id& Private = (*it)->GetPrivate();
1759 Synonyms.push_back(
ConstRef(&Private));
1767 list< CConstRef<CSeq_id> >::iterator Inner = Outer;
1769 for( ; Inner != Synonyms.end(); ) {
1770 if( (*Outer)->Equals(**Inner) ) {
1771 Inner = Synonyms.erase(Inner);
1787 Role(e_Role_NotSet),
1792 CGencollIdMapper::SIdSpec::operator
string()
const
1806 if (!(Primary == Other.
Primary &&
1808 Alias == Other.
Alias &&
1811 Role == Other.
Role &&
1829 Result +=
"NotPrim";
1832 switch (TypedChoice) {
1837 Result +=
"GenBank";
1843 Result +=
"Private";
1846 Result +=
"External";
1867 Result += External +
":" +
Pattern;
1901 bool RoleTop =
false;
1903 RoleTop = (Top == Guessed.
Top);
1905 RoleTop = (Role == Guessed.
Role);
1909 return (Guessed.
Primary && RoleTop );
1912 Alias == Guessed.
Alias &&
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
the sequence(s) representing this molecule in the case of 2L and 2R - the molecule is represented by ...
CConstRef< CSeq_id > GetSubmitterName() const
CConstRef< CSeq_id > GetSynonymSeq_id(CGC_TypedSeqId::E_Choice type, CGC_SeqIdAlias::E_AliasTypes) const
bool HasRole(int Role) const
CGC_TaggedSequences::TState GetParentRelation() const
Access the relationship to the parent.
CConstRef< CGC_Sequence > GetParent() const
Access the parent sequence of this sequence.
bool Guess(const objects::CSeq_loc &Loc, SIdSpec &Spec) const
TSeqLocMapperRef m_UpMapper
CGencollIdMapper(CConstRef< objects::CGC_Assembly > SourceAsm)
CConstRef< objects::CSeq_id > x_ApplyPatternToId(CConstRef< objects::CSeq_id > Id, const SIdSpec &Spec) const
void x_StripPseudoSeq(objects::CGC_Sequence &Seq)
CRef< objects::CSeq_loc > x_Map_Up(const objects::CSeq_loc &SourceLoc, const objects::CGC_Sequence &Seq, const SIdSpec &Spec) const
E_Gap x_Merge_E_Gaps(E_Gap First, E_Gap Second) const
CConstRef< objects::CSeq_id > x_GetIdFromSeqAndSpec(const objects::CGC_Sequence &Seq, const SIdSpec &Spec) const
int x_GetRole(const objects::CGC_Sequence &Seq) const
CConstRef< objects::CSeq_id > x_FixImperfectId(CConstRef< objects::CSeq_id > Id, const SIdSpec &Spec) const
void x_PrioritizeIds(void)
CConstRef< objects::CGC_Sequence > x_FindParentSequence(const objects::CSeq_id &Id, const objects::CGC_Assembly &Assembly, int Depth=0) const
bool CanMeetSpec(const objects::CSeq_loc &Loc, const SIdSpec &Spec) const
bool x_DoesSeqContainSyn(const objects::CGC_Sequence &Seq, const objects::CSeq_id &Id) const
void x_AddSeqToMap(const objects::CSeq_id &Id, CConstRef< objects::CGC_Sequence > Seq)
TSeqLocMapperRef m_DownMapper_Shallow
TAccToVerMap m_AccToVerMap
CRef< objects::CSeq_loc > x_Map_OneToOne(const objects::CSeq_loc &SourceLoc, const objects::CGC_Sequence &Seq, const SIdSpec &Spec) const
void x_BuildSeqMap(const objects::CGC_Assembly &assm)
vector< string > m_Chromosomes
void x_RecursiveSeqFix(objects::CGC_Sequence &Seq)
bool x_NCBI34_Guess(const objects::CSeq_id &Id, SIdSpec &Spec) const
bool x_IsFuzzyIdInAssembly(const objects::CSeq_id &Id) const
CRef< objects::CSeq_loc > x_Map_Down(const objects::CSeq_loc &SourceLoc, const objects::CGC_Sequence &Seq, const SIdSpec &Spec) const
void x_RemoveHiddenAccessions(objects::CGC_Sequence &Seq)
bool x_IsExactIdInAssembly(const objects::CSeq_id &Id) const
TSeqLocMapperRef m_DownMapper_Deep
void x_FillGpipeTopRole(objects::CGC_Sequence &Seq)
TChildToParentMap m_ChildToParentMap
bool x_IsParentSequence(const objects::CSeq_id &Id, const objects::CGC_Sequence &Parent) const
CConstRef< objects::CSeq_id > x_NCBI34_Map_IdFix(CConstRef< objects::CSeq_id > SourceId) const
CRef< objects::CSeq_loc > Map(const objects::CSeq_loc &Loc, const SIdSpec &Spec) const
CConstRef< objects::CGC_Sequence > x_FindChromosomeSequence(const objects::CSeq_id &Id, const SIdSpec &Spec) const
void x_FillChromosomeIds(void)
CConstRef< objects::CGC_Assembly > GetInternalGencoll(void) const
void x_Init_SeqLocMappers(void) const
CRef< objects::CGC_Assembly > m_Assembly
E_Gap x_IsLoc_Int_InAGap(const objects::CSeq_interval &Int) const
void GetSynonyms(const objects::CSeq_id &BaseId, list< CConstRef< objects::CSeq_id > > &Synonyms, bool NcbiOnly=true) const
E_Gap IsLocInAGap(const objects::CSeq_loc &Loc) const
bool x_MakeSpecForSeq(const objects::CSeq_id &Id, const objects::CGC_Sequence &Seq, SIdSpec &Spec) const
int x_CanSeqMeetSpec(const objects::CGC_Sequence &Seq, const SIdSpec &Spec, int Level=0) const
TSeqPos GetLength(void) const
Template class for iteration on objects of class C (non-medifiable version)
Template class for iteration on objects of class C.
container_type::const_iterator const_iterator
container_type::iterator iterator
const_iterator end() const
iterator_bool insert(const value_type &val)
const_iterator find(const key_type &key) const
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define ERASE_ITERATE(Type, Var, Cont)
Non-constant version with ability to erase current element, if container permits.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
void Warning(CExceptionArgs_Base &args)
virtual bool Equals(const CSerialObject &object, ESerialRecursionMode how=eRecursive) const
Check if both objects contain the same values.
static EAccessionInfo IdentifyAccession(const CTempString &accession, TParseFlags flags=fParse_AnyRaw)
Deduces information from a bare accession a la WHICH_db_accession; may report false negatives on prop...
string GetSeqIdString(bool with_version=false) const
Return seqid string with optional version for text seqid type.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
CSeq_id & Set(const CTempString &the_id, TParseFlags flags=fParse_AnyRaw)
Reassign based on flat specifications; arguments interpreted as with constructors.
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
const CTextseq_id * GetTextseq_Id(void) const
Return embedded CTextseq_id, if any.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Override Assign() to incorporate cache invalidation.
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
void Assign(const CTypeIteratorBase &it)
@ eSeqMap_Down
map from a segmented bioseq to segments
@ eSeqMap_Up
map from segments to the top level bioseq
SSeqMapSelector & SetResolveCount(size_t res_cnt)
Set max depth of resolving seq-map.
bool IsNull(void) const THROWS_NONE
Check if pointer is null – same effect as Empty().
bool NotNull(void) const THROWS_NONE
Check if pointer is not null – same effect as NotEmpty().
CConstRef< C > ConstRef(const C *object)
Template function for conversion of const object pointer to CConstRef.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
bool NotNull(void) const THROWS_NONE
Check if pointer is not null – same effect as NotEmpty().
bool IsNull(void) const THROWS_NONE
Check if pointer is null – same effect as Empty().
TThisType IntersectionWith(const TThisType &r) const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static SIZE_TYPE Find(const CTempString str, const CTempString pattern, ECase use_case=eCase, EDirection direction=eForwardSearch, SIZE_TYPE occurrence=0)
Find the pattern in the string.
static string & Replace(const string &src, const string &search, const string &replace, string &dst, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
static bool Equal(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)
Test for equality of a substring with another string.
static string & ReplaceInPlace(string &src, const string &search, const string &replace, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
void SetFrom(TFrom value)
Assign a value to From data member.
void SetTo(TTo value)
Assign a value to To data member.
bool IsStr(void) const
Check if variant Str is selected.
const TStr & GetStr(void) const
Get the variant data.
TStr & SetStr(void)
Select the variant.
bool CanGetSequences(void) const
Check if it is safe to call GetSequences method.
bool CanGetSeq_id(void) const
Check if it is safe to call GetSeq_id method.
bool CanGetPrimary_assembly(void) const
Check if it is safe to call GetPrimary_assembly method.
bool IsGenbank(void) const
Check if variant Genbank is selected.
list< CRef< CGC_Sequence > > TSeqs
const TId & GetId(void) const
Get the Id member data.
TGenbank & SetGenbank(void)
Select the variant.
const TUnit & GetUnit(void) const
Get the variant data.
const TStructure & GetStructure(void) const
Get the Structure member data.
bool IsSingle(void) const
Check if variant Single is selected.
bool CanGetSeq_id_synonyms(void) const
Check if it is safe to call GetSeq_id_synonyms method.
TRefseq & SetRefseq(void)
Select the variant.
void SetSeq_id(TSeq_id &value)
Assign a value to Seq_id data member.
bool IsSetMols(void) const
collections of molecules for this assembly Check if a value has been assigned to Mols data member.
TSeq_id_synonyms & SetSeq_id_synonyms(void)
Assign a value to Seq_id_synonyms data member.
list< CRef< CGC_TypedSeqId > > TSeq_id_synonyms
bool IsAssembly_set(void) const
Check if variant Assembly_set is selected.
TRoles & SetRoles(void)
Assign a value to Roles data member.
bool IsSetMore_assemblies(void) const
Check if a value has been assigned to More_assemblies data member.
const TExternal & GetExternal(void) const
Get the External member data.
void ResetGpipe(void)
Reset Gpipe data member.
const TOther_sequences & GetOther_sequences(void) const
Get the Other_sequences member data.
const TPrimary_assembly & GetPrimary_assembly(void) const
Get the Primary_assembly member data.
const TSeq_id_synonyms & GetSeq_id_synonyms(void) const
Get the Seq_id_synonyms member data.
bool CanGetRoles(void) const
Check if it is safe to call GetRoles method.
list< CRef< CGC_TaggedSequences > > TSequences
const TAssembly_set & GetAssembly_set(void) const
Get the variant data.
const TMols & GetMols(void) const
Get the Mols member data.
bool IsRefseq(void) const
Check if variant Refseq is selected.
list< CRef< CGC_Replicon > > TMols
bool CanGetMols(void) const
Check if it is safe to call GetMols method.
void ResetSeq_id(void)
Reset Seq_id data member.
void SetPublic(TPublic &value)
Assign a value to Public data member.
const TSequences & GetSequences(void) const
Get the Sequences member data.
bool IsUnit(void) const
Check if variant Unit is selected.
bool CanGetStructure(void) const
Check if it is safe to call GetStructure method.
list< CRef< CGC_Assembly > > TMore_assemblies
list< CRef< CGC_Sequence > > TSet
const TSingle & GetSingle(void) const
Get the variant data.
const TPublic & GetPublic(void) const
Get the Public member data.
const TSet & GetSet(void) const
Get the variant data.
bool CanGetMore_assemblies(void) const
Check if it is safe to call GetMore_assemblies method.
const TMore_assemblies & GetMore_assemblies(void) const
Get the More_assemblies member data.
const TSeq_id & GetSeq_id(void) const
Get the Seq_id member data.
@ e_not_set
No variant selected.
@ eGC_SequenceRole_top_level
@ eGC_SequenceRole_component
@ eGC_SequenceRole_scaffold
@ eGC_SequenceRole_pseudo_scaffold
@ eGC_SequenceRole_chromosome
@ eGC_SequenceRole_submitter_pseudo_scaffold
@ eState_placed
exist only within a replicon. placed sequences on higher sequence
void SetTo(TTo value)
Assign a value to To data member.
TChain GetChain(void) const
Get the Chain member data.
const TPdb & GetPdb(void) const
Get the variant data.
bool IsSetAccession(void) const
Check if a value has been assigned to Accession data member.
bool IsMix(void) const
Check if variant Mix is selected.
list< CRef< CSeq_interval > > Tdata
const Tdata & Get(void) const
Get the 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.
void SetId(TId &value)
Assign a value to Id data member.
TFrom GetFrom(void) const
Get the From member data.
list< CRef< CSeq_loc > > Tdata
E_Choice Which(void) const
Which variant is currently selected.
bool CanGetMol(void) const
Check if it is safe to call GetMol method.
bool IsPdb(void) const
Check if variant Pdb is selected.
const TId & GetId(void) const
Get the Id member data.
void SetFrom(TFrom value)
Assign a value to From data member.
TGi GetGi(void) const
Get the variant data.
const Tdata & Get(void) const
Get the member data.
TVersion GetVersion(void) const
Get the Version member data.
bool CanGetVersion(void) const
Check if it is safe to call GetVersion method.
const TMol & GetMol(void) const
Get the Mol member data.
bool IsPacked_int(void) const
Check if variant Packed_int is selected.
TLocal & SetLocal(void)
Select the variant.
const TLocal & GetLocal(void) const
Get the variant data.
bool IsLocal(void) const
Check if variant Local is selected.
bool IsGi(void) const
Check if variant Gi is selected.
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.
bool IsNull(void) const
Check if variant Null is selected.
bool IsSetVersion(void) const
Check if a value has been assigned to Version data member.
const TMix & GetMix(void) const
Get the variant data.
bool IsPnt(void) const
Check if variant Pnt is selected.
bool CanGetChain(void) const
Check if it is safe to call GetChain method.
const TPacked_int & GetPacked_int(void) const
Get the variant data.
const TAccession & GetAccession(void) const
Get the Accession member data.
@ e_not_set
No variant selected.
const TInst & GetInst(void) const
Get the Inst member data.
const TLiteral & GetLiteral(void) const
Get the variant data.
bool IsLoc(void) const
Check if variant Loc is selected.
const TId & GetId(void) const
Get the Id member data.
TLength GetLength(void) const
Get the Length member data.
list< CRef< CSeq_id > > TId
const TLoc & GetLoc(void) const
Get the variant data.
const Tdata & Get(void) const
Get the member data.
bool IsLiteral(void) const
Check if variant Literal is selected.
list< CRef< CDelta_seq > > Tdata
CConstRef< CGC_SeqIdAlias > s_GetSeqIdAlias_GenBankRefSeq(CConstRef< CGC_TypedSeqId > tsid)
bool s_RevStrLenSort(const string &A, const string &B)
map< string, CStopWatch > TTimerMap
bool s_DoesBioseqRecurse(const CBioseq &Bioseq)
bool s_HasMoreDigits(const string &Name, const string &Chromo)
bool s_IsNumericString(const string &A)
size_t s_CountNumeric(const string &A)
map< string, CStopWatch > TTimerMap
constexpr auto sort(_Init &&init)
bool operator==(const SIdSpec &Other) const
@ e_Role_ExcludePseudo_Top
bool IsSpecMet(const SIdSpec &Guessed) const
bool operator<(const SIdSpec &Other) const
string ToString(void) const
Selector used in CSeqMap methods returning iterators.
string ToString(const wxRect &rc)