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

NCBI C++ ToolKit: src/algo/structure/cd_utils/cuBlock.cpp Source File

37

:m_len(

len

), m_start(start), m_id(

id

)

42

:m_len(

len

), m_start(start), m_id(-1)

47

:m_len(-1), m_start(-1), m_id(-1)

51

:m_len(rhs.m_len), m_start(rhs.m_start), m_id(rhs.m_id)

70  return

!((*this) == rhs);

84  for

(

int

y = y0; y <= y1; y++)

86  if

( y >= x0 && y <= x1)

101  bool

intersected =

false

;

107  if

( y >= x0 && y <= x1)

115  if

( y < x0 || y > x1)

174

comBlock.

m_id

= sit->m_id;

175

comBlock.

m_start

= sit->m_start;

176

comBlock.

m_len

= sit->m_len;

178  for

(; sit !=

blocks

.end(); ++sit)

180  if

( (comBlock.

getEnd

() + 1) != sit->m_start)

184

comBlock.

m_len

+= sit->m_len;

192

: m_blocks(), m_seqId()

197

: m_blocks(), m_seqId()

200

vector<int> lens, starts;

203  assert

(lens.size() == starts.size());

204  for

(

unsigned int i

= 0;

i

< lens.size();

i

++)

221

: m_blocks(rhs.m_blocks), m_seqId(rhs.m_seqId)

251  for

(

unsigned int i

= 0;

i

<

m_blocks

.size();

i

++)

263  for

(

unsigned int i

= 0;

i

<

m_blocks

.size();

i

++)

273  unsigned int

nBlocks =

m_blocks

.size(), commonBlockExtSize = (commonBlockExt) ? commonBlockExt->size() : 0;

274  unsigned int i

, j, k;

276  int

thisStart, thisLen, thisContiguousLen;

277  int

commonNTermBlockZeroExt, nTermShift;

278  int

completeBlockStart, completeBlockLen;

279  int

prevCTermBlockExt, allowedCTermBlockExt, lastCTermBlockExt;

280  int

blockNumberOnThisOfCompleteBlockStart;

281

vector<int> commonCTermBlockExt, gapSizeAfterBlockInThis;

282  bool

useInputBlockExtensions = (commonBlockExt && commonBlockExtSize == nBlocks + 1);

283  bool

completeExtendsIntoGappedRegionInThis =

false

;

290

commonNTermBlockZeroExt = (useInputBlockExtensions) ? (*commonBlockExt)[0] : 0;

291  for

(

i

= 0;

i

< nBlocks; ++

i

)

293  if

