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/gff3__location__merger_8cpp_source.html below:

NCBI C++ ToolKit: src/objtools/readers/gff3_location_merger.cpp Source File

83

: m_pMessageListener(pListener)

111  string

(

"Bad data line: record ID \""

) +

id

+

"\" is used multiple times"

);

118

mapIt =

mIds

.emplace(

id

, list<CGffIdTrackRecord>()).first;

119

mapIt->second.push_back(trackRecord);

120  if

(!parentId.empty()) {

125  auto

& recordList = mapIt->second;

127  if

(pendingType ==

"exon"

) {

128

recordList.push_back(trackRecord);

129  if

(!parentId.empty()) {

135  if

(!

id

.

empty

()) {

137  auto

expectedType = recordList.front().mSeqType;

138  if

(pendingType != expectedType) {

142  throw

errorDuplicateId;

145  auto

pendingSeqId = record.

Id

();

146  auto

expectedSeqId = recordList.front().mSeqId;

147  if

(pendingSeqId != expectedSeqId) {

151  throw

errorDuplicateId;

155  if

(!parentId.empty()) {

158

recordList.push_back(trackRecord);

173  string

(

"Bad data line: Parent \""

+ parentId +

174  "\" does not refer to a GFF3 record ID"

));

179  throw

errorBadParentId;

194

mIdResolver(idResolver),

195

mIdTracker(pListener),

196

m_pMessageListener(pListener)

210  auto

seqSize = seqSizeIt->second;

216  if

(record.

SeqStart

() >= seqSize) {

217  string

message =

"Bad data line: "

;

218

message +=

"feature in-point is outside the containing sequence."

;

231  string

message =

"Bad data line: "

;

232

message +=

"feature is longer than the entire containing sequence."

;

263  for

(

const auto

&

id

: ids) {

282  LOCATIONS

& locations = existingEntry->second;

284  if

(locations.size() == 1 && locations.front().mType ==

"gene"

) {

288

existingEntry->second.push_front(

location

);

310  if

(recordType ==

"exon"

||

311

recordType ==

"five_prime_utr"

||

312

recordType ==

"three_prime_utr"

) {

322  for

(

auto

&

id

: ids) {

323  id

= record.

Type

() +

":"

+ id;

347  const string

& seqId)

const 350  auto

sizeIt = mSequenceSizes.find(seqId);

351  if

(sizeIt == mSequenceSizes.end()) {

354  return

sizeIt->second;

364  const auto

& seqId = *(locRecord.

mpGffId

);

368  if

(sequenceSize == 0) {

370

pInterval->

SetId

().Assign(seqId);

374

pLocation->

SetInt

(*pInterval);

379  if

(locRecord.

mStart

>= sequenceSize || locRecord. mStop < sequenceSize) {

381

pInterval->

SetId

().Assign(seqId);

383

pInterval->

SetTo

(locRecord.

mStop

% sequenceSize);

385

pLocation->

SetInt

(*pInterval);

389

pTop->

SetId

().Assign(seqId);

391

pTop->

SetTo

(locRecord.

mStop

% sequenceSize);

395

pBottom->

SetId

().Assign(seqId);

397

pBottom->

SetTo

(sequenceSize - 1);

404  if

(locRecord.

mStart

>= sequenceSize || locRecord.

mStop

< sequenceSize) {

406

pInterval->

SetId

().Assign(seqId);

408

pInterval->

SetTo

(locRecord.

mStop

% sequenceSize);

410

pLocation->

SetInt

(*pInterval);

414

pBottom->

SetId

().Assign(seqId);

416

pBottom->

SetTo

(sequenceSize - 1);

420

pTop->

SetId

().Assign(seqId);

422

pTop->

SetTo

(locRecord.

mStop

% sequenceSize);

440  if

(locations.empty()) {

445  if

(locations.size() == 1) {

446  auto

& onlyOne = locations.front();

448

frame = onlyOne.mFrame;

452  auto

& mix = pSeqLoc->

SetMix

();

453  for

(

auto

&

location

: locations) {

457  const auto

&

front

= locations.front();

458

frame =

front

.mFrame;

477  for

(

const auto

&

location

: locations) {

bool GetAttribute(const string &, string &) const

void GetLocation(const string &, CRef< CSeq_loc > &, CCdregion::EFrame &)

map< string, TSeqPos > mSequenceSizes

CReaderListener * m_pMessageListener

void MergeLocation(CRef< CSeq_loc > &, CCdregion::EFrame &, LOCATIONS &)

CGff3ReadRecord::SeqIdResolver mIdResolver

LOCATION_MAP mMapIdToLocations

TSeqPos GetSequenceSize(const string &) const

CRef< CSeq_loc > xGetRecordLocation(const CGff3LocationRecord &)

bool AddRecord(const CGff2Record &)

static bool xGetLocationIds(const CGff2Record &, list< string > &)

list< CGff3LocationRecord > LOCATIONS

CGff3LocationMerger(unsigned int flags=0, CGff3ReadRecord::SeqIdResolver=CReadUtil::AsSeqId, TSeqPos sequenceSize=0, CReaderListener *pListener=nullptr)

void VerifyRecordLocation(const CGff2Record &)

void AddRecordForId(const string &, const CGff2Record &)

static void xSortLocations(LOCATIONS &)

static bool ComparePositions(const CGff3LocationRecord &lhs, const CGff3LocationRecord &rhs)

static bool ComparePartNumbers(const CGff3LocationRecord &lhs, const CGff3LocationRecord &rhs)

CConstRef< CSeq_id > mpGffId

CGff3LocationRecord(const CGff2Record &, unsigned int, CGff3ReadRecord::SeqIdResolver)

CRef< CSeq_id > GetSeqId(TReaderFlags, SeqIdResolver=nullptr) const

const string & Type() const

ENa_strand Strand() const

const string & Id() const

const string & NormalizedType() const

CGffIdTracker(CReaderListener *pListener=nullptr)

CReaderListener * m_pMessageListener

map< string, list< CGffIdTrackRecord > > mIds

void CheckAndIndexRecord(string id, const CGff2Record &record)

const_iterator end() const

const_iterator find(const key_type &key) const

The NCBI C++ standard methods for dealing with std::string.

static const char location[]

unsigned int TSeqPos

Type for sequence locations and lengths.

@ eDiag_Error

Error message.

void SetPacked_int(TPacked_int &v)

CRef< CSeq_loc > Merge(TOpFlags flags, ISynonymMapper *syn_mapper) const

All functions create and return a new seq-loc object.

void SetNull(void)

Override all setters to incorporate cache invalidation.

#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 int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)

Convert string to int.

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

Check if a string ends with a specified suffix value.

@ eFrame_not_set

not set, code uses one

void SetTo(TTo value)

Assign a value to To data member.

void SetId(TId &value)

Assign a value to Id data member.

void SetFrom(TFrom value)

Assign a value to From data member.

virtual void Reset(void)

Reset the whole object.

void SetStrand(TStrand value)

Assign a value to Strand data member.

constexpr auto front(list< Head, As... >, T=T()) noexcept -> Head

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


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