bpp-seq-omics
2.4.1
|
Filter maf blocks to remove ambiguously aligned or non-informative regions. More...
#include <Bpp/Seq/Io/Maf/AlignmentFilterMafIterator.h>
Public Member Functions | |
AlignmentFilterMafIterator (MafIterator *iterator, const std::vector< std::string > &species, unsigned int windowSize, unsigned int step, unsigned int maxGap, double maxEnt, bool keepTrashedBlocks, bool missingAsGap) | |
Create a new AlignmentFilterMafIterator with absolute thresholds. More... | |
AlignmentFilterMafIterator (MafIterator *iterator, const std::vector< std::string > &species, unsigned int windowSize, unsigned int step, double maxPropGap, double maxEnt, bool keepTrashedBlocks, bool missingAsGap) | |
Create a new AlignmentFilterMafIterator with relative thresholds. More... | |
MafBlock * | nextRemovedBlock () |
Get the next available removed alignment block. More... | |
void | setLogStream (std::shared_ptr< OutputStream > logstream) |
void | addIterationListener (IterationListener *listener) |
MafBlock * | nextBlock () |
Get the next available alignment block. More... | |
bool | isVerbose () const |
void | setVerbose (bool yn) |
Protected Member Functions | |
virtual void | fireIterationStartSignal_ () |
virtual void | fireIterationMoveSignal_ (const MafBlock ¤tBlock) |
virtual void | fireIterationStopSignal_ () |
Protected Attributes | |
MafIterator * | iterator_ |
MafBlock * | currentBlock_ |
std::shared_ptr< OutputStream > | logstream_ |
std::vector< IterationListener * > | iterationListeners_ |
bool | started_ |
bool | verbose_ |
Private Member Functions | |
MafBlock * | analyseCurrentBlock_ () |
Private Attributes | |
std::vector< std::string > | species_ |
unsigned int | windowSize_ |
unsigned int | step_ |
unsigned int | maxGap_ |
double | maxPropGap_ |
double | maxEnt_ |
std::deque< MafBlock * > | blockBuffer_ |
std::deque< MafBlock * > | trashBuffer_ |
std::deque< std::vector< int > > | window_ |
bool | keepTrashedBlocks_ |
bool | missingAsGap_ |
bool | relative_ |
Filter maf blocks to remove ambiguously aligned or non-informative regions.
Regions with a too high proportion of gaps, unknown character or high entropy in a set of species will be removed, and blocks adjusted accordingly.
The total entropy of a window is defined as where is the shannon entropy of site i, computed using a logarithm of base 5, and w is the window size. As a result, the total entropy is normalized so that it falls between 0 and 1. A logarithm of base 5 is used to account for the fact that gaps are considered as a state.
In case a sequence from the list is missing, it can be either ignored or counted as a full sequence of gaps.
Definition at line 63 of file AlignmentFilterMafIterator.h.
|
inline |
Create a new AlignmentFilterMafIterator with absolute thresholds.
iterator | Input iterator |
species | Selection of species on which filtering criteria are applied. Results of filtering will be applied to all species. |
windowSize | Size of the sliding window (nt). |
step | Step by which windows are moved (nt). |
maxGap | Maximum number of gaps allowed in the window. |
maxEnt | Maximum entropy allowed in the window. |
keepTrashedBlocks | Removed windows are kept as separate blocks. |
missingAsGap | Add missing species as gap sequences where needed. |
Definition at line 96 of file AlignmentFilterMafIterator.h.
|
inline |
Create a new AlignmentFilterMafIterator with relative thresholds.
iterator | Input iterator |
species | Selection of species on which filtering criteria are applied. Results of filtering will be applied to all species. |
windowSize | Size of the sliding window (nt). |
step | Step by which windows are moved (nt). |
maxPropGap | Maximum proportion of gaps allowed in the window. |
maxEnt | Maximum entropy allowed in the window. |
keepTrashedBlocks | Removed windows are kept as separate blocks. |
missingAsGap | Add missing species as gap sequences where needed. |
Definition at line 132 of file AlignmentFilterMafIterator.h.
|
inlinevirtualinherited |
Implements bpp::MafIterator.
Definition at line 99 of file MafIterator.h.
References bpp::AbstractMafIterator::iterationListeners_.
|
privatevirtual |
Implements bpp::AbstractMafIterator.
Definition at line 50 of file AlignmentFilterMafIterator.cpp.
References bpp::MafBlock::addSequence(), bpp::ApplicationTools::displayGauge(), bpp::ApplicationTools::displayTask(), bpp::ApplicationTools::displayTaskDone(), bpp::AlphabetTools::DNA_ALPHABET, bpp::SequenceWithAnnotation::getContent(), bpp::MafBlock::getDescription(), bpp::DNA::getGapCharacterCode(), bpp::MafBlock::getNumberOfSequences(), bpp::MafBlock::getNumberOfSites(), bpp::MafBlock::getPass(), bpp::MafBlock::getScore(), bpp::MafBlock::getSequence(), bpp::MafBlock::getSequenceForSpecies(), bpp::MafBlock::getSpeciesList(), bpp::DNA::getUnknownCharacterCode(), bpp::MafBlock::hasSequenceForSpecies(), bpp::ApplicationTools::message, bpp::MafBlock::setPass(), bpp::MafBlock::setScore(), bpp::MafSequence::subSequence(), bpp::TextTools::toString(), and bpp::VectorTools::vectorIntersection().
|
protectedvirtualinherited |
Definition at line 57 of file MafIterator.cpp.
Referenced by bpp::AbstractMafIterator::nextBlock().
|
protectedvirtualinherited |
Definition at line 51 of file MafIterator.cpp.
Referenced by bpp::AbstractMafIterator::nextBlock().
|
protectedvirtualinherited |
Definition at line 63 of file MafIterator.cpp.
Referenced by bpp::AbstractMafIterator::nextBlock().
|
inlinevirtualinherited |
Implements bpp::MafIterator.
Definition at line 116 of file MafIterator.h.
References bpp::AbstractMafIterator::verbose_.
|
inlinevirtualinherited |
Get the next available alignment block.
Implements bpp::MafIterator.
Definition at line 103 of file MafIterator.h.
References bpp::AbstractMafIterator::analyseCurrentBlock_(), bpp::AbstractMafIterator::fireIterationMoveSignal_(), bpp::AbstractMafIterator::fireIterationStartSignal_(), bpp::AbstractMafIterator::fireIterationStopSignal_(), and bpp::AbstractMafIterator::started_.
|
inlinevirtual |
Get the next available removed alignment block.
Implements bpp::MafTrashIterator.
Definition at line 157 of file AlignmentFilterMafIterator.h.
References trashBuffer_.
|
inlineinherited |
Definition at line 178 of file MafIterator.h.
References bpp::AbstractFilterMafIterator::logstream_.
|
inlinevirtualinherited |
Implements bpp::MafIterator.
Definition at line 117 of file MafIterator.h.
References bpp::AbstractMafIterator::verbose_.
|
private |
Definition at line 74 of file AlignmentFilterMafIterator.h.
|
protectedinherited |
Definition at line 154 of file MafIterator.h.
Referenced by bpp::BlockLengthMafIterator::analyseCurrentBlock_(), bpp::BlockSizeMafIterator::analyseCurrentBlock_(), bpp::MafIteratorSynchronizer::analyseCurrentBlock_(), bpp::MsmcOutputMafIterator::analyseCurrentBlock_(), bpp::OrderFilterMafIterator::analyseCurrentBlock_(), bpp::OutputMafIterator::analyseCurrentBlock_(), bpp::PlinkOutputMafIterator::analyseCurrentBlock_(), bpp::SequenceStatisticsMafIterator::analyseCurrentBlock_(), bpp::TableOutputMafIterator::analyseCurrentBlock_(), bpp::VcfOutputMafIterator::analyseCurrentBlock_(), and bpp::AbstractFilterMafIterator::operator=().
|
protectedinherited |
Definition at line 89 of file MafIterator.h.
Referenced by bpp::AbstractMafIterator::addIterationListener().
|
protectedinherited |
Definition at line 153 of file MafIterator.h.
Referenced by bpp::BlockLengthMafIterator::analyseCurrentBlock_(), bpp::BlockSizeMafIterator::analyseCurrentBlock_(), bpp::MafIteratorSynchronizer::analyseCurrentBlock_(), bpp::MsmcOutputMafIterator::analyseCurrentBlock_(), bpp::OrderFilterMafIterator::analyseCurrentBlock_(), bpp::OutputMafIterator::analyseCurrentBlock_(), bpp::PlinkOutputMafIterator::analyseCurrentBlock_(), bpp::SequenceStatisticsMafIterator::analyseCurrentBlock_(), bpp::TableOutputMafIterator::analyseCurrentBlock_(), bpp::VcfOutputMafIterator::analyseCurrentBlock_(), and bpp::AbstractFilterMafIterator::operator=().
|
private |
Definition at line 77 of file AlignmentFilterMafIterator.h.
|
protectedinherited |
Definition at line 155 of file MafIterator.h.
Referenced by bpp::BlockLengthMafIterator::analyseCurrentBlock_(), bpp::BlockSizeMafIterator::analyseCurrentBlock_(), bpp::AbstractFilterMafIterator::operator=(), and bpp::AbstractFilterMafIterator::setLogStream().
|
private |
Definition at line 73 of file AlignmentFilterMafIterator.h.
|
private |
Definition at line 71 of file AlignmentFilterMafIterator.h.
|
private |
Definition at line 72 of file AlignmentFilterMafIterator.h.
|
private |
Definition at line 78 of file AlignmentFilterMafIterator.h.
|
private |
Definition at line 79 of file AlignmentFilterMafIterator.h.
|
private |
Definition at line 68 of file AlignmentFilterMafIterator.h.
|
protectedinherited |
Definition at line 90 of file MafIterator.h.
Referenced by bpp::AbstractMafIterator::nextBlock().
|
private |
Definition at line 70 of file AlignmentFilterMafIterator.h.
|
private |
Definition at line 75 of file AlignmentFilterMafIterator.h.
Referenced by nextRemovedBlock().
|
protectedinherited |
Definition at line 91 of file MafIterator.h.
Referenced by bpp::AbstractMafIterator::isVerbose(), and bpp::AbstractMafIterator::setVerbose().
|
private |
Definition at line 76 of file AlignmentFilterMafIterator.h.
|
private |
Definition at line 69 of file AlignmentFilterMafIterator.h.