(

i

== nBlocks - 1) {

294

seqLen = sequenceLength;

297

commonCTermBlockExt.push_back((useInputBlockExtensions) ? (*commonBlockExt)[

i

+1] : 0);

303

prevCTermBlockExt = 0;

304  for

(j = 0; j < completeCopy.

getBlocks

().size() && !completeExtendsIntoGappedRegionInThis; ++j) {

307

blockNumberOnThisOfCompleteBlockStart = thisCopy.

getBlockNumber

(completeBlockStart);

313  while

(blockNumberOnThisOfCompleteBlockStart < 0 && nTermShift+1 < completeBlockLen) {

315

blockNumberOnThisOfCompleteBlockStart = thisCopy.

getBlockNumber

(completeBlockStart + nTermShift);

319  if

(nTermShift > 0 && blockNumberOnThisOfCompleteBlockStart >= 0) {

320  if

(blockNumberOnThisOfCompleteBlockStart == 0) {

321  if

(commonNTermBlockZeroExt - nTermShift < 0) {

325  if

(gapSizeAfterBlockInThis[blockNumberOnThisOfCompleteBlockStart - 1] - prevCTermBlockExt < nTermShift) {

329

}

else if

(blockNumberOnThisOfCompleteBlockStart < 0) {

333

allowedCTermBlockExt = commonCTermBlockExt[blockNumberOnThisOfCompleteBlockStart];

335

thisStart = thisCopy.

getBlock

(blockNumberOnThisOfCompleteBlockStart).

getStart

();

336

thisLen = thisCopy.

getBlock

(blockNumberOnThisOfCompleteBlockStart).

getLen

();

352  if

(thisStart - completeBlockStart > nTermShift) {

353

completeExtendsIntoGappedRegionInThis =

true

;

358  else if

(thisLen + allowedCTermBlockExt - (completeBlockStart - thisStart) >= completeBlockLen) {

359

prevCTermBlockExt = completeBlockLen - thisLen + (completeBlockStart - thisStart);

360  if

(prevCTermBlockExt < 0) prevCTermBlockExt = 0;

369

k = (unsigned) blockNumberOnThisOfCompleteBlockStart;

370

thisContiguousLen = thisLen + allowedCTermBlockExt;

371

lastCTermBlockExt = allowedCTermBlockExt;

372  while

(k + 1 < gapSizeAfterBlockInThis.size() && gapSizeAfterBlockInThis[k] == commonCTermBlockExt[k]) {

374

lastCTermBlockExt = gapSizeAfterBlockInThis[k];

375

thisContiguousLen += thisCopy.

getBlock

(k).

getLen

() + lastCTermBlockExt;

379  if

(thisContiguousLen - (completeBlockStart - thisStart) >= completeBlockLen) {

384

prevCTermBlockExt = thisContiguousLen - completeBlockLen - (completeBlockStart - thisStart);

385  if

(prevCTermBlockExt > lastCTermBlockExt || prevCTermBlockExt < 0) {

386

prevCTermBlockExt = 0;

389

completeExtendsIntoGappedRegionInThis =

true

;

395  return

completeExtendsIntoGappedRegionInThis;

402  for

(

unsigned int i

= 0;

i

<

m_blocks

.size();

i

++)

417  for

(

unsigned int i

= 0;

i

<

bm

.m_blocks.size();

i

++)

423

uniqueDelta.

insert

(*dit);

427  delta

->insert(*sit);

435  for

(

unsigned int i

= 0;

i

<

bm

.m_blocks.size();

i

++)

449  int

resultBlockID = 0;

450  for

(; dt !=

delta

.end(); ++dt)

453  if

(dt->objectBlockID < 0 || dt->objectBlockID >= (

int

)

m_blocks

.size())

456  return

pair<BlockModel*, bool>(

nullptr

,

false

);

459  Block

block = srcBlock + (*dt);

461  result

->m_blocks.push_back(block);

465  return

pair<BlockModel*, bool>(

result

, (

result

->getBlocks().size() ==

delta

.size()) );

471

pair<DeltaBlockModel*, bool> deltaStatus = target - (*this);

473  if

(!(deltaStatus.second))

475  delete

deltaStatus.first;

478

pair<BlockModel*, bool> bmStatus = (*this) + (*deltaStatus.first);

480  delete

deltaStatus.first;

483  if

(target.

contain

(*(bmStatus.first)))

484  return

bmStatus.first;

487  delete

bmStatus.first;

496

vector<int> blockIds;

498  if

(blockIds.size() <= 0)

500  for

(

unsigned int

j = 0; j < blockIds.size(); j++)

511

vector<int> blockIds;

513  if

(blockIds.size() <= 0)

515  for

(

unsigned int

j = 0; j < blockIds.size(); j++)

517  Block

intersectedBlock(aBlock);

519  delta

.insert(intersectedBlock - aBlock);

526  for

(

unsigned int i

= 0;

i

<

m_blocks

.size();

i

++)

573  for

(

unsigned int i

= 0;

i

<

m_blocks

.size();

i

++)

577

vector< CRef< CSeq_id > >& seqIds = dd->SetIds();

580

masterCopy->Assign(*(master.

getSeqId

()));

582

seqIds.push_back(masterCopy);

583

seqIds.push_back(slaveCopy);

586

starts.push_back(master.

m_blocks

[

i

].getStart());

587

starts.push_back(

m_blocks

[

i

].getStart());

590

ddList.push_back(dd);

599  return

lastBlock.

getEnd

();

611  for

(

unsigned int i

= 0;

i

<

m_blocks

.size();

i

++)

635  if

(bn == (

int

) (

m_blocks

.size() - 1))

651  for

(

unsigned int i

= 1;

i

<

m_blocks

.size();

i

++)

671  for

(

unsigned int i

= 1;

i

<

m_blocks

.size();

i

++)

675

errBlock = (

int

)

i

;

680

errBlock = (

int

)

i

- 1;

692  int

bmLo =

bm

.getFirstAlignedPosition();

693  int

bmHi =

bm

.getLastAlignedPosition();

729

vector<Block> maskedBlocks;

730

vector<Block>& originalBlocks =

getBlocks

();

731  unsigned int i

, nOrigBlocks = originalBlocks.size();

732  unsigned int

nMaskBlocks = maskBlocks.size();

735  int

pos, start,

len

;

736  int

origStart, origEnd;

737  int

j, maskBlockStart, maskBlockEnd, maskFirst, maskLast;

740  if

(nOrigBlocks == 0 || nMaskBlocks == 0)

return false

;

745  for

(

i

= 0;

i

< nMaskBlocks; ++

i

) {

746

maskBlockStart = maskBlocks[

i

].getStart();

747

maskBlockEnd = maskBlocks[

i

].getEnd();

748  for

(j = maskBlockStart; j <= maskBlockEnd; ++j) maskPositions.

insert

(j);

750

maskPosEnd = maskPositions.

end

();

752

maskFirst = maskBlocks[0].getStart();

753

maskLast = maskBlocks.back().getEnd();

755  for

(

i

= 0;

i

< nOrigBlocks; ++

i

) {

756

origStart = originalBlocks[

i

].getStart();

757

origEnd = originalBlocks[

i

].getEnd();

760  if

(origEnd < maskFirst || origStart > maskLast) {

761

maskedBlocks.push_back(originalBlocks[

i

]);

762

maskedBlocks.back().setId(newBlockId);

769  for

(pos = origStart; pos <= origEnd; ++pos) {

772  if

(maskPositions.

find

(pos) != maskPosEnd) {

774

maskedBlocks.push_back(

Block

(start,

len

, newBlockId));

793

maskedBlocks.push_back(

Block

(start,

len

, newBlockId));

801

originalBlocks.clear();

802

originalBlocks = maskedBlocks;

810  unsigned int

nBlocks =

getBlocks

().size();

811  if

(nBlocks == 0)

return

;

813

vector<Block> maskBlocks;

814  int

firstAligned =

getBlocks

().front().getStart();

815  int

lastAligned =

getBlocks

().back().getEnd();

818  if

(firstAligned < (

int

)

min

) {

819

maskBlocks.push_back(

Block

(firstAligned,

min

- firstAligned));

822  if

(lastAligned > (

int

)

max

) {

823

maskBlocks.push_back(

Block

(

max

+ 1, lastAligned -

max

));

832  string

blockModelStr,

tmp

;

833  unsigned int

nBlocks =

m_blocks

.size();

839  for

(

unsigned int i

= 0;

i

< nBlocks; ++

i

) {

844

blockModelStr +=

tmp

;

846  return

blockModelStr;

851  string

deltaBlockModelStr,

tmp

;

854  for

(; dbm_cit != dbm_citEnd; ++dbm_cit) {

860

deltaBlockModelStr +=

tmp

;

862  return

deltaBlockModelStr;

866  return bm

.toString();

872

m_master(0), m_slave(0)

949  for

(

int i

= 0;

i

< num;

i

++)

961  if

(ngap > ngapSlave)

965  if

(cgap > cgapSlave)

1020

pair<BlockModel*, bool> intersectedGuideSlave = guide.

getSlave

() + *(deltaGuideToThis.first);

1024

pair<BlockModel*, bool> intersectedThisSlave = (*m_slave) + *(deltaThisToGuide.first);

1026  if

(intersectedGuideSlave.first && intersectedThisSlave.first) {

1028  assert

((intersectedGuideSlave.first)->blockMatch(*(intersectedThisSlave.first)));

1033  m_master

= intersectedGuideSlave.first;

1034  m_slave

= intersectedThisSlave.first;

1047  bool

hasEffect =

false

;

1049

vector<Block>& newBlocks = maskedBm.

getBlocks

();

1050  unsigned int i

, nBlocks = newBlocks.size();

1054  if

(maskBlocks.size() > 0 && nBlocks > 0 && maskedBm.

mask

(maskBlocks)) {

1060

newOtherBlocks.clear();

1061  for

(

i

= 0;

i

< nBlocks; ++

i

) {

1063

pos =

b

.getStart();

1065  if

(mappedPos >= 0) {

1066

newOtherBlocks.push_back(

Block

(mappedPos,

b

.getLen(),

b

.getId()));

int mapToSlave(int masterPos) const

BlockModelPair & operator=(const BlockModelPair &rhs)

CRef< CSeq_align > toSeqAlign() const

int mapToMaster(int slavePos) const

int remaster(const BlockModelPair &guide)

void extendMidway(int blockNum)

bool mask(const vector< Block > &maskBlocks, bool maskBasedOnMaster)

int getTotalBlockLength() const

bool mask(const BlockModel &maskBlockModel)

BlockModel * completeCastTo(const BlockModel &target) const

CRef< CSeq_id > getSeqId() const

int getLastAlignedPosition() const

bool isValid(int seqLen, int &errBlock) const

bool contain(const BlockModel &rhs) const

CRef< CSeq_align > toSeqAlign(const BlockModel &master) const

int getFirstAlignedPosition() const

bool completeModelExtendsIntoUnallowedGappedRegion(const BlockModel &completeModel, int sequenceLength, const vector< int > *commonBlockExt=NULL) const

void addBlock(Block &block)

int getGapToNTerminal(int bn) const

int getGapToCTerminal(int bn, int len=-1) const

pair< DeltaBlockModel *, bool > intersect(const BlockModel &bm) const

void findIntersectingBlocks(const Block &target, vector< int > &result) const

vector< Block > & getBlocks()

void clipToRange(unsigned int min, unsigned max)

pair< DeltaBlockModel *, bool > operator-(const BlockModel &bm) const

bool overlap(const BlockModel &bm) const

BlockModel & operator=(const BlockModel &rhs)

bool blockMatch(const BlockModel &bm) const

bool minusOneBlock(const Block &aBlock, DeltaBlockModel &delta) const

int getBlockNumber(int pos) const

pair< BlockModel *, bool > operator+(const DeltaBlockModel &delta) const

bool isAlike(const BlockModel &rhs) const

bool intersectOneBlock(const Block &aBlock, DeltaBlockModel &delta) const

bool operator==(const BlockModel &rhs) const

DeltaBlock operator-(const Block &object) const

bool intersect(Block &rhs) const

bool isIntersecting(const Block &rhs) const

static bool concatenate(const SortedBlocks &blocks, Block &comBlock)

bool contain(const Block &rhs) const

Block extend(int nExt, int cExt) const

bool operator!=(const Block &rhs) const

Block operator+(const DeltaBlock &deltaBlock) const

const Block & operator=(const Block &rhs)

void extendSelf(int nExt, int cExt)

bool operator==(const Block &rhs) const

const_iterator begin() const

const_iterator end() const

parent_type::iterator iterator

parent_type::const_iterator const_iterator

iterator_bool insert(const value_type &val)

const_iterator begin() const

parent_type::iterator iterator

const_iterator find(const key_type &key) const

const_iterator end() const

parent_type::const_iterator const_iterator

CSeq_align::C_Segs::TDendiag TDendiag

int GetBlockLengths(const CRef< CSeq_align > &seqAlign, vector< int > &lengths)

bool GetSeqID(const CRef< CSeq_align > &seqAlign, CRef< CSeq_id > &SeqID, bool getSlave=true)

int GetBlockStarts(const CRef< CSeq_align > &seqAlign, vector< int > &starts, bool onMaster)

string DeltaBlockModelToString(const DeltaBlockModel &dbm)

multiset< DeltaBlock > DeltaBlockModel

bool SeqIdsMatch(const CRef< CSeq_id > &id1, const CRef< CSeq_id > &id2)

string GetSeqIDStr(const CRef< CSeq_id > &SeqID)

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

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

bool NotEmpty(void) const THROWS_NONE

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

#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 string IntToString(int value, TNumToStringFlags flags=0, int base=10)

Convert int to string.

void SetSegs(TSegs &value)

Assign a value to Segs data member.

void SetDim(TDim value)

Assign a value to Dim data member.

vector< TSeqPos > TStarts

void SetType(TType value)

Assign a value to Type data member.

virtual void Reset(void)

Reset the whole object.

@ eType_partial

mapping pieces together

unsigned int

A callback function used to compare two keys in a database.

Int4 delta(size_t dimension_, const Int4 *score_)

static DP_BlockInfo * blocks


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