71 if (seq_feat.GetData().IsGene()) {
72 const CGene_ref& gene = seq_feat.GetData().GetGene();
75 const CGene_ref* gene = seq_feat.GetGeneXref();
94 rval = prot_ref.
GetName().front();
131 string number =
"/number=";
137 if (
label.find(
"exon") == 0 ||
label.find(
"intron") == 0) {
158 for (
const auto& it : seq_id_ls) {
163 int score = it->BaseBestRankScore();
164 if (best_score > score) {
181 pnt.
SetId().Assign(*best_id);
195 interval.
SetId().Assign(*best_id);
204 switch (loc.
Which()) {
214 for (
auto& it : loc.
SetEquiv().Set()) {
223 for (
auto& it : loc.
SetMix().Set()) {
292 string rval =
label +
"\t" + product +
"\t" +
location +
"\t" + locus_tag;
345 if (
n != string::npos) {
357 if (
n != string::npos) {
360 if (m != string::npos) {
373 if (
n != string::npos) {
376 if (
n != string::npos) {
379 if (m != string::npos) {
393 if (
n != string::npos) {
396 if (
n != string::npos) {
399 if (
n != string::npos) {
417 return type +
"\t" + context +
"\t" +
location +
"\t" + locus_tag;
510 switch(bioseq_set_class) {
512 result_strm <<
"ss|";
515 result_strm <<
"np|";
524 return "(EMPTY BIOSEQ-SET)";
532 result_strm << seq_id_str;
538 if( ! direct_child_ci ) {
543 result_strm <<
"Set containing ";
544 if( direct_child_ci->
IsSeq() ) {
550 result_strm << seq_id_str;
User-defined methods of the data storage class.
void GetDate(string *label, bool year_only=false) const
Append a standardized string representation of the date to the label.
void GetLabel(string *label) const
string GetFeatureType() const override
CRef< CDiscrepancyContext::CRefNode > m_Ref
string GetLocusTag() const override
string GetLocation() const override
string GetProductName() const override
static string GetTextObjectDescription(const CSeq_feat &seq_feat, CScope &scope)
void GetLabel(string *label) const
CNcbiOstrstreamToString class helps convert CNcbiOstrstream to a string Sample usage:
bool GetLabel(string *label, TLabelFlags flags=0, ELabelVersion version=eLabel_DefaultVersion) const override
Append a label to "label" based on content.
ESubtype GetSubtype(void) const
string GetKey(EVocabulary vocab=eVocabulary_full) const
namespace ncbi::objects::
const CProt_ref * GetProtXref(void) const
get protein (if present) from Seq-feat.xref list
static const char location[]
#define ENUM_METHOD_NAME(EnumName)
void GetLabel(string *label, ELabelType type=eDefault, TLabelFlags flags=fLabel_Default) const
Append a label for this Seq-id to the supplied string.
string GetLabel(const CSeq_id &id)
@ eContent
Untagged human-readable accession or the like.
void SetPacked_int(TPacked_int &v)
void SetPacked_pnt(TPacked_pnt &v)
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Override Assign() to incorporate cache invalidation.
void GetLabel(string *label) const
Appends a label suitable for display (e.g., error messages) label must point to an existing string ob...
CMappedFeat GetBestOverlappingFeat(const CMappedFeat &feat, CSeqFeatData::ESubtype need_subtype, sequence::EOverlapType overlap_type, CFeatTree *feat_tree=0, const SAnnotSelector *base_sel=0)
@ fFGL_Content
Include its content if there is any.
@ eOverlap_Contains
2nd contains 1st extremes
const CSeq_feat * GetCDSForProduct(const CBioseq &product, CScope *scope)
Get the encoding CDS feature of a given protein sequence.
CBioseq_Handle GetBioseqFromSeqLoc(const CSeq_loc &loc, CScope &scope, CScope::EGetBioseqFlag flag=CScope::eGetBioseq_Loaded)
Retrieve the Bioseq Handle from a location.
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.
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
bool NotEmpty(void) const THROWS_NONE
Check if CConstRef is not empty – pointing to an object and has a non-null value.
#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 bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
static const char label[]
bool IsSetOrg(void) const
Check if a value has been assigned to Org data member.
const TOrg & GetOrg(void) const
Get the Org member data.
const TDesc & GetDesc(void) const
Get the Desc member data.
bool CanGetLocus(void) const
Check if it is safe to call GetLocus method.
bool CanGetLocus_tag(void) const
Check if it is safe to call GetLocus_tag method.
bool CanGetDesc(void) const
Check if it is safe to call GetDesc method.
const TLocus_tag & GetLocus_tag(void) const
Get the Locus_tag member data.
const TLocus & GetLocus(void) const
Get the Locus member data.
bool IsStr(void) const
Check if variant Str is selected.
bool CanGetClass(void) const
Check if it is safe to call GetClass method.
const TClass & GetClass(void) const
Get the Class member data.
const TStr & GetStr(void) const
Get the variant data.
const TType & GetType(void) const
Get the Type member data.
bool CanGetCommon(void) const
Check if it is safe to call GetCommon method.
const TTaxname & GetTaxname(void) const
Get the Taxname member data.
const TCommon & GetCommon(void) const
Get the Common member data.
bool CanGetTaxname(void) const
Check if it is safe to call GetTaxname method.
const TName & GetName(void) const
Get the Name member data.
bool CanGetName(void) const
Check if it is safe to call GetName method.
const TPub & GetPub(void) const
Get the variant data.
bool IsProt(void) const
Check if variant Prot is selected.
bool IsCdregion(void) const
Check if variant Cdregion is selected.
const TLocation & GetLocation(void) const
Get the Location member data.
bool IsGene(void) const
Check if variant Gene is selected.
const TData & GetData(void) const
Get the Data member data.
bool IsPub(void) const
Check if variant Pub is selected.
const TBiosrc & GetBiosrc(void) const
Get the variant data.
const TProduct & GetProduct(void) const
Get the Product member data.
bool IsBiosrc(void) const
Check if variant Biosrc is selected.
const TGene & GetGene(void) const
Get the variant data.
const TProt & GetProt(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.
void SetId(TId &value)
Assign a value to Id data member.
bool IsSetId(void) const
WARNING: this used to be optional Check if a value has been assigned to Id data member.
const TId & GetId(void) const
Get the Id member data.
bool IsSetA(void) const
connection to a least one residue Check if a value has been assigned to A data member.
void SetId(TId &value)
Assign a value to Id data member.
E_Choice Which(void) const
Which variant is currently selected.
const TId & GetId(void) const
Get the Id member data.
const TId & GetId(void) const
Get the Id member data.
const TPacked_pnt & GetPacked_pnt(void) const
Get the variant data.
bool IsSetId(void) const
WARNING: this used to be optional Check if a value has been assigned to Id data member.
bool IsSetId(void) const
Check if a value has been assigned to Id data member.
bool IsSetB(void) const
other end may not be available Check if a value has been assigned to B data member.
const TBond & GetBond(void) const
Get the variant data.
@ e_Other
for historical reasons, 'other' = 'refseq'
@ e_not_set
No variant selected.
@ e_Equiv
equivalent sets of locations
@ e_Empty
to NULL one Seq-id in a collection
@ e_Feat
indirect, through a Seq-feat
@ eClass_nuc_prot
nuc acid and coded proteins
@ eClass_segset
segmented sequence + parts
EGIBB_method
sequencing methods
const THet & GetHet(void) const
Get the variant data.
const TUser & GetUser(void) const
Get the variant data.
const TDbxref & GetDbxref(void) const
Get the variant data.
const TUpdate_date & GetUpdate_date(void) const
Get the variant data.
const TTitle & GetTitle(void) const
Get the variant data.
const TSource & GetSource(void) const
Get the variant data.
const TPub & GetPub(void) const
Get the variant data.
const TMaploc & GetMaploc(void) const
Get the variant data.
TMethod GetMethod(void) const
Get the variant data.
const TId & GetId(void) const
Get the Id member data.
const TOrg & GetOrg(void) const
Get the variant data.
list< CRef< CSeq_id > > TId
EGIBB_mod
GenInfo Backbone modifiers.
TMol_type GetMol_type(void) const
Get the variant data.
const TModif & GetModif(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently selected.
const TCreate_date & GetCreate_date(void) const
Get the variant data.
EGIBB_mol
type of molecule represented
const TPub & GetPub(void) const
Get the Pub member data.
const TComment & GetComment(void) const
Get the variant data.
const TMolinfo & GetMolinfo(void) const
Get the variant data.
const TName & GetName(void) const
Get the variant data.
const TRegion & GetRegion(void) const
Get the variant data.
@ e_Het
cofactor, etc associated but not bound
@ e_Org
if all from one organism
@ e_User
user defined object
@ e_Update_date
date of last update
@ e_Pub
a reference to the publication
@ e_Mol_type
type of molecule
@ e_Dbxref
xref to other databases
@ e_Comment
a more extensive comment
@ e_Method
sequencing method
@ e_Region
overall region (globin locus)
@ e_Molinfo
info on the molecule and techniques
@ e_Maploc
map location of this sequence
@ e_Create_date
date entry first created/released
@ e_Title
a title for this sequence
@ e_Name
a name for this sequence
@ e_Source
source of materials, includes Org-ref
string GetProductForCDS(const CSeq_feat &cds, CScope &scope)
void GetSeqFeatLabel(const CSeq_feat &seq_feat, string &label)
static bool IsAccession(const CSeq_id &id)
string GetLocusTagForFeature(const CSeq_feat &seq_feat, CScope &scope)
CConstRef< CSeq_id > GetBestId(const CBioseq &bioseq)
string GetProduct(const CProt_ref &prot_ref)
string GetSeqLocDescription(const CSeq_loc &loc, CScope &scope)
void UpgradeSeqLocId(CSeq_point &pnt, CScope &scope)
Generic utility macros and templates for exploring NCBI objects.
#define GET_FIELD_OR_DEFAULT(Var, Fld, Dflt)
GET_FIELD_OR_DEFAULT base macro.