vector<CConstRef<CObject> > objs;
82 if(
f->IsSetProduct()) {
89objs.push_back(
object);
95 object.
Reset(
f->GetOriginalSeq_feat());
96objs.push_back(
object);
104 object.
Reset(
f->GetOriginalSeq_feat());
105objs.push_back(
object);
113 object.
Reset(
f->GetOriginalSeq_feat());
114objs.push_back(
object);
126vector<CRef<CApplyObject> > objs;
128vector<CConstRef<CObject> > feats =
GetObjects(bsh);
144vector<CRef<CApplyObject> > objs;
145vector<CConstRef<CObject> > feats =
GetObjects(bsh);
157new_feat->
SetData().SetGene();
174(*it)->GetLabel(&
label);
175 if(!
label.empty()) {
176rval +=
label+
";";
202 "experimental":
"non-experimental");
252rval = (
string)
"complement("+ (partial3 ?
"<":
"")
254+
".."+ (partial5 ?
">":
"")
257rval = (partial5 ?
"<":
"")
259+
".."+ (partial3 ?
">":
"")
278 if( (*it)->IsInt()) {
281 else return(
"complex location");
302 if((*it)->GetQual() ==
"tag_peptide"&& !((*it)->GetVal()).empty()) {
303rval += (*it)->GetVal() +
";";
325 stringmember_name = sTitle;
327 if(pos != string::npos) {
328member_name = member_name.substr(0, pos);
335member_name = member_name.substr(5);
339member_name = member_name.substr(5);
622current = (*iter)->GetVal();
624(*iter)->SetVal(current);
631in_out_feat.
SetQual().push_back(qual);
643CSeq_feat::TQual::iterator it = in_out_feat.
SetQual().begin();
644 while(it != in_out_feat.
SetQual().end()) {
646it = in_out_feat.
SetQual().erase(it);
661&& (*it)->IsSetVal()) {
662 val+= (*it)->GetVal() +
";";
681vector<string> problems;
682 boolany_errors =
false;
684 ITERATE(vector<string>, it, values) {
688problems.push_back(
"");
692 if(div == string::npos) {
693 error=
"rpt_unit_range has invalid format";
695 stringstart_str = (*it).substr(0, div);
696 stringend_str = (*it).substr(div + 2);
698 intrange_end =
static_cast<int>(
m_Lens[pos]);
703 error=
"rpt_unit_range has invalid format";
705 if(pos <
m_Lens.size()) {
706 if(range_start < 1 || range_end < 1) {
707 error=
"rpt_unit_range start and end values must be between 1 and sequence length";
708}
else if((
size_t)range_start >
m_Lens[pos]) {
709 error=
"rpt_unit_range start exceeds sequence length";
710}
else if((
size_t)range_end >
m_Lens[pos]) {
711 error=
"rpt_unit_range end exceeds sequence length";
719problems.push_back(
error);
737 if(!
isdigit(*it) && !
isalpha(*it) && *it !=
'('&& *it !=
')'&& *it !=
','&& *it !=
';') {
747vector<string> problems;
748 boolany_errors =
false;
749 ITERATE(vector<string>, it, values) {
751problems.push_back(
"rpt_unit_seq value contains invalid characters");
754problems.push_back(
"");
797 stringnewValue(
value);
799 booltype_added(
false);
815 string value(newValue);
817 boolproper_type(
false);
829 stringcurrent_type, current_name;
835(*iter)->SetVal(current_type +
":"+ current_name);
842in_out_feat.
SetQual().push_back(qual);
851 stringcurrent_type, current_name;
857(*iter)->SetVal(current_type +
":"+ current_name);
865in_out_feat.
SetQual().push_back(qual);
884CSeq_feat::TQual::iterator it = in_out_feat.
SetQual().begin();
885 while(it != in_out_feat.
SetQual().end()) {
887 if(!(*it)->IsSetVal()) {
888it = in_out_feat.
SetQual().erase(it);
896 if(newValue.empty()) {
897it = in_out_feat.
SetQual().erase(it);
899(*it)->SetVal(newValue);
929 returnfield.substr(0, pos);
944 returnfield.substr(pos + 1,
NPOS);
960 val+=
": "+ newValue;
963in_out_feat.
SetQual().push_back(qual);
981CSeq_feat::TQual::iterator it = in_out_feat.
SetQual().begin();
982 while(it != in_out_feat.
SetQual().end()) {
984it = in_out_feat.
SetQual().erase(it);
999 val+= (*it)->GetVal() +
";";
1003 val=
val.substr(0,
val.length() - 1);
1038vector<string> sorted;
1039sorted.assign(values.begin(), values.end());
1040stable_sort(sorted.begin(), sorted.end());
1042 if(sorted.size() < 2) {
1047vector<string>::iterator it_p = sorted.begin();
1048vector<string>::iterator it_n = it_p;
1049 intmatch_count = 0;
1051 while(it_n != sorted.end()) {
1053it_n = sorted.erase(it_n);
1056 if(match_count == 0) {
1057it_p = sorted.erase(it_p);
1066 if(match_count == 0) {
1076vector<string> sorted;
1077sorted.assign(values.begin(), values.end());
1078stable_sort(sorted.begin(), sorted.end());
1080 if(sorted.size() < 2) {
1084vector<string>::iterator it_p = sorted.begin();
1085vector<string>::iterator it_n = it_p;
1087 while(it_n != sorted.end()) {
1089it_n = sorted.erase(it_n);
1102vector<string> problems;
1106 boolany_errors =
false;
1109 ITERATE(vector<string>, it, values) {
1111problems.push_back(
"missing "+
GetLabel());
1114 bool match=
false;
1115 ITERATE(vector<string>, sit, sorted) {
1122problems.push_back(
"duplicate "+
GetLabel());
1125problems.push_back(
"");
1140 rna.SetRnaProductName(product, remainder);
1142 stringcurrent =
rna.GetRnaProductName();
1144 rna.SetRnaProductName(current, remainder);
1152vector<CRef<CApplyObject> > objs;
1155vector<CConstRef<CObject> > feats =
GetObjects(bsh);
1167 id->Assign(*(bsh.
GetId().front().GetSeqId()));
1171new_feat->
SetData().SetProt();
1183 if(
f->IsSetProduct()) {
1187objs.insert(objs.end(), p_objs.begin(), p_objs.end());
1197vector<CConstRef<CObject> > feats =
GetObjects(bsh);
1228in_out_feat.
SetData().SetProt().SetName().front() = current;
1231in_out_feat.
SetData().SetProt().SetName().push_back(newValue);
1235in_out_feat.
SetData().SetProt().SetName().push_back(newValue);
1253in_out_feat.
SetData().SetProt().ResetName();
1279vector<CRef<CApplyObject> > objs;
1300edit::ApplyCDSFrame::ECdsFrame
f= edit::ApplyCDSFrame::s_GetFrameFromName(newValue);
1302edit::ApplyCDSFrame::s_SetCDSFrame(in_out_feat,
f, *
m_Scope);
1316in_out_feat.
SetData().SetCdregion().ResetFrame();
1355in_out_feat.
SetData().SetCdregion().SetCode().SetId(gc);
1363 catch(
constexception&)
1373in_out_feat.
SetData().SetCdregion().ResetCode();
1404in_out_feat.
SetData().SetGene().SetDesc(current);
1413in_out_feat.
SetData().SetProt().SetDesc(current);
1425in_out_feat.
SetData().SetGene().ResetDesc();
1427in_out_feat.
SetData().SetProt().ResetDesc();
1503in_out_feat.
SetData().SetGene().SetLocus(current);
1512in_out_feat.
SetData().SetGene().SetLocus_tag(current);
1521in_out_feat.
SetData().SetGene().SetMaploc(current);
1527in_out_feat.
SetData().SetGene().SetSyn().front() = newValue;
1529in_out_feat.
SetData().SetGene().SetSyn().push_back(newValue);
1537in_out_feat.
SetData().SetGene().SetAllele(current);
1565in_out_feat.
SetGeneXref().SetLocus_tag(current);
1569in_out_feat.
SetGeneXref().SetLocus_tag(newValue);
1586in_out_feat.
SetGeneXref().SetSyn().front() = newValue;
1615in_out_feat.
SetData().SetGene().ResetLocus();
1618in_out_feat.
SetData().SetGene().ResetLocus_tag();
1621in_out_feat.
SetData().SetGene().ResetMaploc();
1624in_out_feat.
SetData().SetGene().ResetSyn();
1627in_out_feat.
SetData().SetGene().ResetAllele();
1633}
else if( in_out_feat.
IsSetXref()) {
1698 if((*it)->IsSetData() && (*it)->GetData().IsGene()) {
1699gene_ref = &((*it)->GetData().GetGene());
1747vector<CRef<CApplyObject> > objs;
1801in_out_feat.
SetData().SetProt().SetName().front() = current;
1805in_out_feat.
SetData().SetProt().SetName().push_back(newValue);
1812 stringcurrent = *it;
1819in_out_feat.
SetData().SetProt().SetEc().push_back(newValue);
1826 stringcurrent = *it;
1833in_out_feat.
SetData().SetProt().SetActivity().push_back(newValue);
1853in_out_feat.
SetData().SetProt().ResetName();
1856in_out_feat.
SetData().SetProt().ResetEc();
1859in_out_feat.
SetData().SetProt().ResetActivity();
1911in_out_feat.
SetData().SetRna().SetExt().SetGen().SetClass(newValue);
1922in_out_feat.
SetData().SetRna().SetExt().SetGen().ResetClass();
1948 for(
CFeat_CIfeat_it(entry); feat_it; ++feat_it) {
1949 if(feat_it->IsSetId()) {
1950 const CFeat_id&
id= feat_it->GetId();
1951 if(
id.IsLocal() &&
id.GetLocal().IsId() &&
id.GetLocal().
GetId() > feat_id) {
1986}
catch(
constexception& e) {
2004 table->SetColumns().push_back(id_col);
2014 table->SetColumns()[0]->SetData().SetId().push_back(
id);
2032vector<CRef<CSeqTable_column> > column_list;
2033 boolneed_gene =
false;
2034 boolneed_mrna =
false;
2035 boolneed_prot =
false;
2036 ITERATE(vector<string>, sit, fields) {
2038field_list.push_back(featcol);
2050 stringid_string =
table->GetColumns()[1]->GetData().GetString()[
row];
2068 prot=
f->GetOriginalSeq_feat();
2073 for(
size_t i= 0;
i< field_list.size();
i++) {
2078 val= field_list[
i]->GetFromFeat(*gene);
2083 val= field_list[
i]->GetFromFeat(*mrna);
2087 val= field_list[
i]->GetFromFeat(*
prot);
2103 boolany_change =
false;
2105 boolneed_gene =
false;
2106 boolneed_mrna =
false;
2107 boolneed_prot =
false;
2110 for(
size_tcol = 2; col <
table->GetColumns().
size(); col++) {
2111 stringtitle =
table->GetColumns()[col]->GetHeader().GetTitle();
2113field_list.push_back(featcol);
2124 stringid_string =
table->GetColumns()[1]->GetData().GetString()[
row];
2142 prot=
f->GetOriginalSeq_feat();
2154new_gene->
Assign(*gene);
2156new_gene->
SetData().SetGene();
2160new_mrna->
Assign(*mrna);
2169 boolchanged_feat =
false;
2170 boolchanged_gene =
false;
2171 boolchanged_mrna =
false;
2172 boolchanged_prot =
false;
2173 for(
size_tcol = 2; col <
table->GetColumns().
size(); col++) {
2174 stringtitle =
table->GetColumns()[col]->GetHeader().GetTitle();
2175 stringnew_val =
table->GetColumns()[col]->GetData().GetString()[
row];
2177 stringorig_val =
"";
2179orig_val = field_list[col - 2]->GetFromFeat(*gene);
2183field_list[col - 2]->ClearInFeature(*new_gene);
2187changed_gene =
true;
2190 stringorig_val =
"";
2192orig_val = field_list[col - 2]->GetFromFeat(*mrna);
2196field_list[col - 2]->ClearInFeature(*new_mrna);
2200changed_mrna =
true;
2203 stringorig_val =
"";
2204orig_val = field_list[col - 2]->GetFromFeat(*
prot);
2207field_list[col - 2]->ClearInFeature(*new_prot);
2211changed_prot =
true;
2214 stringorig_val = field_list[col - 2]->GetFromFeat(*(orig_feat.
GetSeq_feat()));
2217field_list[col - 2]->ClearInFeature(*new_feat);
2221changed_feat =
true;
2264loc->
SetInt().SetFrom(from);
2265loc->
SetInt().SetTo(to);
2268loc->
SetInt().SetId().Assign(*bioseq->
GetId().front());
2282rna_ref->
SetExt().SetGen().SetProduct(name);
2286 rna->SetData().SetRna().Assign(*rna_ref);
2287 rna->SetLocation().Assign(*loc);
2288 if(ispartial5 || ispartial3)
2289 rna->SetPartial(
true);
2299rna_ref->
SetExt().SetName(name);
2304 rna->SetData().SetRna().Assign(*rna_ref);
2305 rna->SetLocation().Assign(*loc);
2306 if(ispartial5 || ispartial3)
2307 rna->SetPartial(
true);
2321 for( ; b_iter ; ++b_iter){
2340 boolpartial5 =
true;
2341 boolpartial3 =
true;
2342 for( ; b_iter ; ++b_iter){
2348new_feat->
SetData().SetImp().SetKey(
"misc_feature");
2368 boolpartial5 =
false;
2369 boolpartial3 =
false;
2370 for( ; b_iter ; ++b_iter){
2376new_feat->
SetData().SetImp().SetKey(
"repeat_region");
2381new_feat->
SetQual().push_back(qual1);
2382new_feat->
SetQual().push_back(qual2);
User-defined methods of the data storage class.
User-defined methods of the data storage class.
@ eExtreme_Positional
numerical value
@ eExtreme_Biological
5' and 3'
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 AdjustProteinFeaturePartialsToMatchCDS(CSeq_feat &new_prot, const CSeq_feat &cds)
AdjustProteinFeaturePartialsToMatchCDS A function to change an existing MolInfo to match a coding reg...
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual vector< CRef< objects::edit::CApplyObject > > GetApplyObjects(objects::CBioseq_Handle bsh)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
static CRef< CFeatureSeqTableColumnBase > Create(const string &sTitle, objects::CSeqFeatData::ESubtype subtype=objects::CSeqFeatData::eSubtype_any)
virtual vector< CConstRef< CObject > > GetObjects(objects::CBioseq_Handle bsh)
objects::CSeqFeatData::ESubtype m_Subtype
void SetMajorType(objects::CSeqFeatData::E_Choice major_type)
virtual vector< CRef< objects::edit::CApplyObject > > GetRelatedGeneApplyObjects(objects::CBioseq_Handle bsh)
objects::CSeqFeatData::E_Choice m_MajorType
void SetSubtype(objects::CSeqFeatData::ESubtype subtype)
virtual vector< CRef< objects::edit::CApplyObject > > GetApplyObjects(objects::CBioseq_Handle bsh)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
@Gb_qual.hpp User-defined methods of the data storage class.
static string IndexToCodon(int index)
static bool IsGeneRefField(string qual)
static EFieldType x_GetFieldTypeFromString(string qual)
CGeneRefColumn(string qual)
virtual vector< CRef< objects::edit::CApplyObject > > GetApplyObjects(objects::CBioseq_Handle bsh)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual vector< CRef< objects::edit::CApplyObject > > GetApplyObjects(objects::CBioseq_Handle bsh)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
static EFieldType x_GetFieldTypeFromString(string qual)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
static bool IsProtRefField(string qual)
CProtRefColumn(string qual)
@RNA_ref.hpp User-defined methods of the data storage class.
string GetRnaProductName(void) const
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
CRptUnitRangeColumn(const vector< size_t > lens)
virtual vector< string > IsValid(const vector< string > &values)
virtual vector< string > IsValid(const vector< string > &values)
string x_GetSatelliteName(const string &field) const
string x_AddSatellitePrefix(const string &value, objects::edit::EExistingText existing_text) const
bool x_AddSatelliteName(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
bool x_AddSatelliteType(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
CSatelliteColumn(const string &satellite_field)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
void x_ClearSatelliteSubFields(objects::CSeq_feat &in_out_feat) const
string x_GetSatelliteType(const string &field) const
bool x_IsQualAMatch(const CGb_qual &qual) const
virtual void ClearInFeature(objects::CSeq_feat &in_out_feat)
virtual string GetLabel() const
virtual bool RelaxedMatch(const objects::CSeq_feat &f1, const objects::CSeq_feat &f2) const
virtual vector< string > IsValid(const vector< string > &values)
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
virtual bool AddToFeature(objects::CSeq_feat &in_out_feat, const string &newValue, objects::edit::EExistingText existing_text)
ESubtype GetSubtype(void) const
static E_Choice GetTypeFromSubtype(ESubtype subtype)
@ eSubtype_bad
These no longer need to match the FEATDEF values in the C toolkit's objfdef.h.
CSeq_feat_EditHandle â.
namespace ncbi::objects::
const CGene_ref * GetGeneXref(void) const
See related function in util/feature.hpp.
void SetGeneXref(CGene_ref &value)
bool IsPartialStop(ESeqLocExtremes ext) const
TSeqPos GetStart(ESeqLocExtremes ext) const
bool IsPartialStart(ESeqLocExtremes ext) const
TSeqPos GetStop(ESeqLocExtremes ext) const
CSeq_feat_Handle GetFeatureWithId(CSeqFeatData::E_Choice type, TFeatureIdInt id) const
virtual string GetFromFeat(const objects::CSeq_feat &in_out_feat)
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
vector< string > FindNonUniqueStrings(const vector< string > &values)
static const int kNumIgnoreColumns
vector< string > SortUniqueStrings(const vector< string > &values)
USING_SCOPE(ncbi::objects)
CRef< CSeq_feat > AddMiscRNA(const CBioseq_Handle &bsh, string name, int from, int to, bool ispartial5, bool ispartial3)
CRef< CSeq_feat > AddRibosomalRNA(const CBioseq_Handle &bsh, string name, int from, int to, bool ispartial5, bool ispartial3)
CRef< CSeq_loc > CreateFeatLocation(const CBioseq_Handle &bsh, int from, int to, bool ispartial5, bool ispartial3)
void SetRnaProductName(CRNA_ref &rna, const string &product, string &remainder, EExistingText existing_text)
CRef< CCmdComposite > ApplyFeatureSeqTableToSeqEntry(CRef< CSeq_table > table, CSeq_entry_Handle entry)
CRef< CCmdComposite > AddNamedrRna(CSeq_entry_Handle entry, string rna_name, bool ispartial5, bool ispartial3)
static const string kIgnoreColumns[]
CSeq_feat_Handle GetFeatureFromTableId(const string &id_string, CSeq_entry_Handle entry)
void AddToFeatureIdColumn(CSeq_feat_Handle feat, CRef< CSeqTable_column > column, size_t row, int &top_id)
static bool IsAllRptUnitSeqChars(string seq)
int FindHighestFeatureId(const CSeq_entry_Handle &entry)
CRef< CSeq_table > BuildFeatureSeqTableFromSeqEntry(CSeq_entry_Handle entry, const SAnnotSelector &sel)
CRef< CCmdComposite > CreateControlRegion(CSeq_entry_Handle entry)
CRef< CCmdComposite > CreateMicrosatellite(CSeq_entry_Handle entry)
void AddColumnsToFeatureTable(const vector< string > &fields, CRef< CSeq_table > table, CSeq_entry_Handle entry)
string GetIntervalString(const CSeq_interval &seq_int)
vector< CRef< CFeatureSeqTableColumnBase > > TFeatureSeqTableColumnList
static const int kNumSatelliteTypes
const string kPartialStart
static const string kSatelliteTypes[]
const string kPartialStop
const string kStopColLabel
const string kStartColLabel
const char * kSequenceIdColLabel
static const char * column
#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 char * what(void) const noexcept
Standard report (includes full backlog).
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
bool IsPartialStart(ESeqLocExtremes ext) const
check start or stop of location for e_Lim fuzz
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
void SetPartialStart(bool val, ESeqLocExtremes ext)
set / remove e_Lim fuzz on start or stop (lt/gt - indicating partial interval)
void SetPartialStop(bool val, ESeqLocExtremes ext)
bool IsPartialStop(ESeqLocExtremes ext) const
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,...
const CSeq_feat * GetCDSForProduct(const CBioseq &product, CScope *scope)
Get the encoding CDS feature of a given protein sequence.
CConstRef< CSeq_feat > GetOverlappingmRNA(const CSeq_loc &loc, CScope &scope)
CConstRef< CSeq_feat > GetOverlappingGene(const CSeq_loc &loc, CScope &scope, ETransSplicing eTransSplicing=eTransSplicing_Auto)
CConstRef< CSeq_feat > GetGeneForFeature(const CSeq_feat &feat, CScope &scope)
Finds gene for feature, but obeys SeqFeatXref directives.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
CSeq_feat_Handle GetSeq_featHandle(const CSeq_feat &feat, EMissing action=eMissing_Default)
const CFeat_id & GetId(void) const
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
virtual CConstRef< CSeq_feat > GetSeq_feat(void) const
const CSeqFeatData & GetData(void) const
TSeqPos GetBioseqLength(void) const
CSeq_entry_Handle GetSeq_entry_Handle(void) const
Get parent Seq-entry handle.
const CTSE_Handle & GetTSE_Handle(void) const
virtual const CSeq_loc & GetProduct(void) const
bool IsSetProduct(void) const
CConstRef< CSeq_id > GetSeqId(void) const
Get id which can be used to access this bioseq handle Throws an exception if none is available.
virtual const CSeq_loc & GetLocation(void) const
CBioseq_Handle GetBioseqHandle(const CSeq_id &id) const
Get Bioseq handle from the TSE of this Seq-entry.
void SetFeatId(int id)
Set single feature id.
CSeq_entry_Handle GetTopLevelEntry(void) const
Get top level Seq-entry handle.
TInst_Length GetInst_Length(void) const
CScope & GetScope(void) const
Get scope this handle belongs to.
CScope & GetScope(void) const
Get scope this handle belongs to.
CConstRef< CSeq_feat > GetOriginalSeq_feat(void) const
const TId & GetId(void) const
const CSeq_loc & GetLocation(void) const
const CSeq_feat_Handle & GetSeq_feat_Handle(void) const
Get original feature handle.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
NCBI_NS_STD::string::size_type SIZE_TYPE
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static SIZE_TYPE FindNoCase(const CTempString str, const CTempString pattern, SIZE_TYPE start, SIZE_TYPE end, EOccurrence which=eFirst)
Find the pattern in the specified range of a string using a case insensitive search.
static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
static void TruncateSpacesInPlace(string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string (in-place)
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static SIZE_TYPE Find(const CTempString str, const CTempString pattern, ECase use_case=eCase, EDirection direction=eForwardSearch, SIZE_TYPE occurrence=0)
Find the pattern in the string.
static string UIntToString(unsigned int value, TNumToStringFlags flags=0, int base=10)
Convert UInt to string.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
CTempString substr(size_type pos) const
Obtain a substring from this string, beginning at a given offset.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
static bool Equal(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)
Test for equality of a substring with another string.
@ fAllowTrailingSpaces
Ignore trailing whitespace characters.
@ fConvErr_NoThrow
Do not throw an exception on error.
@ fAllowLeadingSpaces
Ignore leading whitespace characters in converted string.
@ eNocase
Case insensitive compare.
static const char label[]
bool IsSetSyn(void) const
synonyms for locus Check if a value has been assigned to Syn data member.
const TSyn & GetSyn(void) const
Get the Syn member data.
const TDesc & GetDesc(void) const
Get the Desc member data.
bool IsSetLocus_tag(void) const
systematic gene name (e.g., MI0001, ORF0069) Check if a value has been assigned to Locus_tag data mem...
bool IsSetLocus(void) const
Official gene symbol Check if a value has been assigned to Locus data member.
bool IsSetDesc(void) const
descriptive name Check if a value has been assigned to Desc data member.
bool IsSetAllele(void) const
Official allele designation Check if a value has been assigned to Allele data member.
bool IsSetMaploc(void) const
descriptive map location Check if a value has been assigned to Maploc data member.
const TLocus_tag & GetLocus_tag(void) const
Get the Locus_tag member data.
const TLocus & GetLocus(void) const
Get the Locus member data.
const TAllele & GetAllele(void) const
Get the Allele member data.
const TMaploc & GetMaploc(void) const
Get the Maploc member data.
bool IsId(void) const
Check if variant Id is selected.
TId GetId(void) const
Get the variant data.
bool IsSetDesc(void) const
description (instead of name) Check if a value has been assigned to Desc data member.
const TActivity & GetActivity(void) const
Get the Activity member data.
const TName & GetName(void) const
Get the Name member data.
bool IsSetEc(void) const
E.C.
bool IsSetName(void) const
protein name Check if a value has been assigned to Name data member.
const TDesc & GetDesc(void) const
Get the Desc member data.
bool IsSetActivity(void) const
activities Check if a value has been assigned to Activity data member.
const TEc & GetEc(void) const
Get the Ec member data.
const TQuals & GetQuals(void) const
Get the Quals member data.
const TAnticodon & GetAnticodon(void) const
Get the Anticodon member data.
const TCodon & GetCodon(void) const
Get the Codon member data.
bool IsTRNA(void) const
Check if variant TRNA is selected.
void SetExt(TExt &value)
Assign a value to Ext data member.
bool IsSetExt(void) const
generic fields for ncRNA, tmRNA, miscRNA Check if a value has been assigned to Ext data member.
const Tdata & Get(void) const
Get the member data.
bool IsGen(void) const
Check if variant Gen is selected.
bool CanGetExt(void) const
Check if it is safe to call GetExt method.
bool CanGetAnticodon(void) const
Check if it is safe to call GetAnticodon method.
void SetType(TType value)
Assign a value to Type data member.
const TGen & GetGen(void) const
Get the variant data.
bool IsSetClass(void) const
for ncRNAs, the class of non-coding RNA: examples: antisense_RNA, guide_RNA, snRNA Check if a value h...
const TExt & GetExt(void) const
Get the Ext member data.
const TTRNA & GetTRNA(void) const
Get the variant data.
bool CanGetCodon(void) const
Check if it is safe to call GetCodon method.
bool CanGetQuals(void) const
Check if it is safe to call GetQuals method.
const TClass & GetClass(void) const
Get the Class member data.
void SetHeader(THeader &value)
Assign a value to Header data member.
@ eField_id_location_id
location Seq-id
bool CanGetDbxref(void) const
Check if it is safe to call GetDbxref method.
bool CanGetExp_ev(void) const
Check if it is safe to call GetExp_ev method.
const TVal & GetVal(void) const
Get the Val member data.
bool IsSetComment(void) const
Check if a value has been assigned to Comment data member.
void ResetPartial(void)
Reset Partial data member.
bool IsSetQual(void) const
qualifiers Check if a value has been assigned to Qual data member.
E_Choice Which(void) const
Which variant is currently selected.
bool IsSetCode(void) const
genetic code used Check if a value has been assigned to Code data member.
bool IsProt(void) const
Check if variant Prot is selected.
void SetLocation(TLocation &value)
Assign a value to Location data member.
bool IsCdregion(void) const
Check if variant Cdregion is selected.
const TRegion & GetRegion(void) const
Get the variant data.
void SetComment(const TComment &value)
Assign a value to Comment data member.
void ResetExcept(void)
Reset Except data member.
void SetPartial(TPartial value)
Assign a value to Partial data member.
const TQual & GetQual(void) const
Get the Qual member data.
const TLocal & GetLocal(void) const
Get the variant data.
void ResetExcept_text(void)
Reset Except_text data member.
bool IsSetXref(void) const
cite other relevant features Check if a value has been assigned to Xref data member.
const TLocation & GetLocation(void) const
Get the Location member data.
E_Choice
Choice variants.
void SetExcept(TExcept value)
Assign a value to Except data member.
bool IsLocal(void) const
Check if variant Local is selected.
bool IsGene(void) const
Check if variant Gene is selected.
TFrame GetFrame(void) const
Get the Frame member data.
const TData & GetData(void) const
Get the Data member data.
bool IsSetExcept(void) const
something funny about this? Check if a value has been assigned to Except data member.
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 TCode & GetCode(void) const
Get the Code member data.
const TDbxref & GetDbxref(void) const
Get the Dbxref member data.
void SetData(TData &value)
Assign a value to Data data member.
void ResetComment(void)
Reset Comment data member.
const TCdregion & GetCdregion(void) const
Get the variant data.
bool IsSetQual(void) const
Check if a value has been assigned to Qual data member.
const TComment & GetComment(void) const
Get the Comment member data.
const TGene & GetGene(void) const
Get the variant data.
void SetExcept_text(const TExcept_text &value)
Assign a value to Except_text data member.
const TProt & GetProt(void) const
Get the variant data.
TExcept GetExcept(void) const
Get the Except member data.
const TXref & GetXref(void) const
Get the Xref member data.
vector< CRef< CSeqFeatXref > > TXref
vector< CRef< CGb_qual > > TQual
const TQual & GetQual(void) const
Get the Qual member data.
const TRna & GetRna(void) const
Get the variant data.
void ResetDbxref(void)
Reset Dbxref data member.
bool IsSetDbxref(void) const
support for xref to other databases Check if a value has been assigned to Dbxref data member.
TQual & SetQual(void)
Assign a value to Qual data member.
bool IsSetVal(void) const
Check if a value has been assigned to Val data member.
bool IsRna(void) const
Check if variant Rna is selected.
TExp_ev GetExp_ev(void) const
Get the Exp_ev member data.
bool IsRegion(void) const
Check if variant Region is selected.
bool IsSetFrame(void) const
Check if a value has been assigned to Frame data member.
@ e_not_set
No variant selected.
@ eExp_ev_experimental
any reasonable experimental check
@ eFrame_not_set
not set, code uses one
@ eFrame_three
reading frame
bool IsMix(void) const
Check if variant Mix is selected.
bool CanGetStrand(void) const
Check if it is safe to call GetStrand method.
const Tdata & Get(void) const
Get the member data.
TStrand GetStrand(void) const
Get the Strand member data.
bool IsInt(void) const
Check if variant Int is selected.
const TInt & GetInt(void) const
Get the variant data.
const TMix & GetMix(void) const
Get the variant data.
const TId & GetId(void) const
Get the Id member data.
@ eMol_na
just a nucleic acid
<!DOCTYPE HTML >< html > n< header > n< title > PubSeq Gateway Help Page</title > n< style > n table
constexpr bool empty(list< Ts... >) noexcept
const struct ncbi::grid::netcache::search::fields::SIZE size
const GenericPointer< typename T::ValueType > T2 value
static int match(PCRE2_SPTR start_eptr, PCRE2_SPTR start_ecode, uint16_t top_bracket, PCRE2_SIZE frame_size, pcre2_match_data *match_data, match_block *mb)
Utility macros and typedefs for exploring NCBI objects from seqset.asn.
bool QualifierNamesAreEquivalent(string name1, string name2)
CRef< CSeqTable_column > AddStringColumnToTable(CRef< CSeq_table > table, string label)
void AddValueToColumn(CRef< CSeqTable_column > column, string value, size_t row, edit::EExistingText existing_text=edit::eExistingText_replace_old)
void FillShortColumns(CRef< objects::CSeq_table > values_table)
#define row(bind, expected)
@ eExistingText_replace_old
bool AddValueToString(string &str, const string &value, EExistingText existing_text)
Add text to an existing string, using the "existing_text" directive to combine new text with existing...
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