106 annot->
SetData().SetAlign().push_back(ref);
125 #define USE_ANNOT_FOR_WELL_KNOWN_SEQUENCES
144 if (
id.IsLocal() ||
id.IsGeneral()) {
266 if (ti == CSeq_loc::GetTypeInfo()) {
271 if (ti == CEntrezgene::GetTypeInfo()) {
276 if (ti == CEntrezgene_Set::GetTypeInfo()) {
281 if (ti == CSeq_feat::GetTypeInfo()) {
293 if (ti == CGC_Assembly::GetTypeInfo()) {
298 for (; annot_iter; ++annot_iter) {
299 if (annot_iter->IsAlign()) {
303 TSortedAligns sorted_aligns;
310 string assm_unit = gc_seq->GetAssemblyUnit()->GetName();
311 sorted_aligns[assm_unit].push_back(*aln_iter);
316 if ( !sorted_aligns.empty() ) {
317 string annot_name =
"";
318 if (annot_iter->IsSetDesc()) {
319 ITERATE (objects::CAnnot_descr::Tdata, descrIter, annot_iter->GetDesc().
Get()) {
320 if ((*descrIter)->IsTitle()) {
321 annot_name = (*descrIter)->GetTitle();
323 }
else if ((*descrIter)->IsName()) {
324 annot_name = (*descrIter)->GetName();
328 if ( !annot_name.empty() ) {
334 annot->
SetNameDesc(annot_name + sorted_annot_iter->first);
335 annot->
SetData().SetAlign() = sorted_annot_iter->second;
348 if (ti == CBioTreeContainer::GetTypeInfo()) {
353 if (ti == CProjectItem::GetTypeInfo()) {
364 CSeq_entry::GetTypeInfo(), objs);
368 (
dynamic_cast<const CSeq_entry&
>(obj_iter->GetObject()));
400 Error <<
"s_DetachEntryFromScope(): error removing seq-entry: " << ex.
GetMsg()
413 <<
"s_DetachAnnotFromScope(): error removing seq-annot: "
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.
static CRef< CSeq_annot > s_AlignSet2Annot(const CObject &obj)
static CSeq_annot_Handle s_AttachAnnotToScope(CScope &scope, CSeq_annot &annot)
static CRef< CSeq_annot > s_Align2Annot(const CObject &obj)
static void s_DetachAnnotFromScope(CScope &scope, CSeq_annot_Handle &annot)
static CSeq_entry_Handle s_AttachEntryToScope(CScope &scope, CSeq_entry &entry)
static void s_DetachEntryFromScope(CScope &scope, CSeq_entry_Handle &handle)
vector< objects::CSeq_annot_Handle > m_Seq_annot_Handles
vector< objects::CSeq_entry_Handle > m_Seq_entry_Handles
void Attach(objects::CScope &scope, objects::CProjectItem &item, bool annot_only=false)
void Detach(objects::CScope &scope)
void Find(const CSeq_id_Handle &id, TSequenceList &sequences) const
Find all references to a given sequence within an assembly.
static void Convert(objects::CScope &scope, const CObject &obj, const CTypeInfo *info, TObjList &objs, TFlags flags=eDefault)
Convert an object of potentially unknown type to a set of objects of known type.
ITypeConverter::TObjList TObjList
const CSerialObject * GetObject() const
retrieve the object pointed to as a CObject*
void SetNameDesc(const string &name)
namespace ncbi::objects::
Base class for all serializable objects.
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
#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.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
void Error(CExceptionArgs_Base &args)
const string & GetMsg(void) const
Get message string.
virtual const CTypeInfo * GetThisTypeInfo(void) const =0
TObjectInfo & Get(void)
Get information about current object.
CBeginInfo Begin(C &obj)
Get starting point of object hierarchy.
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
CSeq_entry_Handle AddTopLevelSeqEntry(CSeq_entry &top_entry, TPriority pri=kPriority_Default, EExist action=eExist_Default)
Add seq_entry, default priority is higher than for defaults or loaders Add object to the score with p...
CSeq_annot_Handle AddSeq_annot(CSeq_annot &annot, TPriority pri=kPriority_Default, EExist action=eExist_Throw)
Add Seq-annot, return its CSeq_annot_Handle.
void RemoveTopLevelSeqEntry(const CTSE_Handle &entry)
Revoke TSE previously added using AddTopLevelSeqEntry() or AddBioseq().
@ kPriority_Default
Use default priority for added data.
void Remove(void) const
Remove current annot.
const CTSE_Handle & GetTSE_Handle(void) const
CSeq_annot_EditHandle GetEditHandle(void) const
Get 'edit' version of handle.
void Reset(void)
Reset reference object.
TObjectType & GetObject(void)
Get object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
E_Choice Which(void) const
Which variant is currently selected.
const TItem & GetItem(void) const
Get the Item member data.
void SetItem(TItem &value)
Assign a value to Item data member.
const TSubmit & GetSubmit(void) const
Get the variant data.
@ e_Obsolete_plugin
plugin message This is deprecated. DO NOT USE THIS FIELD. The original spec is: plugin PluginMessage....
@ e_Other
arbitrary object (use with care!)
@ e_Id
for projects that simply import a far-pointer
@ e_Seq_align
seq-align and seq-align-set as registered items
@ e_Entry
for projects that contain something else
list< CRef< CSeq_align > > Tdata
const Tdata & Get(void) const
Get the member data.
TSet & SetSet(void)
Select the variant.
bool CanGetAnnot(void) const
Check if it is safe to call GetAnnot method.
TAnnot & SetAnnot(void)
Assign a value to Annot data member.
const TSet & GetSet(void) const
Get the variant data.
bool IsSet(void) const
Check if variant Set is selected.
TSeq & SetSeq(void)
Select the variant.
void SetData(TData &value)
Assign a value to Data data member.
bool CanGetAnnot(void) const
Check if it is safe to call GetAnnot method.
TAnnot & SetAnnot(void)
Assign a value to Annot data member.
const TId & GetId(void) const
Get the Id member data.
list< CRef< CSeq_align > > TAlign
const TData & GetData(void) const
Get the Data member data.
list< CRef< CSeq_annot > > TAnnot
E_Choice Which(void) const
Which variant is currently selected.
list< CRef< CSeq_entry > > TEntrys
list< CRef< CSeq_annot > > TAnnots
E_Choice Which(void) const
Which variant is currently selected.
const TData & GetData(void) const
Get the Data member data.