53 #define NCBI_USE_ERRCODE_X ObjMgr_ObjSplitInfo
55 #ifndef NCBI_ANNOT_TRACK_ZOOM_LEVEL_SUFFIX
56 # define NCBI_ANNOT_TRACK_ZOOM_LEVEL_SUFFIX "@@"
69 string AsnText(
const C& obj)
77 int AsnCompare(
const C& obj1,
const C& obj2)
79 string str1 = AsnText(obj1);
80 string str2 = AsnText(obj2);
81 return str1.compare(str2);
125 if (
id.IsOther() ) {
132 else if ( name.empty() ) {
135 else if ( name != acc ) {
136 ERR_POST_X(2,
"Conflicting named annot accessions: "<<
149 ERR_POST_X(4,
"Conflicting named annot versions: "<<
150 name<<
": "<<
version<<
" & "<<ver);
162 const string& s = desc.
GetName();
166 else if ( name.empty() ) {
169 else if ( name != s ) {
177 if ( !
type.IsStr() ||
type.GetStr() !=
"AnnotationTrack" ) {
186 else if ( zoom_level < 0 ) {
189 else if ( zoom_level != level ) {
190 ERR_POST_X(8,
"Conflicting named annot zoom levels: "<<
191 name<<
": "<<zoom_level<<
" & "<<level);
198 if ( name.empty() ) {
199 ERR_POST_X(9,
"Named annot version with empty name");
205 if ( zoom_level >= 0 ) {
206 if ( name.empty() ) {
207 ERR_POST_X(10,
"Named annot zoom level with empty name");
213 if ( name.empty() ) {
260 _ASSERT(
"bad annot type" && 0);
313 _ASSERT(
"bad annot type" && 0);
324 if ( zoom_level > 0 ) {
351 out <<
"Seq-annot" << name <<
":";
358 out <<
"\nObjects" << (it-
m_Objects.begin()) <<
": " << **it;
377 m_Size(
s_Sizer->GetAsnSize(obj), ratio)
388 m_Size(
s_Sizer->GetAsnSize(obj), ratio)
399 m_Size(
s_Sizer->GetAsnSize(obj), ratio)
408 : m_ObjectType(
CSeq_annot::C_Data::e_Seq_table),
410 m_Size(
s_Sizer->GetAsnSize(obj), ratio)
452 if (
int cmp = AsnCompare(f1, f2) ) {
459 if (
int cmp = AsnCompare(a1, a2) ) {
466 if (
int cmp = AsnCompare(g1, g2) ) {
473 if (
int cmp = AsnCompare(t1, t2) ) {
557 for ( CSeq_descr::Tdata::const_iterator i1(d1.begin()), i2(d2.begin());
558 i1 != d1.end() || i2 != d2.end(); ++i1, ++i2 ) {
559 if (
int cmp = (i1 != d1.end()) - (i2 != d2.end()) ) {
562 if (
int cmp = (*i1)->Which() - (*i2)->Which() ) {
633 if ( seq_length <= 10000 ) {
User-defined methods of the data storage class.
User-defined methods of the data storage class.
const string & GetName(void) const
CConstRef< CObject > m_Object
CAnnotObject_SplitInfo(void)
TAnnotPriority GetPriority(void) const
int Compare(const CAnnotObject_SplitInfo &other) const
TAnnotPriority m_Priority
CBioseq_SplitInfo(const CBioseq &bioseq, const SSplitterParams ¶ms)
TAnnotPriority GetPriority(void) const
CNcbiOstream & Print(CNcbiOstream &out) const
void Add(const CAnnotObject_SplitInfo &obj)
CNcbiOstrstreamToString class helps convert CNcbiOstrstream to a string Sample usage:
bool IsBioseq_set(void) const
bool IsBioseq(void) const
const TBioseqId & GetBioseqId(void) const
ESubtype GetSubtype(void) const
CNcbiOstream & Print(CNcbiOstream &out) const
vector< CRef< CLocObjects_SplitInfo > > TObjects
TAnnotPriority m_TopPriority
void SetSeq_annot(const CSeq_annot &annot, const SSplitterParams ¶ms, const CBlobSplitterImpl &impl)
CConstRef< CSeq_annot > m_Src_annot
void Add(const CAnnotObject_SplitInfo &obj)
static CAnnotName GetName(const CSeq_annot &annot)
TAnnotPriority m_NamePriority
CSeq_annot_SplitInfo(void)
TAnnotPriority GetPriority(void) const
int Compare(const CSeq_annot_SplitInfo &other) const
static size_t CountAnnotObjects(const CSeq_annot &annot)
TAnnotPriority m_Priority
CConstRef< CSeq_data > m_Data
TRange GetRange(void) const
TAnnotPriority GetPriority(void) const
void SetSeq_data(const CPlaceId &place_id, const TRange &range, TSeqPos seq_length, const CSeq_data &data, const SSplitterParams ¶ms)
CSeq_descr_SplitInfo(const CPlaceId &place_id, TSeqPos seq_length, const CSeq_descr &descr, const SSplitterParams ¶ms)
TAnnotPriority m_Priority
CConstRef< CSeq_descr > m_Descr
int Compare(const CSeq_descr_SplitInfo &other) const
TAnnotPriority GetPriority(void) const
@Seq_descr.hpp User-defined methods of the data storage class.
namespace ncbi::objects::
TAnnotPriority GetPriority(void) const
TAnnotPriority m_Priority
CSeq_hist_SplitInfo(const CPlaceId &place_id, const CSeq_hist &hist, const SSplitterParams ¶ms)
void Add(const CSeq_data_SplitInfo &data)
int Compare(const CSeqsRange &other) const
void Add(const CSeq_id_Handle &id, const COneSeqRange &loc)
const_iterator begin(void) const
pair< TDataSize, TDataSize > TSizeRatio
TSizeRatio GetExactRatio(void) const
int Compare(const CSize &size) const
CConstRef< CUser_field > GetFieldRef(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
std::ofstream out("events_result.xml")
main entry point for tests
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define ERR_POST_X(err_subcode, message)
Error posting with default error code and given error subcode.
#define MSerial_AsnText
I/O stream manipulators –.
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
void Reset(void)
Reset reference object.
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.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
NCBI_NS_STD::string::size_type SIZE_TYPE
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
const TData & GetData(void) const
Get the Data member data.
bool IsInt(void) const
Check if variant Int is selected.
TInt GetInt(void) const
Get the variant data.
const TType & GetType(void) const
Get the Type member data.
const TData & GetData(void) const
Get the Data member data.
list< CRef< CSeqdesc > > Tdata
const Tdata & Get(void) const
Get the member data.
const TGraph & GetGraph(void) const
Get the variant data.
bool IsSetAssembly(void) const
how was this assembled? Check if a value has been assigned to Assembly data member.
list< CRef< CSeq_graph > > TGraph
TVersion GetVersion(void) const
Get the Version member data.
list< CRef< CAnnot_id > > TId
const TAccession & GetAccession(void) const
Get the Accession member data.
const TId & GetId(void) const
Get the Id member data.
list< CRef< CSeq_align > > TAlign
const Tdata & Get(void) const
Get the member data.
bool IsSetVersion(void) const
Check if a value has been assigned to Version data member.
const TUser & GetUser(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently selected.
const TDesc & GetDesc(void) const
Get the Desc member data.
const TAssembly & GetAssembly(void) const
Get the Assembly member data.
list< CRef< CSeq_id > > TId
bool IsSetDesc(void) const
used only for stand alone Seq-annots Check if a value has been assigned to Desc data member.
bool IsSetAccession(void) const
Check if a value has been assigned to Accession data member.
const TAlign & GetAlign(void) const
Get the variant data.
bool IsSetId(void) const
Check if a value has been assigned to Id data member.
const TSeq_table & GetSeq_table(void) const
Get the variant data.
const TId & GetId(void) const
Get the Id member data.
const TFtable & GetFtable(void) const
Get the variant data.
list< CRef< CSeq_feat > > TFtable
const TData & GetData(void) const
Get the Data member data.
const TName & GetName(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently selected.
list< CRef< CAnnotdesc > > Tdata
@ e_Name
a short name for this collection
@ e_User
user defined object
Definition of all error codes used in objmgr libraries (xobjmgr.lib, xobjutil.lib and others).
range(_Ty, _Ty) -> range< _Ty >
#define NCBI_ANNOT_TRACK_ZOOM_LEVEL_SUFFIX
static CSafeStatic< CAsnSizer > s_Sizer
NCBI_DEFINE_ERR_SUBCODE_X(10)
@ eAnnotPriority_skeleton
@ eAnnotPriority_landmark
static const char * str(char *buf, int n)