m_Length(0), m_Biomol(
CMolInfo::eBiomol_unknown), m_Date("01-JAN-1900")
101 return((
ctx.IsSegmented() && !
ctx.HasParts()) ||
102(
ctx.IsDelta() && !
ctx.IsDeltaLitOnly()));
132 if(
basename.length() + suffix_len < 16) {
146 if((
last==
'0') && (!
isdigit((
unsigned char) next_to_last))) {
157 size_tnumsegs =
ctx.GetMaster().GetNumParts();
176locus << setfill(
'0') << setw(suffix_len) <<
ctx.GetPartNumber();
188 if(! desc.
IsUser())
continue;
192 if(! oi.
IsStr())
continue;
212 if(
ctx.Config().IsFormatLite())
return false;
218 const CSeq_id& sid = **id_itr;
219 switch(sid.
Which()) {
226 const string& db = dbtag.
GetDb();
247 if(
ctx.IsPart()) {
289 const static size_tMAX_LOCUS_ACCN_LEN = 38;
291 const CTextseq_id* tsip =
id.GetSeqId()->GetTextseq_Id();
308 m_Name=
id.GetSeqId()->GetSeqIdString();
318 if(
m_Name.length() > MAX_LOCUS_ACCN_LEN ) {
319 m_Name.resize(MAX_LOCUS_ACCN_LEN);
320*
m_Name.rbegin() =
'>';
329 ITERATE(
string, iter, name) {
330 unsigned charcurrent_char = (
unsignedchar)(*iter);
331 if( !
isalnum(current_char) && current_char !=
'_') {
363 if( !
ctx.Config().IsFormatGBSeq() && !
ctx.Config().IsFormatINSDSeq() ) {
375 if( (! is_nucleic_acid || is_in_set_1 || is_in_set_2) &&
387 if(
ctx.IsProt() ) {
431 if( loc.
IsInt()) {
457 if(! idx)
returndivision;
459 if(! bsx)
returndivision;
465}
else if( is_prot ) {
475 boolis_transgenic =
false;
476 boolis_env_sample =
false;
492is_transgenic =
true;
494is_env_sample =
true;
529}
else if(is_env_sample) {
550 if(*iter && iter->GetSeqId()->IsPatent()) {
568 CSeq_id_Handlecds_loc_piece_id = cds_loc_iter.GetSeq_id_Handle();
569 if( cds_loc_piece_id ) {
571cds_loc_piece_id, bsh );
584 if(*iter && iter->GetSeqId()->IsPatent()) {
596 const CGB_block& gb = gb_desc->GetGenbank();
598 if(division.
empty() ||
600gb.
GetDiv() ==
"PAT") {
607 if( division.
empty() ) {
630}
else if( is_prot ) {
654 boolis_transgenic =
false;
655 boolis_env_sample =
false;
671is_transgenic =
true;
673is_env_sample =
true;
708}
else if(is_env_sample) {
729 if(*iter && iter->GetSeqId()->IsPatent()) {
747 CSeq_id_Handlecds_loc_piece_id = cds_loc_iter.GetSeq_id_Handle();
748 if( cds_loc_piece_id ) {
750cds_loc_piece_id, bsh );
763 if(*iter && iter->GetSeqId()->IsPatent()) {
775 const CGB_block& gb = gb_desc->GetGenbank();
777 if(division.
empty() ||
779gb.
GetDiv() ==
"PAT") {
786 if( division.
empty() ) {
800 if( (*it)->IsLoc() ) {
811desc_choices.reserve(1);
814 for(
CSeqdesc_CIdesc_it(bsh, desc_choices); desc_it; ++desc_it) {
816tech = desc_it->GetMolinfo().GetTech();
821 if(
ctx&&
ctx->UsingSeqEntryIndex()) {
831 if(
ctx.DoContigStyle() ) {
843 if(
ctx.UsingSeqEntryIndex() ) {
850 if(
ctx.Config().IsFormatEMBL() ) {
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.
CRef< CFeatureIndex > GetFeatureForProduct(void)
CConstRef< CBioSource > GetBioSource(void)
ECompare Compare(const CDate &date) const
@ eCompare_after
*this comes second.
CRef< CFeatureIndex > GetOverlappingSource(void)
const CMappedFeat GetMappedFeat(void) const
void x_SetObject(const CSerialObject &obj)
const CSerialObject * GetObject(void) const
void x_SetDivision(CBioseqContext &ctx)
void x_SetBiomol(CBioseqContext &ctx)
void x_SetStrand(CBioseqContext &ctx)
void x_SetDate(CBioseqContext &ctx)
const CDate * x_GetLaterDate(const CDate *d1, const CDate *d2) const
EItem GetItemType() const override
void x_GatherInfo(CBioseqContext &ctx) override
const string & GetDivision(void) const
bool x_NameHasBadChars(const string &name) const
const CDate * x_GetDateForBioseq(const CBioseq_Handle &bsh) const
void x_SetTopology(CBioseqContext &ctx)
void Format(IFormatter &formatter, IFlatTextOStream &text_os) const override
void x_SetLength(CBioseqContext &ctx)
void x_SetName(CBioseqContext &ctx)
CRef< CBioseqIndex > GetBioseqIndex(void)
namespace ncbi::objects::
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
virtual void FormatLocus(const CLocusItem &locus, IFlatTextOStream &text_os)=0
Include a standard set of the NCBI C++ Toolkit most basic headers.
static DLIST_TYPE *DLIST_NAME() last(DLIST_LIST_TYPE *list)
Utility macros and typedefs for exploring NCBI objects from general.asn.
#define FOR_EACH_USERFIELD_ON_USEROBJECT(Itr, Var)
FOR_EACH_USERFIELD_ON_USEROBJECT EDIT_EACH_USERFIELD_ON_USEROBJECT.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
CMappedFeat GetBestOverlappingFeat(const CMappedFeat &feat, CSeqFeatData::ESubtype need_subtype, sequence::EOverlapType overlap_type, CFeatTree *feat_tree=0, const SAnnotSelector *base_sel=0)
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
@ 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.
const CBioseq * GetNucleotideParent(const CBioseq &product, CScope *scope)
Get the encoding nucleotide sequnce of a protein.
@ eGetId_Best
return the "best" gi (uses FindBestScore(), with CSeq_id::CalculateScore() as the score function
CBioseq_Handle GetBioseqHandleFromTSE(const CSeq_id &id, const CTSE_Handle &tse)
Get bioseq handle for sequence withing one TSE.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
vector< CSeq_id_Handle > TId
bool IsSetInst_Strand(void) const
bool IsSetInst_Mol(void) const
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
const TInst_Ext & GetInst_Ext(void) const
bool IsSetInst_Ext(void) const
const CSeqFeatData & GetData(void) const
TSeqPos GetBioseqLength(void) const
TInst_Mol GetInst_Mol(void) const
TInst_Strand GetInst_Strand(void) const
bool IsSetInst_Length(void) const
TInst_Topology GetInst_Topology(void) const
bool IsSetInst_Repr(void) const
TInst_Repr GetInst_Repr(void) const
CScope & GetScope(void) const
Get scope this handle belongs to.
const TId & GetId(void) const
vector< CSeqdesc::E_Choice > TDescChoices
#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).
bool empty(void) const
Return true if the represented string is empty (i.e., the length is zero)
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 enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
const TCreation_date & GetCreation_date(void) const
Get the Creation_date member data.
bool CanGetUpdate_date(void) const
Check if it is safe to call GetUpdate_date method.
const TUpdate_date & GetUpdate_date(void) const
Get the Update_date member data.
bool CanGetCreation_date(void) const
Check if it is safe to call GetCreation_date method.
TDiv GetDiv(void) const
Get the Div member data.
bool CanGetDiv(void) const
Check if it is safe to call GetDiv method.
const TEntry_date & GetEntry_date(void) const
Get the Entry_date member data.
const TDiv & GetDiv(void) const
Get the Div member data.
bool CanGetEntry_date(void) const
Check if it is safe to call GetEntry_date method.
bool CanGetDiv(void) const
Check if it is safe to call GetDiv method.
const TSubtype & GetSubtype(void) const
Get the Subtype member data.
TOrigin GetOrigin(void) const
Get the Origin member data.
bool CanGetOrg(void) const
Check if it is safe to call GetOrg method.
list< CRef< CSubSource > > TSubtype
const TOrg & GetOrg(void) const
Get the Org member data.
@ eSubtype_environmental_sample
@ eOrigin_synthetic
purely synthetic
@ eOrigin_mut
artificially mutagenized
@ eOrigin_artificial
artificially engineered
const TStr & GetStr(void) const
Get the variant data.
bool IsStr(void) const
Check if variant Str is selected.
bool IsSetDb(void) const
name of database or system Check if a value has been assigned to Db data member.
bool IsSetType(void) const
type of object within class Check if a value has been assigned to Type data member.
bool IsStd(void) const
Check if variant Std is selected.
const TData & GetData(void) const
Get the Data member data.
const TDb & GetDb(void) const
Get the Db member data.
bool IsStr(void) const
Check if variant Str is selected.
const TStr & GetStr(void) const
Get the variant data.
const TLabel & GetLabel(void) const
Get the Label member data.
const TType & GetType(void) const
Get the Type member data.
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
E_Choice Which(void) const
Which variant is currently selected.
@ e_Str
for those unparsed dates
bool CanGetDiv(void) const
Check if it is safe to call GetDiv method.
const TDiv & GetDiv(void) const
Get the Div member data.
bool CanGetOrgname(void) const
Check if it is safe to call GetOrgname method.
const TOrgname & GetOrgname(void) const
Get the Orgname member data.
const TLocation & GetLocation(void) const
Get the Location member data.
const TData & GetData(void) const
Get the Data member data.
const TBiosrc & GetBiosrc(void) const
Get the variant data.
bool IsSetAccession(void) const
Check if a value has been assigned to Accession data member.
const TName & GetName(void) const
Get the Name member data.
bool CanGetStrand(void) const
Check if it is safe to call GetStrand method.
TFrom GetFrom(void) const
Get the From member data.
E_Choice Which(void) const
Which variant is currently selected.
TStrand GetStrand(void) const
Get the Strand member data.
const TGeneral & GetGeneral(void) const
Get the variant data.
TTo GetTo(void) const
Get the To member data.
bool IsWhole(void) const
Check if variant Whole is selected.
bool IsInt(void) const
Check if variant Int is selected.
const TInt & GetInt(void) const
Get the variant data.
bool IsSetName(void) const
Check if a value has been assigned to Name data member.
const TAccession & GetAccession(void) const
Get the Accession member data.
@ e_General
for other databases
const TUser & GetUser(void) const
Get the variant data.
const TUpdate_date & GetUpdate_date(void) const
Get the variant data.
const TSource & GetSource(void) const
Get the variant data.
const TPdb & GetPdb(void) const
Get the variant data.
const TGenbank & GetGenbank(void) const
Get the variant data.
const TSp & GetSp(void) const
Get the variant data.
bool IsDelta(void) const
Check if variant Delta is selected.
const TEmbl & GetEmbl(void) const
Get the variant data.
TBiomol GetBiomol(void) const
Get the Biomol member data.
EMol
molecule class in living organism
const TDelta & GetDelta(void) const
Get the variant data.
const Tdata & Get(void) const
Get the member data.
const TCreate_date & GetCreate_date(void) const
Get the variant data.
list< CRef< CDelta_seq > > Tdata
const TMolinfo & GetMolinfo(void) const
Get the variant data.
bool IsUser(void) const
Check if variant User is selected.
@ eRepr_delta
sequence made by changes (delta) to others
@ 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_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_est
Expressed Sequence Tag.
@ eTech_concept_trans_a
conceptual transl. supplied by author
@ eBiomol_pre_RNA
precursor RNA of any sort really
@ eBiomol_cRNA
viral RNA genome copy intermediate
@ eBiomol_other_genetic
other genetic material
@ e_Embl
EMBL specific information.
@ e_Update_date
date of last update
@ e_Genbank
GenBank specific info.
@ e_Sp
SWISSPROT specific info.
@ e_Molinfo
info on the molecule and techniques
@ e_Create_date
date entry first created/released
@ e_Pdb
PDB specific information.
@ e_Source
source of materials, includes Org-ref
@ eMol_not_set
> cdna = rna
@ eMol_na
just a nucleic acid
@ eStrand_other
default ds for DNA, ss for RNA, pept
@ eStrand_ds
double strand
@ eStrand_ss
single strand
const TDate & GetDate(void) const
Get the Date member data.
bool CanGetDeposition(void) const
Check if it is safe to call GetDeposition method.
const TReplace & GetReplace(void) const
Get the Replace member data.
bool CanGetDate(void) const
Check if it is safe to call GetDate method.
bool CanGetReplace(void) const
Check if it is safe to call GetReplace method.
const TDeposition & GetDeposition(void) const
Get the Deposition member data.
bool CanGetCreated(void) const
Check if it is safe to call GetCreated method.
const TCreated & GetCreated(void) const
Get the Created member data.
bool CanGetAnnotupd(void) const
Check if it is safe to call GetAnnotupd method.
const TAnnotupd & GetAnnotupd(void) const
Get the Annotupd member data.
const TSequpd & GetSequpd(void) const
Get the Sequpd member data.
bool CanGetSequpd(void) const
Check if it is safe to call GetSequpd method.
static CTempString x_GetDivisionProc(const CBioseq_Handle &bsh, bool is_prot, CMolInfo::TTech tech)
static void s_AddLocusSuffix(string &basename, CBioseqContext &ctx)
static bool s_IsSeperatorNeeded(const string &basename, size_t suffix_len)
static bool s_ShouldUseOriginalID(CBioseqContext &ctx)
static string s_FastaGetOriginalID(CBioseqContext &ctx)
static CTempString x_GetDivisionProcIdx(const CBioseqContext &ctx, const CBioseq_Handle &bsh, bool is_prot, CMolInfo::TTech tech)
static bool s_IsGenomeView(const CBioseqContext &ctx)
void DateToString(const CDate &date, string &str, EDateToString format_choice=eDateToString_regular)
static const GLdouble origin[]
Utility macros and typedefs for exploring NCBI objects from seq.asn.
#define FOR_EACH_SEQDESC_ON_BIOSEQ(Itr, Var)
FOR_EACH_SEQDESC_ON_BIOSEQ EDIT_EACH_SEQDESC_ON_BIOSEQ.
#define FOR_EACH_SEQID_ON_BIOSEQ(Itr, Var)
FOR_EACH_SEQID_ON_BIOSEQ EDIT_EACH_SEQID_ON_BIOSEQ.
#define FIELD_IS_SET_AND_IS(Var, Fld, Chs)
FIELD_IS_SET_AND_IS base macro.
#define GET_FIELD(Var, Fld)
GET_FIELD base macro.
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