87 : m_AssemblyChunk(-1),
88 m_FeatureFetchPolicy(-1),
97 m_Seq_dataChunks(
info.m_Seq_dataChunks),
98 m_AssemblyChunk(
info.m_AssemblyChunk),
99 m_FeatureFetchPolicy(
info.m_FeatureFetchPolicy),
103 info.x_UpdateComplete();
257 if ( !
id.IsStr() ||
id.GetStr() !=
"FeatureFetchPolicy" ) {
270 if (
str ==
"OnlyNearFeatures" ) {
273 else if (
str ==
"AllowFarFeatures" ) {
283 if ( policy == -1 ) {
324 if (
info.m_SeqMap ) {
330 if (
info.IsSetAnnot() ) {
341 obj->SetId() = src.
GetId();
364 obj->SetMol(src.
GetMol());
427 return find(
m_Id.begin(),
m_Id.end(),
id) !=
m_Id.end();
433 TId::iterator found = find(
m_Id.begin(),
m_Id.end(),
id);
434 if ( found !=
m_Id.end() ) {
440 m_Object->SetId().push_back(seq_id);
449 TId::iterator found = find(
m_Id.begin(),
m_Id.end(),
id);
450 if ( found ==
m_Id.end() ) {
593 return m_Object->GetInst().GetRepr();
635 return m_Object->GetInst().GetMol();
683 return m_Object->GetInst().GetLength();
733 return m_Object->GetInst().GetFuzz();
767 return m_Object->GetInst().GetTopology();
779 m_Object->SetInst().ResetTopology();
801 return m_Object->GetInst().GetStrand();
828 return inst.IsSetSeq_data() ||
842 return m_Object->GetInst().GetSeq_data();
860 m_Object->SetInst().ResetSeq_data();
884 return m_Object->GetInst().GetExt();
926 return m_Object->GetInst().GetHist();
969 return m_Object->GetInst().GetHist().GetAssembly();
977 m_Object->SetInst().SetHist().SetAssembly() = v;
1000 return m_Object->GetInst().GetHist().GetReplaces();
1006 m_Object->SetInst().SetHist().SetReplaces(v);
1017 m_Object->GetInst().GetHist().IsSetReplaced_by();
1024 m_Object->GetInst().GetHist().CanGetReplaced_by();
1031 return m_Object->GetInst().GetHist().GetReplaced_by();
1037 m_Object->SetInst().SetHist().SetReplaced_by(v);
1060 return m_Object->GetInst().GetHist().GetDeleted();
1066 m_Object->SetInst().SetHist().SetDeleted(v);
1096 "CBioseq_Info::x_CalcBioseqLength: "
1097 "failed: Seq-inst.ext is not set");
1108 "CBioseq_Info::x_CalcBioseqLength: "
1109 "failed: bad Seg-ext type");
1120 "CBioseq_Info::x_CalcBioseqLength: "
1121 "failed: external whole reference");
1131 ret += (*it)->GetLength();
1139 switch ( seq_loc.
Which() ) {
1160 "CBioseq_Info::x_CalcBioseqLength: "
1161 "failed: bad Seq-loc type");
1208 switch ( delta_seq.
Which() ) {
1215 "CBioseq_Info::x_CalcBioseqLength: "
1216 "failed: bad Delta-seq type");
1225 if ( it !=
m_Id.begin() )
1227 os << it->AsString();
1238 "CBioseq_Info::AttachMap: bioseq already has SeqMap");
1260 org_ref = &desc_src->GetSource().GetOrg();
1263 org_ref = &desc_org->GetOrg();
1280 switch ( it->Which() ) {
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.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
bool IsSetDescr(void) const
TDescList::const_iterator TDesc_CI
virtual void x_ParentAttach(CSeq_entry_Info &parent)
const CSeqdesc * x_SearchFirstDesc(TDescTypeMask type) const
virtual void x_TSEAttachContents(CTSE_Info &tse)
virtual void x_TSEDetachContents(CTSE_Info &tse)
TDesc_CI x_GetFirstDesc(TDescTypeMask types) const
virtual void x_ParentDetach(CSeq_entry_Info &parent)
virtual void x_DSDetachContents(CDataSource &ds)
void x_DoUpdate(TNeedUpdateFlags flags)
virtual void x_DSAttachContents(CDataSource &ds)
bool x_IsEndDesc(TDesc_CI iter) const
TDesc_CI x_GetNextDesc(TDesc_CI iter, TDescTypeMask types) const
bool x_CanGetDescr(void) const
bool CanGetId(void) const
TInst_Mol GetInst_Mol(void) const
const TInst_Fuzz & GetInst_Fuzz(void) const
TInst::THist::TReplaces TInst_Hist_Replaces
void x_ResetObjAnnot(void)
bool CanGetInst_Hist_Replaced_by(void) const
const TInst_Hist_Assembly & GetInst_Hist_Assembly(void) const
bool CanGetInst_Hist(void) const
void x_DoUpdate(TNeedUpdateFlags flags)
bool IsSetInst_Fuzz(void) const
bool CanGetInst_Strand(void) const
bool HasId(const CSeq_id_Handle &id) const
void SetInst_Length(TInst_Length v)
bool CanGetInst_Seq_data(void) const
TObjAnnot & x_SetObjAnnot(void)
TInst_Topology GetInst_Topology(void) const
bool CanGetInst_Repr(void) const
void x_DSDetachContents(CDataSource &ds)
bool RemoveId(const CSeq_id_Handle &id)
TInst_Repr GetInst_Repr(void) const
bool IsSetInst_Hist_Replaced_by(void) const
void x_TSEDetachContents(CTSE_Info &tse)
int GetFeatureFetchPolicy(void) const
int GetSequenceClass(void) const
const TDescr & x_GetDescr(void) const
bool CanGetInst(void) const
vector< CSeq_id_Handle > TId
const CSeqMap & GetSeqMap(void) const
bool IsSetInst_Hist_Deleted(void) const
void SetInst_Hist_Assembly(const TInst_Hist_Assembly &v)
bool IsSetInst_Ext(void) const
bool IsSetInst_Seq_data(void) const
TChunkIds m_Seq_dataChunks
bool x_IsSetDescr(void) const
TTaxId GetTaxId(void) const
bool IsSetInst_Topology(void) const
TInst::THist::TAssembly TInst_Hist_Assembly
void SetInst_Seq_data(TInst_Seq_data &v)
const TId & GetId(void) const
void x_AddAssemblyChunkId(TChunkId chunk_id)
void SetInst_Mol(TInst_Mol v)
static CRef< TObject > sx_ShallowCopy(const TObject &obj)
const TInst_Seq_data & GetInst_Seq_data(void) const
bool IsSetInst_Strand(void) const
CConstRef< TObject > GetCompleteBioseq(void) const
void SetInst_Topology(TInst_Topology v)
TDescr & x_SetDescr(void)
void SetInst_Ext(TInst_Ext &v)
bool IsSetInst_Hist_Assembly(void) const
void SetInst_Hist(TInst_Hist &v)
void x_ParentDetach(CSeq_entry_Info &parent)
void SetInst_Strand(TInst_Strand v)
const TInst_Hist_Replaced_by & GetInst_Hist_Replaced_by(void) const
void x_TSEAttachContents(CTSE_Info &tse)
const TInst_Hist & GetInst_Hist(void) const
TInst_Length GetInst_Length(void) const
bool CanGetInst_Hist_Deleted(void) const
bool CanGetInst_Hist_Assembly(void) const
void x_ParentAttach(CSeq_entry_Info &parent)
bool IsSetInst_Repr(void) const
CBioseq_Info(const CBioseq_Info &src, TObjectCopyMap *copy_map)
bool IsSetInst_Mol(void) const
TSeqPos GetBioseqLength(void) const
void SetInst_Repr(TInst_Repr v)
const TInst_Hist_Deleted & GetInst_Hist_Deleted(void) const
string IdString(void) const
bool CanGetInst_Mol(void) const
void x_AddSeq_dataChunkId(TChunkId chunk_id)
bool IsSetInst_Hist(void) const
bool CanGetInst_Hist_Replaces(void) const
const TInst_Hist_Replaces & GetInst_Hist_Replaces(void) const
void ResetInst_Seq_data()
bool CanGetInst_Topology(void) const
void ResetInst_Topology()
bool AddId(const CSeq_id_Handle &id)
bool CanGetInst_Length(void) const
TInst::TLength TInst_Length
CConstRef< TObject > GetBioseqCore(void) const
TInst::THist::TReplaced_by TInst_Hist_Replaced_by
bool IsSetInst_Length(void) const
TInst_Strand GetInst_Strand(void) const
void SetInst_Hist_Replaced_by(TInst_Hist_Replaced_by &v)
void x_DSUnmapObject(CConstRef< TObject > obj, CDataSource &ds)
const TInst_Ext & GetInst_Ext(void) const
void x_SetChangedSeqMap(void)
const TInst & GetInst(void) const
virtual ~CBioseq_Info(void)
TSeqPos x_CalcBioseqLength(void) const
bool IsSetInst_Hist_Replaces(void) const
atomic< int > m_IdChangeCounter
bool IsSetInst(void) const
bool CanGetInst_Fuzz(void) const
void SetInst_Hist_Replaces(TInst_Hist_Replaces &v)
void SetInst_Fuzz(TInst_Fuzz &v)
void SetInst_Hist_Deleted(TInst_Hist_Deleted &v)
bool CanGetInst_Ext(void) const
void x_DSAttachContents(CDataSource &ds)
void x_AttachMap(CSeqMap &seq_map)
void x_DSMapObject(CConstRef< TObject > obj, CDataSource &ds)
void x_SetObject(TObject &obj)
TInst::THist::TDeleted TInst_Hist_Deleted
void x_Unmap(const CObject *obj, const CTSE_Info_Object *info)
void x_Map(const CObject *obj, const CTSE_Info_Object *info)
CNcbiOstrstreamToString class helps convert CNcbiOstrstream to a string Sample usage:
Base class for all object manager exceptions.
@Seq_descr.hpp User-defined methods of the data storage class.
TObject & x_GetObject(void)
void ParentizeOneLevel(void)
TSeqPos GetLength(void) const
void x_UpdateCore(void) const
virtual void SetBioObjectId(const CBioObjectId &id)
void x_SetNeedUpdate(TNeedUpdateFlags flags)
CDataSource & GetDataSource(void) const
bool x_NeedUpdate(ENeedUpdate flag) const
void x_Update(TNeedUpdateFlags flags) const
void x_LoadChunks(const TChunkIds &chunk_ids) const
bool HasDataSource(void) const
void x_LoadChunk(TChunkId chunk_id) const
const CTSE_Info & GetTSE_Info(void) const
void x_UpdateComplete(void) const
virtual const CBioObjectId & GetBioObjectId(void) const
CConstRef< CBioseq_Info > FindMatchingBioseq(const CSeq_id_Handle &id) const
CBioObjectId x_IndexBioseq(CBioseq_Info *)
void x_ResetBioseqId(const CSeq_id_Handle &id, CBioseq_Info *info)
void x_SetBioseqId(const CSeq_id_Handle &id, CBioseq_Info *info)
static const char * str(char *buf, int n)
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.
SStrictId_Tax::TId TTaxId
Taxon id type.
#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)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
@ eFeatureFetchPolicy_default
@ eFeatureFetchPolicy_only_near
@ eFeatureFetchPolicy_allow_far
bool x_UpdateSeq_inst(CSeq_inst &inst)
void SetRepr(CSeq_inst::TRepr repr)
static CRef< CSeqMap > CreateSeqMapForBioseq(const CBioseq &seq)
TSeqPos GetLength(CScope *scope) const
void SetMol(CSeq_inst::TMol mol)
void Reset(void)
Reset reference object.
#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 TStr & GetStr(void) const
Get the variant data.
bool IsStr(void) const
Check if variant Str is selected.
const TData & GetData(void) const
Get the Data member data.
bool IsStr(void) const
Check if variant Str is selected.
const TStr & GetStr(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
const TLabel & GetLabel(void) const
Get the Label member data.
const TType & GetType(void) const
Get the Type member data.
vector< CRef< CUser_field > > TData
list< CRef< CSeq_interval > > Tdata
const Tdata & Get(void) const
Get the member data.
const TWhole & GetWhole(void) const
Get the variant data.
list< CRef< CSeq_loc > > Tdata
E_Choice Which(void) const
Which variant is currently selected.
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
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.
const TPacked_int & GetPacked_int(void) const
Get the variant data.
@ e_Other
for historical reasons, 'other' = 'refseq'
@ e_Tpe
Third Party Annot/Seq EMBL.
@ e_Tpd
Third Party Annot/Seq DDBJ.
@ e_Tpg
Third Party Annot/Seq Genbank.
@ e_not_set
No variant selected.
@ e_Equiv
equivalent sets of locations
@ e_Empty
to NULL one Seq-id in a collection
const TSeq & GetSeq(void) const
Get the variant data.
TRepr GetRepr(void) const
Get the Repr member data.
const TSeg & GetSeg(void) const
Get the variant data.
const TUser & GetUser(void) const
Get the variant data.
bool IsSetSeq_data(void) const
the sequence Check if a value has been assigned to Seq_data data member.
TStrand GetStrand(void) const
Get the Strand member data.
ERepr
representation class
const TInst & GetInst(void) const
Get the Inst member data.
TTopology GetTopology(void) const
Get the Topology member data.
bool IsSetAnnot(void) const
Check if a value has been assigned to Annot data member.
bool IsSetRepr(void) const
Check if a value has been assigned to Repr data member.
bool IsSetMol(void) const
Check if a value has been assigned to Mol data member.
const TFuzz & GetFuzz(void) const
Get the Fuzz member data.
bool IsSetStrand(void) const
Check if a value has been assigned to Strand data member.
const TLiteral & GetLiteral(void) const
Get the variant data.
const TAnnot & GetAnnot(void) const
Get the Annot member data.
const TId & GetId(void) const
Get the Id member data.
bool IsSetHist(void) const
sequence history Check if a value has been assigned to Hist data member.
bool IsSetExt(void) const
extensions for special types Check if a value has been assigned to Ext data member.
const Tdata & Get(void) const
Get the member data.
bool IsSetInst(void) const
the sequence data Check if a value has been assigned to Inst data member.
TLength GetLength(void) const
Get the Length member data.
TLength GetLength(void) const
Get the Length member data.
list< CRef< CSeq_id > > TId
TMol GetMol(void) const
Get the Mol member data.
const CSeq_loc & Get(void) const
bool IsSetLength(void) const
length of sequence in residues Check if a value has been assigned to Length data member.
const THist & GetHist(void) const
Get the Hist member data.
const TExt & GetExt(void) const
Get the Ext member data.
E_Choice Which(void) const
Which variant is currently selected.
bool IsSetDescr(void) const
descriptors Check if a value has been assigned to Descr data member.
ETopology
topology of molecule
EMol
molecule class in living organism
E_Choice Which(void) const
Which variant is currently selected.
const TDelta & GetDelta(void) const
Get the variant data.
const TLoc & GetLoc(void) const
Get the variant data.
EStrand
strandedness in living organism
bool IsSetId(void) const
equivalent identifiers Check if a value has been assigned to Id data member.
list< CRef< CSeq_annot > > TAnnot
list< CRef< CDelta_seq > > Tdata
const Tdata & Get(void) const
Get the member data.
const TSeq_data & GetSeq_data(void) const
Get the Seq_data member data.
list< CRef< CSeq_loc > > Tdata
const TDescr & GetDescr(void) const
Get the Descr member data.
const TRef & GetRef(void) const
Get the variant data.
bool IsSetTopology(void) const
Check if a value has been assigned to Topology data member.
bool IsSetFuzz(void) const
length uncertainty Check if a value has been assigned to Fuzz data member.
bool IsUser(void) const
Check if variant User is selected.
@ e_Seg
segmented sequences
@ e_Ref
hot link to another sequence (a view)
@ e_Org
if all from one organism
@ e_User
user defined object
@ e_Source
source of materials, includes Org-ref
@ e_Literal
a piece of sequence
@ e_Loc
point to a sequence
where boath are integers</td > n< td ></td > n</tr > n< tr > n< td > tse</td > n< td > optional</td > n< td > String</td > n< td class=\"description\"> TSE option controls what blob is whole
Int4 delta(size_t dimension_, const Int4 *score_)
static bool GetSeqId(const T &d, set< string > &labels, const string name="", bool detect=false, bool found=false)