85 CCdd_id_set::Tdata::const_iterator
i;
90 if ((*i)->GetGid().IsSetVersion()) {
91 Version = (*i)->GetGid().GetVersion();
96 return((*i)->GetGid().GetAccession());
111 CCdd_id_set::Tdata::iterator
i;
115 (*i)->SetGid().SetAccession(Accession);
116 (*i)->SetGid().SetVersion(Version);
125 global->SetAccession(Accession);
126 global->SetVersion(Version);
136 CCdd_id_set::Tdata::iterator
i;
150 CCdd_id_set::Tdata::const_iterator idCit = ids.begin(), idEnd = ids.end();
151 for (; idCit != idEnd; ++idCit) {
152 if ((*idCit)->IsUid()) {
153 uid = (*idCit)->GetUid();
165 for (CCdd_id_set::Tdata::const_iterator ci=idSet.begin(); ci!=idSet.end(); ++ci) {
166 if ((**ci).Equals(
id)) {
183 CCdd_descr_set::Tdata::const_iterator
i;
188 if ((*i)->IsComment()) {
189 return((*i)->GetComment());
200 CCdd_descr_set::Tdata::const_iterator
i;
205 if ((*i)->IsUpdate_date()) {
206 (*i)->GetUpdate_date().GetDate(&Str);
233 int count = 0, seqIndex = -1;
235 for (
int i = 0;
i < nrows; ++
i) {
302 bool onMaster = (rowIndex) ?
false :
true;
308 sort(starts.begin(), starts.end());
323 if (rowIndex < 0 || rowIndex >
GetNumRows()) {
354 for (
i=0; seCit != seCend &&
i<NumSequences; ++seCit,
i++) {
375 for (k=0; k<NumRows; k++) {
393 list<int>::iterator lintIt;
397 if (numMatches > 0) {
398 for (lintIt = lint.begin(); lintIt != lint.end(); ++lintIt) {
399 rows.push_back(*lintIt);
418 for (
i=0;
i<nrow;
i++) {
420 if (findID->
Match(*testID)) {
438 int Pair, DenDiagRow;
440 Pair = (Row <= 1) ? 0 : Row-1;
441 DenDiagRow = (Row == 0) ? 0 : 1;
446 }
else if (SeqID->
IsPdb() && !ignorePDBs) {
459 int Pair, DenDiagRow;
461 Pair = (Row <= 1) ? 0 : Row-1;
462 DenDiagRow = (Row == 0) ? 0 : 1;
464 if (SeqID->
IsPdb()) {
465 pPDB = &(SeqID->
GetPdb());
477 CDense_diag::TStarts::const_iterator
i;
481 i = DenDiag->GetStarts().begin();
496 CDense_diag::TStarts::const_iterator
i;
500 i = DenDiag->GetStarts().begin();
504 return((*
i + DenDiag->GetLen()) - 1);
514 int Pair = (RowIndex <= 1) ? 0 : RowIndex-1;
515 int DenDiagRow = (RowIndex == 0) ? 0 : 1;
522 Str +=
"<Non-gi/pdb Sequence Types Unsupported>";
533 list< CRef< CSeq_id > >::const_iterator sici;
534 list< CRef< CSeq_entry > >::const_iterator seci, seci_start, seci_end;
541 for (seci = seci_start; seci != seci_end &&
result ==
false; ++seci) {
542 if ((*seci)->IsSeq()) {
543 for (sici = (*seci)->GetSeq().GetId().begin();
544 sici != (*seci)->GetSeq().GetId().end() &&
result ==
false; ++sici) {
545 if (seqID->
Match(**sici)) {
593 list< CRef< CSeq_entry > >::const_iterator
i;
594 list< CRef< CSeq_id > >::const_iterator j;
595 int SeqCount, IDCount;
603 if (SeqCount == SeqIndex) {
607 for (j = (*i)->GetSeq().GetId().begin();
608 j != (*i)->GetSeq().GetId().end(); j++) {
610 return((*j)->GetGi());
617 if (SeqCount > SeqIndex)
break;
629 list< CRef< CSeq_entry > >::const_iterator
i;
630 list< CRef< CSeqdesc > >::const_iterator j;
640 if (SeqCount == SeqIndex) {
642 if ((*i)->GetSeq().IsSetDescr()) {
644 for (j=(*i)->GetSeq().GetDescr().Get().begin();
645 j!=(*i)->GetSeq().GetDescr().Get().end(); j++) {
647 if ((*j)->IsTitle()) {
648 return((*j)->GetTitle());
652 if ((*j)->GetPdb().GetCompound().size() > 0) {
653 return((*j)->GetPdb().GetCompound().front());
661 if (SeqCount > SeqIndex)
break;
681 list< CRef< CSeq_entry > >::const_iterator
i, iend;
687 for (
i =
GetSequences().GetSet().GetSeq_set().begin();
i != iend; ++
i) {
688 if (SeqCount == seqIndex) {
703 list< CRef< CSeq_entry > >::iterator
i, iend;
709 for (
i =
SetSequences().SetSet().SetSeq_set().begin();
i != iend; ++
i) {
710 if (SeqCount == seqIndex && (*i)->IsSeq()) {
711 bioseq.
Reset(&(*i)->SetSeq());
752 int k, Pair, DenDiagRow, NumRows=
GetNumRows();
755 for (k=0; k<NumRows; k++) {
756 Pair = (k <= 1) ? 0 : k-1;
757 DenDiagRow = (k == 0) ? 0 : 1;
766 list <CRef <CUpdate_align> > ::const_iterator pPen;
768 const CSeq_align * pAl = *((*pPen)->GetSeqannot().GetData().GetAlign().begin());
770 vector < CRef< CSeq_id > >::const_iterator pid=pDDPen->
GetIds().begin();
794 CDense_diag::TIds::iterator
i;
797 Row = (Pair == 0) ? DenDiagRow : Pair+1;
801 IdsSet = DenDiag->GetIds();
804 if (DenDiagRow != 0) {
819 int Pair = (RowIndex <= 1) ? 0 : RowIndex-1;
820 int DenDiagRow = (RowIndex == 0) ? 0 : 1;
838 list< CRef< CSeq_entry > >::const_iterator
i;
839 list< CRef< CSeq_id > >::const_iterator j;
840 int SeqCount, IDCount, NumIDs;
848 if (SeqCount == SeqIndex) {
851 NumIDs = (*i)->GetSeq().GetId().size();
853 for (j = (*i)->GetSeq().GetId().begin();
854 j != (*i)->GetSeq().GetId().end(); j++) {
864 for (j = (*i)->GetSeq().GetId().begin();
865 j != (*i)->GetSeq().GetId().end(); j++) {
875 for (j = (*i)->GetSeq().GetId().begin();
876 j != (*i)->GetSeq().GetId().end(); j++) {
877 if ((*j)->IsOther()) {
886 SeqID = *((*i)->GetSeq().GetId().begin());
904 list< CRef< CSeq_entry > >::const_iterator
i;
913 if (SeqCount == SeqIndex) {
916 SeqIDs = (*i)->GetSeq().GetId();
921 if (SeqCount > SeqIndex)
break;
934 if (SeqCount == SeqIndex) {
941 return (*i)->GetSeq().GetId();
951 vector<int> * iVal=(vector<int> *)pVal;
952 if ((*iVal)[
i]>(*iVal)[j])
return 1;
953 else if ((*iVal)[
i]<(*iVal)[j])
return -1;
973 int * ind=
new int[3*TossRows.size()];
976 for (
i=TossRows.size()-1;
i>=0;
i--) {
977 if (TossRows[ind[
i]] == 0) {
981 if (!
EraseRow(alignment, TossRows[ind[
i]])) {
1010 NumRows = alignment->
SetData().SetAlign().size() + 1;
1011 for (j=NumRows-1; j>0; j--) {
1014 for (k=0; k<(
int)KeepRows.size(); k++) {
1015 if (KeepRows[k] == j) {
1042 CBioseq::TId::const_iterator idCit, idCend;
1049 for (
i=0; seCit != seCend &&
i<NumSequences; ++seCit,
i++) {
1051 if ((*seCit)->IsSeq()) {
1054 for (idCit = ids.begin(); idCit != idCend; ++idCit) {
1067 if (indicesToErase.
size() > 0) {
1068 ritEnd = indicesToErase.rend();
1069 for (rit = indicesToErase.rbegin(); rit != ritEnd; ++rit) {
1081 list< CRef< CSeq_entry > >::iterator
i;
1089 if (SeqCount == SeqIndex) {
1094 if (SeqCount > SeqIndex)
break;
1108 (*(
SetSeqannot().begin()))->SetData().SetAlign().push_back(sa);
1119 newPend->SetSeqannot().SetData().SetAlign().push_back(sa);
1120 com->SetComment (
"Sequence aligns to the CD partially.");
1121 newPend->SetDescription().push_back(com);
1138 list< CRef< CUpdate_align > >& pendingList =
SetPending();
1139 list< CRef< CUpdate_align > >::iterator lit = pendingList.begin();
1141 for(; lit != pendingList.end(); ++lit)
1145 pendingList.erase(lit);
1162 (*(
SetSeqannot().begin()))->SetData().SetAlign().clear();
1204 bool tmp_result =
false;
1207 list< CRef< CSeq_annot > >::const_iterator sanci;
1212 if ((*sanci)->GetData().IsAlign()) {
1213 salist = (*sanci)->GetData().GetAlign().front();
1216 if (ddlist.front()->GetIds().front()->IsPdb()) {
1236 list< CRef< CSeq_annot > >::const_iterator sanci;
1237 list< CRef< CSeq_align > >::const_iterator saci;
1242 if (!usesConsensus && !structMaster) {
1247 if ((*sanci)->GetData().IsAlign()) {
1248 for (saci = (*sanci)->GetData().GetAlign().begin(); \
1249 saci != (*sanci)->GetData().GetAlign().end(); ++saci) {
1250 if ((*saci)->GetSegs().IsDendiag()) {
1251 ddlist=(*saci)->GetSegs().GetDendiag();
1252 if (ddlist.front()->GetIds().back()->IsPdb()) {
1260 if (count > 0 && usesConsensus) {
1278 for (
int rowIndex=0; rowIndex<
GetNumRows(); rowIndex++) {
1282 if (
GetMmdbId(seqIndex, rowMmdbId) && (rowMmdbId == mmdbId)) {
1283 rows.push_back(rowIndex);
1287 if (rows.size() > 0) {
1299 for (
int rowIndex=0; rowIndex<
GetNumRows(); rowIndex++) {
1302 if (seqIndex >= 0) {
1304 rows.push_back(rowIndex);
1308 if (rows.size() > 0) {
1318 list< CRef< CSeq_entry > >::const_iterator
i;
1332 if (SeqCount == SeqIndex) {
1333 if ((*i)->IsSeq()) {
1341 if (SeqCount > SeqIndex)
break;
1354 list< CRef< CSeq_annot > >::const_iterator sancit;
1357 if ((*sancit)->GetData().IsAlign()) {
1367 list< CRef< CSeq_annot > >::iterator sanit;
1373 if ((*sanit)->SetData().IsAlign()) {
1375 seqAnnot = (*sanit);
1379 return (count == 1);
1387 list< CRef< CSeq_annot > >::const_iterator
i;
1391 if ((*i)->GetData().IsAlign()) {
1403 list< CRef< CSeq_annot > >::const_iterator
i;
1406 return((*i)->GetData().GetAlign());
1415 return SetSeqannot().front()->SetData().SetAlign();
1421 list< CRef< CSeq_align > >::iterator j;
1427 seqAlign = lsa.front();
1431 for (j = lsa.begin(); j != lsa.end(); j++) {
1432 if (++Count == Row) {
1452 list< CRef< CSeq_align > >::const_iterator j, jend =
GetSeqAligns().end();
1454 if (++Count == Row) {
1470 if (thisPos < 0 || thisRow < 0 || otherRow < 0) {
1472 }
else if (thisRow == otherRow) {
1485 if (otherRow != 0) {
1491 otherPos = masterPos;
1518 for (
int i = 0;
i < nrows; ++
i) {
1541 for (
int i = 0;
i < nseqs; ++
i) {
1542 const list< CRef< CSeq_id > >& ids =
GetSeqIDs(
i);
1543 for (list<
CRef< CSeq_id > >::const_iterator lit = ids.begin(); lit != ids.end(); ++lit) {
1546 if (indices ==
NULL) {
1549 indices->push_back(
i);
1580 consensusRows.clear();
1581 for (
int i = 0;
i < nrows; ++
i) {
1584 consensusRows.push_back(
i);
1588 return consensusRows.size();
1596 CCdd_descr_set::Tdata::iterator
i;
1601 if ((*i)->IsComment() && (*i)->GetComment() == oldComment) {
1602 (*i)->SetComment(newComment);
1608 Comment->SetComment(newComment);
1619 int i = 0,
tmp, nBlocks, nextStart;
1620 bool toFound =
true, onMaster = (rowId == 0) ?
true :
false;
1621 vector<int> blockStarts, blockLen;
1632 nBlocks = blockStarts.size();
1633 while (
i < nBlocks && toFound) {
1634 if (to >= blockStarts[
i] + blockLen[
i]) {
1635 nextStart = (
i == nBlocks - 1) ? 1000000000 : blockStarts[
i+1];
1636 if (to < nextStart) {
1638 }
else if (nextStart != blockStarts[
i] + blockLen[
i]) {
1648 return (
i >= 0 && toFound);
1657 int From, To, NewFrom, NewTo;
1659 list< CRef< CAlign_annot > >::const_iterator m;
1660 list< CRef< CSeq_interval > >::const_iterator
n;
1673 if ((*m)->GetLocation().IsInt()) {
1678 From = (*m)->GetLocation().GetInt().GetFrom();
1679 To = (*m)->GetLocation().GetInt().GetTo();
1695 string d = ((*m)->IsSetDescription()) ? (*m)->GetDescription() :
"<unnamed>";
1696 sprintf(s,
" ==> Annotation '%s' at [%d, %d]\n", d.c_str(), From+1, To+1);
1702 else if ((*m)->GetLocation().IsPacked_int()) {
1705 for (
n=(*m)->GetLocation().GetPacked_int().Get().begin();
1706 n!=(*m)->GetLocation().GetPacked_int().Get().end();
n++) {
1708 From = (*n)->GetFrom();
1721 string d = ((*m)->IsSetDescription()) ? (*m)->GetDescription() :
"<unnamed>";
1722 sprintf(s,
" ==> Annotation '%s' at segment %d in range [%d, %d]\n",
1723 d.c_str(), intNumber+1, From+1, To+1);
1750 list< CRef< CAlign_annot > >::iterator
i;
1754 if (Count == Index) {
1755 if ((*i)->IsSetDescription()) {
1756 return((*i)->GetDescription());
1775 CBioseq_set::TSeq_set::const_iterator seListIt = seqEntryList.begin(), seListEnd = seqEntryList.end();
1776 list< CRef< CSeq_id > >::const_iterator lsii;
1778 for (; seListIt != seListEnd; ++seListIt) {
1779 if ((*seListIt)->IsSeq()) {
1780 const list< CRef< CSeq_id > > seqIdList = (*seListIt)->GetSeq().GetId();
1781 for (lsii = seqIdList.begin(); lsii != seqIdList.end(); ++lsii) {
1782 if (seqId->
Match(**lsii)) {
1783 bioseq->
Assign((*seListIt)->GetSeq());
1808 list< CRef< CSeq_entry > >::const_iterator lsei;
1811 list< CRef< CSeq_id > >::const_iterator lsii;
1813 for (lsei = seqEntryList.begin(); lsei != seqEntryList.end(); ++lsei) {
1814 if ((*lsei)->IsSet()) {
1819 }
else if ((*lsei)->IsSeq()) {
1820 const list< CRef< CSeq_id > > seqIdList = (*lsei)->GetSeq().GetId();
1821 for (lsii = seqIdList.begin(); lsii != seqIdList.end(); ++lsii) {
1822 if (seqid->
Match(**lsii)) {
1823 bioseq = &(*lsei)->GetSeq();
1843 result = hasClassicalParent;
1850 list< CRef< CDomain_parent > >::const_iterator pit, pit_end =
GetAncestors().end();
1869 list< CRef< CDomain_parent > >::const_iterator pit, pit_end =
GetAncestors().end();
1872 if ((*pit)->GetParent_type() == parentType) {
1891 parentId = &(*(
GetAncestors().begin()))->GetParentid();
1914 if (parentId->
IsGid()) {
1928 bool result = (comment.length() > 0);
1933 if ((*cit)->IsComment() && (*cit)->GetComment() == comment) {
1941 descr->SetComment(comment);
1949 bool result = (othername.length() > 0);
1954 if ((*cit)->IsOthername() && (*cit)->GetOthername() == othername) {
1962 descr->SetOthername(othername);
1970 bool result = (title.length() > 0);
1975 if ((*cit)->IsTitle() && (*cit)->GetTitle() == title) {
1983 descr->SetTitle(title);
1996 while (cit != cend) {
1997 if ((*cit)->IsTitle()) {
1998 result = (*cit)->GetTitle();
2016 while (cit != cend) {
2017 if ((*cit)->IsTitle()) {
2018 result = (*cit)->GetTitle();
2019 titles.push_back(
result);
2025 return titles.size();
2033 if ((*cit)->IsReference() && (*cit)->GetReference().IsPmid()) {
2034 if (pmid == (*cit)->GetReference().GetPmid()) {
2046 descr->SetReference(*pub);
2059 descr->SetSource(
source);
2091 unsigned int count = 0;
2092 bool reachedEnd =
false;
2093 CCdd_descr_set::Tdata::iterator
i, iEnd;
2095 while (!reachedEnd) {
2098 for (;
i != iEnd;
i++) {
2099 if ((*i)->Which() == cddDescrChoice) {
2105 reachedEnd = (
i == iEnd);
User-defined methods of the data storage class.
bool GetCDBlockLengths(vector< int > &lengths) const
int MapPositionToOtherRow(int thisRow, int thisPos, int otherRow) const
bool GetBioseqForIndex(int seqIndex, CRef< CBioseq > &bioseq)
bool EraseTheseRows(const std::vector< int > &TossRows)
bool AllResiduesInRangeAligned(int rowId, int from, int to) const
int GetNumRowsWithSequences() const
void EraseSequence(int SeqIndex)
int GetPSSMLength() const
bool HasSeqId(const CRef< CSeq_id > &ID) const
const CRef< CSeq_annot > & GetAlignment() const
bool GetClassicalParentId(const CCdd_id *&parentId) const
int GetUpperBound(int Row) const
bool AddTitle(const string &title)
string GetSequenceStringByRow(int rowId)
bool AddSequence(CRef< CSeq_entry > seqAntry)
bool GetSeqAlign(int Row, CRef< CSeq_align > &seqAlign)
int GetRowsWithConsensus(vector< int > &consensusRows) const
bool GetSeqIDFromAlignment(int RowIndex, CRef< CSeq_id > &SeqID) const
bool AddPendingSeqAlign(CRef< CSeq_align > seqAlign)
bool HasCddId(const CCdd_id &id) const
bool FindConsensusInSequenceList(vector< int > *indices=NULL) const
TGi GetGIFromSequenceList(int SeqIndex) const
string GetAccession() const
bool Get_GI_or_PDB_String_FromAlignment(int RowIndex, std::string &Str, bool Pad, int Len) const
int Num3DAlignments() const
string GetSequenceStringByIndex(int SeqIndex)
void ErasePendingRow(int row)
bool AddComment(const string &comment)
int GetMasterSeqIndex() const
string GetSpeciesForRow(int Row)
bool GetMmdbId(int SeqIndex, int &id) const
string GetLongDescription()
bool AddSeqAlign(CRef< CSeq_align > seqAlign)
int GetNumAlignmentAnnotations()
bool AddCddDescr(CRef< CCdd_descr > &descr)
unsigned int GetTitles(vector< string > &titles) const
bool GetBlockStartsForRow(int rowIndex, vector< int > &starts) const
bool GetSeqEntryForRow(int rowId, CRef< CSeq_entry > &seqEntry) const
bool CopyBioseqForSeqId(const CRef< CSeq_id > &seqId, CRef< CBioseq > &bioseq) const
void SetComment(CCdd_descr::TComment oldComment, CCdd_descr::TComment newComment)
bool GetSeqIDForIndex(int SeqIndex, CRef< CSeq_id > &SeqID) const
bool GetBioseqWithSeqId(const CRef< CSeq_id > &seqid, const CBioseq *&bioseq) const
bool EraseOtherRows(const std::vector< int > &KeepRows)
bool HasParentType(EClassicalOrComponent parentType) const
int GetSeqIndexForRowIndex(int rowIndex) const
int GetAllRowIndicesForSeqId(const CRef< CSeq_id > &SeqID, list< int > &rows) const
bool AlignAnnotsValid(string *err=NULL) const
bool AddPmidReference(TEntrezId pmid)
void ErasePendingRows(set< int > &rows)
int GetAlignmentLength() const
int GetSeqIndex(const CRef< CSeq_id > &SeqID) const
int GetNthMatchFor(CRef< CSeq_id > &ID, int N)
bool AddOthername(const string &othername)
int GetLowerBound(int Row) const
void SetAccession(string Accession, int Version)
static bool GetBioseqWithSeqid(const CRef< CSeq_id > &seqid, const list< CRef< CSeq_entry > > &bsset, const CBioseq *&bioseq)
const list< CRef< CSeq_align > > & GetSeqAligns() const
bool UsesConsensusSequenceAsMaster() const
bool GetGI(int Row, TGi &GI, bool ignorePDBs=true)
bool RemoveCddDescrsOfType(int cddDescrChoice)
bool GetBioseqForRow(int rowId, CRef< CBioseq > &bioseq)
string GetClassicalParentAccession() const
string GetSpeciesForIndex(int SeqIndex)
bool HasConsensusSequence() const
bool GetRowsForMmdbId(int mmdbId, list< int > &rows) const
bool GetSeqIDs(int SeqIndex, list< CRef< CSeq_id > > &SeqIDs)
bool GetRowsWithMmdbId(vector< int > &rows) const
int GetNumSequences() const
bool AddSource(const string &source, bool removeExistingSources=true)
bool GetSeqIDForRow(int Pair, int DenDiagRow, CRef< CSeq_id > &SeqID) const
bool GetSeqEntryForIndex(int seqIndex, CRef< CSeq_entry > &seqEntry) const
bool GetPDB(int Row, const CPDB_seq_id *&pPDB)
string GetDefline(int SeqIndex) const
string GetAlignmentAnnotationDescription(int Index)
bool SynchronizeMaster3D(bool checkRow1WhenConsensusMaster=true)
iterator_bool insert(const value_type &val)
int MapPositionToMaster(int childPos, const CSeq_align &align)
CSeq_align::C_Segs::TDendiag TDendiag
int GetBlockCount(const CRef< CSeq_align > &seqAlign)
int GetBlockNumberForResidue(int residue, const CRef< CSeq_align > &seqAlign, bool onMaster, vector< int > *starts=NULL, vector< int > *lengths=NULL)
bool GetFirstOrLastDenDiag(const CRef< CSeq_align > &seqAlign, bool firstOrLast, CRef< CDense_diag > &dd)
bool EraseRow(CRef< CSeq_annot > &seqAnnot, int row)
int GetBlockLengths(const CRef< CSeq_align > &seqAlign, vector< int > &lengths)
int MapPositionToChild(int masterPos, const CSeq_align &align)
int GetBlockStarts(const CRef< CSeq_align > &seqAlign, vector< int > &starts, bool onMaster)
int GetNumAlignedResidues(const CRef< CSeq_align > &align)
bool SetCreationDate(CCdCore *cd)
bool obeysParentTypeConstraints(const CCdCore *pCD)
const CRef< CSeq_align > EMPTY_CREF_SEQALIGN
const CRef< CSeq_annot > EMPTY_CREF_SEQANNOT
int intSortRowsFunction(void *pVal, int i, int j)
const int INVALID_POSITION
bool SeqIdHasMatchInBioseq(const CRef< CSeq_id > &id, const CBioseq &bioseq)
bool SeqIdsMatch(const CRef< CSeq_id > &id1, const CRef< CSeq_id > &id2)
string GetSpeciesFromBioseq(const CBioseq &bioseq)
bool GetNcbieaaString(const CBioseq &bioseq, string &str)
int GetMMDBId(const CBioseq &bioseq)
bool IsConsensus(const CRef< CSeq_id > &seqId)
void algSortQuickCallbackIndex(void *pVal, int n, int *istack, int *ind, algSORTFunction isCondFunc)
string Make_SeqID_String(const CRef< CSeq_id > SeqID, bool Pad, int Len)
SStrictId_Entrez::TId TEntrezId
TEntrezId type for entrez ids which require the same strictness as TGi.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
bool Match(const CSeq_id &sid2) const
Match() - TRUE if SeqIds are equivalent.
void Reset(void)
Reset reference object.
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty – pointing to an object and has a non-null value.
bool IsNull(void) const THROWS_NONE
Check if pointer is null – same effect as Empty().
#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 TSequences & GetSequences(void) const
Get the Sequences member data.
bool IsGid(void) const
Check if variant Gid is selected.
bool IsSetSequences(void) const
store as bioseq-set inside seq-entry Check if a value has been assigned to Sequences data member.
const Tdata & Get(void) const
Get the member data.
const TId & GetId(void) const
Get the Id member data.
const TAccession & GetAccession(void) const
Get the Accession member data.
bool IsSetSeqannot(void) const
contains the CD alignment Check if a value has been assigned to Seqannot data member.
TId & SetId(void)
Assign a value to Id data member.
bool IsSetVersion(void) const
version 0 is the seed, version numbers increase with update/curate cycles Check if a value has been a...
Tdata & Set(void)
Assign a value to data member.
void ResetMaster3d(void)
Reset Master3d data member.
bool IsSetDescription(void) const
status, references, etc.
TMaster3d & SetMaster3d(void)
Assign a value to Master3d data member.
const TGid & GetGid(void) const
Get the variant data.
bool IsSetAlignannot(void) const
alignment annotation Check if a value has been assigned to Alignannot data member.
const Tdata & Get(void) const
Get the member data.
const Tdata & Get(void) const
Get the member data.
const TAncestors & GetAncestors(void) const
Get the Ancestors member data.
TPending & SetPending(void)
Assign a value to Pending data member.
TVersion GetVersion(void) const
Get the Version member data.
TGid & SetGid(void)
Select the variant.
TSequences & SetSequences(void)
Assign a value to Sequences data member.
const TPending & GetPending(void) const
Get the Pending member data.
TAlignannot & SetAlignannot(void)
Assign a value to Alignannot data member.
bool IsSetAncestors(void) const
list of parents Check if a value has been assigned to Ancestors data member.
Tdata & Set(void)
Assign a value to data member.
list< CRef< CCdd_id > > Tdata
const TAlignannot & GetAlignannot(void) const
Get the Alignannot member data.
const TSeqannot & GetSeqannot(void) const
Get the Seqannot member data.
TSeqannot & SetSeqannot(void)
Assign a value to Seqannot data member.
Tdata & Set(void)
Assign a value to data member.
const TDescription & GetDescription(void) const
Get the Description member data.
const TParent & GetParent(void) const
Get the Parent member data.
bool IsSetParent(void) const
this CD is the result of a split Check if a value has been assigned to Parent data member.
TDescription & SetDescription(void)
Assign a value to Description data member.
@ e_Source
the database the seeds were created from, e.g. SMART, PFAM, etc..
@ eParent_type_classical
the classification of parent child relations
@ e_MaxChoice
== e_Title+1
TPmid & SetPmid(void)
Select the variant.
vector< CRef< CSeq_id > > TIds
const TIds & GetIds(void) const
Get the Ids member data.
bool IsDendiag(void) const
Check if variant Dendiag is selected.
const TDendiag & GetDendiag(void) const
Get the variant data.
const TSegs & GetSegs(void) const
Get the Segs member data.
const TPdb & GetPdb(void) const
Get the variant data.
bool IsPdb(void) const
Check if variant Pdb is selected.
TGi GetGi(void) const
Get the variant data.
bool IsGi(void) const
Check if variant Gi is selected.
TSet & SetSet(void)
Select the variant.
const TSet & GetSet(void) const
Get the variant data.
const TSeq_set & GetSeq_set(void) const
Get the Seq_set member data.
list< CRef< CSeq_entry > > TSeq_set
TSeq_set & SetSeq_set(void)
Assign a value to Seq_set data member.
bool IsAlign(void) const
Check if variant Align is selected.
void SetData(TData &value)
Assign a value to Data data member.
list< CRef< CSeq_id > > TId
const TAlign & GetAlign(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
unsigned int
A callback function used to compare two keys in a database.
const TYPE & Get(const CNamedParameterList *param)
constexpr auto sort(_Init &&init)
constexpr auto front(list< Head, As... >, T=T()) noexcept -> Head
const struct ncbi::grid::netcache::search::fields::SIZE size
const CharType(& source)[N]
#define row(bind, expected)