A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/gff__reader_8cpp_source.html below:

NCBI C++ ToolKit: src/app/convert_seq/gff_reader.cpp Source File

68 #define NCBI_USE_ERRCODE_X Objtools_Rd_GFF 87  while

(pos < s.

size

()) {

92

}

else if

(s[pos2] ==

'+'

) {

95

}

else if

(s[pos2] ==

'%'

) {

129  while

( !

in

.AtEOF() ) {

131  char

c =

in

.PeekChar();

134  if

(line.

size

() > 2 && line[1] ==

'#'

) {

138

}

else if

(c ==

'>'

) {

147  if

( line.

empty

() ) {

154  if

(record->id.empty()) {

162  match

.Reset(record);

176

loc_iter->ranges.begin();

177  for

( ; dst_iter != loc_iter->ranges.

end

(); ) {

180  if

(

r

.GetLength() <=

181

range.

GetLength

() + dst_iter->GetLength()) {

183  _TRACE

(

"merging overlapping ranges: " 185

<< range.

GetTo

() <<

" <-> " 186

<< dst_iter->GetFrom() <<

" - " 187

<< dst_iter->GetTo());

188

loc_iter->ranges.erase(dst_iter++);

194

loc_iter->ranges.

insert

(range);

198  if

(rec.

key

==

"exon"

) {

210  if

( !iter->second->IsSetLocus() &&

211

!iter->second->IsSetLocus_tag()) {

212

iter->second->SetLocus(iter->first);

213

}

else if

( !iter->second->IsSetLocus() ||

214

iter->second->GetLocus() != iter->first) {

215

iter->second->SetSyn().push_back(iter->first);

220  for

( ; feat_iter; ++feat_iter) {

222  if

(feat_iter->GetData().IsGene()) {

223

ref = &feat_iter->GetData().GetGene();

225

ref = feat_iter->GetGeneXref();

231  const_cast<CGene_ref

*

>

(ref)->Assign(*iter->second);

243  for

( ; feat_iter; ++feat_iter) {

249

qual_name =

"protein_id"

;

253

qual_name =

"transcript_id"

;

262  if

( !id_str.empty() ) {

271  for

( ; annot_iter; ++annot_iter) {

278

CSeq_annot::TData::TFtable::iterator feat_iter =

279

annot.

SetData

().SetFtable().begin();

280

CSeq_annot::TData::TFtable::iterator feat_end =

281

annot.

SetData

().SetFtable().end();

288  for

(

bool

has_genes =

false

;

289

feat_iter != feat_end && !has_genes; ++feat_iter) {

316  x_Error

(

"No consistent ID found; gene feature skipped"

);

320

TGeneMap::iterator iter = genes.find(gene_id);

321  if

(iter == genes.end()) {

330

genes[gene_id] = gene;

349  ITERATE

(TGeneMap, iter, genes) {

350

annot.

SetData

().SetFtable().push_back(iter->second);

372  ERR_POST_X

(1,

Error

<< message <<

" [GFF input, line "

<< line <<

']'

);

382  ERR_POST_X

(1,

Info

<< message <<

" [GFF input, line "

<< line <<

']'

);

404  if

( line.

empty

() || line[0] !=

'#'

|| line[1] !=

'#'

) {

412  if

(v[0] ==

"date"

&& v.size() > 1) {

414

}

else if

(v[0] ==

"Type"

&& v.size() > 1) {

416

}

else if

(v[0] ==

"gff-version"

&& v.size() > 1) {

418

}

else if

(v[0] ==

"FASTA"

) {

433

}

catch

(exception& e) {

441  if

(seqname.

empty

()) {

455  if

(it->GetId().empty()) {

464

our_bs->

SetId

() = it->GetId();

465  if

(it->IsSetDescr()) {

468

our_bs->

SetInst

(it->SetInst());

477  bool

misdelimited =

false

;

484  x_Error

(

"Skipping line due to insufficient fields"

,

489

misdelimited =

true

;

502

record->source = v[1];

507

}

catch

(std::exception& e) {

513

}

catch

(std::exception& e) {

517

record->score = v[5];

521

}

else if

(v[6] ==

"-"

) {

523

}

else if

( !(v[6] ==

"."

) ) {

524  x_Warn

(

"Bad strand "

+

string

(v[6]) +

" (should be [+-.])"

,

528  if

(v[7] ==

"0"

|| v[7] ==

"1"

|| v[7] ==

"2"

) {

529

record->frame = v[7][0] -

'0'

;

530

}

else if

(v[7] ==

"."

) {

533  x_Warn

(

"Bad frame "

+

string

(v[7]) +

" (should be [012.])"

,

544

record->loc.push_back(subloc);

554  if

( !misdelimited && (

i

> 9 || (

i

== 9 && v.size() > 9

559  if

(record->FindAttribute(

"Target"

) != record->attrs.end()) {

568  if

(id_it != record->attrs.end()) {

569

record->id = (*id_it)[1];

573  if

(parent_it != record->attrs.end()) {

574

record->parent = (*parent_it)[1];

578  if

(name_it != record->attrs.end()) {

579

record->name = (*name_it)[1];

595

feat->

SetData

().SetCdregion().SetFrame

600  string tag

= it->front();

604  if

(

tag

==

"Parent"

) {

607

feat->

SetXref

().push_back( xref );

612  if

( record.

source

!=

"."

) {

614  source

->SetQual(

"source"

);

623  string tag

= it->front();

625  switch

(it->size()) {

637  if

(

tag

==

"transcript_id"

) {

639

}

else if

(

tag

==

"gene_id"

) {

642

}

else if

(

tag

==

"gene"

) {

645

}

else if

(

tag

==

"locus_tag"

) {

648

}

else if

(

tag

==

"exon_number"

) {

660

feat->

SetQual

().push_back(qual);

664  if

( !gene_id.empty() ) {

666  if

(colon !=

NPOS

) {

667

gene_id.erase(0, colon + 1);

672  if

( !iter->second ) {

675  if

( !gene.empty() ) {

676  if

(iter->second->IsSetLocus() &&

677

iter->second->GetLocus() != gene) {

679

<<

"inconsistent gene name: " 680

<< gene <<

" != "

<< iter->second->GetLocus()

681

<<

", ignoring second"

);

682

}

else if

( !iter->second->IsSetLocus() ) {

683

iter->second->SetLocus(gene);

686  if

( !locus_tag.empty() ) {

687  if

(iter->second->IsSetLocus_tag() &&

688

iter->second->GetLocus_tag() != locus_tag) {

690

<<

"inconsistent locus tag: " 691

<< locus_tag <<

" != "

<< iter->second->GetLocus_tag()

692

<<

", ignoring second"

);

693

}

else if

( !iter->second->IsSetLocus_tag() ) {

694

iter->second->SetLocus_tag(locus_tag);

719

vector<string> target;

720  if

(tgit != record.

attrs

.

end

()) {

723  if

(target.size() != 3) {

730  TSeqPos

tglen = tgstop - tgstart + 1;

736

reflen += it.GetRange().GetLength();

740

tgloc->

SetInt

().SetId(*tgid);

741

tgloc->

SetInt

().SetFrom(tgstart);

742

tgloc->

SetInt

().SetTo(tgstop);

745  if

(gap_it == record.

attrs

.

end

()) {

747  if

(reflen == tglen && refloc->

IsInt

()) {

750

ds.

SetIds

().push_back(refid);

751

ds.

SetIds

().push_back(tgid);

754

ds.

SetLens

().push_back(reflen);

760  if

(reflen != tglen && reflen != 3 * tglen) {

761  x_Warn

(

"Reference and target locations have an irregular" 765

ss->SetLoc().push_back(refloc);

766

ss->SetLoc().push_back(tgloc);

767

align->

SetSegs

().SetStd().push_back(ss);

778

align->

SetScore

().push_back(score);

793  if

(range->GetLength() == 1) {

803  si

.SetFrom(range->GetFrom());

804  si

.SetTo (range->GetTo());

806  si

.SetStrand(it->strand);

810

seqloc->

SetMix

().Set().push_front(segment);

812

seqloc->

SetMix

().Set().push_back(segment);

817  if

(seqloc->

GetMix

().

Get

().size() == 1) {

818  return

seqloc->

SetMix

().Set().front();

828  string

attr_last_value;

829

vector<string> attr_values;

832  for

(;

i

< v.size(); ++

i

) {

833  string

s =

string

(v[

i

]) +

' '

;

835  while

(pos < s.size()) {

838

pos2 = s.find_first_of(

" \'\"\\"

, pos);

840  if

(s[pos2] == quote_char) {

841  if

(attr_values.empty()) {

842  x_Warn

(

"quoted attribute tag "

+ attr_last_value,

846

attr_last_value += s.substr(pos, pos2 - pos);

851

attr_values.push_back(attr_last_value);

852  x_Warn

(e.what() + (

" in value of "

+ attr_values[0]),

855

attr_last_value.erase();

856

}

else if

(s[pos2] ==

'\\'

) {

858

attr_last_value += s.substr(pos, pos2 + 1 - pos);

860

attr_last_value += s.substr(pos, pos2 + 1 - pos);

863

pos2 = s.find_first_of(

" #;\""

, pos);

867

attr_last_value += s.substr(pos, pos2 - pos);

868

attr_values.push_back(attr_last_value);

869

attr_last_value.erase();

874  if

(pos2 == s.size() - 1) {

884  if

(attr_values.empty()) {

895

quote_char = s[pos2];

906  if

( !attr_values.empty() ) {

929

vector<string>

v2

, attr;

939  ITERATE

(vector<string>, it2, vals) {

940  string value

( *it2 );

964  if

(attr.size() == 0) {

969  if

(attr[0] ==

"gbkey"

&& attr.size() == 2) {

970

record.

key

= attr[1];

986  if

(!record.

id

.empty()) {

989  else if

(!record.

parent

.empty()) {

1003  if

(gene_it != record.

attrs

.

end

()) {

1004  id

+= (*gene_it)[1];

1007  if

(transcript_it != record.

attrs

.

end

()) {

1008  if

( !

id

.

empty

() ) {

1011  id

+= (*transcript_it)[1];

1017  for

( ; dbxref_it != record.

attrs

.

end

() &&

1018

dbxref_it->front() ==

"db_xref"

; ++dbxref_it) {

1019  if

( !

id

.

empty

() ) {

1022  id

+= (*dbxref_it)[1];

1025  if

(

id

.

empty

() ) {

1029  if

(record.

key

==

"start_codon"

|| record.

key

==

"stop_codon"

) {

1032

}

else if

(record.

key

==

"CDS" 1036

}

else if

(record.

key

==

"exon"

) {

1043  if

(it == record.

attrs

.

end

()) {

1046  id

+= record.

key

+

' '

+ (*it)[1];

1060  bool

merge_overlaps =

false

;

1061  if

(dest.

key

==

"CDS"

&&

1062

(src.

key

==

"start_codon"

|| src.

key

==

"stop_codon"

)) {

1065

merge_overlaps =

true

;

1068  if

((dest.

key

==

"start_codon"

|| dest.

key

==

"stop_codon"

) &&

1069

src.

key

==

"CDS"

) {

1072

merge_overlaps =

true

;

1077  int

best_frame = dest.

frame

;

1080  bool

merged =

false

;

1082  if

(slit->accession != dlit->accession) {

1083  if

(dest.

loc

.size() == 1) {

1087

}

else if

(slit->strand != dlit->strand) {

1088  if

(dest.

loc

.size() == 1) {

1094  if

(slit->ranges.begin()->GetFrom() <

1095

dlit->ranges.begin()->GetFrom()) {

1096

best_frame = src.

frame

;

1099  if

(slit->ranges.begin()->GetTo() >

1100

dlit->ranges.begin()->GetTo()) {

1101

best_frame = src.

frame

;

1104  if

(merge_overlaps) {

1106

dlit->merge_ranges.insert(*set_iter);

1110

dlit->ranges.insert(*set_iter);

1118

dest.

loc

.push_back(*slit);

1122

dest.

frame

= best_frame;

1123  if

(src.

key

!= dest.

key

) {

1131  x_Warn

(

"Merging features with different keys: "

+ dest.

key 1146  const string

&

tag

= sait->front();

1147  while

(dait != dait_end && dait->front() <

tag

) {

1151  if

(dait_tag == dait_end || dait_tag->front() !=

tag

) {

1154  if

(dait != dait_end && dait->front() ==

tag

) {

1155  while

(dait != dait_end && *dait < *sait) {

1159  if

(dait != dait_end && *dait == *sait) {

1162  if

(dait_tag != dait_end) {

1163  while

(dait != dait_end && dait->front() ==

tag

) {

1167

dait_tag = dait_end;

1184

}

else if

( seq2.

NotEmpty

() && seq != seq2) {

1194  if

((*it)->GetData().IsFtable()) {

1201

annots.push_back(annot);

1215  if

((*it)->GetData().IsAlign()) {

1222

annots.push_back(annot);

1228  switch

(record.

type

) {

1248  x_Warn

(

"x_ResolveSeqName: invalid cache entry for "

+ name);

1256  x_Warn

(

"x_ResolveNewSeqName returned null or invalid ID for "

+ name);

1274  if

(name.find_first_not_of(

"0123456789"

) == string::npos) {

1315

seq->

SetId

().push_back(id_copy);

1318  const string

& mol = mol0.empty() ?

m_DefMol

: mol0;

1319  if

(mol.empty() || mol ==

"dna"

) {

1321

}

else if

(mol ==

"rna"

) {

1323

}

else if

(mol ==

"protein"

) {

1326  x_Warn

(

"unrecognized sequence type "

+ mol +

"; assuming DNA"

);

1336  for

( ; feat_iter; ++feat_iter) {

1342

qual_name =

"protein_id"

;

1346

qual_name =

"transcript_id"

;

1355  if

( !id_str.empty() ) {

1365  for

( ; annot_iter; ++annot_iter) {

1372

CSeq_annot::TData::TFtable::iterator feat_iter =

1373

annot.

SetData

().SetFtable().begin();

1374

CSeq_annot::TData::TFtable::iterator feat_end =

1375

annot.

SetData

().SetFtable().end();

1382  for

(

bool

has_genes =

false

;

1383

feat_iter != feat_end && !has_genes; ++feat_iter) {

1410  x_Error

(

"No consistent ID found; gene feature skipped"

);

1414

TGeneMap::iterator iter = genes.find(gene_id);

1415  if

(iter == genes.end()) {

1424

genes[gene_id] = gene;

1433

gene->

SetLocation

().InvalidateTotalRangeCache();

1443  ITERATE

(TGeneMap, iter, genes) {

1444

annot.

SetData

().SetFtable().push_back(iter->second);

1451  if

( !tse || gene_refs.

empty

() ) {

1455  if

( !iter->second->IsSetLocus() &&

1456

!iter->second->IsSetLocus_tag()) {

1457

iter->second->SetLocus(iter->first);

1458

}

else if

( !iter->second->IsSetLocus() ||

1459

iter->second->GetLocus() != iter->first) {

1460

iter->second->SetSyn().push_back(iter->first);

1465  for

( ; feat_iter; ++feat_iter) {

1467  if

(feat_iter->GetData().IsGene()) {

1468

ref = &feat_iter->GetData().GetGene();

1470

ref = feat_iter->GetGeneXref();

1475  if

(iter != gene_refs.

end

()) {

1476  const_cast<CGene_ref

*

>

(ref)->Assign(*iter->second);

1484  bool

found =

false

;

1505  while

(it !=

attrs

.

end

() && it->front() == att_name

1506

&& it->size() <= min_values) {

1509  return

(it ==

attrs

.

end

() || it->front() == att_name) ? it :

attrs

.

end

();

User-defined methods of the data storage class.

User-defined methods of the data storage class.

bool IsReverse(ENa_strand s)

User-defined methods of the data storage class.

User-defined methods of the data storage class.

Code to handle Concise Idiosyncratic Gapped Alignment Report notation.

void SetToTime(const CTime &time, EPrecision prec=ePrecision_second)

Base class for reading FASTA sequences.

@ fKeepBadKey

= 0x02 (As much as possible, try to use bad keys as if they were acceptable)

@ fTranslateBadKey

= 0x04 (yields misc_feature /standard_name="...")

static CRef< CSeq_feat > CreateSeqFeat(const string &feat, CSeq_loc &location, const TFlags flags=0, ILineErrorListener *pMessageListener=nullptr, unsigned int line=0, std::string *seq_id=nullptr, ITableFilter *filter=nullptr)

static void AddFeatQual(CRef< CSeq_feat > sfp, const string &feat_name, const string &qual, const string &val, const TFlags flags=0, ILineErrorListener *pMessageListener=nullptr, int line=0, const string &seq_id=std::string())

@Gb_qual.hpp User-defined methods of the data storage class.

void GetLabel(string *label) const

ESubtype GetSubtype(void) const

const CSeq_id & GetSeq_id(TDim row) const

Get seq-id (the first one if segments have different ids).

namespace ncbi::objects::

const string & GetNamedQual(const CTempString &qual_name) const

Return a named qualifier.

const CGene_ref * GetGeneXref(void) const

See related function in util/feature.hpp.

Seq-loc iterator class – iterates all intervals from a seq-loc in the correct order.

Simple implementation of ILineReader for i(o)streams.

CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...

Template class for iteration on objects of class C (non-medifiable version)

Template class for iteration on objects of class C.

Abstract base class for lightweight line-by-line reading.

container_type::const_iterator const_iterator

container_type::iterator iterator

const_iterator end() const

iterator_bool insert(const value_type &val)

container_type::value_type value_type

const_iterator find(const key_type &key) const

iterator_bool insert(const value_type &val)

const_iterator begin() const

parent_type::iterator iterator

const_iterator end() const

const_iterator lower_bound(const key_type &key) const

parent_type::const_iterator const_iterator

static const char si[8][64]

std::ofstream out("events_result.xml")

main entry point for tests

Operators to edit gaps in sequences.

static const char * str(char *buf, int n)

static CRef< CFeat_id > s_StringToFeatId(const string &str)

static string & s_URLDecode(const CTempString &s, string &out)

Reader for GFF (including GTF) files.

unsigned int TSeqPos

Type for sequence locations and lengths.

#define ITERATE(Type, Var, Cont)

ITERATE macro to sequence through container elements.

#define NON_CONST_ITERATE(Type, Var, Cont)

Non constant version of ITERATE macro.

#define ERR_POST_X(err_subcode, message)

Error posting with default error code and given error subcode.

void Error(CExceptionArgs_Base &args)

void Warning(CExceptionArgs_Base &args)

void Info(CExceptionArgs_Base &args)

virtual CRef< CSeq_id > x_ResolveSeqName(const string &name)

Falls back to x_ResolveNewSeqName on cache misses.

virtual void x_PlaceAlignment(CSeq_align &align, const SRecord &record)

virtual void x_ParseV3Attributes(SRecord &record, const TStrVec &v, SIZE_TYPE &i)

virtual void x_ParseDateComment(const TStr &date)

virtual CRef< CBioseq > x_ResolveID(const CSeq_id &id, const TStr &mol)

Falls back to x_ResolveNewID on cache misses.

virtual void x_PlaceSeq(CBioseq &seq)

virtual void x_PlaceFeature(CSeq_feat &feat, const SRecord &record)

virtual CRef< CSeq_loc > x_ResolveLoc(const SRecord::TLoc &loc)

virtual void x_MergeRecords(SRecord &dest, const SRecord &src)

virtual void x_Warn(const string &message, unsigned int line=0)

TDelayedRecords m_DelayedRecords

CRef< CSeq_entry > ReadSet(int max_seqs=kMax_Int, ILineErrorListener *pMessageListener=nullptr)

Read multiple sequences (by default, as many as are available.)

TLoc loc

from accession, start, stop, strand

virtual void x_ParseTypeComment(const TStr &moltype, const TStr &seqname)

virtual CRef< CBioseq > x_ResolveNewID(const CSeq_id &id, const string &mol)

The base version just constructs a shell so as not to depend on the object manager,...

CRef< CSeq_entry > Read(CNcbiIstream &in, TFlags flags=fDefaults)

unsigned int x_GetLineNumber(void)

virtual void x_ReadFastaSequences(ILineReader &in)

virtual CRef< SRecord > x_NewRecord(void)

virtual void x_ParseAndPlace(const SRecord &record)

virtual void x_MergeAttributes(SRecord &dest, const SRecord &src)

virtual void x_Reset(void)

Reset all state, since we're between streams.

TFlags x_GetFlags(void) const

virtual CRef< CSeq_id > x_ResolveNewSeqName(const string &name)

virtual void x_Error(const string &message, unsigned int line=0)

virtual void x_RemapGeneRefs(CRef< CSeq_entry > &, TGeneRefs &)

virtual void x_CreateGeneFeatures(CRef< CSeq_entry > &)

unsigned int m_LineNumber

TSeqNameCache m_SeqNameCache

TAttrs::const_iterator FindAttribute(const string &att_name, size_t min_values=1) const

virtual void x_AddAttribute(SRecord &record, vector< string > &attr)

virtual bool x_IsLineUcscMetaInformation(const TStr &)

virtual string x_FeatureID(const SRecord &record)

Returning the empty string indicates that record constitutes an entire feature.

virtual void x_Info(const string &message, unsigned int line=0)

virtual bool x_ParseStructuredComment(const TStr &line)

virtual CRef< CSeq_align > x_ParseAlignRecord(const SRecord &record)

virtual CRef< CSeq_feat > x_ParseFeatRecord(const SRecord &record)

virtual void x_SetProducts(CRef< CSeq_entry > &)

set< TSeqRange > ranges

the set of ranges that make up this location this allows us to separately assign frame even if the ra...

virtual bool x_SplitKeyValuePair(const string &, string &, string &)

virtual void x_ParseV2Attributes(SRecord &record, const TStrVec &v, SIZE_TYPE &i)

virtual CRef< SRecord > x_ParseFeatureInterval(const TStr &line)

ILineReader * m_LineReader

@ fAssumeNuc

Assume nucs unless accns indicate otherwise.

@ fMergeOnyCdsMrna

move protein_id and transcript_id to products for mRNA and CDS features

@ fAllIdsAsLocal

all identifiers are local IDs

@ fNoGTF

don't honor/recognize GTF conventions

@ fSetProducts

create gene features for mRNAs and CDSs if none exist already

@ fCreateGeneFeats

numeric identifiers are local IDs

@ fGBQuals

merge exons with the same transcript_id

@ fNumericIdsAsLocal

all identifiers are local IDs

@ fMergeExons

restrict merging to just CDS and mRNA features

virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)

Optimized implementation of CSerialObject::Assign, which is not so efficient.

ENa_strand GetStrand(void) const

Get the location's strand.

TRange GetTotalRange(void) const

const CSeq_id * GetId(void) const

Get the id of the location return NULL if has multiple ids or no id at all.

void Reset(void)

Reset reference object.

bool NotEmpty(void) const THROWS_NONE

Check if CRef is not empty – pointing to an object and has a non-null value.

position_type GetLength(void) const

CRange< TSeqPos > TSeqRange

typedefs for sequence ranges

#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.

IO_PREFIX::istream CNcbiIstream

Portable alias for istream.

NCBI_NS_STD::string::size_type SIZE_TYPE

static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)

Convert string to int.

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 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 MatchesMask(CTempString str, CTempString mask, ECase use_case=eCase)

Match "str" against the "mask".

static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)

Check if a string ends with a specified suffix value.

static double StringToDouble(const CTempStringEx str, TStringToNumFlags flags=0)

Convert string to double.

static string IntToString(int value, TNumToStringFlags flags=0, int base=10)

Convert int to string.

static string ParseEscapes(const CTempString str, EEscSeqRange mode=eEscSeqRange_Standard, char user_char='?')

Parse C-style escape sequences in the specified string.

bool empty(void) const

Return true if the represented string is empty (i.e., the length is zero)

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 SplitInTwo(const CTempString str, const CTempString delim, string &str1, string &str2, TSplitFlags flags=0)

Split a string into two pieces using the specified delimiters.

static unsigned int StringToUInt(const CTempString str, TStringToNumFlags flags=0, int base=10)

Convert string to unsigned int.

CTempString substr(size_type pos) const

Obtain a substring from this string, beginning at a given offset.

size_type find_first_of(const CTempString match, size_type pos=0) const

Find the first occurrence of any character in the matching string within the current string,...

size_type size(void) const

Return the length of the represented array.

@ fSplit_Tokenize

All delimiters are merged and trimmed, to get non-empty tokens only.

@ fSplit_MergeDelimiters

Merge adjacent delimiters.

TTo GetTo(void) const

Get the To member data.

TFrom GetFrom(void) const

Get the From member data.

bool IsSetLocus(void) const

Official gene symbol Check if a value has been assigned to Locus data member.

const TLocus & GetLocus(void) const

Get the Locus member data.

TStr & SetStr(void)

Select the variant.

TScore & SetScore(void)

Assign a value to Score data member.

TLens & SetLens(void)

Assign a value to Lens data member.

void SetSegs(TSegs &value)

Assign a value to Segs data member.

void SetDim(TDim value)

Assign a value to Dim data member.

void SetType(TType value)

Assign a value to Type data member.

TStarts & SetStarts(void)

Assign a value to Starts data member.

TStrands & SetStrands(void)

Assign a value to Strands data member.

void SetNumseg(TNumseg value)

Assign a value to Numseg data member.

TIds & SetIds(void)

Assign a value to Ids data member.

@ eType_partial

mapping pieces together

TXref & SetXref(void)

Assign a value to Xref data member.

void SetQual(const TQual &value)

Assign a value to Qual data member.

void SetLocation(TLocation &value)

Assign a value to Location data member.

bool IsCdregion(void) const

Check if variant Cdregion is selected.

void SetProduct(TProduct &value)

Assign a value to Product data member.

const TLocation & GetLocation(void) const

Get the Location member data.

TLocal & SetLocal(void)

Select the variant.

const TData & GetData(void) const

Get the Data member data.

void SetId(TId &value)

Assign a value to Id data member.

void SetData(TData &value)

Assign a value to Data data member.

void SetVal(const TVal &value)

Assign a value to Val data member.

TQual & SetQual(void)

Assign a value to Qual data member.

bool IsSetProduct(void) const

product of process Check if a value has been assigned to Product data member.

void SetPoint(TPoint value)

Assign a value to Point data member.

void SetId(TId &value)

Assign a value to Id data member.

ENa_strand

strand of nucleic acid

void SetStrand(TStrand value)

Assign a value to Strand data member.

TFrom GetFrom(void) const

Get the From member data.

E_Choice Which(void) const

Which variant is currently selected.

TGi GetGi(void) const

Get the variant data.

const Tdata & Get(void) const

Get the member data.

bool IsSetStrand(void) const

Check if a value has been assigned to Strand data member.

TStrand GetStrand(void) const

Get the Strand member data.

bool IsGi(void) const

Check if variant Gi is selected.

bool IsInt(void) const

Check if variant Int is selected.

const TInt & GetInt(void) const

Get the variant data.

const TMix & GetMix(void) const

Get the variant data.

@ e_not_set

No variant selected.

@ e_MaxChoice

== e_Named_annot_track+1

TSet & SetSet(void)

Select the variant.

TAnnot & SetAnnot(void)

Assign a value to Annot data member.

void SetDescr(TDescr &value)

Assign a value to Descr data member.

TSeq & SetSeq(void)

Select the variant.

TSeq_set & SetSeq_set(void)

Assign a value to Seq_set data member.

void SetData(TData &value)

Assign a value to Data data member.

TId & SetId(void)

Assign a value to Id data member.

TAnnot & SetAnnot(void)

Assign a value to Annot data member.

const TId & GetId(void) const

Get the Id member data.

list< CRef< CSeq_id > > TId

void SetInst(TInst &value)

Assign a value to Inst data member.

void SetDescr(TDescr &value)

Assign a value to Descr data member.

const TData & GetData(void) const

Get the Data member data.

list< CRef< CSeq_annot > > TAnnot

TUpdate_date & SetUpdate_date(void)

Select the variant.

E_Choice Which(void) const

Which variant is currently selected.

@ eRepr_virtual

no seq data

constexpr bool empty(list< Ts... >) noexcept

const struct ncbi::grid::netcache::search::fields::KEY key

const GenericPointer< typename T::ValueType > T2 value

const CharType(& source)[N]

Defines: CTimeFormat - storage class for time format.

Useful/utility classes and methods.

std::istream & in(std::istream &in_, double &x_)

double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)

static int match(PCRE2_SPTR start_eptr, PCRE2_SPTR start_ecode, uint16_t top_bracket, PCRE2_SIZE frame_size, pcre2_match_data *match_data, match_block *mb)

static const sljit_gpr r2

static SLJIT_INLINE sljit_ins lr(sljit_gpr dst, sljit_gpr src)


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