57 while (blockBuffer_.size() == 0) {
59 MafBlock* block = iterator_->nextBlock();
63 size_t size = windowSize_;
67 case (RAGGED_RIGHT) : { pos = bSize % windowSize_;
break; }
68 case (CENTER) : { pos = (bSize % windowSize_) / 2;
break; }
70 size_t x = bSize / windowSize_;
71 if (x == 0) size = bSize;
72 else size = bSize / x;
78 for(
size_t i = pos; i + size < bSize; i += size) {
82 if (align_ == ADJUST) {
83 if (bSize - (i + size) > 0 && bSize - (i + size) < size) {
94 blockBuffer_.push_back(newBlock);
99 MafBlock* nxtBlock = blockBuffer_.front();
100 blockBuffer_.pop_front();
void setScore(double score)
unsigned int getPass() const
MafBlock * analyseCurrentBlock_()
static const short RAGGED_RIGHT
size_t getNumberOfSites() const
static const short CENTER
MafSequence * subSequence(size_t startAt, size_t length) const
Extract a sub-sequence.
A synteny block data structure, the basic unit of a MAF alignement file.
void addSequence(const MafSequence &sequence)
static const short ADJUST
static const short RAGGED_LEFT
void setPass(unsigned int pass)
size_t getNumberOfSequences() const
const MafSequence & getSequence(const std::string &name) const