: m_To(feat_to) , m_From(feat_from)
90 if(subtype ==
m_To) {
207 if(!remove_transcript || (remove_transcript && remove_transcript->IsBool() && remove_transcript->GetBool()->GetVal())) {
213 if(ncrna_class && ncrna_class->IsString() && !
NStr::IsBlank(ncrna_class->GetString()->GetVal())) {
214new_feat->
SetData().SetRna().SetExt().SetGen().SetClass(ncrna_class->GetString()->GetVal());
219 if(site_type && site_type->IsString() && !
NStr::IsBlank(site_type->GetString()->GetVal())) {
220new_feat->
SetData().SetSite(
m_SiteList.GetSiteType(site_type->GetString()->GetVal()));
225 if(bond_type && bond_type->IsString() && !
NStr::IsBlank(bond_type->GetString()->GetVal())) {
226new_feat->
SetData().SetBond(
m_BondList.GetBondType(bond_type->GetString()->GetVal()));
231 if(on_prot && on_prot->IsBool() && on_prot->GetBool()->GetVal()) {
253 if(remove_gene && remove_gene->IsBool() && remove_gene->GetBool()->GetVal() && !(
orig.IsSetData() &&
orig.GetData().IsGene())) {
277vector<string> products)
279 boolmake_pseudo =
false;
281 if(is_pseudo && is_pseudo->IsBool() && is_pseudo->GetBool()->GetVal()) {
287 ITERATE(vector<string>, it, products) {
298 ITERATE(vector<string>, it, products) {
299 prot->SetData().SetProt().SetName().push_back(*it);
317 stringproduct =
"";
318 if(
orig.IsSetProduct()) {
322 if(
f&&
f->IsSetData() &&
f->GetData().IsProt()
323&&
f->GetData().GetProt().IsSetName()
324&&
f->GetData().GetProt().GetName().size() > 0) {
325product =
f->GetData().GetProt().GetName().front();
328}
else if(
orig.IsSetXref()) {
330 if((*it)->IsSetData() && (*it)->GetData().IsProt()
331&& (*it)->GetData().GetProt().IsSetName()
332&& (*it)->GetData().GetProt().GetName().size() > 0) {
333product = (*it)->GetData().GetProt().GetName().front();
361 if(
orig.GetData().IsCdregion() && keep_orig) {
362 if(!
orig.IsSetProduct()) {
398CSeq_feat::TQual::iterator it = new_feat->
SetQual().begin();
399 while(it != new_feat->
SetQual().end()) {
401 if((*it)->IsSetVal() && !
NStr::IsBlank((*it)->GetVal())) {
402vals.push_back((*it)->GetVal());
404it = new_feat->
SetQual().erase(it);
409 if(new_feat->
GetQual().size() == 0) {
466remove_mrna->SetBool();
469remove_gene->SetBool();
472remove_transcript->SetBool();
480is_pseudo->SetBool();
491 ITERATE(vector<string>, it, class_vals) {
492 val->AddSuggestedValue(*it);
494 val->SetOnlySuggested(
false);
507 val->AddSuggestedValue(it->first);
510 val->SetDefaultVal(
"active");
511 val->SetOnlySuggested(
true);
522 val->AddSuggestedValue(it->first);
525 val->SetDefaultVal(
"disulfide");
526 val->SetOnlySuggested(
true);
631 while(it !=
m_SiteList.end() && site_type != it->second) {
646new_feat->
SetData().SetGene();
647 if(
orig.IsSetComment()) {
648new_feat->
SetData().SetGene().SetLocus(
orig.GetComment());
650 if(pos == string::npos) {
681 stringremainder =
"";
682new_feat->
SetData().SetRna().SetRnaProductName(product, remainder);
699}
else if(
NStr::Find(product, field) == string::npos &&
NStr::Find(comment, field) == string::npos) {
700comment = comment +
"; "+ field;
707 stringproduct =
"";
708 stringcomment =
"";
713 if(
orig.IsSetLocus()) {
716 if(
orig.IsSetAllele()) {
719 if(
orig.IsSetDesc()) {
722 if(
orig.IsSetMaploc()) {
725 if(
orig.IsSetLocus_tag()) {
729 stringremainder =
"";
730new_feat->
SetData().SetRna().SetRnaProductName(product, remainder);
732comment = comment +
"; "+ remainder;
735comment = comment.substr(1);
760new_feat->
SetData().SetImp().SetKey(
"repeat_region");
762 boolis_transposon =
false;
763 boolis_insertion =
false;
764 stringtransposon_name =
"";
765 stringinsertion_name =
"";
766 stringcomment =
"";
767 if(
orig.IsSetComment()) {
768comment =
orig.GetComment();
771 if(
orig.IsSetData() &&
orig.GetData().IsBiosrc()) {
772 if(
orig.GetData().GetBiosrc().IsSetSubtype()) {
774 if((*it)->IsSetSubtype()) {
776is_transposon =
true;
777 if((*it)->IsSetName() && !
NStr::IsBlank((*it)->GetName())) {
779transposon_name = (*it)->GetName();
781transposon_name = transposon_name +
";"+ (*it)->GetName();
785is_insertion =
true;
786 if((*it)->IsSetName() && !
NStr::IsBlank((*it)->GetName())) {
788insertion_name = (*it)->GetName();
790insertion_name = insertion_name +
";"+ (*it)->GetName();
794&& (*it)->IsSetName()
797comment = (*it)->GetName();
799comment = comment +
";"+ (*it)->GetName();
805 if(
orig.GetData().GetBiosrc().IsSetOrg()
806&&
orig.GetData().GetBiosrc().GetOrg().IsSetOrgname()
807&&
orig.GetData().GetBiosrc().GetOrg().GetOrgname().IsSetMod()) {
810&& (*it)->IsSetSubname() && !
NStr::IsBlank((*it)->GetSubname())) {
812comment = (*it)->GetSubname();
814comment = comment +
";"+ (*it)->GetSubname();
822new_feat->
SetQual().push_back(q);
827new_feat->
SetQual().push_back(q);
845new_feat->
SetData().SetImp().SetKey(
"misc_feature");
850 const string& qual_str = (*qual)->GetQual();
862 boolcross_origin =
false;
886 id->Assign(*
orig.GetLocation().GetId());
891new_loc->
SetInt(*new_int);
896 if(!product.empty())
898 stringcomment = product;
901comment =
"similar to "+product;
905comment =
"nonfunctional "+product+
" due to mutation";
928 if(
f&&
f->IsSetData() &&
f->GetData().IsProt()
929&&
f->GetData().GetProt().IsSetDesc()) {
930desc =
f->GetData().GetProt().GetDesc();
949new_feat->
SetData().SetProt().SetName().push_back(product);
952CSeq_feat::TQual::iterator it = new_feat->
SetQual().begin();
953 while(it != new_feat->
SetQual().end()) {
955 if((*it)->IsSetVal()) {
956 val= (*it)->GetVal();
958 if(!(*it)->IsSetQual()) {
963new_feat->
SetData().SetProt().SetName().push_back((*it)->GetVal());
965it = new_feat->
SetQual().erase(it);
969new_feat->
SetData().SetProt().SetEc().push_back((*it)->GetVal());
971it = new_feat->
SetQual().erase(it);
975new_feat->
SetData().SetProt().SetActivity().push_back((*it)->GetVal());
977it = new_feat->
SetQual().erase(it);
983 if(pos == string::npos) {
987db->
SetTag().SetStr(
val.substr(pos));
989new_feat->
SetData().SetProt().SetDb().push_back(db);
991it = new_feat->
SetQual().erase(it);
1012 if(!overlapping_cds) {
1032 if(
prot.IsSetName()
1033&&
prot.GetName().size() > 0
1036new_feat->
SetQual().push_back(q);
1037}
else if(
prot.IsSetDesc()
1040new_feat->
SetQual().push_back(q);
1044 if(
prot.IsSetEc()) {
1047new_feat->
SetQual().push_back(q);
1052 if(
prot.IsSetActivity()) {
1055new_feat->
SetQual().push_back(q);
1060 if(
prot.IsSetDb()) {
1063(*it)->GetLabel(&
val);
1065new_feat->
SetQual().push_back(q);
1093 if(products.size() > 0) {
1094 stringproduct = products[0];
1095 for(
size_t i= 1;
i< products.size();
i++) {
1096product +=
"; "+ products[
i];
1098 stringremainder =
"";
1099new_feat->
SetData().SetRna().SetRnaProductName(product, remainder);
1113new_feat->
SetData().SetCdregion();
1116products.push_back(new_feat->
GetComment());
1128new_feat->
SetData().SetGene();
1132gene_vals.push_back(new_feat->
GetComment());
1136 if(gene_vals.size() > 0) {
1137 stringgene = gene_vals[0];
1138 for(
size_t i= 1;
i< gene_vals.size();
i++) {
1139gene +=
"; "+ gene_vals[
i];
1141new_feat->
SetData().SetGene().SetLocus(gene);
1169 stringproduct =
orig.GetData().GetRegion();
1170 stringremainder =
"";
1171new_feat->
SetData().SetRna().SetRnaProductName(product, remainder);
1197 stringorig_comment =
"";
1224 stringproduct =
orig.GetData().GetRna().GetRnaProductName();
1237new_feat->
SetData().SetCdregion();
1239vector<string> products;
1240products.push_back(
orig.GetData().GetRna().GetRnaProductName());
1251 stringproduct =
orig.GetData().GetRna().GetRnaProductName();
1252new_feat->
SetData().SetGene().SetDesc(product);
1281new_feat->
SetData().SetProt().SetName().push_back(
orig.GetData().GetRegion());
1294 stringproduct =
orig.GetData().GetRna().GetRnaProductName();
1295 stringremainder =
"";
1296new_feat->
SetData().SetRna().SetRnaProductName(product, remainder);
1348 return "Create region feature with the protein name as the region name";
1350 return "Create Region feature on nucleotide sequence or protein product sequence of overlapping coding region as specified. Use comment on feature for region name.\n\ 1351 All feature ID, partialness, except, comment, product, location, genbank qualifiers, title, citation, experimental evidence, gene xrefs, db xrefs, and pseudo-ness information is discarded.";
1360new_feat->
SetData().SetRegion();
1362 if(
orig.GetData().IsProt()) {
1363 if(
orig.GetData().GetProt().IsSetName() &&
orig.GetData().GetProt().GetName().size() > 0) {
1364new_feat->
SetData().SetRegion(
orig.GetData().GetProt().GetName().front());
1366}
else if(
orig.IsSetComment()) {
1367new_feat->
SetData().SetRegion(
orig.GetComment());
1378 stringdesc =
"If coding region is overlapped by another coding region, convert the coding region to a " 1380+
" on the overlapping coding region's protein sequence, otherwise if you have checked \"Leave Original Feature\" it will create a " 1381+ subtype_name +
" with the same protein names and description on the protein sequence for the coding region.";
1394new_feat->
SetData().SetProt().SetName().push_back(product);
1398 if(
orig.IsSetProduct())
1422new_feat->
SetData().SetGene();
1424 if(
orig.IsSetProduct()) {
1428 if(
f&&
f->IsSetData() &&
f->GetData().IsProt()) {
1430 if(
prot.IsSetName()) {
1435 if(
prot.IsSetDesc()) {
1438 if(
prot.IsSetActivity()) {
1443 if(
prot.IsSetDb()) {
1446(*it)->GetLabel(&
val);
1450 if(
prot.IsSetEc()) {
1472 if(subtype_from != subtype_to) {
1652new_feat->
SetData().SetGene();
1656copy_gene->
Assign(*gene);
1662 if(
orig.IsSetProduct()) {
1666 if(
f&&
f->IsSetData() &&
f->GetData().IsProt()) {
1669 if(
f->IsSetComment()) {
1672 if(
prot.IsSetDesc()) {
1676 if(
prot.IsSetName()) {
1684 stringprotein_names;
1702}
else if(
orig.IsSetData() &&
orig.GetData().IsCdregion()) {
1725 stringorig_val = gene->
GetLocus();
1741 stringorig_val = gene->
GetDesc();
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.
TBondMap::const_iterator const_iterator
CConstRef< CConversionOptionString > GetString() const
CRef< CConversionOptionBool > SetBool()
CRef< CConversionOptionString > SetString()
CConstRef< CConversionOptionBool > GetBool() const
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
string x_GetProteinDesc(const objects::CSeq_feat &cds, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual string GetDescription()
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
CConvertCDSToPseudoGene()
void x_AddToGeneDescr(string text, CRef< objects::CGene_ref > gene, objects::edit::EExistingText existing_text)
void x_AddToGeneLocus(string text, CRef< objects::CGene_ref > gene, objects::edit::EExistingText existing_text)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
static CRef< CConvertFeatureBase > Create(objects::CSeqFeatData::ESubtype subtype_from, objects::CSeqFeatData::ESubtype subtype_to)
CRef< CConversionOption > x_FindPseudo()
void x_AddToComment(string comment, CRef< objects::CSeq_feat > new_feat, objects::edit::EExistingText existing_text=objects::edit::eExistingText_prefix_semi)
bool x_IsRnaSubtype(objects::CSeqFeatData::ESubtype subtype)
static const string s_PlaceOnProt
void x_AddRnaDestinationConversionOptions()
bool x_IsImportSubtype(objects::CSeqFeatData::ESubtype subtype)
static const string s_RemoveTranscriptID
vector< string > x_ExtractProductQuals(CRef< objects::CSeq_feat > new_feat)
void x_AddCDSSourceConversionOptions()
virtual bool CanConvertFrom(objects::CSeqFeatData::ESubtype subtype)
CRef< CConversionOption > x_FindRemovemRNA()
CConvertFeatureBase(objects::CSeqFeatData::ESubtype feat_to=objects::CSeqFeatData::eSubtype_bad, objects::CSeqFeatData::ESubtype feat_from=objects::CSeqFeatData::eSubtype_bad)
void x_AddCDSDestinationConversionOptions()
bool x_MoveFeatureToProtein(const objects::CSeq_feat &orig, CRef< objects::CSeq_feat > new_feat, bool keep_orig, objects::CScope &scope)
static const string s_SiteType
void x_AddRegionDestionationConversionOptions()
CRef< CConversionOption > x_FindRemoveGene()
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
CRef< CCmdComposite > x_ConvertToCDS(const objects::CSeq_feat &orig, CRef< objects::CSeq_feat > new_feat, bool keep_orig, objects::CScope &scope, vector< string > product)
static const string s_BondType
virtual bool CanConvertTo(objects::CSeqFeatData::ESubtype subtype)
void x_AddSiteDestinationConversionOptions()
CRef< CCmdComposite > x_SimpleConversion(const objects::CSeq_feat &orig, CRef< objects::CSeq_feat > new_feat, bool keep_orig, objects::CScope &scope)
CRef< CConversionOption > x_FindSiteType()
static const string s_NcrnaClass
CRef< CConversionOption > x_FindNcrnaClass()
string x_GetCDSProduct(const objects::CSeq_feat &orig, objects::CScope &scope)
static const string s_IsPseudo
CRef< CConversionOption > FindRemoveTranscriptId()
bool m_create_general_only
static const string s_RemovemRNA
void x_ClearGenericFields(CRef< objects::CSeq_feat > new_feat)
vector< string > x_ExtractQuals(CRef< objects::CSeq_feat > new_feat, string qual_name)
objects::CBondList m_BondList
string GetSiteName(objects::CSeqFeatData::TSite site_type)
vector< CRef< CConversionOption > > TOptions
CRef< CConversionOption > x_FindPlaceOnProt()
objects::CSeqFeatData::ESubtype m_To
CRef< CConversionOption > x_FindBondType()
objects::CSeqFeatData::ESubtype m_From
static const string s_RemoveGene
CRef< CConversionOption > x_FindOption(const string &label)
void x_AddBondDestinationConversionOptions()
objects::CSiteList m_SiteList
bool x_IsProtSubtype(objects::CSeqFeatData::ESubtype subtype)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
void x_AddGeneFieldsToComment(const objects::CGene_ref &orig, CRef< objects::CSeq_feat > new_feat)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
void x_AddOneGeneField(string &product, string &comment, const string &field)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual string GetDescription()
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
virtual CRef< CCmdComposite > Convert(const objects::CSeq_feat &orig, bool keep_orig, objects::CScope &scope)
@Gb_qual.hpp User-defined methods of the data storage class.
static vector< string > GetncRNAClassList()
bool IsLegalQualifier(EQualifier qual) const
Test wheather a certain qualifier is legal for the feature.
EQualifier
List of available qualifiers for feature keys.
static E_Choice GetTypeFromSubtype(ESubtype subtype)
@ eSubtype_transit_peptide
@ eSubtype_transit_peptide_aa
@ eSubtype_sig_peptide_aa
@ eSubtype_mat_peptide_aa
static EQualifier GetQualifierType(CTempString qual)
convert qual string to enumerated value
static CTempString SubtypeValueToName(ESubtype eSubtype)
Turns a ESubtype into its string value which is NOT necessarily related to the identifier of the enum...
namespace ncbi::objects::
void SetPartialStart(bool val, ESeqLocExtremes ext)
void SetPartialStop(bool val, ESeqLocExtremes ext)
Seq-loc iterator class â iterates all intervals from a seq-loc in the correct order.
TSiteMap::const_iterator const_iterator
CRef< objects::CSeq_entry > CreateTranslatedProteinSequence(CRef< objects::CSeq_feat > cds, objects::CBioseq_Handle nuc_h, bool create_general_only, int *offset=nullptr)
CRef< objects::CSeq_feat > AddProteinFeatureToProtein(CRef< objects::CSeq_entry > protein, bool partial5, bool partial3)
CProt_ref::EProcessed GetProtProcessedFromFeatureSubtype(CSeqFeatData::ESubtype subtype)
CRNA_ref::EType GetRnaTypeFromFeatureSubtype(CSeqFeatData::ESubtype subtype)
static void AdjustMappedStop(CRef< CSeq_loc > loc, const CSeq_loc &product, CScope &scope)
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
bool IsPartialStart(ESeqLocExtremes ext) const
check start or stop of location for e_Lim fuzz
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.
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
const CSeq_id & GetSeq_id(void) const
Get seq_id of the current location.
void SetPartialStop(bool val, ESeqLocExtremes ext)
bool IsPartialStop(ESeqLocExtremes ext) const
TSeqPos GetStop(ESeqLocExtremes ext) const
CMappedFeat GetBestOverlappingFeat(const CMappedFeat &feat, CSeqFeatData::ESubtype need_subtype, sequence::EOverlapType overlap_type, CFeatTree *feat_tree=0, const SAnnotSelector *base_sel=0)
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.
@ eOverlap_Contained
2nd contained within 1st extremes
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)
@ fBestFeat_FavorLonger
favor longer features over shorter features
@ fBestFeat_Defaults
default options: do everything
CRef< CSeq_loc > Map(const CSeq_loc &src_loc)
Map seq-loc.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
CSeq_loc_Mapper_Base & SetMergeAbutting(void)
Merge only abutting intervals, keep overlapping.
CSeq_feat_Handle GetSeq_featHandle(const CSeq_feat &feat, EMissing action=eMissing_Default)
@ eProductToLocation
Map from the feature's product to location.
@ eLocationToProduct
Map from the feature's location to product.
TSeqPos GetBioseqLength(void) const
CSeq_entry_Handle GetSeq_entry_Handle(void) const
Get parent Seq-entry handle.
bool IsProtein(void) const
const CSeq_feat & GetOriginalFeature(void) const
Get original feature with unmapped location/product.
TObjectType * GetPointer(void) const THROWS_NONE
Get pointer,.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
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 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 bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
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 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.
static const char label[]
list< CRef< CSubSource > > TSubtype
@ eSubtype_insertion_seq_name
@ eSubtype_transposon_name
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
const TDesc & GetDesc(void) const
Get the Desc member data.
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.
void SetLocus(const TLocus &value)
Assign a value to Locus data member.
const TLocus & GetLocus(void) const
Get the Locus member data.
void SetDesc(const TDesc &value)
Assign a value to Desc data member.
void SetTag(TTag &value)
Assign a value to Tag data member.
void SetDb(const TDb &value)
Assign a value to Db data member.
list< CRef< COrgMod > > TMod
@ eSubtype_other
ASN5: old-name (254) will be added to next spec.
bool IsSetDesc(void) const
description (instead of name) Check if a value has been assigned to Desc data member.
EProcessed
processing status
vector< CRef< CDbtag > > TDb
const TDesc & GetDesc(void) const
Get the Desc member data.
@ eProcessed_signal_peptide
@ eProcessed_transit_peptide
EType
type of RNA feature
@ eType_scRNA
will become ncRNA, with RNA-gen.class = scRNA
@ eType_snoRNA
will become ncRNA, with RNA-gen.class = snoRNA
@ eType_ncRNA
non-coding RNA; subsumes snRNA, scRNA, snoRNA
@ eType_snRNA
will become ncRNA, with RNA-gen.class = snRNA
bool IsSetComment(void) const
Check if a value has been assigned to Comment data member.
void ResetTitle(void)
Reset Title 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 IsProt(void) const
Check if variant Prot is selected.
void SetLocation(TLocation &value)
Assign a value to Location data member.
void SetComment(const TComment &value)
Assign a value to Comment data member.
void ResetExcept(void)
Reset Except data member.
const TQual & GetQual(void) const
Get the Qual member data.
void ResetExcept_text(void)
Reset Except_text data member.
const TLocation & GetLocation(void) const
Get the Location member data.
void ResetPseudo(void)
Reset Pseudo data member.
void ResetId(void)
Reset Id data member.
const TData & GetData(void) const
Get the Data member data.
void SetData(TData &value)
Assign a value to Data data member.
void ResetComment(void)
Reset Comment data member.
const TProduct & GetProduct(void) const
Get the Product member data.
const TComment & GetComment(void) const
Get the Comment member data.
void SetPseudo(TPseudo value)
Assign a value to Pseudo data member.
const TGene & GetGene(void) const
Get the variant data.
const TProt & GetProt(void) const
Get the variant data.
vector< CRef< CSeqFeatXref > > TXref
void ResetProduct(void)
Reset Product data member.
void ResetDbxref(void)
Reset Dbxref data member.
TQual & SetQual(void)
Assign a value to Qual data member.
bool IsSetProduct(void) const
product of process Check if a value has been assigned to Product data member.
void ResetQual(void)
Reset Qual data member.
void ResetCit(void)
Reset Cit data member.
ENa_strand
strand of nucleic acid
E_Choice Which(void) const
Which variant is currently selected.
where boath are integers</td > n< td ></td > n</tr > n< tr > n< td > tse</td > n< td > optional</td > n< td > String</td > n< td class=\"description\"> TSE option controls what blob is orig
static void text(MDB_val *v)
Utility macros and typedefs for exploring NCBI objects from seqfeat.asn.
#define EDIT_EACH_GBQUAL_ON_SEQFEAT(Itr, Var)
#define ERASE_GBQUAL_ON_SEQFEAT(Itr, Var)
ERASE_GBQUAL_ON_SEQFEAT.
bool QualifierNamesAreEquivalent(string name1, string name2)
@ eExistingText_append_semi
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...
CRef< CCmdComposite > GetDeleteFeatureCommand(const objects::CSeq_feat_Handle &fh, bool remove_proteins=true)
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