->sub_contexts.clear();
233 if(name ==
"asn") {
235}
else if(name ==
"asnb") {
237}
else if(name ==
"xml") {
239}
else if(name ==
"json") {
344pos = find(mapentry->second->GetData().begin(),
345mapentry->second->GetData().end(),
347 if(pos == mapentry->second->GetData().end()) {
349mapentry->second->GetData().push_back(
s_AnnotPos);
359pair<TSeqRef, TPosContRef>(seqid_in_annot, newcont));
378seqid = find(mapentry->second->GetData().begin(),
379mapentry->second->GetData().end(),
381 if(seqid == mapentry->second->GetData().end()) {
383mapentry->second->GetData().push_back(seqid_in_annot);
389newvec->GetData().push_back(seqid_in_annot);
391pair<CNcbiStreampos, TSeqRefContRef>(
s_AnnotPos, newvec));
412 if(
mask==
"Default") {
415}
else if(
mask==
"All") {
420list<string> flag_list;
422list<string>::iterator fbegin(flag_list.begin());
423list<string>::iterator fend(flag_list.end());
424list<string>::iterator found_flag;
427 #define ADDFLAG(flag) \ 428 if ((found_flag = find(fbegin,fend,#flag)) != fend) flags |= fSAMF_##flag; 450 if(
mask==
"Default") {
453}
else if(
mask==
"All") {
456}
else if(
mask==
"AllButLocal") {
461list<string> flag_list;
463list<string>::iterator fbegin(flag_list.begin());
464list<string>::iterator fend(flag_list.end());
465list<string>::iterator found_flag;
468 #define ADDFLAG(flag) \ 469 if ((found_flag = find(fbegin,fend,#flag)) != fend) flags |= fSIMF_##flag; 508 while( !
context->sub_contexts.empty()) {
510 context->sub_contexts.pop_back();
526cout << s1 <<
"Context {"<< endl;
527cout << s2 <<
"type: "<<
context->type << endl;
528cout << s2 <<
"has_annots: "<<
context->has_annots << endl;
529 if(
context->seqids.size() > 0) {
530cout << s2 <<
"seqids: "<< endl;
531 for(
const auto&
id:
context->seqids) {
532cout << s3 <<
"seqid: "<<
id->GetSeqIdString(
true) << endl;
535cout << s2 <<
"seqids: (none)"<< endl;
539 for(
const auto& sub :
context->sub_contexts) {
544cout << s1 <<
"}"<< endl;
573 switch(seqid->
Which()) {
606 boolcontainer_removed =
false;
615 TSeqRefCont& seq_list(annot_in_map_iter->second->GetData());
616 for(
const auto& seq : seq_list) {
623 TPosCont& annot_list(seqid_in_map->second->GetData());
624 TPosContIterseqannot = find(annot_list.begin(), annot_list.end(), annot_in_map_iter->first);
625 _ASSERT(seqannot != annot_list.end());
630annot_list.erase(seqannot);
633 if(annot_list.empty()) {
635container_removed =
true;
642 returncontainer_removed;
654sai->SetStreamPos(annot_in_map->first);
679 TPosCont& pos_list = seqid_iter->second->GetData();
681 for( pos = pos_list.begin(); pos != pos_list.end(); pos = next_pos ) {
ncbi::TMaskedQueryRegions mask
Writing containers (SET OF, SEQUENCE OF).
void SeqAnnot_Spliced(void)
void SeqEntry_Changed(void)
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
iterator_bool insert(const value_type &val)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
ESerialDataFormat
Data file format.
@ eSerial_AsnText
ASN.1 text.
@ eSerial_AsnBinary
ASN.1 binary.
IO_PREFIX::streampos CNcbiStreampos
Portable alias for streampos.
static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)
Split a string using specified delimiters.
@ fSplit_MergeDelimiters
Merge adjacent delimiters.
E_Choice Which(void) const
Which variant is currently selected.
@ e_Gibbmt
Geninfo backbone moltype.
@ e_Giim
Geninfo import id.
@ e_Other
for historical reasons, 'other' = 'refseq'
@ e_Gpipe
Internal NCBI genome pipeline processing ID.
@ e_Tpe
Third Party Annot/Seq EMBL.
@ e_Tpd
Third Party Annot/Seq DDBJ.
@ e_Gibbsq
Geninfo backbone seqid.
@ e_General
for other databases
@ e_Gi
GenInfo Integrated Database.
@ e_Named_annot_track
Internal named annotation tracking ID.
@ e_not_set
No variant selected.
@ e_Tpg
Third Party Annot/Seq Genbank.
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
const TData & GetData(void) const
Get the Data member data.
bool CanGetData(void) const
Check if it is safe to call GetData method.
E_Choice Which(void) const
Which variant is currently selected.
@ e_Ids
used for communication between tools
@ e_not_set
No variant selected.
@ e_Locs
used for communication between tools
Magic spell ;-) needed for some weird compilers... very empiric.
Defines NCBI C++ exception handling.
Miscellaneous common-use basic types and functionality.
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
std::istream & in(std::istream &in_, double &x_)
CSeqAnnotSplicerStats * g_Stats
void SetSeqIdChoiceMask(const string &mask)
CObjectFor< TPosCont > TPosContOb
static TAnnotToSeqIdMap s_AnnotToSeqIdMap
list< TContextPtr > TContextList
TSeqRefCont::iterator TSeqRefContIter
static TSeqIdChoiceMaskFlags s_SeqIdChoiceMask
list< CNcbiStreampos > TPosCont
bool IsSeqIdChoiceSelected(TSeqIdChoiceMaskFlags flags)
static void s_SpliceAnnotsForSeqId(unique_ptr< CObjectIStream > &sai, COStreamContainer &osc, TSeqIdToAnnotMapIter seqid_iter)
void SetSeqAnnotChoiceMask(const string &mask)
TSeqIdToAnnotMap::iterator TSeqIdToAnnotMapIter
TAnnotToSeqIdMap::const_iterator TAnnotToSeqIdMapCIter
static TContextListIter s_ContextSequenceIter
void CurrentContextContainsSeqAnnots(void)
static CNcbiStreampos s_AnnotPos
ESerialDataFormat GetFormat(const string &name)
static void s_DeleteContext(TContextPtr context)
static TContextPtr s_RootContextPtr
stack< TContextPtr > TContextPtrStack
static TSeqAnnotChoiceMaskFlags s_SeqAnnotChoiceMask
TAnnotToSeqIdMap::iterator TAnnotToSeqIdMapIter
void SeqAnnotMapSeqId(TSeqRef seqid_in_annot)
CRef< TPosContOb > TPosContRef
void ResetSeqEntryProcessing(void)
struct SContext_tag SContext
set< TSeqRef, PPtrLess< TSeqRef > > TContextSeqIds
static TSeqAnnotChoiceMaskFlags s_GetSeqAnnotChoiceMask(const CSeq_annot *annot)
CRef< TSeqRefContOb > TSeqRefContRef
TContextList::iterator TContextListIter
void SeqAnnotSet_Pre(CObjectIStream &in)
static TContextPtrStack s_ContextPtrStack
static TSeqIdToAnnotMap s_SeqIdToAnnotMap
static bool s_RemoveAnnot(TAnnotToSeqIdMapIter annot_in_map_iter)
CObjectFor< TSeqRefCont > TSeqRefContOb
static TContextPtr s_CurrentContextPtr
void AddSeqIdToCurrentContext(TSeqRef id)
static TSeqIdChoiceMaskFlags s_GetSeqIdChoiceMask(const CSeq_id *seqid)
static bool s_SpliceAnnot(unique_ptr< CObjectIStream > &sai, COStreamContainer &osc, TAnnotToSeqIdMapIter annot_in_map)
map< TSeqRef, TPosContRef, PPtrLess< TSeqRef > > TSeqIdToAnnotMap
static TContextList s_ContextSequence
TSeqIdToAnnotMap::const_iterator TSeqIdToAnnotMapCIter
TPosCont::iterator TPosContIter
map< CNcbiStreampos, TSeqRefContRef > TAnnotToSeqIdMap
struct SContext_tag * TContextPtr
bool IsSeqAnnotChoiceSelected(TSeqAnnotChoiceMaskFlags flags)
list< TSeqRef > TSeqRefCont
void ContextStart(CObjectIStream &in, EContextType type)
void ProcessSeqEntryAnnot(unique_ptr< CObjectIStream > &sai, COStreamContainer &osc)
unsigned int TSeqAnnotChoiceMaskFlags
Binary OR of "ESeqAnnotChoiceMaskFlags".
@ fSIMF_Gpipe
Internal NCBI genome pipeline processing ID.
@ fSIMF_General
for other databases
@ fSIMF_Tpg
Third Party Annot/Seq Genbank.
@ fSIMF_Giim
Geninfo import id.
@ fSIMF_NotSet
No variant selected.
@ fSIMF_Gi
GenInfo Integrated Database.
@ fSIMF_Pdb
PDB sequence.
@ fSIMF_Named_annot_track
Internal named annotation tracking ID.
@ fSIMF_Tpe
Third Party Annot/Seq EMBL.
@ fSIMF_Gibbsq
Geninfo backbone seqid.
@ fSIMF_Other
for historical reasons, 'other' = 'refseq'
@ fSIMF_Tpd
Third Party Annot/Seq DDBJ.
@ fSIMF_Gibbmt
Geninfo backbone moltype.
ncbi::CRef< ncbi::objects::CSeq_id > TSeqRef
unsigned int TSeqIdChoiceMaskFlags
Binary OR of "ESeqIdChoiceMaskFlags".
@ fSAMF_Ids
used for communication between tools
@ fSAMF_Locs
used for communication between tools
@ fSAMF_NotSet
No variant selected.
TContextList sub_contexts
static CS_CONTEXT * context
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4