83 if (!
ctx.GetPrimaryId()) {
92 if (!
ctx.GetLocation().IsWhole()) {
100 if ((
id.IsGeneral() ||
id.IsLocal()) &&
101 (
ctx.Config().IsModeEntrez() ||
ctx.Config().IsModeGBench())) {
110 size_t nz_len = (
m_Accession.substr(0,3) ==
"NZ_" ? 3 : 0);
111 if (acclen >= 12+nz_len) {
112 size_t pos =
m_Accession.find_first_of(
"0123456789");
113 if (pos == 4+nz_len || pos == 6+nz_len) {
114 size_t stem_len = pos + 2;
115 size_t tail_len = acclen - stem_len;
129 if(
ctx.GetLocation().IsWhole() ) {
131 const list<string>* xtra =
nullptr;
150 const int kAccessionValidationCutoff = 20;
151 ITERATE (list<string>, it, *xtra) {
152 if( xtra->size() >= kAccessionValidationCutoff ) {
162 if (okay && !
id.IsOther() && !
id.IsGpipe()) {
164 if ((*it)->IsGpipe()) {
User-defined methods of the data storage class.
User-defined methods of the data storage class.
TExtra_accessions m_ExtraAccessions
EItem GetItemType() const override
CConstRef< CSeq_loc > m_Region
void Format(IFormatter &formatter, IFlatTextOStream &text_os) const override
void x_GatherInfo(CBioseqContext &ctx) override
void x_SetObject(const CSerialObject &obj)
Include a standard set of the NCBI C++ Toolkit most basic headers.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
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.
const TExtra_acc & GetExtra_acc(void) const
Get the Extra_acc member data.
const TExtra_accessions & GetExtra_accessions(void) const
Get the Extra_accessions member data.
list< CRef< CSeq_id > > TId
const TGenbank & GetGenbank(void) const
Get the variant data.
const TEmbl & GetEmbl(void) const
Get the variant data.
@ eTech_wgs
whole genome shotgun sequencing
@ e_Embl
EMBL specific information.
@ e_Genbank
GenBank specific info.
constexpr auto sort(_Init &&init)
bool IsValidAccession(const string &accn, EAccValFlag flag=eValidateAcc)