52 currentBlock_ = iterator_->nextBlock();
53 while (currentBlock_) {
54 bool foundRef =
false;
59 for (
size_t i = 0; i < currentBlock_->getNumberOfSequences() && !foundRef; ++i) {
61 if (species == ref_) {
63 chr = currentBlock_->getSequence(i).getChromosome();
64 strand = currentBlock_->getSequence(i).getStrand();
65 start = currentBlock_->getSequence(i).start();
66 stop = currentBlock_->getSequence(i).stop();
71 (*logstream_ <<
"DUPLICATE FILTER: block does not contain reference species and was removed.").endLine();
75 size_t occurrence = blocks_[chr][strand][start][stop]++;
78 (*logstream_ <<
"DUPLICATE FILTER: sequence in reference species was found in a previous block. New block was removed.").endLine();
87 currentBlock_ = iterator_->nextBlock();
MafBlock * analyseCurrentBlock_()
A synteny block data structure, the basic unit of a MAF alignement file.
const MafSequence & getSequence(const std::string &name) const
const std::string & getSpecies() const