97 static const char*
const sc_EST[] = {
98 "EST",
"EST (expressed sequence tag)",
"EST PROTO((expressed sequence tag)",
99 "EST(expressed sequence tag)",
"TSR",
"UK putts",
"expressed sequence tag",
100 "partial cDNA sequence",
"putatively transcribed partial sequence",
101 "transcribed sequence fragment"
109 "GSS",
"trapped exon"
115 "STS",
"STS (sequence tagged site)",
"STS sequence",
116 "STS(sequence tagged site)",
"sequence tagged site"
124 if (sc_STS_kw.find(keyword.c_str()) != sc_STS_kw.end()) {
127 if (sc_GSS_kw.find(keyword.c_str()) != sc_GSS_kw.end()) {
133 if (sc_EST_kw.find(keyword.c_str()) != sc_EST_kw.end()) {
136 if (sc_GSS_kw.find(keyword.c_str()) != sc_GSS_kw.end()) {
142 if (sc_EST_kw.find(keyword.c_str()) != sc_EST_kw.end()) {
145 if (sc_STS_kw.find(keyword.c_str()) != sc_STS_kw.end()) {
156 switch(
ctx.GetRepr() ) {
166 bool is_env_sample =
false;
167 bool is_metagenome_source =
false;
171 if (! (*it)->IsSetSubtype())
continue;
173 is_env_sample =
true;
180 if (! (*it)->IsSetSubtype())
continue;
182 is_metagenome_source =
true;
195 if (
ctx.GetMolinfo()) {
196 switch (
ctx.GetTech() ) {
274 if (is_metagenome_source) {
280 if( ! is_tsa &&
ctx.IsProt() &&
ctx.IsInNucProt() ) {
282 if( parent_bioseq_set ) {
288 for( ; desc_ci; ++desc_ci ) {
314 if(errors.size() == 0) {
375 if (
ctx.IsEncode()) {
379 if(
ctx.IsGenomeAssembly() && !
ctx.GetFinishingStatus().empty() ) {
387 }
else if (
ctx.IsRefSeq() ) {
392 if (
ctx.IsCrossKingdom() &&
ctx.IsRSUniqueProt() ) {
398 const list<string>* keywords =
nullptr;
400 switch (it->Which()) {
402 keywords = &(it->GetPir().GetKeywords());
405 keywords = &(it->GetGenbank().GetKeywords());
408 keywords = &(it->GetSp().GetKeywords());
411 keywords = &(it->GetEmbl().GetKeywords());
414 keywords = &(it->GetPrf().GetKeywords());
425 ITERATE (list<string>, kwd, *keywords) {
438 ITERATE (vector<string>, it, keywords) {
450 const string& kw = *k_itr;
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
@ fUnreviewed_Unannotated
@ fUnverified_Contaminant
@ fUnverified_SequenceOrAnnotation
@ fUnverified_Misassembled
bool IsSetObject(void) const
void x_SetObject(const CSerialObject &obj)
void x_GatherInfo(CBioseqContext &ctx) override
EItem GetItemType() const override
void x_AddKeyword(const string &keyword)
void Format(IFormatter &formatter, IFlatTextOStream &text_os) const override
static bool is_valid(const char *num, int type, CONV_RESULT *cr)
Include a standard set of the NCBI C++ Toolkit most basic headers.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#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 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 EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
@ fSplit_Tokenize
All delimiters are merged and trimmed, to get non-empty tokens only.
const TSubtype & GetSubtype(void) const
Get the Subtype member data.
bool IsSetOrg(void) const
Check if a value has been assigned to Org data member.
list< CRef< CSubSource > > TSubtype
const TOrg & GetOrg(void) const
Get the Org member data.
@ eSubtype_environmental_sample
const TMod & GetMod(void) const
Get the Mod member data.
list< CRef< COrgMod > > TMod
bool IsSetOrgname(void) const
Check if a value has been assigned to Orgname data member.
const TOrgname & GetOrgname(void) const
Get the Orgname member data.
@ eSubtype_metagenome_source
const TSource & GetSource(void) const
Get the variant data.
TTech GetTech(void) const
Get the Tech member data.
bool CanGetTech(void) const
Check if it is safe to call GetTech method.
const TMolinfo & GetMolinfo(void) const
Get the variant data.
@ eRepr_map
ordered map of any kind
@ eTech_htgs_2
ordered High Throughput sequence contig
@ eTech_other
use Source.techexp
@ eTech_htc
high throughput cDNA
@ eTech_both
concept transl. w/ partial pept. seq.
@ eTech_targeted
targeted locus sets/studies
@ eTech_seq_pept_homol
sequenced peptide, ordered by homology
@ eTech_sts
Sequence Tagged Site.
@ eTech_htgs_3
finished High Throughput sequence
@ eTech_seq_pept_overlap
sequenced peptide, ordered by overlap
@ eTech_htgs_1
unordered High Throughput sequence contig
@ eTech_concept_trans
conceptual translation
@ eTech_tsa
transcriptome shotgun assembly
@ eTech_standard
standard sequencing
@ eTech_wgs
whole genome shotgun sequencing
@ eTech_seq_pept
peptide was sequenced
@ eTech_survey
one-pass genomic sequence
@ eTech_htgs_0
single genomic reads for coordination
@ eTech_fli_cdna
full length insert cDNA
@ eTech_est
Expressed Sequence Tag.
@ eTech_concept_trans_a
conceptual transl. supplied by author
@ e_Embl
EMBL specific information.
@ e_User
user defined object
@ e_Pir
PIR specific info.
@ e_Genbank
GenBank specific info.
@ e_Prf
PRF specific information.
@ e_Sp
SWISSPROT specific info.
@ e_Molinfo
info on the molecule and techniques
@ e_Source
source of materials, includes Org-ref
@ eMol_na
just a nucleic acid
static const char *const sc_EST[]
static const char *const sc_STS[]
static bool s_CheckSpecialKeyword(const string &keyword, ETechFlags tech)
static bool x_OkayToAddKeyword(const string &keyword, vector< string > keywords)
static const char *const sc_GSS[]
CStaticArraySet< const char *, PCase_CStr > TStaticKeywordSet
DEFINE_STATIC_ARRAY_MAP(TStaticKeywordSet, sc_EST_kw, sc_EST)
Generic utility macros and templates for exploring NCBI objects.
#define FOR_EACH_STRING_IN_LIST(Itr, Var)
FOR_EACH_STRING_IN_LIST EDIT_EACH_STRING_IN_LIST.