295 for (
CSeq_loc_CI subloc(loc, objects::CSeq_loc_CI::eEmpty_Skip); subloc; ++subloc)
301 for (
CFeat_CI gene(bsh, subtype); gene; ++gene)
303 feature_handles.
insert(gene->GetSeq_feat_Handle());
307 for (
auto gene : feature_handles)
311 const CSeq_loc& gene_loc = gene.GetLocation();
312 bool any_match =
false;
313 for (
auto bsh : seen_bsh)
317 if (!subloc || !gene_subloc)
319 bool sub_exact =
false;
323 exact = exact && sub_exact;
324 if (sub_diff < INT_MAX)
344 best_non_exact = gene;
352 return best_non_exact;
365 CRangeWithFuzz(
const TParent& rg)
370 : TParent(it.GetRange()),
387 x_AddFuzz(m_Fuzz_from, rg.m_Fuzz_from, rg.m_Strand);
393 x_AddFuzz(m_Fuzz_to, rg.m_Fuzz_to, rg.m_Strand);
406 void CopyFrom(
const CRangeWithFuzz& rg)
412 void CopyTo(
const CRangeWithFuzz& rg)
426 else if (old_from == rg.GetFrom()) {
430 if (old_to !=
GetTo()) {
433 else if (old_to == rg.GetTo()) {
448 if (old_to !=
GetTo()) {
458 TFuzz copy_from_cref;
459 if (copy_from == fuzz) copy_from_cref.
Reset(copy_from);
465 new_fuzz->
Assign(*copy_from);
467 fuzz.Reset(new_fuzz);
478 x_SetFuzz(fuzz, other.GetPointerOrNull());
486 if (fuzz->Which() != other->Which()) {
496 switch ( fz.
Which() ) {
502 bool other_rev =
IsReverse(other_strand);
521 if ((!this_rev && other_lt) ||
522 (this_rev && other_gt)) {
527 if ((!this_rev && other_gt) ||
528 (this_rev && other_lt)) {
533 if (other_lim == this_lim) {
547 new_fuzz->
SetAlt().insert(
560 if (min1 > min2 || max1 < max2) {
600 class CSeq_id_Handle_Wrapper
608 if (
id.IsLocal() &&
id.GetLocal().IsStr()) {
617 bool operator== (
const CSeq_id_Handle_Wrapper& handle)
const
622 bool operator!= (
const CSeq_id_Handle_Wrapper& handle)
const
626 bool operator< (
const CSeq_id_Handle_Wrapper& handle)
const
675 TSynonymMap::iterator id_syn = m_SynMap.find(idh);
676 if (id_syn != m_SynMap.end()) {
677 return id_syn->second;
693 if (rank < best_rank) {
704 m_SynMap[syn_set->GetSeq_id_Handle(syn_it)] = best;
710 <<
" instead of GI " << gi);
721 CDefaultSynonymMapper syn_mapper(&scope);
723 CRangeWithFuzz total_rg(CRangeWithFuzz::GetEmpty());
724 CSeq_id_Handle_Wrapper prev_id;
729 CSeq_id_Handle_Wrapper next_id(syn_mapper.GetBestSynonym(it.GetSeq_id()), it.GetSeq_id());
740 else if (prev_id != next_id || prev_strand != next_strand)
743 id->Assign(*prev_id.GetSeqId());
745 if ( total_rg.IsSetFuzzFrom() )
747 interval->
SetFuzz_from().Assign(total_rg.GetFuzzFrom());
749 if ( total_rg.IsSetFuzzTo() )
751 interval->
SetFuzz_to().Assign(total_rg.GetFuzzTo());
754 total_rg = CRangeWithFuzz(CRangeWithFuzz::GetEmpty());
757 total_rg += CRangeWithFuzz(it);
759 prev_strand = next_strand;
762 if (!total_rg.Empty())
765 id->Assign(*prev_id.GetSeqId());
767 if ( total_rg.IsSetFuzzFrom() )
769 interval->
SetFuzz_from().Assign(total_rg.GetFuzzFrom());
771 if ( total_rg.IsSetFuzzTo() )
773 interval->
SetFuzz_to().Assign(total_rg.GetFuzzTo());
778 gene_loc->
SetInt(*interval);
931 new_prot_loc->
Assign(prot_loc);
988 if ((*annot_ci).IsFtable())
1079 new_prot_loc->
Assign(prot_loc);
1207 if ((*it)->IsSetData() && (*it)->GetData().IsGene())
1218 :
IEditingActionFeat(seh, subtype, feat_type, ncRNA_class,
"CEditingActionFeatComment")
1244 :
IEditingActionFeat(seh, subtype, feat_type, ncRNA_class,
"CEditingActionFeatException")
1273 const string &qual,
const string &name)
1289 if ((*gbqual_it) && (*gbqual_it)->IsSetQual() && (*gbqual_it)->GetQual() ==
m_qual)
1323 else if (!
value.empty())
1339 const string &qual1,
const string &qual2)
1340 :
CEditingActionFeatGbQual(seh, subtype, feat_type, ncRNA_class, qual1,
"CEditingActionFeatGbQualTwoNames"), m_qual2(qual2)
1355 if ((*gbqual_it) && (*gbqual_it)->IsSetQual() && ((*gbqual_it)->GetQual() ==
m_qual || (*gbqual_it)->GetQual() ==
m_qual2))
1392 string element_type, element_name;
1394 return !element_type.empty();
1406 string element_type, element_name;
1408 element_type =
value;
1409 if (!element_name.empty())
1410 element_type +=
":" + element_name;
1423 string element_type, element_name;
1425 return element_type;
1433 string element_type, element_name;
1435 if (!element_name.empty())
1455 string element_type, element_name;
1457 return !element_name.empty();
1469 string element_type, element_name;
1471 element_name =
value;
1472 if (!element_type.empty())
1473 element_name = element_type +
":" + element_name;
1486 string element_type, element_name;
1488 return element_name;
1496 string element_type, element_name;
1498 if (!element_type.empty())
1561 if (!db.empty() && !
tag.empty())
1577 dbtag->
SetTag().SetId(
id);
1593 return db +
":" +
tag;
1604 :
IEditingActionFeat(seh, subtype, feat_type, ncRNA_class,
"CEditingActionFeatEvidence")
1633 :
IEditingActionFeat(seh, subtype, feat_type, ncRNA_class,
"CEditingActionFeatPseudo")
1667 :
CEditingActionFeatGbQual(seh, subtype, feat_type, ncRNA_class,
"codons_recognized",
"CEditingActionFeatCodonsRecognized")
1678 return is_trna || is_qual;
1683 if (ch ==
'A' || ch ==
'T' || ch ==
'G' || ch ==
'C' || ch ==
'U') {
1693 "AC",
"AG",
"CG",
"ACG",
"AT",
"CT",
"ACT",
"GT",
"AGT",
"CGT",
"ACGT" };
1698 if (pos != string::npos) {
1708 vector<string> replacements;
1710 if (codon.length() == 3 &&
s_IsATGC(codon.c_str()[0])) {
1711 string this_codon = codon.substr(0, 1);
1712 replacements.push_back(this_codon);
1714 for (
int i = 1;
i < 3;
i++) {
1716 auto num_now = replacements.size();
1718 for (
unsigned int j = 1; j < ch.length(); j++) {
1719 for (
auto k = 0; k < num_now; k++) {
1720 string cpy = replacements[k];
1721 replacements.push_back(cpy);
1724 for (
auto k = 0; k < num_now; k++) {
1725 for (
unsigned int j = 0; j < ch.length(); j++) {
1726 replacements[j * num_now + k].append(ch.substr(j, 1));
1731 replacements.push_back(codon);
1733 return replacements;
1751 for (
unsigned int j = 0; j <
codons.size(); j++)
1793 :
CEditingActionFeatGbQual(seh, subtype, feat_type, ncRNA_class,
"transl_except",
"CEditingActionFeatTranslExcept")
1844 string loc_label = v[0];
1851 cb_loc->
SetPnt().SetPoint(start);
1884 vector<char> seqData;
1907 if (!loc_label.empty())
1937 return is_trna || is_qual;
1947 rval = (
string)
"complement(" + (partial3 ?
"<" :
"")
1949 +
".." + (partial5 ?
">" :
"")
1952 rval = (partial5 ?
"<" :
"")
1954 +
".." + (partial3 ?
">" :
"")
1991 else if (loc.
IsMix())
1996 if ( (*it)->IsInt())
2002 r =
"complex location";
2027 :
IEditingActionFeat(seh, subtype, feat_type, ncRNA_class,
"CEditingActionFeatRnaQual"), m_qual(qual), m_erase(
false)
2041 if ((*rnaqual_it)->IsSetQual() && (*rnaqual_it)->GetQual() ==
m_qual)
2063 if ((*gbqual_it)->IsSetQual() && (*gbqual_it)->GetQual() ==
m_qual)
2251 string str = (*it)->GetName();
2252 int id = (*it)->GetId();
2279 string str = (*it)->GetName();
2280 int id = (*it)->GetId();
2354 :
IEditingActionFeat(seh, subtype, feat_type, ncRNA_class,
"CEditingActionFeatNcRnaClass")
2445 if (!before && after)
2505 if (!before && after)
2512 :
IEditingActionFeat(seh, subtype, feat_type, ncRNA_class,
"CEditingActionFeatSynonym"), m_erase(
false), m_syn(
NULL), m_qual(
"synonym")
2548 if (!before && after)
2560 if ((*gbqual_it)->IsSetQual() && (*gbqual_it)->GetQual() ==
m_qual)
2686 if (!before && after)
2693 :
IEditingActionFeat(seh, subtype, feat_type, ncRNA_class,
"CEditingActionFeatActivity"), m_erase(
false), m_activity(
NULL), m_qual(
"activity")
2725 if ((*gbqual_it)->IsSetQual() && (*gbqual_it)->GetQual() ==
m_qual)
2796 :
IEditingActionFeat(seh, subtype, feat_type, ncRNA_class,
"CEditingActionFeatPartial")
2898 :
IEditingActionFeat(seh, subtype, feat_type, ncRNA_class,
"CEditingActionFeatEcNumber"), m_erase(
false), m_ec(
NULL), m_qual(
"EC_number")
2945 if ((*gbqual_it)->IsSetQual() && (*gbqual_it)->GetQual() ==
m_qual)
3028 const string& ncRNA_class)
3029 :
IEditingActionFeat(seh, subtype, feat_type, ncRNA_class,
"CEditingActionFeatProduct"), m_erase(
false), m_name(
NULL), m_qual(
"product")
3082 if ((*gbqual_it)->IsSetQual() && (*gbqual_it)->GetQual() ==
m_qual)
3128 if (
val ==
"fM" ||
val ==
"iM")
3130 if (
val ==
"fMet" ||
val ==
"iMet")
3215 return is_gene || is_xref || is_qual;
3262 if (!before && after)
3347 if ((*annot_ci).IsFtable())
3425 vector<CRef<CSeq_loc>> already_created;
3459 else if (!
IsNOOP(action))
3467 auto created = find_if(already_created.begin(), already_created.end(),[gene_loc](
CRef<CSeq_loc> loc) {return loc->Equals(*gene_loc);});
3468 if (
created == already_created.end())
3470 already_created.push_back(gene_loc);
3536 vector<CSeq_feat_Handle> feat_handles;
3544 feat_handles.push_back(fh);
3556 feat_handles.push_back(fh);
3560 vector<CRef<CSeq_loc>> already_created;
3561 for (
size_t i = 0;
i < feat_handles.size();
i++)
3576 auto created = find_if(already_created.begin(), already_created.end(),[gene_loc](
CRef<CSeq_loc> loc) {return loc->Equals(*gene_loc);});
3577 if (
created == already_created.end())
3579 already_created.push_back(gene_loc);
3604 m_Name =
"CEditingActionFeatRnaToGeneDesc";
3634 m_Name =
"CEditingActionFeatRnaToGeneMaploc";
3661 m_Name =
"CEditingActionFeatRnaToGeneLocus_tag";
3688 m_Name =
"CEditingActionFeatRnaToGeneSynonym";
3715 m_Name =
"CEditingActionFeatRnaToGeneComment";
3740 :
IEditingActionFeat(seh, subtype, feat_type, ncRNA_class,
"CEditingActionFeatFunction"), m_erase(
false), m_function(
NULL), m_qual(
"function")
3786 if ((*gbqual_it)->IsSetQual() && (*gbqual_it)->GetQual() ==
m_qual)
3909 const string& ncRNA_class)
3912 if (field ==
"comment" || field ==
"note")
3914 if (field ==
"exception")
3916 if (field ==
"locus" || field ==
"gene locus")
3918 if (field ==
"rpt_unit_seq")
3920 if (field ==
"inference")
3922 if (field ==
"bound_moiety")
3924 if (field ==
"chromosome")
3926 if (field ==
"compare")
3928 if (field ==
"cons_slice")
3930 if (field ==
"direction")
3932 if (field ==
"environmental_sample")
3934 if (field ==
"experiment")
3936 if (field ==
"focus")
3938 if (field ==
"frequency")
3940 if (field ==
"function")
3942 if (field ==
"label")
3946 if (field ==
"mod_base")
3948 if (field ==
"mol_type")
3950 if (field ==
"number")
3952 if (field ==
"old_locus_tag")
3954 if (field ==
"operon")
3956 if (field ==
"organism")
3958 if (field ==
"pcr_conditions")
3960 if (field ==
"phenotype")
3962 if (field ==
"plasmid")
3964 if (field ==
"protein_id")
3966 if (field ==
"rearranged")
3968 if (field ==
"regulatory_class")
3970 if (field ==
"replace")
3972 if (field ==
"rpt_family")
3974 if (field ==
"rpt_type")
3976 if (field ==
"rpt_unit")
3978 if (field ==
"rpt_unit_range")
3980 if (field ==
"segment")
3982 if (field ==
"sequenced_mol")
3984 if (field ==
"standard_name")
3986 if (field ==
"tag_peptide")
3988 if (field ==
"transcript_id")
3990 if (field ==
"transgenic")
3992 if (field ==
"transl_except")
3994 if (field ==
"usedin")
3996 if (field ==
"mobile_element")
3998 if (field ==
"mobile_element_type")
4000 if (field ==
"mobile_element_type_type")
4002 if (field ==
"mobile_element_type_name")
4004 if (field ==
"satellite")
4006 if (field ==
"satellite_type")
4008 if (field ==
"satellite_name")
4010 if (field ==
"db_xref")
4012 if (field ==
"evidence")
4014 if (field ==
"pseudogene" || field ==
"pseudo")
4016 if (field ==
"codons_recognized" || field ==
"codons recognized")
4018 if (field ==
"anticodon")
4020 if (field ==
"tag_peptide" || field ==
"tag-peptide")
4022 if (field ==
"region")
4024 if (field ==
"codon_start")
4026 if (field ==
"transl_table")
4028 if (field ==
"product name" || field ==
"product" || field ==
"name")
4030 if (field ==
"desc" || field ==
"description")
4032 if (field ==
"ncrna class" || field ==
"ncrna_class")
4034 if (field ==
"locus_tag")
4036 if (field ==
"maploc")
4038 if (field ==
"synonym" || field ==
"gene_synonym")
4040 if (field ==
"allele")
4042 if (field ==
"activity")
4044 if (field ==
"partial")
4046 if (field ==
"ec_number")
4048 if (field ==
"translation")
4057 if (field ==
"gene locus")
4059 if (field ==
"gene description")
4061 if (field ==
"gene maploc")
4063 if (field ==
"gene locus tag")
4065 if (field ==
"gene synonym")
4067 if (field ==
"gene comment")
4078 if (field ==
"gene locus")
4080 if (field ==
"gene description" || field ==
"protein description" || field ==
"mat_peptide description")
4082 if (field ==
"gene maploc")
4084 if (field ==
"gene locus tag")
4086 if (field ==
"gene synonym")
4088 if (field ==
"gene comment" || field ==
"cds comment" || field ==
"mrna comment" || field ==
"mat_peptide comment" || field ==
"protein comment")
4090 if (field ==
"gene old_locus_tag")
4092 if (field ==
"gene allele")
4094 if (field ==
"gene inference" || field ==
"cds inference")
4096 if (field ==
"protein name" || field ==
"mrna product" || field ==
"mat_peptide name")
4098 if (field ==
"protein ec number" || field ==
"mat_peptide ec number")
4100 if (field ==
"protein activity" || field ==
"mat_peptide activity")
4102 if (field ==
"codon-start")
static CRef< CScope > m_Scope
bool IsReverse(ENa_strand s)
@ eExtreme_Positional
numerical value
@ eExtreme_Biological
5' and 3'
bool operator!=(const _Ht_iterator< _Val, _Nonconst_traits< _Val >, _Key, _HF, _ExK, _EqK, _All > &__x, const _Ht_iterator< _Val, _Const_traits< _Val >, _Key, _HF, _ExK, _EqK, _All > &__y)
virtual ~CDefaultSynonymMapper(void)
CDefaultSynonymMapper(CScope *scope)
map< CSeq_id_Handle, CSeq_id_Handle > TSynonymMap
CRef< CSeq_id_Mapper > m_IdMapper
virtual CSeq_id_Handle GetBestSynonym(const CSeq_id &id)
virtual bool Match(const string &value)
CEditingActionFeatActivity(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual void SetValue(const string &value)
virtual bool IsSetValue(void)
virtual string GetValue(void)
virtual void ResetValue(void)
virtual void Modify(EActionType action)
CRef< CGb_qual > m_GBqual
virtual void SetValue(const string &value)
virtual string GetValue(void)
virtual bool IsSetValue(void)
virtual void ResetValue(void)
CEditingActionFeatAllele(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual void SetValue(const string &value)
CEditingActionFeatAnticodon(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual string GetValue(void)
string GetIntervalString(const CSeq_interval &seq_int)
virtual bool IsSetValue(void)
virtual void ResetValue(void)
virtual string GetValue(void)
virtual void ResetValue(void)
virtual bool IsSetValue(void)
virtual void SetValue(const string &value)
CEditingActionFeatCodonStart(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual string GetValue(void)
virtual bool IsSetValue(void)
virtual void ResetValue(void)
virtual void SetValue(const string &value)
CEditingActionFeatCodonsRecognized(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual void Modify(EActionType action)
virtual bool IsSetValue(void)
virtual string GetValue(void)
virtual void ResetValue(void)
CEditingActionFeatDbxref(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual void SetValue(const string &value)
virtual bool IsSetValue(void)
virtual void SetValue(const string &value)
virtual void ResetValue(void)
virtual string GetValue(void)
CEditingActionFeatDesc(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual bool IsSetValue(void)
virtual string GetValue(void)
virtual void ResetValue(void)
virtual void SetValue(const string &value)
CEditingActionFeatDualVal1(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class, const string &qual)
virtual void ResetValue(void)
CEditingActionFeatDualVal2(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class, const string &qual)
virtual bool IsSetValue(void)
virtual void SetValue(const string &value)
virtual string GetValue(void)
virtual void Modify(EActionType action)
virtual void FindRelated(EActionType action)
virtual bool IsSetValue(void)
virtual void Find(EActionType action)
CEditingActionFeatEcNumber(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual void ResetValue(void)
virtual string GetValue(void)
CRef< CGb_qual > m_GBqual
virtual void SetValue(const string &value)
virtual string GetValue(void)
virtual void SetValue(const string &value)
virtual bool IsSetValue(void)
virtual void ResetValue(void)
CEditingActionFeatEvidence(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
CEditingActionFeatException(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual string GetValue(void)
virtual void ResetValue(void)
virtual void SetValue(const string &value)
virtual bool IsSetValue(void)
virtual bool IsSetValue(void)
virtual void SetValue(const string &value)
virtual void ResetValue(void)
CEditingActionFeatFunction(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual string GetValue(void)
CRef< CGb_qual > m_GBqual
virtual void Modify(EActionType action)
virtual void Modify(EActionType action)
CEditingActionFeatGbQualTwoNames(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class, const string &qual1, const string &qual2)
virtual void SetValue(const string &value)
virtual void ResetValue(void)
CRef< CGb_qual > m_GBqual
virtual void Modify(EActionType action)
virtual bool IsSetValue(void)
CEditingActionFeatGbQual(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class, const string &qual, const string &name="CEditingActionFeatGbQual")
virtual string GetValue(void)
virtual void SetFeat(CSeq_feat_Handle fh)
virtual void Find(EActionType action)
virtual void Find(EActionType action)
virtual void Find(EActionType action)
virtual bool SameObject()
virtual void SetFeat(CSeq_feat_Handle fh)
CEditingActionFeatGeneLocus(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class, const string &name)
virtual void FindRelated(EActionType action)
virtual bool IsSetValue(void)
virtual void ResetValue(void)
virtual void SetValue(const string &value)
virtual string GetValue(void)
virtual bool IsSetValue(void)
CEditingActionFeatLocus_tag(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual void SetValue(const string &value)
virtual string GetValue(void)
virtual void ResetValue(void)
virtual void SetValue(const string &value)
CEditingActionFeatMaploc(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual string GetValue(void)
virtual void ResetValue(void)
virtual bool IsSetValue(void)
virtual void SetValue(const string &value)
virtual string GetValue(void)
virtual void ResetValue(void)
virtual bool IsSetValue(void)
CEditingActionFeatNcRnaClass(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual string GetValue(void)
virtual void SetValue(const string &value)
CEditingActionFeatPartial(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual bool IsSetValue(void)
virtual void ResetValue(void)
virtual bool IsSetValue(void)
virtual void ResetValue(void)
virtual void Modify(EActionType action)
virtual void SetValue(const string &value)
CRef< CGb_qual > m_GBqual
virtual void Find(EActionType action)
virtual string GetValue(void)
virtual void FindRelated(EActionType action)
CEditingActionFeatProduct(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual void ResetValue(void)
CEditingActionFeatPseudo(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual bool IsSetValue(void)
virtual void SetValue(const string &value)
virtual string GetValue(void)
virtual string GetValue(void)
virtual bool IsSetValue(void)
virtual void ResetValue(void)
CEditingActionFeatRegion(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual void SetValue(const string &value)
virtual bool IsSetValue(void)
CEditingActionFeatRnaQual(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class, const string &qual)
virtual void ResetValue(void)
virtual void Modify(EActionType action)
virtual string GetValue(void)
CRef< CGb_qual > m_GBqual
virtual void SetValue(const string &value)
CRef< CRNA_qual > m_RnaQual
virtual void SetFeat(CSeq_feat_Handle fh)
virtual void Find(EActionType action)
virtual bool SameObject()
virtual void FindRelated(EActionType action)
CEditingActionFeatRnaToGeneDesc(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const string &ncRNA_class)
virtual void FindRelated(EActionType action)
virtual void Find(EActionType action)
virtual void SetFeat(CSeq_feat_Handle fh)
virtual bool SameObject()
CEditingActionFeatRnaToGeneLocus_tag(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const string &ncRNA_class)
virtual void SetFeat(CSeq_feat_Handle fh)
virtual void Find(EActionType action)
virtual void FindRelated(EActionType action)
virtual bool SameObject()
CEditingActionFeatRnaToGeneMaploc(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const string &ncRNA_class)
CEditingActionFeatRnaToGeneSynonym(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const string &ncRNA_class)
virtual void SetFeat(CSeq_feat_Handle fh)
virtual bool SameObject()
virtual void FindRelated(EActionType action)
virtual void Find(EActionType action)
virtual bool IsSetValue(void)
virtual string GetValue(void)
CEditingActionFeatSynonym(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual void ResetValue(void)
virtual void Modify(EActionType action)
virtual void SetValue(const string &value)
CRef< CGb_qual > m_GBqual
virtual bool IsSetValue(void)
virtual void ResetValue(void)
CEditingActionFeatTranscriptId(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual void SetValue(const string &value)
virtual string GetValue(void)
virtual void ResetValue(void)
virtual void SetValue(const string &value)
virtual void Modify(EActionType action)
virtual string GetValue(void)
CEditingActionFeatTranslExcept(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual bool IsSetValue(void)
CRef< CCode_break > m_CodeBreak
const CGenetic_code_table & m_code_table
virtual string GetValue(void)
CEditingActionFeatTranslTable(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
virtual bool IsSetValue(void)
virtual void SetValue(const string &value)
virtual void ResetValue(void)
virtual bool IsSetValue(void)
virtual string GetValue(void)
virtual void ResetValue(void)
virtual void SetValue(const string &value)
CEditingActionFeatTranslation(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
static string IndexToCodon(int index)
static int CodonToIndex(char base1, char base2, char base3)
@RNA_ref.hpp User-defined methods of the data storage class.
string GetRnaProductName(void) const
void AddFuzzFrom(const CRangeWithFuzz &rg)
bool IsSetFuzzFrom(void) const
CRef< CInt_fuzz > x_SetFuzz(TFuzz &fuzz, const CInt_fuzz *copy_from)
const CInt_fuzz & GetFuzzTo(void) const
void x_AddFuzz(TFuzz &fuzz, const TFuzz &other, ENa_strand other_strand)
const CInt_fuzz & GetFuzzFrom(void) const
bool IsSetFuzzTo(void) const
CRangeWithFuzz(const TParent &rg)
void AddFuzzTo(const CRangeWithFuzz &rg)
void CopyTo(const CRangeWithFuzz &rg)
void CopyFrom(const CRangeWithFuzz &rg)
static SIZE_TYPE Convert(const CTempString &src, TCoding src_coding, TSeqPos pos, TSeqPos length, string &dst, TCoding dst_coding)
static E_Choice GetTypeFromSubtype(ESubtype subtype)
namespace ncbi::objects::
const CProt_ref * GetProtXref(void) const
get protein (if present) from Seq-feat.xref list
const string & GetNamedQual(const CTempString &qual_name) const
Return a named qualifier.
void AddOrReplaceQualifier(const string &qual_name, const string &qual_val)
Add a qualifier to this feature, or replace the value for the first one if it already exists.
void AddQualifier(const string &qual_name, const string &qual_val)
Add a qualifier to this feature.
void RemoveQualifier(const string &qual_name)
Remove all qualifiers with the given name; do nothing if no such qualifier exists.
const CGene_ref * GetGeneXref(void) const
See related function in util/feature.hpp.
void SetGeneXref(CGene_ref &value)
void SetProtXref(CProt_ref &value)
const CSeq_id_Handle & GetHandle(void) const
CConstRef< CSeq_id > m_Id
CSeq_id_Handle_Wrapper(void)
bool IsPartialStop(ESeqLocExtremes ext) const
TSeqPos GetStart(ESeqLocExtremes ext) const
bool IsPartialStart(ESeqLocExtremes ext) const
TSeqPos GetStop(ESeqLocExtremes ext) const
Seq-loc iterator class – iterates all intervals from a seq-loc in the correct order.
Seq-loc iterator class – iterates all intervals from a seq-loc in the correct order.
CRef< CSeq_loc > x_GetSublocOnBioseq(CBioseq_Handle bsh, const CSeq_loc &loc)
void SetFeatForAnotherFeat(CSeq_feat_Handle fh, const CSeqFeatData::ESubtype subtype)
CSeq_feat_Handle x_FindGeneForFeature(const CSeq_loc &loc, CScope &scope, CSeqFeatData::ESubtype subtype)
virtual void SwapContext(IEditingAction *source)
CSeq_feat_Handle GetFeatHandle(void)
void FindFeatForAnotherFeat(EActionType action, SAnnotSelector other_selector)
virtual void SetFeat(CSeq_feat_Handle fh)
void RemoveGeneXref(void)
CRef< CSeq_feat > m_EditedFeat
IEditingActionFeat(CSeq_entry_Handle seh, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class, const string &name)
CSeq_entry_Handle GetCurrentSeqEntryHandleFromFeatHandle(CSeq_feat_Handle fh)
virtual void Find(EActionType action)
bool MatchBioseqConstraintForFeatHandle(CSeq_feat_Handle fh)
CRef< CSeq_feat > m_SavedEditedFeat
bool m_saved_feat_enabled
virtual void FindRelated(EActionType action)
void GoToOrigFeature(void)
static const string & s_GetncRNAClass(const objects::CRNA_ref &rna_ref)
bool OtherFeatIs(const CSeqFeatData::ESubtype subtype)
virtual void ResetScope()
CRef< CSeq_loc > x_MergeFeatureLocation(const CSeq_loc &loc, CScope &scope)
static bool s_IsSetncRNAClass(const objects::CRNA_ref &rna_ref)
virtual void Modify(EActionType action)
void GoToProtFeature(void)
SAnnotSelector m_selector
CSeq_feat_Handle m_SavedFeat
bool x_TestGeneForFeature(const CSeq_loc &gene_loc, const CSeq_loc &feat_loc, CScope &scope, bool &exact, TSeqPos &diff)
void FindRelatedFeatForAnotherFeat(EActionType action, SAnnotSelector other_selector)
void FindRelatedOrCreateProtFeat(EActionType action)
void FindOrCreateProtFeat(EActionType action)
virtual bool SameObject()
CSeq_entry_Handle m_TopSeqEntry
map< CSeq_feat_Handle, CRef< CSeq_feat > > m_ChangedFeatures
CSeq_entry_Handle m_CurrentSeqEntry
void Action(EActionType action)
map< CSeq_feat_Handle, CSeq_entry_Handle > m_CreatedFeatures
virtual void SwapContext(IEditingAction *source)
bool IsFrom(EActionType action)
CRef< CEditingActionConstraint > m_constraint
bool IsCreateNew(EActionType action)
bool IsNOOP(EActionType action)
Interface for mapping IDs to the best synonym.
const_iterator end() const
const_iterator find(const key_type &key) const
iterator_bool insert(const value_type &val)
static bool s_IsATGC(char ch)
static vector< string > ParseDegenerateCodons(string codon)
IEditingActionFeat * CreateActionCdsGeneProt(CSeq_entry_Handle seh, string field, const CSeqFeatData::ESubtype subtype, const string &ncRNA_class)
static const string s_GetExpansion(const string &ch)
static const string kAmbiguities
IEditingActionFeat * CreateActionFeat(CSeq_entry_Handle seh, string field, const CSeqFeatData::ESubtype subtype, const CSeqFeatData::E_Choice feat_type, const string &ncRNA_class)
static const string kReplacements[]
IEditingActionFeat * CreateActionRna(CSeq_entry_Handle seh, string field, const CSeqFeatData::ESubtype subtype, const string &ncRNA_class)
bool operator<(const CEquivRange &A, const CEquivRange &B)
bool operator==(const CEquivRange &A, const CEquivRange &B)
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
static const char * str(char *buf, int n)
const TResidue codons[4][4]
#define DECLARE_OPERATOR_BOOL(Expr)
Declaration of safe bool operator from boolean expression.
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
void swap(NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair1, NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair2)
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
#define ENUM_METHOD_NAME(EnumName)
CConstRef< CSeq_id > GetSeqId(void) const
int BestRankScore(void) const
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
const CTextseq_id * GetTextseq_Id(void) const
Return embedded CTextseq_id, if any.
@ eContent
Untagged human-readable accession or the like.
CRef< CSeq_loc > MakeSeq_loc(EMakeType make_type=eMake_CompactType) const
return constructed CSeq_loc with all changes
void SetPacked_int(TPacked_int &v)
bool IsPartialStart(ESeqLocExtremes ext) const
check start or stop of location for e_Lim fuzz
void Delete(void)
Delete current element, and make iterator to point to the next element.
ENa_strand GetStrand(void) const
Get the location's strand.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Override Assign() to incorporate cache invalidation.
TSeqPos GetStart(ESeqLocExtremes ext) const
Return start and stop positions of the seq-loc.
CRef< CSeq_loc > Merge(TOpFlags flags, ISynonymMapper *syn_mapper) const
All functions create and return a new seq-loc object.
bool IsSetStrand(EIsSetStrand flag=eIsSetStrand_Any) const
Check if strand is set for any/all part(s) of the seq-loc depending on the flag.
bool IsEmpty(void) const
True if the current location is empty.
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
size_t GetSize(void) const
Get number of ranges.
const CSeq_id & GetSeq_id(void) const
Get seq_id of the current location.
bool IsPartialStop(ESeqLocExtremes ext) const
TSeqPos GetStop(ESeqLocExtremes ext) const
@ eEmpty_Allow
ignore empty locations
ENa_strand GetStrand(const CSeq_loc &loc, CScope *scope=0)
Returns eNa_strand_unknown if multiple Bioseqs in loc Returns eNa_strand_other if multiple strands in...
sequence::ECompare Compare(const CSeq_loc &loc1, const CSeq_loc &loc2, CScope *scope)
Returns the sequence::ECompare containment relationship between CSeq_locs.
TSeqPos GetCoverage(const CSeq_loc &loc, CScope *scope)
Get number of unique bases in the location.
CRef< CSeq_loc > Seq_loc_Subtract(const CSeq_loc &loc1, const CSeq_loc &loc2, CSeq_loc::TOpFlags flags, CScope *scope)
Subtract the second seq-loc from the first one.
CRef< CSeq_loc > Seq_loc_Add(const CSeq_loc &loc1, const CSeq_loc &loc2, CSeq_loc::TOpFlags flags, CScope *scope)
Add two seq-locs.
bool IsSameBioseq(const CSeq_id &id1, const CSeq_id &id2, CScope *scope, CScope::EGetBioseqFlag get_flag=CScope::eGetBioseq_All)
Determines if two CSeq_ids represent the same CBioseq.
@ eContains
First CSeq_loc contains second.
@ eOverlap
CSeq_locs overlap.
@ eSame
CSeq_locs contain each other.
@ eContained
First CSeq_loc contained by second.
const CSeq_feat * GetCDSForProduct(const CBioseq &product, CScope *scope)
Get the encoding CDS feature of a given protein sequence.
void ResetHistory(EActionIfLocked action=eKeepIfLocked)
Clean all unused TSEs from the scope's cache and release the memory.
static CRef< CObjectManager > GetInstance(void)
Return the existing object manager or create one.
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...
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
void AddDefaults(TPriority pri=kPriority_Default)
Add default data loaders from object manager.
CSeq_feat_Handle GetSeq_featHandle(const CSeq_feat &feat, EMissing action=eMissing_Default)
CConstRef< CSynonymsSet > GetSynonyms(const CSeq_id &id)
Get bioseq synonyms, resolving to the bioseq in this scope.
@ kPriority_Default
Use default priority for added data.
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
const CSeq_annot_Handle & GetAnnot(void) const
Get handle to seq-annot for this feature.
const CSeqFeatData & GetData(void) const
CSeq_entry_Handle GetSeq_entry_Handle(void) const
Get parent Seq-entry handle.
CSeq_annot_EditHandle AttachAnnot(CSeq_annot &annot) const
Attach an annotation.
CSeq_feat_EditHandle AddFeat(const CSeq_feat &new_obj) 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
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
CSeq_entry_EditHandle GetEditHandle(void) const
Get 'edit' version of handle.
CScope & GetScope(void) const
Get scope this handle belongs to.
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
CSeqFeatData::ESubtype GetFeatSubtype(void) const
bool HasParentEntry(void) const
Check if current seq-entry has a parent.
CSeqFeatData::E_Choice GetFeatType(void) const
CRef< CSeq_loc > GetRangeSeq_loc(TSeqPos start, TSeqPos stop, ENa_strand strand=eNa_strand_unknown) const
Return CSeq_loc referencing the given range and strand on the bioseq If start == 0,...
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
CConstRef< CSeq_entry > GetSeq_entryCore(void) const
Get const reference to the seq-entry.
const CSeq_feat_Handle & GetSeq_feat_Handle(void) const
Get original feature handle.
void GetSeqData(TSeqPos start, TSeqPos stop, string &buffer) const
Fill the buffer string with the sequence data for the interval [start, stop).
void SetCoding(TCoding coding)
CConstRef< C > ConstRef(const C *object)
Template function for conversion of const object pointer to CConstRef.
void Reset(void)
Reset reference object.
void Reset(void)
Reset reference object.
TThisType & operator+=(const TThisType &r)
TParent::position_type position_type
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
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.
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 spaces 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 Join(const TContainer &arr, const CTempString &delim)
Join strings using the specified delimiter.
static bool EqualCase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-sensitive equality of a substring with another string.
static string UIntToString(unsigned int value, TNumToStringFlags flags=0, int base=10)
Convert UInt to string.
static bool SplitInTwo(const CTempString str, const CTempString delim, string &str1, string &str2, TSplitFlags flags=0)
Split a string into two pieces using the specified delimiters.
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 string & ToUpper(string &str)
Convert string to upper case – string& version.
static string & ToLower(string &str)
Convert string to lower case – string& version.
@ fAllowTrailingSpaces
Ignore trailing space characters.
@ fConvErr_NoThrow
Do not throw an exception on error.
@ fAllowLeadingSpaces
Ignore leading spaces in converted string.
static const char label[]
void SetFrom(TFrom value)
Assign a value to From data member.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
void SetTo(TTo value)
Assign a value to To data member.
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.
void SetMin(TMin value)
Assign a value to Min data member.
bool IsStr(void) const
Check if variant Str is selected.
bool IsSetDb(void) const
name of database or system Check if a value has been assigned to Db data member.
const TTag & GetTag(void) const
Get the Tag member data.
void SetTag(TTag &value)
Assign a value to Tag data member.
bool IsId(void) const
Check if variant Id is selected.
TRange & SetRange(void)
Select the variant.
bool IsSetTag(void) const
appropriate tag Check if a value has been assigned to Tag data member.
TAlt & SetAlt(void)
Select the variant.
TPct GetPct(void) const
Get the variant data.
const TDb & GetDb(void) const
Get the Db member data.
void ResetTag(void)
Reset Tag data member.
TLim GetLim(void) const
Get the variant data.
TP_m & SetP_m(void)
Select the variant.
TMin GetMin(void) const
Get the Min member data.
const TStr & GetStr(void) const
Get the variant data.
TStr & SetStr(void)
Select the variant.
void SetMax(TMax value)
Assign a value to Max data member.
E_Choice Which(void) const
Which variant is currently selected.
TLim & SetLim(void)
Select the variant.
const TAlt & GetAlt(void) const
Get the variant data.
TPct & SetPct(void)
Select the variant.
TMax GetMax(void) const
Get the Max member data.
TP_m GetP_m(void) const
Get the variant data.
void SetDb(const TDb &value)
Assign a value to Db data member.
TId GetId(void) const
Get the variant data.
const TRange & GetRange(void) const
Get the variant data.
@ eLim_tl
space to left of position
@ eLim_tr
space to right of position
@ e_Pct
% plus or minus (x10) 0-1000
@ e_Alt
set of alternatives for the integer
@ e_P_m
plus or minus fixed amount
bool IsSetDesc(void) const
description (instead of name) Check if a value has been assigned to Desc data member.
const TDesc & GetDesc(void) const
Get the Desc member data.
void SetQual(const TQual &value)
Assign a value to Qual data member.
void SetVal(const TVal &value)
Assign a value to Val data member.
const TAnticodon & GetAnticodon(void) const
Get the Anticodon member data.
TType GetType(void) const
Get the Type member data.
const TCodon & GetCodon(void) const
Get the Codon member data.
bool IsTRNA(void) const
Check if variant TRNA is selected.
bool IsSetAnticodon(void) const
location of anticodon Check if a value has been assigned to Anticodon data member.
bool IsSetExt(void) const
generic fields for ncRNA, tmRNA, miscRNA Check if a value has been assigned to Ext data member.
bool IsSetCodon(void) const
codon(s) as in Genetic-code Check if a value has been assigned to Codon data member.
bool IsGen(void) const
Check if variant Gen is selected.
bool IsSetVal(void) const
Check if a value has been assigned to Val data member.
bool IsSetQuals(void) const
e.g., tag_peptide qualifier for tmRNAs Check if a value has been assigned to Quals data member.
const TGen & GetGen(void) const
Get the variant data.
bool IsSetType(void) const
Check if a value has been assigned to Type data member.
bool IsSetClass(void) const
for ncRNAs, the class of non-coding RNA: examples: antisense_RNA, guide_RNA, snRNA Check if a value h...
const TVal & GetVal(void) const
Get the Val member data.
const TExt & GetExt(void) const
Get the Ext member data.
const TTRNA & GetTRNA(void) const
Get the variant data.
const TClass & GetClass(void) const
Get the Class member data.
@ eType_ncRNA
non-coding RNA; subsumes snRNA, scRNA, snoRNA
void SetAa(TAa &value)
Assign a value to Aa data member.
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.
TDbxref & SetDbxref(void)
Assign a value to Dbxref data member.
void ResetPartial(void)
Reset Partial data member.
bool IsSetData(void) const
the specific data Check if a value has been assigned to Data data member.
bool IsSetQual(void) const
qualifiers Check if a value has been assigned to Qual data member.
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.
TNcbi8aa GetNcbi8aa(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently 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.
const TLoc & GetLoc(void) const
Get the Loc member 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.
void SetProduct(TProduct &value)
Assign a value to Product data member.
void ResetExp_ev(void)
Reset Exp_ev data member.
const TQual & GetQual(void) const
Get the Qual member data.
bool IsSetPartial(void) const
incomplete in some way? Check if a value has been assigned to Partial data member.
void ResetExcept_text(void)
Reset Except_text data member.
list< CRef< CGenetic_code > > Tdata
const TLocation & GetLocation(void) const
Get the Location member data.
void SetExcept(TExcept value)
Assign a value to Except data member.
bool IsGene(void) const
Check if variant Gene is selected.
EExp_ev
evidence for existence of feature
void ResetPseudo(void)
Reset Pseudo data member.
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.
void ResetData(void)
Reset Data data member.
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.
bool IsSetExp_ev(void) const
Check if a value has been assigned to Exp_ev data member.
void ResetComment(void)
Reset Comment data member.
const TCdregion & GetCdregion(void) const
Get the variant data.
bool IsSetAa(void) const
Check if a value has been assigned to Aa data member.
void SetExp_ev(TExp_ev value)
Assign a value to Exp_ev data member.
const TAa & GetAa(void) const
Get the Aa member data.
void SetLoc(TLoc &value)
Assign a value to Loc data member.
const TProduct & GetProduct(void) const
Get the Product member data.
TNcbieaa GetNcbieaa(void) const
Get the variant data.
bool IsSetPseudo(void) const
annotated on pseudogene? Check if a value has been assigned to Pseudo data member.
const TComment & GetComment(void) const
Get the Comment member data.
void SetVal(const TVal &value)
Assign a value to Val data member.
void SetPseudo(TPseudo value)
Assign a value to Pseudo data member.
const TGene & GetGene(void) const
Get the variant data.
const Tdata & Get(void) const
Get the member data.
TPartial GetPartial(void) const
Get the Partial member 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.
void ResetProduct(void)
Reset Product data member.
void ResetXref(void)
Reset Xref data member.
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.
const TCode_break & GetCode_break(void) const
Get the Code_break member data.
bool IsSetVal(void) const
Check if a value has been assigned to Val data member.
bool IsSetProduct(void) const
product of process Check if a value has been assigned to Product data member.
bool IsSetLoc(void) const
location of exception Check if a value has been assigned to Loc 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.
void ResetQual(void)
Reset Qual data member.
bool IsSetCode_break(void) const
individual exceptions Check if a value has been assigned to Code_break data member.
bool IsSetFrame(void) const
Check if a value has been assigned to Frame data member.
@ eFrame_not_set
not set, code uses one
@ eFrame_three
reading frame
@ e_Ncbieaa
ASCII value of NCBIeaa code.
bool IsMix(void) const
Check if variant Mix is selected.
ENa_strand
strand of nucleic acid
bool CanGetStrand(void) const
Check if it is safe to call GetStrand method.
E_Choice Which(void) const
Which variant is currently selected.
const Tdata & Get(void) const
Get the member data.
void SetFuzz_to(TFuzz_to &value)
Assign a value to Fuzz_to data member.
void SetFuzz_from(TFuzz_from &value)
Assign a value to Fuzz_from data member.
bool IsPacked_int(void) const
Check if variant Packed_int is selected.
TLocal & SetLocal(void)
Select the variant.
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.
bool IsNull(void) const
Check if variant Null is selected.
bool IsSetVersion(void) const
Check if a value has been assigned to Version data member.
const TMix & GetMix(void) const
Get the variant data.
const TAccession & GetAccession(void) const
Get the Accession member data.
@ e_not_set
No variant selected.
@ e_not_set
No variant selected.
@ e_Ncbieaa
extended ASCII 1 letter aa codes
@ eMol_na
just a nucleic acid
CNcbiMatrix< T > & operator+=(CNcbiMatrix< T > &, const CNcbiMatrix< U > &)
global addition: matrix += matrix
constexpr bool empty(list< Ts... >) noexcept
const struct ncbi::grid::netcache::search::fields::CREATED created
const GenericPointer< typename T::ValueType > T2 value
const CharType(& source)[N]
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
static int match(register const pcre_uchar *eptr, register const pcre_uchar *ecode, const pcre_uchar *mstart, int offset_top, match_data *md, eptrblock *eptrb, unsigned int rdepth)
static bool GetSeqId(const T &d, set< string > &labels, const string name="", bool detect=false, bool found=false)
Utility macros and typedefs for exploring NCBI objects from seqfeat.asn.
#define EDIT_EACH_QUAL_ON_RNAGEN(Itr, Var)
#define EDIT_EACH_ECNUMBER_ON_PROTREF(Itr, Var)
#define ERASE_ECNUMBER_ON_PROTREF(Itr, Var)
ERASE_ECNUMBER_ON_PROTREF.
#define EDIT_EACH_ACTIVITY_ON_PROTREF(Itr, Var)
#define ERASE_ACTIVITY_ON_PROTREF(Itr, Var)
ERASE_ACTIVITY_ON_PROTREF.
#define EDIT_EACH_DBXREF_ON_SEQFEAT(Itr, Var)
#define EDIT_EACH_NAME_ON_PROTREF(Itr, Var)
#define ERASE_SEQFEATXREF_ON_SEQFEAT(Itr, Var)
ERASE_SEQFEATXREF_ON_SEQFEAT.
#define EDIT_EACH_CODEBREAK_ON_CDREGION(Itr, Var)
#define ERASE_SYNONYM_ON_GENEREF(Itr, Var)
ERASE_SYNONYM_ON_GENEREF.
#define EDIT_EACH_SEQFEATXREF_ON_SEQFEAT(Itr, Var)
#define EDIT_EACH_SYNONYM_ON_GENEREF(Itr, Var)
#define EDIT_EACH_GBQUAL_ON_SEQFEAT(Itr, Var)
#define ERASE_NAME_ON_PROTREF(Itr, Var)
ERASE_NAME_ON_PROTREF.
#define ERASE_QUAL_ON_RNAGEN(Itr, Var)
ERASE_QUAL_ON_RNAGEN.
#define ERASE_DBXREF_ON_SEQFEAT(Itr, Var)
ERASE_DBXREF_ON_SEQFEAT.
#define ERASE_CODEBREAK_ON_CDREGION(Itr, Var)
ERASE_CODEBREAK_ON_CDREGION.
#define ERASE_GBQUAL_ON_SEQFEAT(Itr, Var)
ERASE_GBQUAL_ON_SEQFEAT.
TFeatSubtype GetFeatSubtype(void) const
TAnnotType GetAnnotType(void) const
TFeatType GetFeatType(void) const