: m_Seq_annot_Info(&annot),
100TFtable::iterator iter)
101: m_Seq_annot_Info(&annot),
102m_ObjectIndex(index),
105 #ifdef NCBI_NON_POD_TYPE_STL_ITERATORS 106 m_Iter.m_Feat.Construct();
116TAlign::iterator iter)
117: m_Seq_annot_Info(&annot),
118m_ObjectIndex(index),
121 #ifdef NCBI_NON_POD_TYPE_STL_ITERATORS 122 m_Iter.m_Align.Construct();
132TGraph::iterator iter)
133: m_Seq_annot_Info(&annot),
134m_ObjectIndex(index),
137 #ifdef NCBI_NON_POD_TYPE_STL_ITERATORS 138 m_Iter.m_Graph.Construct();
148TLocs::iterator iter)
149: m_Seq_annot_Info(&annot),
150m_ObjectIndex(index),
153 #ifdef NCBI_NON_POD_TYPE_STL_ITERATORS 154 m_Iter.m_Locs.Construct();
166: m_Seq_annot_Info(&annot),
167m_ObjectIndex(index),
170 #ifdef NCBI_NON_POD_TYPE_STL_ITERATORS 171 m_Iter.m_Feat.Construct();
173*
m_Iter.m_Feat = cont.insert(cont.end(),
184: m_Seq_annot_Info(&annot),
185m_ObjectIndex(index),
188 #ifdef NCBI_NON_POD_TYPE_STL_ITERATORS 189 m_Iter.m_Align.Construct();
191*
m_Iter.m_Align = cont.insert(cont.end(),
202: m_Seq_annot_Info(&annot),
203m_ObjectIndex(index),
206 #ifdef NCBI_NON_POD_TYPE_STL_ITERATORS 207 m_Iter.m_Graph.Construct();
209*
m_Iter.m_Graph = cont.insert(cont.end(),
220: m_Seq_annot_Info(&annot),
221m_ObjectIndex(index),
224 #ifdef NCBI_NON_POD_TYPE_STL_ITERATORS 225 m_Iter.m_Locs.Construct();
227*
m_Iter.m_Locs = cont.insert(cont.end(),
236: m_Seq_annot_Info(0),
237m_ObjectIndex(eChunkStub),
240 m_Iter.m_Chunk = &chunk_info;
251 #ifdef NCBI_NON_POD_TYPE_STL_ITERATORS 254: m_Seq_annot_Info(
info.m_Seq_annot_Info),
255m_ObjectIndex(
info.m_ObjectIndex),
256m_Type(
info.m_Type)
258 if(
info.IsRegular() ) {
259 if(
info.IsFeat() ) {
260 m_Iter.m_Feat.Construct();
264 else if(
info.IsAlign() ) {
265 m_Iter.m_Align.Construct();
269 else if(
info.IsGraph() ) {
270 m_Iter.m_Graph.Construct();
274 else if(
info.IsLocs() ) {
275 m_Iter.m_Locs.Construct();
290 if(
this!= &
info) {
295 if(
info.IsRegular() ) {
296 if(
info.IsFeat() ) {
297 m_Iter.m_Feat.Construct();
301 else if(
info.IsAlign() ) {
302 m_Iter.m_Align.Construct();
306 else if(
info.IsGraph() ) {
307 m_Iter.m_Graph.Construct();
311 else if(
info.IsLocs() ) {
312 m_Iter.m_Locs.Construct();
331 #ifdef NCBI_NON_POD_TYPE_STL_ITERATORS 334 m_Iter.m_Feat.Destruct();
337 m_Iter.m_Align.Destruct();
340 m_Iter.m_Graph.Destruct();
343 m_Iter.m_Locs.Destruct();
362 switch(
Which() ) {
381 switch(
Which() ) {
406 if( (*desc_it)->IsRegion() ) {
407region.
Reset(&(*desc_it)->GetRegion());
414hrmaps[0].SetMasterSeq(master);
415hrmaps[0].AddLocation(*region);
431hrmaps[0].SetMasterSeq(master);
444hrmaps[1].SetMasterSeq(master);
455hrmaps[0].SetMasterSeq(master);
456hrmaps[0].AddLocation(graph.
GetLoc());
490 if( !(*desc_it)->IsUser() ) {
502 if(
type==
"align") {
506 else if(
type==
"graph") {
510 else if(
type==
"ftable") {
511 if( obj.
GetData().size() == 0 ) {
579 intdim = diag.
GetDim();
580 if(dim != (
int)diag.
GetIds().size()) {
582dim =
min(dim, (
int)diag.
GetIds().size());
584 if(dim != (
int)diag.
GetStarts().size()) {
589&& dim != (
int)diag.
GetStrands().size()) {
593 if((
int)hrmaps.size() < dim) {
602 if( (*it)->IsSetStrands() ) {
603strand = (*it)->GetStrands()[
row];
605hrmaps[
row].SetMasterSeq(master);
606hrmaps[
row].AddRange(
id, from, to, strand);
615 size_tdim = size_t(denseg.GetDim());
616 size_tnumseg = size_t(denseg.GetNumseg());
618 if(numseg != denseg.GetLens().size()) {
620numseg =
min(numseg, denseg.GetLens().size());
622 if(dim != denseg.GetIds().size()) {
624dim =
min(dim, denseg.GetIds().size());
626 if(dim*numseg != denseg.GetStarts().size()) {
628dim =
min(dim*numseg, denseg.GetStarts().size()) / numseg;
630 if(denseg.IsSetStrands()
631&& dim*numseg != denseg.GetStrands().size()) {
633dim =
min(dim*numseg, denseg.GetStrands().size()) / numseg;
635 if(hrmaps.size() < dim) {
638 for(
size_tseg = 0; seg < numseg; seg++) {
639 for(
size_t row= 0;
row< dim;
row++) {
640 if(denseg.GetStarts()[seg*dim +
row] < 0 ) {
644 TSeqPosfrom = denseg.GetStarts()[seg*dim +
row];
645 TSeqPosto = from + denseg.GetLens()[seg] - 1;
647 if( denseg.IsSetStrands() ) {
648strand = denseg.GetStrands()[seg*dim +
row];
650hrmaps[
row].SetMasterSeq(master);
651hrmaps[
row].AddRange(
id, from, to, strand);
661 size_tdim = size_t((*it)->GetDim());
662 if(hrmaps.size() < dim) {
663hrmaps.resize((*it)->GetDim());
667 for(
size_t row= 0; row_it; ++row_it, ++
row) {
668 if(
row>= hrmaps.size()) {
669hrmaps.resize(
row+ 1);
675hrmaps[
row].SetMasterSeq(master);
676hrmaps[
row].AddRange(
id, from, to, strand);
686 size_tdim = size_t(packed.GetDim());
687 size_tnumseg = size_t(packed.GetNumseg());
689 if(dim * numseg > packed.GetStarts().size()) {
690dim = packed.GetStarts().size() / numseg;
692 if(dim * numseg > packed.GetPresent().size()) {
693dim = packed.GetPresent().size() / numseg;
695 if(dim > packed.GetLens().size()) {
696dim = packed.GetLens().size();
698 if(hrmaps.size() < dim) {
701 for(
size_tseg = 0; seg < numseg; seg++) {
702 for(
size_t row= 0;
row< dim;
row++) {
703 if( packed.GetPresent()[seg*dim +
row] ) {
704hrmaps[
row].SetMasterSeq(master);
706 TSeqPosfrom = packed.GetStarts()[seg*dim +
row];
707 TSeqPosto = from + packed.GetLens()[seg] - 1;
709 if( packed.IsSetStrands() ) {
710strand = packed.GetStrands()[seg*dim +
row];
712hrmaps[
row].AddRange(
id, from, to, strand);
731 const CSeq_id* gen_id = spliced.IsSetGenomic_id() ?
732&spliced.GetGenomic_id() : 0;
733 const CSeq_id* prod_id = spliced.IsSetProduct_id() ?
734&spliced.GetProduct_id() : 0;
741 const CSeq_id&
id= *ex_gen_id;
748 else if( spliced.IsSetGenomic_strand() ) {
749strand = spliced.GetGenomic_strand();
751hrmaps[1].SetMasterSeq(master);
752hrmaps[1].AddRange(
id, from, to, strand);
757 const CSeq_id&
id= *ex_prod_id;
770 else if( spliced.IsSetProduct_strand() ) {
771strand = spliced.GetProduct_strand();
773hrmaps[0].SetMasterSeq(master);
774hrmaps[0].AddRange(
id, from, to, strand);
784 size_tdim = sparse.
GetRows().size() + 1;
785 if(hrmaps.size() < dim) {
789hrmaps[0].SetMasterSeq(master);
795 "Invalid size of 'first-starts' in sparse-align");
800 "Invalid size of 'second-starts' in sparse-align");
803 if(numseg != aln_row.
GetLens().size()) {
805 "Invalid size of 'lens' in sparse-align");
806numseg =
min(numseg, aln_row.
GetLens().size());
811 "Invalid size of 'second-strands' in sparse-align");
815hrmaps[
row+1].SetMasterSeq(master);
816 for(
size_tseg = 0; seg < numseg; ++seg) {
823hrmaps[0].AddRange(
id, from, to);
833hrmaps[
row+1].AddRange(
id, from, to, strand);
874TFtable::iterator old_iter = *
m_Iter.m_Feat;
875*
m_Iter.m_Feat = cont.insert(cont.end(), *old_iter);
876cont.erase(old_iter);
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.
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.
const CTempString kAnnotTypePrefix
NCBI_DEFINE_ERR_SUBCODE_X(12)
const TFtable::iterator & x_GetFeatIter(void) const
TAnnotType Which(void) const
const CSeq_loc & GetLocs(void) const
const CSeq_entry_Info & GetSeq_entry_Info(void) const
void GetLocsTypes(TTypeIndexSet &idx_set) const
CConstRef< CObject > GetObject(void) const
const CSeq_annot_Info & GetSeq_annot_Info(void) const
const CObject * GetObjectPointer(void) const
static void x_ProcessFeat(vector< CHandleRangeMap > &hrmaps, const CSeq_feat &feat, const CMasterSeqSegments *master)
void x_Locs_AddFeatSubtype(int ftype, int subtype, TTypeIndexSet &idx_set) const
void x_MoveToBack(TFtable &cont)
void x_SetObject(const CSeq_feat &new_obj)
const TGraph::iterator & x_GetGraphIter(void) const
bool IsRegular(void) const
union CAnnotObject_Info::@740 m_Iter
vector< TIndexRange > TTypeIndexSet
static void x_ProcessAlign(vector< CHandleRangeMap > &hrmaps, const CSeq_align &align, const CMasterSeqSegments *master)
void GetMaps(vector< CHandleRangeMap > &hrmaps, const CMasterSeqSegments *master=0) const
const CSeq_feat * GetFeatFast(void) const
CSeq_annot_Info * m_Seq_annot_Info
CDataSource & GetDataSource(void) const
static void x_ProcessGraph(vector< CHandleRangeMap > &hrmaps, const CSeq_graph &graph, const CMasterSeqSegments *master)
SAnnotTypeSelector m_Type
const TAlign::iterator & x_GetAlignIter(void) const
bool IsChunkStub(void) const
pair< size_t, size_t > TIndexRange
const CSeq_align & GetAlign(void) const
const CTSE_Info & GetTSE_Info(void) const
bool IsRemoved(void) const
const CSeq_graph * GetGraphFast(void) const
static TIndexRange GetFeatTypeRange(CSeqFeatData::E_Choice type)
static size_t GetSubtypeIndex(CSeqFeatData::ESubtype subtype)
static TIndexRange GetAnnotTypeRange(CSeq_annot::C_Data::E_Choice type)
ESubtype GetSubtype(void) const
CConstRef< TObject > GetCompleteSeq_annot(void) const
const CSeq_entry_Info & GetParentSeq_entry_Info(void) const
namespace ncbi::objects::
Seq-loc iterator class â iterates all intervals from a seq-loc in the correct order.
CDataSource & GetDataSource(void) const
const CTSE_Info & GetTSE_Info(void) const
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
int GetSubtype(CFieldNamePanel *field_name_panel, string &ncRNA_class)
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.
void Warning(CExceptionArgs_Base &args)
TRange GetRange(void) const
Get the range.
ENa_strand GetStrand(void) const
const CSeq_id & GetSeq_id(void) const
Get seq_id of the current location.
CConstRef< C > ConstRef(const C *object)
Template function for conversion of const object pointer to CConstRef.
CRef< C > Ref(C *object)
Helper functions to get CRef<> and CConstRef<> objects.
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.
size_type size(void) const
Return the length of the represented array.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
bool IsStr(void) const
Check if variant Str is selected.
bool IsId(void) const
Check if variant Id is selected.
const TData & GetData(void) const
Get the Data member data.
const TStr & GetStr(void) const
Get the variant data.
TInt GetInt(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
TId GetId(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently selected.
const TInts & GetInts(void) const
Get the variant data.
bool IsSetProduct_strand(void) const
should be 'plus' or 'minus' Check if a value has been assigned to Product_strand data member.
const TProtpos & GetProtpos(void) const
Get the variant data.
const TDenseg & GetDenseg(void) const
Get the variant data.
vector< CRef< CSeq_loc > > TLoc
vector< CRef< CSparse_align > > TRows
E_Choice Which(void) const
Which variant is currently selected.
list< CRef< CStd_seg > > TStd
TGenomic_start GetGenomic_start(void) const
Get the Genomic_start member data.
const TProduct_id & GetProduct_id(void) const
Get the Product_id member data.
const TFirst_id & GetFirst_id(void) const
Get the First_id member data.
bool IsSetGenomic_strand(void) const
genomic-strand represents the strand of translation Check if a value has been assigned to Genomic_str...
TAmin GetAmin(void) const
Get the Amin member data.
bool IsSetProduct_id(void) const
product is either protein or transcript (cDNA) Check if a value has been assigned to Product_id data ...
const TProduct_start & GetProduct_start(void) const
Get the Product_start member data.
TDim GetDim(void) const
Get the Dim member data.
const TIds & GetIds(void) const
Get the Ids member data.
const TProduct_end & GetProduct_end(void) const
Get the Product_end member data.
const TSpliced & GetSpliced(void) const
Get the variant data.
const TSecond_starts & GetSecond_starts(void) const
Get the Second_starts member data.
const TPacked & GetPacked(void) const
Get the variant data.
const TStd & GetStd(void) const
Get the variant data.
const TLens & GetLens(void) const
Get the Lens member data.
list< CRef< CSpliced_exon > > TExons
bool IsSetSecond_strands(void) const
Check if a value has been assigned to Second_strands data member.
const TFirst_starts & GetFirst_starts(void) const
Get the First_starts member data.
const TDendiag & GetDendiag(void) const
Get the variant data.
TGenomic_strand GetGenomic_strand(void) const
Get the Genomic_strand member data.
bool IsSetStrands(void) const
Check if a value has been assigned to Strands data member.
TNumseg GetNumseg(void) const
Get the Numseg member data.
TProduct_strand GetProduct_strand(void) const
Get the Product_strand member data.
const TStrands & GetStrands(void) const
Get the Strands member data.
const TSecond_strands & GetSecond_strands(void) const
Get the Second_strands member data.
const TSecond_id & GetSecond_id(void) const
Get the Second_id member data.
TGenomic_end GetGenomic_end(void) const
Get the Genomic_end member data.
const TStarts & GetStarts(void) const
Get the Starts member data.
list< CRef< CSeq_align > > Tdata
const TSparse & GetSparse(void) const
Get the variant data.
bool IsSetGenomic_id(void) const
Check if a value has been assigned to Genomic_id data member.
bool IsNucpos(void) const
Check if variant Nucpos is selected.
const TRows & GetRows(void) const
Get the Rows member data.
const TDisc & GetDisc(void) const
Get the variant data.
list< CRef< CDense_diag > > TDendiag
TNucpos GetNucpos(void) const
Get the variant data.
const TSegs & GetSegs(void) const
Get the Segs member data.
const TGenomic_id & GetGenomic_id(void) const
Get the Genomic_id member data.
@ e_not_set
No variant selected.
const TLocation & GetLocation(void) const
Get the Location member data.
E_Choice
Choice variants.
const TData & GetData(void) const
Get the Data member data.
const TExcept_text & GetExcept_text(void) const
Get the Except_text member data.
bool IsSetExcept_text(void) const
explain if except=TRUE Check if a value has been assigned to Except_text data member.
const TProduct & GetProduct(void) const
Get the Product member data.
bool IsSetProduct(void) const
product of process Check if a value has been assigned to Product data member.
ENa_strand
strand of nucleic acid
const TLoc & GetLoc(void) const
Get the Loc member data.
const Tdata & Get(void) const
Get the member data.
const TDesc & GetDesc(void) const
Get the Desc member data.
bool IsSetDesc(void) const
used only for stand alone Seq-annots Check if a value has been assigned to Desc data member.
list< CRef< CAnnotdesc > > Tdata
@ e_not_set
No variant selected.
@ e_Locs
used for communication between tools
Definition of all error codes used in objmgr libraries (xobjmgr.lib, xobjutil.lib and others).
#define row(bind, expected)
void SetAnnotType(TAnnotType type)
void SetFeatSubtype(TFeatSubtype subtype)
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