sequence;
58m_pMainFeat(&main_feat),
175 if(
NStr::Find(comment,
"gene cluster") != string::npos
176||
NStr::Find(comment,
"gene locus") != string::npos) {
226 for( ; desc_iter; ++desc_iter) {
236 boolis_pseudo =
false;
237 if(
f.CanGetPseudo() &&
f.IsSetPseudo()) {
239}
else if(
f.IsSetQual()) {
240 for(
auto& it :
f.GetQual()) {
272 stringqual, comment;
275typeword =
"LTR repeat region";
286typeword =
"intron";
290typeword =
"D-loop";
294typeword =
"3' UTR";
298typeword =
"5' UTR";
302typeword =
"operon";
308typeword =
"insertion sequence";
313typeword =
"endogenous virus";
317typeword =
"transposon";
320typeword =
"repeat region";
327typeword =
"control region";
338typeword =
"endogenous virus";
345 if((*q)->IsSetQual() &&
346 NStr::Equal((*q)->GetQual(),
"regulatory_class") &&
348typeword = (*q)->GetVal();
360typeword =
"pseudogene";
372typeword =
"precursor RNA";
376typeword =
"pseudogene mRNA";
383typeword =
"pseudogene precursor RNA";
385typeword =
"precursor RNA";
424string::size_type start_pos = 0;
426 while(start_pos != NCBI_NS_STD::string::npos) {
427start_pos =
NStr::Find(comment, keyword, start_pos);
428 if(start_pos != NCBI_NS_STD::string::npos) {
429 string possible= comment.substr(start_pos + keyword.length());
434string::size_type end =
NStr::Find(product_name,
";");
435 if(end != NCBI_NS_STD::string::npos) {
436product_name = product_name.substr(0, end);
440product_name = product_name.substr(0, product_name.length() - 9);
444product_name +=
"-like";
448start_pos += keyword.length();
463string::size_type start_pos =
NStr::Find(comment,
"nonfunctional ");
464 if(start_pos != NCBI_NS_STD::string::npos) {
465string::size_type sep_pos =
NStr::Find(comment,
" due to ", start_pos);
466 if(sep_pos != NCBI_NS_STD::string::npos) {
467product_name = comment.substr(start_pos, sep_pos - start_pos);
541comment = comment.substr (0, comment.length() - 5);
543comment = comment.substr (0, comment.length() - 6);
546string::size_type pos =
NStr::Find(comment,
"(");
547 if(pos == NCBI_NS_STD::string::npos) {
549product_name = comment;
555product_name = comment.substr(0, pos);
556comment = comment.substr (pos + 1);
558 if(pos == NCBI_NS_STD::string::npos) {
561gene_name = comment.substr (0, pos);
570 if(product_name.length() < 8
571|| !
isalpha(product_name.c_str()[5]) || !
isupper(product_name.c_str()[5])
572|| !
isalpha(product_name.c_str()[6]) || !
islower(product_name.c_str()[6])
573|| !
isalpha(product_name.c_str()[7]) || !
islower(product_name.c_str()[7])) {
581&& (gene_name.length() < 4
583|| !
isalpha(gene_name.c_str()[3])
584|| !
isupper(gene_name.c_str()[3]))) {
628 if(pos != NCBI_NS_STD::string::npos) {
663string::size_type pos =
NStr::Find(comment,
";");
664 if(pos != NCBI_NS_STD::string::npos) {
665comment = comment.substr(0, pos);
667product_name = comment;
671product_name =
"tmRNA";
684 if((*q)->IsSetQual() &&
NStr::Equal((*q)->GetQual(),
"recombination_class") &&
686product_name = (*q)->GetVal();
713 if(!mat_pi && !m_name.empty()) {
714 if(
label.empty()) {
718 label+=
", "+ m_name +
" region,";
746product_name =
label;
761 if((*it)->IsSetQual() && (*it)->IsSetVal()
763description = (*it)->GetVal();
804description = description.substr(0, description.length() - 4);
814description = (*subSrcI)->GetName();
834comment = comment.substr(4);
836comment = comment.substr(0, comment.length() - 4);
838description = comment;
919 if((*it)->IsSetQual() && (*it)->IsSetVal() &&
921 NStr::FindNoCase((*it)->GetVal(),
"long_terminal_repeat") != string::npos) {
931 boolhas_promoter =
false;
934 if(it->IsPromoter()) {
935has_promoter =
true;
940interval +=
", promoter region, ";
961interval =
"alternatively spliced";
989(*it)->Label(suppress_allele);
1004 boolsuppress_final_and =
false;
1006suppress_final_and =
true;
1010interval +=
ListClauses(
false, suppress_final_and, suppress_allele);
1013 if(utr3 !=
NULL) {
1016interval +=
" and ";
1018interval +=
", and ";
1027interval +=
"partial ";
1029interval +=
"complete ";
1036interval +=
", alternatively spliced";
1039interval +=
"sequence";
1040 stringproduct_name;
1042interval +=
", alternatively spliced";
1046 if(utr3 !=
NULL) {
1049interval +=
" and 3' UTR";
1051interval +=
", and 3' UTR";
1122 if(also_set_partials) {
1125 if(also_set_partials) {
1164 boolused_mRNA =
false;
1165 stringclause_product, mRNA_product;
1166 booladjust_partials =
true;
1175adjust_partials =
false;
1214 boolused_gene =
false;
1222 stringnoncoding_product_name;
1259 Label(suppress_allele);
1267 Label(suppress_allele);
1276 boolok_to_group =
false;
1278 if(parent_clause ==
NULL) {
1297ok_to_group =
true;
1306ok_to_group =
true;
1315ok_to_group =
true;
1328ok_to_group =
true;
1339ok_to_group =
true;
1361 if(parent_clause ==
NULL) {
1384|| (parent_clause->
IsGeneCluster() && gene_cluster_opp_strand)) {
1392 if(promoter_stop == parent_start + 1) {
1395}
else if(promoter_stop + 1 == parent_start) {
1401CSeq_loc_CI seq_loc_it(*(parent_clause->
GetLocation()));
1405 intprev_start = seq_loc_it.GetRange().GetFrom();
1406 intprev_stop = seq_loc_it.GetRange().GetTo();
1408 while(seq_loc_it) {
1409 intcds_start = seq_loc_it.GetRange().GetFrom();
1410 intcds_stop = seq_loc_it.GetRange().GetTo();
1411 if((intron_start == prev_stop + 1 && intron_stop == cds_start - 1)
1412|| (intron_start == cds_stop + 1 && intron_stop == prev_start - 1)) {
1415prev_start = cds_start;
1416prev_stop = cds_stop;
1420 if(intron_start > prev_stop && intron_start - 1 == prev_stop) {
1422}
else if(prev_start > intron_stop && prev_start - 1 == intron_stop) {
1436 if(subclause ==
NULL|| subclause ==
this) {
1451best_parent =
this;
1465 for(
unsigned intk = 0; k <
m_ClauseList.size(); k++) {
1502 if((*it)->IsSetQual() &&
1504(*it)->IsSetVal() &&
1526m_UseComment (m_Opts.GetUseNcRNAComment())
1538 stringncrna_product;
1544ncrna_product = ext.
GetName();
1546ncrna_product =
"";
1548}
else if(ext.
IsGen()) {
1568 stringncrna_comment;
1572string::size_type pos =
NStr::Find(ncrna_comment,
";");
1573 if(pos != NCBI_NS_STD::string::npos) {
1574ncrna_comment = ncrna_comment.substr(0, pos);
1580product_name = ncrna_product;
1582product_name +=
" "+ ncrna_class;
1585product_name = ncrna_class;
1587product_name = ncrna_comment;
1589product_name =
"non-coding RNA";
1597 "insertion sequence",
1599 "non-LTR retrotransposon",
1602 "transposable element",
1616mobile_element_name = mobile_element_name.substr(6);
1618 boolfound_keyword =
false;
1627 for(
unsigned intk = 0; k <
sizeof(
mobile_element_keywords) /
sizeof(
string) && !found_keyword; k++) {
1644found_keyword =
true;
1651found_keyword =
true;
1653&&
isspace(mobile_element_name.c_str()[pos])) {
1661 if(!found_keyword) {
1719string::size_type pos =
NStr::Find(comment,
";");
1720 if(pos != NCBI_NS_STD::string::npos) {
1721comment = comment.substr(0, pos);
1735comment = prefix +
" "+ comment;
1738comment = comment.substr (0,
len) +
" "+ comment.substr (
len+ 1);
1809comment = comment.substr(9);
1813comment = comment.substr(17);
1831string::size_type pos =
NStr::Find(comment,
"intergenic spacer");
1832 if(pos != NCBI_NS_STD::string::npos) {
1861string::size_type pos =
NStr::Find(comment,
";");
1862 if(pos != NCBI_NS_STD::string::npos) {
1863comment = comment.substr(0, pos);
1882 const string& description,
boolis_first,
boolis_last,
const CAutoDefOptions& opts)
1888 if(pos != string::npos) {
1963 stringproduct_name;
1985 stringgene_name,
stringproduct_name,
2007string::size_type pos =
NStr::Find(comment,
"gene cluster");
2008 if(pos == NCBI_NS_STD::string::npos) {
2017 if(pos != NCBI_NS_STD::string::npos) {
2018comment = comment.substr(0, pos);
2045 if(pos != NCBI_NS_STD::string::npos) {
2077 if(elements.empty()) {
2080 ITERATE(vector<string>, it, elements) {
2083 if(*it == elements.back()) {
2144 if(parent_clause ==
NULL) {
2154 boolok_to_group =
false;
2156 if(parent_clause ==
NULL) {
2167ok_to_group =
true;
2229vector<CRef<CAutoDefFeatureClause > > rval;
2231string::size_type pos;
2261 boolis_region =
false;
2270 if(pos != string::npos) {
2271comment = comment.substr(0, pos);
2278 if(!elements.empty()) {
2279 for(
autos : elements) {
2281(s == elements.front()), (s == elements.back()), opts));
2282new_clause->SetMiscRNAWord(s);
2283rval.push_back(new_clause);
2287 if(!elements.empty()) {
2288 for(
autos : elements) {
2289 size_tpos =
NStr::Find(s,
"intergenic spacer");
2290 if(pos != string::npos) {
2295(s == elements.front()),
2296(s == elements.back()), opts)));
2318vector<CRef<CAutoDefFeatureClause> > rval;
2325 if(phrases.size() < 2) {
2330 string last= phrases.back();
2332 ITERATE(vector<string>, it, phrases) {
2344vector<CRef<CAutoDefFeatureClause> > rval;
2364 if(misc_rna.empty()) {
2367 for(
autoit : misc_rna) {
2380 if(misc_rna.empty()) {
2384 if(misc_rna.empty()) {
2388 for(
autoit : misc_rna) {
2397 if(misc_rna.empty()) {
2401 if(misc_rna.empty()) {
2404 if(!is_single_misc_feat &&
2415misc_rna.push_back(new_clause);
2418 if(!misc_rna.empty()) {
2419 for(
autoit : misc_rna) {
@ eExtreme_Biological
5' and 3'
User-defined methods of the data storage class.
vector< CRef< CAutoDefFeatureClause > > AddMiscRNAFeatures(const CBioseq_Handle &bh, const CSeq_feat &cf, const CSeq_loc &mapped_loc, const CAutoDefOptions &opts)
CAutoDefParsedtRNAClause * s_tRNAClauseFromNote(CBioseq_Handle bh, const CSeq_feat &cf, const CSeq_loc &mapped_loc, string comment, bool is_first, bool is_last, const CAutoDefOptions &opts)
vector< CRef< CAutoDefFeatureClause > > AddtRNAAndOther(const CBioseq_Handle &bh, const CSeq_feat &cf, const CSeq_loc &mapped_loc, const CAutoDefOptions &opts)
const char * kMicrosatellite
void s_UseCommentBeforeSemicolon(const CSeq_feat &feat, string &label)
static string mobile_element_keywords[]
vector< CRef< CAutoDefFeatureClause > > FeatureClauseFactory(CBioseq_Handle bh, const CSeq_feat &cf, const CSeq_loc &mapped_loc, const CAutoDefOptions &opts, bool is_single_misc_feat)
const char * kMinisatellite
@ eMiscRnaWordType_InternalSpacer
@ eMiscRnaWordType_RNAIntergenicSpacer
@ eMiscRnaWordType_ExternalSpacer
@ eMiscRnaWordType_IntergenicSpacer
virtual bool SameStrand(const CSeq_loc &loc) const
virtual CSeqFeatData::ESubtype GetMainFeatureSubtype() const
static vector< string > GetFeatureClausePhrases(string comment)
const string & GetProductName() const
virtual CRef< CSeq_loc > GetLocation() const
virtual bool OkToGroupUnderByType(const CAutoDefFeatureClause_Base *) const
virtual bool IsMobileElement() const
bool IsAltSpliced() const
virtual bool IsNoncodingProductFeat() const
virtual bool IsGeneCluster() const
string ListClauses(bool allow_semicolons, bool suppress_final_and, bool suppress_allele)
static ERnaMiscWord x_GetRnaMiscWordType(const string &phrase)
virtual CAutoDefFeatureClause_Base * FindBestParentClause(CAutoDefFeatureClause_Base *subclause, bool gene_cluster_opp_strand)
static CRef< CAutoDefFeatureClause > ClauseFromPhrase(const string &phrase, CBioseq_Handle bh, const CSeq_feat &cf, const CSeq_loc &mapped_loc, bool first, bool last, const CAutoDefOptions &opts)
const CAutoDefOptions & m_Opts
const string & GetGeneName() const
virtual bool IsInsertionSequence() const
static vector< string > GetMiscRNAElements(const string &product)
const string & GetAlleleName() const
virtual bool OkToGroupUnderByLocation(const CAutoDefFeatureClause_Base *, bool) const
virtual sequence::ECompare CompareLocation(const CSeq_loc &loc) const
virtual bool IsEndogenousVirusSourceFeature() const
static vector< string > GetTrnaIntergenicSpacerClausePhrases(const string &comment)
bool GetGeneIsPseudo() const
bool m_SuppressSubfeatures
static const string & x_GetRnaMiscWord(ERnaMiscWord word_type)
string x_GetGeneName(const CGene_ref &gref, bool suppress_locus_tag) const
bool x_GetFeatureTypeWord(string &typeword)
bool DoesmRNAProductNameMatch(const string &mrna_product) const
virtual bool OkToGroupUnderByType(const CAutoDefFeatureClause_Base *parent_clause) const
virtual bool IsExonWithNumber() const
virtual bool IsRecognizedFeature() const
virtual bool IsPartial() const
bool x_GetNoncodingProductFeatProduct(string &product) const
virtual bool IsPromoter() const
virtual void ReverseCDSClauseLists()
@ eEndogenousVirusRepeatRegion
void x_GetOperonSubfeatures(string &interval)
virtual CAutoDefFeatureClause_Base * FindBestParentClause(CAutoDefFeatureClause_Base *subclause, bool gene_cluster_opp_strand)
virtual bool IsMobileElement() const
virtual bool IsInsertionSequence() const
virtual bool IsGeneCluster() const
static bool IsPseudo(const CSeq_feat &f)
virtual bool ShouldRemoveExons() const
virtual void Label(bool suppress_allele)
virtual CSeqFeatData::ESubtype GetMainFeatureSubtype() const
virtual bool IsSatelliteClause() const
CConstRef< CSeq_feat > m_pMainFeat
virtual bool OkToGroupUnderByLocation(const CAutoDefFeatureClause_Base *parent_clause, bool gene_cluster_opp_strand) const
virtual bool IsBioseqPrecursorRNA() const
virtual bool x_IsPseudo()
virtual bool SameStrand(const CSeq_loc &loc) const
virtual void AddToLocation(CRef< CSeq_loc > loc, bool also_set_partials=true)
bool x_FindNoncodingFeatureKeywordProduct(string comment, string keyword, string &product_name) const
virtual sequence::ECompare CompareLocation(const CSeq_loc &loc) const
static bool IsSatellite(const CSeq_feat &feat)
virtual bool IsNoncodingProductFeat() const
virtual bool x_GetProductName(string &product_name)
virtual bool IsControlRegion() const
virtual bool AddmRNA(CAutoDefFeatureClause_Base *mRNAClause)
void x_TypewordFromSequence()
virtual bool AddGene(CAutoDefFeatureClause_Base *gene_clause, bool suppress_allele)
virtual CRef< CSeq_loc > GetLocation() const
virtual bool IsLTR() const
CMolInfo::TBiomol m_Biomol
bool x_GetExonDescription(string &description)
bool x_GetGenericInterval(string &interval, bool suppress_allele)
virtual bool IsEndogenousVirusSourceFeature() const
CRef< CSeq_loc > m_ClauseLocation
bool x_ShowTypewordFirst(string typeword)
bool x_GetDescription(string &description)
virtual EClauseType GetClauseType() const
bool GetSuppressLocusTag()
virtual bool x_IsPseudo()
CAutoDefGeneClause(CBioseq_Handle bh, const CSeq_feat &main_feat, const CSeq_loc &mapped_loc, const CAutoDefOptions &opts)
virtual bool x_GetProductName(string &product_name)
~CAutoDefGeneClusterClause()
virtual void Label(bool suppress_allele)
CAutoDefGeneClusterClause(CBioseq_Handle bh, const CSeq_feat &main_feat, const CSeq_loc &mapped_loc, const CAutoDefOptions &opts)
~CAutoDefIntergenicSpacerClause()
void InitWithString(string comment, bool suppress_allele)
virtual void Label(bool suppress_allele)
CAutoDefIntergenicSpacerClause(CBioseq_Handle bh, const CSeq_feat &main_feat, const CSeq_loc &mapped_loc, const CAutoDefOptions &opts)
virtual void Label(bool suppress_allele)
~CAutoDefMobileElementClause()
CAutoDefMobileElementClause(CBioseq_Handle bh, const CSeq_feat &main_feat, const CSeq_loc &mapped_loc, const CAutoDefOptions &opts)
virtual bool x_GetProductName(string &product_name)
CAutoDefNcRNAClause(CBioseq_Handle bh, const CSeq_feat &main_feat, const CSeq_loc &mapped_loc, const CAutoDefOptions &opts)
TMiscFeatRule GetMiscFeatRule() const
bool IsFeatureSuppressed(CSeqFeatData::ESubtype subtype) const
void SetTypewordFirst(bool typeword_first)
CAutoDefParsedClause(CBioseq_Handle bh, const CSeq_feat &main_feat, const CSeq_loc &mapped_loc, bool is_first, bool is_last, const CAutoDefOptions &opts)
void SetTypeword(string typeword)
void SetMiscRNAWord(const string &phrase)
CAutoDefParsedIntergenicSpacerClause(CBioseq_Handle bh, const CSeq_feat &main_feat, const CSeq_loc &mapped_loc, const string &description, bool is_first, bool is_last, const CAutoDefOptions &opts)
~CAutoDefParsedIntergenicSpacerClause()
CAutoDefParsedRegionClause(CBioseq_Handle bh, const CSeq_feat &main_feat, const CSeq_loc &mapped_loc, string product, const CAutoDefOptions &opts)
virtual void Label(bool suppress_allele)
~CAutoDefParsedRegionClause()
~CAutoDefParsedtRNAClause()
CAutoDefParsedtRNAClause(CBioseq_Handle bh, const CSeq_feat &main_feat, const CSeq_loc &mapped_loc, string gene_name, string product_name, bool is_first, bool is_last, const CAutoDefOptions &opts)
static bool ParseString(string comment, string &gene_name, string &product_name)
CAutoDefSatelliteClause(CBioseq_Handle bh, const CSeq_feat &main_feat, const CSeq_loc &mapped_loc, const CAutoDefOptions &opts)
~CAutoDefSatelliteClause()
virtual void Label(bool suppress_allele)
bool IsSuppressed(void) const
string GetRnaProductName(void) const
ESubtype GetSubtype(void) const
@ eSubtype_mobile_element
@ eSubtype_sig_peptide_aa
@ eSubtype_mat_peptide_aa
namespace ncbi::objects::
const string & GetNamedQual(const CTempString &qual_name) const
Return a named qualifier.
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
static DLIST_TYPE *DLIST_NAME() last(DLIST_LIST_TYPE *list)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
static int BestRank(const CRef< CSeq_id > &id)
string GetLabel(const CSeq_id &id)
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.
void Add(const CSeq_loc &other)
Simple adding of seq-locs.
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
@ fFGL_Content
Include its content if there is any.
TSeqPos GetStop(const CSeq_loc &loc, CScope *scope, ESeqLocExtremes ext=eExtreme_Positional)
If only one CBioseq is represented by CSeq_loc, returns the position at the stop of the location.
TSeqPos GetStart(const CSeq_loc &loc, CScope *scope, ESeqLocExtremes ext=eExtreme_Positional)
If only one CBioseq is represented by CSeq_loc, returns the position at the start of the location.
sequence::ECompare Compare(const CSeq_loc &loc1, const CSeq_loc &loc2, CScope *scope)
Returns the sequence::ECompare containment relationship between CSeq_locs.
CRef< CSeq_loc > Seq_loc_Add(const CSeq_loc &loc1, const CSeq_loc &loc2, CSeq_loc::TOpFlags flags, CScope *scope)
Add two seq-locs.
@ fCompareOverlapping
Check if seq-locs are overlapping.
@ eContains
First CSeq_loc contains second.
@ eSame
CSeq_locs contain each other.
@ eContained
First CSeq_loc contained by second.
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.
TBioseqCore GetBioseqCore(void) const
Get bioseq core structure.
const CSeqFeatData & GetData(void) const
TInst_Length GetInst_Length(void) const
CScope & GetScope(void) const
Get scope this handle belongs to.
CConstRef< CSeq_feat > GetSeq_feat(void) const
Get current seq-feat.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
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 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 void TrimPrefixInPlace(string &str, const CTempString prefix, ECase use_case=eCase)
Trim prefix from a string (in-place)
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 string & ReplaceInPlace(string &src, const string &search, const string &replace, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
@ eNocase
Case insensitive compare.
C::value_type FindBestChoice(const C &container, F score_func)
Find the best choice (lowest score) for values in a container.
static const char label[]
const TSubtype & GetSubtype(void) const
Get the Subtype member data.
bool CanGetSubtype(void) const
Check if it is safe to call GetSubtype method.
list< CRef< CSubSource > > TSubtype
@ eSubtype_endogenous_virus_name
const TDesc & GetDesc(void) const
Get the Desc member data.
bool IsSetPseudo(void) const
pseudogene Check if a value has been assigned to Pseudo data member.
bool CanGetLocus(void) const
Check if it is safe to call GetLocus method.
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 IsSetDesc(void) const
descriptive name Check if a value has been assigned to Desc data member.
bool CanGetAllele(void) const
Check if it is safe to call GetAllele method.
bool CanGetDesc(void) const
Check if it is safe to call GetDesc method.
bool CanGetPseudo(void) const
Check if it is safe to call GetPseudo method.
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 TName & GetName(void) const
Get the Name member data.
bool IsSetName(void) const
protein name Check if a value has been assigned to Name data member.
bool IsSetProduct(void) const
Check if a value has been assigned to Product data member.
bool IsSetExt(void) const
generic fields for ncRNA, tmRNA, miscRNA Check if a value has been assigned to Ext data member.
bool IsGen(void) const
Check if variant Gen is selected.
const TGen & GetGen(void) const
Get the variant data.
const TName & GetName(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 TProduct & GetProduct(void) const
Get the Product member data.
const TExt & GetExt(void) const
Get the Ext member data.
bool IsName(void) const
Check if variant Name is selected.
const TClass & GetClass(void) const
Get the Class member data.
bool IsSetComment(void) const
Check if a value has been assigned to Comment 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.
E_Choice Which(void) const
Which variant is currently selected.
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.
const TData & GetData(void) const
Get the Data member data.
const TBiosrc & GetBiosrc(void) const
Get the variant data.
const TProduct & GetProduct(void) const
Get the Product member 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.
const TGene & GetGene(void) const
Get the variant data.
TPartial GetPartial(void) const
Get the Partial member data.
const TProt & GetProt(void) const
Get the variant data.
vector< CRef< CGb_qual > > TQual
const TRna & GetRna(void) const
Get the variant data.
bool IsSetProduct(void) const
product of process Check if a value has been assigned to Product data member.
bool IsRna(void) const
Check if variant Rna is selected.
bool CanGetPseudo(void) const
Check if it is safe to call GetPseudo method.
bool CanGetComment(void) const
Check if it is safe to call GetComment method.
ENa_strand
strand of nucleic acid
bool IsSetBiomol(void) const
Check if a value has been assigned to Biomol data member.
const TId & GetId(void) const
Get the Id member data.
TBiomol GetBiomol(void) const
Get the Biomol member data.
const TMolinfo & GetMolinfo(void) const
Get the variant data.
@ eBiomol_pre_RNA
precursor RNA of any sort really
@ eBiomol_cRNA
viral RNA genome copy intermediate
@ eBiomol_other_genetic
other genetic material
@ e_Molinfo
info on the molecule and techniques
use n only the LMDB cache</td > n</tr > n< tr > n< td ></td > n< td > use the LMDB cache if at all possible
Miscellaneous common-use basic types and functionality.
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