mems::ProgressiveAligner Class Reference

Computes multiple genome alignments using a progressive alignment algorithm. More...

#include <ProgressiveAligner.h>

Inheritance diagram for mems::ProgressiveAligner:

Inheritance graph
[legend]
Collaboration diagram for mems::ProgressiveAligner:

Collaboration graph
[legend]
List of all members.

Public Types

enum  LcbScoringScheme { AncestralScoring, AncestralSumOfPairsScoring, ExtantSumOfPairsScoring }

Public Member Functions

void align (std::vector< genome::gnSequence * > &seq_table, mems::IntervalList &interval_list)
void alignNodes (node_id_t node1, node_id_t node2, node_id_t ancestor)
 align the sequences at the designated pair of alignment tree nodes

void alignPP (mems::IntervalList &prof1, mems::IntervalList &prof2, mems::IntervalList &interval_list)
void alignProfileToProfile (node_id_t node1, node_id_t node2, node_id_t ancestor)
 constructs an alignment of node1 and node2 at their ancestor

void computeAvgAncestralMatchScores (std::vector< TrackingMatch > &tracking_matches, std::vector< node_id_t > &node1_descendants, std::vector< node_id_t > &node2_descendants, boost::multi_array< double, 3 > &tm_score_array)
void computeInternalNodeDistances (boost::multi_array< double, 2 > &bp_dist_mat, boost::multi_array< double, 2 > &cons_dist_mat, std::vector< node_id_t > &node1_descendants, std::vector< node_id_t > &node2_descendants)
void constructLcbTrackingMatches (node_id_t ancestral_node, std::vector< mems::AbstractMatch * > &ancestral_matches, std::vector< mems::LcbTrackingMatch< mems::AbstractMatch * > > &tracking_matches)
void ConstructSuperIntervalFromMSA (node_id_t ancestor, size_t ans_siv, mems::GappedAlignment &gal)
void createAncestralOrdering (std::vector< mems::Interval * > &interval_list, std::vector< SuperInterval > &ancestral_sequence)
void CreatePairwiseBPDistance (boost::multi_array< double, 2 > &bp_distmat)
void doGappedAlignment (node_id_t ancestor, bool profile_aln)
void extractAlignment (node_id_t ancestor, size_t super_iv, mems::CompactGappedAlignment<> &cga)
void extractAlignment (node_id_t ancestor, size_t super_iv, mems::GappedAlignment &gal)
void FixLeftEnds (node_id_t ancestor)
void getAlignedChildren (node_id_t node, std::vector< node_id_t > &descendants)
 determine which extant sequences have been aligned at a given node

void getAncestralMatches (const std::vector< node_id_t > node1_seqs, const std::vector< node_id_t > node2_seqs, node_id_t node1, node_id_t node2, node_id_t ancestor, std::vector< mems::AbstractMatch * > &ancestral_matches)
double getBpDistEstimateMinScore (void)
double getBreakpointDistanceScale (void)
double getConservationDistanceScale (void)
LcbScoringScheme getLcbScoringScheme (void)
void getPairwiseMatches (const std::vector< node_id_t > &node1_seqs, const std::vector< node_id_t > &node2_seqs, Matrix< mems::MatchList > &pairwise_matches)
void getPath (node_id_t first_n, node_id_t last_n, std::vector< node_id_t > &path)
 determine which extant sequences have been aligned at a given node

void getRepresentativeAncestralMatches (const std::vector< node_id_t > node1_seqs, const std::vector< node_id_t > node2_seqs, node_id_t node1, node_id_t node2, node_id_t ancestor, std::vector< mems::AbstractMatch * > &ancestral_matches)
bool getUseLcbWeightScaling (void)
bool getUseSeedFamilies (void)
void linkSuperIntervals (node_id_t node1, uint seqI, node_id_t ancestor)
ProgressiveAligneroperator= (const ProgressiveAligner &al)
void pairwiseAnchorSearch (mems::MatchList &r_list, mems::Match *r_begin, mems::Match *r_end, const mems::AbstractMatch *iv, uint oseqI, uint oseqJ)
void pairwiseScoreTrackingMatches (std::vector< mems::TrackingMatch > &tracking_matches, std::vector< node_id_t > &node1_descendants, std::vector< node_id_t > &node2_descendants, boost::multi_array< double, 3 > &tm_score_array)
 ProgressiveAligner (const ProgressiveAligner &al)
 ProgressiveAligner (uint seq_count)
 Constructs an aligner for the specified number of sequences.

template<class MatchType> void propagateDescendantBreakpoints (node_id_t node1, uint seqI, std::vector< MatchType * > &iv_list)
template<class GappedAlignmentType> void recurseOnPairs (const std::vector< node_id_t > &node1_seqs, const std::vector< node_id_t > &node2_seqs, const GappedAlignmentType &iv, Matrix< mems::MatchList > &matches, Matrix< std::vector< mems::search_cache_t > > &search_cache_db, Matrix< std::vector< mems::search_cache_t > > &new_cache_db, boost::multi_array< std::vector< std::vector< int64 > >, 2 > &iv_regions)
void recursiveApplyAncestralBreakpoints (node_id_t ancestor)
void refineAlignment (mems::GappedAlignment &gal, node_id_t ancestor, bool profile_aln, AlnProgressTracker &apt)
void setBpDistEstimateMinScore (double min_score)
void setBreakpointDistanceScale (double bp_dist_scale)
void setBreakpointPenalty (double bp_penalty)
 sets the breakpoint penalty

void setCollinear (boolean collinear)
 assume all genomes are collinear when set to true

void setConservationDistanceScale (double conservation_dist_scale)
void setGappedAlignment (bool do_gapped_alignment)
 Set whether iterative refinement using MUSCLE should be performed (true/false).

void setInputGuideTreeFileName (std::string &fname)
 use a precomputed guide tree stored in the given file

void setLcbScoringScheme (LcbScoringScheme scheme)
 set LCB the scoring scheme

void SetMaxGappedAlignmentLength (size_t len)
 set the max length (in columns) of alignments passed to MUSCLE

void setMinimumBreakpointPenalty (double min_bp_penalty)
 sets the the minimum breakpoint penalty after scaling

void setOutputGuideTreeFileName (std::string &fname)
 write the guide tree stored to the given file

void setPairwiseMatches (mems::MatchList &pair_ml)
 use a list of precomputed matches instead of computing them

void setPairwiseScoringScheme (const mems::PairwiseScoringScheme &pss)
void setRefinement (bool refine)
 Set whether iterative refinement using MUSCLE should be performed (true/false).

void SetUseCacheDb (bool cbd)
 set whether a cache database should be used to speed up recursive anchor search

void setUseLcbWeightScaling (bool use_weight_scaling)
void setUseSeedFamilies (bool use_seed_families)
void translateGappedCoordinates (std::vector< mems::AbstractMatch * > &ml, uint seqI, node_id_t extant, node_id_t ancestor)
bool validatePairwiseIntervals (node_id_t node1, node_id_t node2, std::vector< mems::Interval * > &pair_iv)
bool validateSuperIntervals (node_id_t node1, node_id_t node2, node_id_t ancestor)
 ~ProgressiveAligner ()

Protected Member Functions

void getAlignment (mems::IntervalList &interval_list)

Protected Attributes

PhyloTree< AlignmentTreeNodealignment_tree
double bp_dist_estimate_score
 the minimum LCB score to use when estimating BP distance

double bp_dist_scale
boost::multi_array< double, 2 > bp_distance
 pairwise breakpoint distances

double breakpoint_penalty
double conservation_dist_scale
boost::multi_array< double, 2 > conservation_distance
 pairwise genome conservation distances

boolean debug
 Flag for debugging output.

std::string input_guide_tree_fname
size_t max_gapped_alignment_length
double min_breakpoint_penalty
std::vector< uintnode_sequence_map
mems::MatchList original_ml
 The list of matches calculated among all sequences.

std::string output_guide_tree_fname
boolean refine
LcbScoringScheme scoring_scheme
std::vector< SeedOccurrenceListsol_list
mems::PairwiseScoringScheme subst_scoring
bool use_seed_families
bool use_weight_scaling
bool using_cache_db

Detailed Description

Computes multiple genome alignments using a progressive alignment algorithm.

Definition at line 53 of file ProgressiveAligner.h.


Member Enumeration Documentation

enum mems::ProgressiveAligner::LcbScoringScheme
 

Enumeration values:
AncestralScoring 
AncestralSumOfPairsScoring 
ExtantSumOfPairsScoring 

Definition at line 90 of file ProgressiveAligner.h.

Referenced by getLcbScoringScheme().


Constructor & Destructor Documentation

mems::ProgressiveAligner::ProgressiveAligner uint  seq_count  ) 
 

Constructs an aligner for the specified number of sequences.

Parameters:
seq_count The number of sequences that will be aligned with this Aligner

Definition at line 134 of file ProgressiveAligner.cpp.

References max_gapped_alignment_length, mems::max_window_size, and uint.

mems::ProgressiveAligner::ProgressiveAligner const ProgressiveAligner al  ) 
 

mems::ProgressiveAligner::~ProgressiveAligner  )  [inline]
 

Definition at line 243 of file ProgressiveAligner.h.

References original_ml.


Member Function Documentation

void mems::ProgressiveAligner::align std::vector< genome::gnSequence * > &  seq_table,
mems::IntervalList interval_list
 

Definition at line 3741 of file ProgressiveAligner.cpp.

References mems::debug_aligner.

void mems::ProgressiveAligner::alignNodes node_id_t  node1,
node_id_t  node2,
node_id_t  ancestor
 

align the sequences at the designated pair of alignment tree nodes

Definition at line 2905 of file ProgressiveAligner.cpp.

References alignment_tree, alignProfileToProfile(), and mems::markAligned().

Referenced by getAlignment().

void mems::ProgressiveAligner::alignPP mems::IntervalList prof1,
mems::IntervalList prof2,
mems::IntervalList interval_list
 

Definition at line 3531 of file ProgressiveAligner.cpp.

References CreateTempFileName(), mems::MuscleInterface::CreateTree(), mems::debug_aligner, mems::DistanceMatrix(), mems::EliminateOverlaps_v2(), mems::getDefaultBpDistEstimateMinScore(), mems::getDefaultBreakpointPenalty(), mems::makeAlignmentTree(), mems::MatchList, node_id_t, mems::print2d_matrix(), PhyloTree< AlignmentTreeNode >::readTree(), registerFileToDelete(), PhyloTree< AlignmentTreeNode >::size(), and uint.

void mems::ProgressiveAligner::alignProfileToProfile node_id_t  node1,
node_id_t  node2,
node_id_t  ancestor
 

constructs an alignment of node1 and node2 at their ancestor

< the node id's of extant sequences below node 1

< the node id's of extant sequences below node 2

A cache of regions that were searched in the previous round of recursion

Definition at line 1997 of file ProgressiveAligner.cpp.

References mems::addUnalignedIntervals_v2(), mems::cachecomp(), mems::computeID(), mems::computeLCBAdjacencies_v3(), mems::ComputeLCBs_v2(), mems::GenericInterval< GappedBaseImpl >::Copy(), mems::countUnrefined(), mems::dbg_count, mems::debug_aligner, mems::debug_me, mems::EliminateOverlaps_v2(), mems::filterMatches_v2(), mems::GetAlignment(), getDescendants(), mems::GenericInterval< GappedBaseImpl >::GetMatches(), mems::getPairwiseLCBs(), mems::EvenFasterSumOfPairsBreakpointScorer::getResults(), mems::greedyBreakpointElimination_v4(), mems::greedySearch(), mems::IdentifyBreakpoints(), mems::initTrackingMatchLCBTracking(), mems::Interval, mems::SparseAbstractMatch<>::LeftEnd(), mems::markAsRefined(), mems::MatchList, mems::mergeUnalignedIntervals(), mems::multFilter(), mems::PairwiseLCBMatrix, mems::print2d_matrix(), printMemUsage(), mems::search_cache_t, mems::SearchLCBGaps(), mems::GenericMatchList< MatchPtrType >::seq_table, mems::SparseAbstractMatch<>::SeqCount(), mems::SimpleGetLCBCoverage(), and uint.

Referenced by alignNodes().

void mems::ProgressiveAligner::computeAvgAncestralMatchScores std::vector< TrackingMatch > &  tracking_matches,
std::vector< node_id_t > &  node1_descendants,
std::vector< node_id_t > &  node2_descendants,
boost::multi_array< double, 3 > &  tm_score_array
 

Definition at line 1796 of file ProgressiveAligner.cpp.

References getAlignedChildren(), node_id_t, and uint.

Referenced by pairwiseScoreTrackingMatches().

void mems::ProgressiveAligner::computeInternalNodeDistances boost::multi_array< double, 2 > &  bp_dist_mat,
boost::multi_array< double, 2 > &  cons_dist_mat,
std::vector< node_id_t > &  node1_descendants,
std::vector< node_id_t > &  node2_descendants
 

Definition at line 1856 of file ProgressiveAligner.cpp.

References bp_distance, conservation_distance, getAlignedChildren(), node_id_t, node_sequence_map, and uint.

void mems::ProgressiveAligner::constructLcbTrackingMatches node_id_t  ancestral_node,
std::vector< mems::AbstractMatch * > &  ancestral_matches,
std::vector< mems::LcbTrackingMatch< mems::AbstractMatch * > > &  tracking_matches
 

Definition at line 1537 of file ProgressiveAligner.cpp.

References alignment_tree, mems::bitset_t, mems::CompactGappedAlignment< BaseType >::Copy(), mems::CompactGappedAlignment< BaseType >::copyRange(), mems::debugging_cltm, mems::CompactGappedAlignment< BaseType >::GetAlignment(), mems::CompactGappedAlignment< BaseType >::Invert(), mems::LcbTrackingMatch< MatchType >::match_id, node_id_t, mems::LcbTrackingMatch< MatchType >::node_match, node_sequence_map, mems::LcbTrackingMatch< MatchType >::original_match, propagateDescendantBreakpoints(), mems::CompactGappedAlignment< BaseType >::SetAlignment(), mems::TrackingMatch, mems::CompactGappedAlignment< BaseType >::translate(), and uint.

void mems::ProgressiveAligner::ConstructSuperIntervalFromMSA node_id_t  ancestor,
size_t  ans_siv,
mems::GappedAlignment gal
 

Definition at line 1384 of file ProgressiveAligner.cpp.

References alignment_tree, mems::bitset_t, mems::CompactGappedAlignment< BaseType >::Copy(), getAlignedChildren(), mems::GetAlignment(), mems::Interval, mems::CompactGappedAlignment< BaseType >::Invert(), node_id_t, node_sequence_map, mems::propagateInvert(), mems::CompactGappedAlignment< BaseType >::SetAlignment(), PhyloTree< AlignmentTreeNode >::size(), and uint.

Referenced by doGappedAlignment().

void mems::ProgressiveAligner::createAncestralOrdering std::vector< mems::Interval * > &  interval_list,
std::vector< SuperInterval > &  ancestral_sequence
 

Definition at line 2703 of file ProgressiveAligner.cpp.

References mems::debug_aligner, and uint.

void mems::ProgressiveAligner::CreatePairwiseBPDistance boost::multi_array< double, 2 > &  bp_distmat  ) 
 

Definition at line 3335 of file ProgressiveAligner.cpp.

References mems::computeLCBAdjacencies_v3(), mems::ComputeLCBs_v2(), mems::EliminateOverlaps_v2(), mems::filterMatches_v2(), mems::getDefaultBreakpointMax(), mems::GetPairwiseAnchorScore(), mems::greedyBreakpointElimination_v4(), mems::IdentifyBreakpoints(), mems::MatchList, mems::GenericMatchList< MatchPtrType >::MultiplicityFilter(), mems::GenericMatchList< MatchPtrType >::seq_table, and uint.

void mems::ProgressiveAligner::doGappedAlignment node_id_t  ancestor,
bool  profile_aln
 

Definition at line 1207 of file ProgressiveAligner.cpp.

References alignment_tree, mems::AbstractGappedAlignment< SparseAbstractMatch<> >::AlignmentLength(), ConstructSuperIntervalFromMSA(), mems::AlnProgressTracker::cur_leftend, mems::debug_aligner, extractAlignment(), FixLeftEnds(), mems::SparseAbstractMatch<>::Multiplicity(), node_id_t, mems::AlnProgressTracker::prev_progress, printMemUsage(), mems::printProgress(), refineAlignment(), PhyloTree< AlignmentTreeNode >::size(), mems::AlnProgressTracker::total_len, uint, and validateSuperIntervals().

Referenced by getAlignment().

void mems::ProgressiveAligner::extractAlignment node_id_t  ancestor,
size_t  super_iv,
mems::CompactGappedAlignment<> &  cga
 

Definition at line 3205 of file ProgressiveAligner.cpp.

References alignment_tree, mems::CompactGappedAlignment< BaseType >::Copy(), mems::UngappedLocalAlignment< AbstractMatchImpl >::Copy(), mems::CompactGappedAlignment< BaseType >::Free(), mems::CompactGappedAlignment< BaseType >::GetAlignment(), mems::SuperInterval::LeftEnd(), mems::SuperInterval::Length(), mems::Match, node_id_t, node_sequence_map, mems::CompactGappedAlignment< BaseType >::SetAlignment(), mems::UngappedLocalAlignment< AbstractMatchImpl >::SetLength(), PhyloTree< AlignmentTreeNode >::size(), translateGappedCoordinates(), and uint.

void mems::ProgressiveAligner::extractAlignment node_id_t  ancestor,
size_t  super_iv,
mems::GappedAlignment gal
 

Definition at line 3188 of file ProgressiveAligner.cpp.

References mems::GetAlignment().

Referenced by doGappedAlignment(), and getAlignment().

void mems::ProgressiveAligner::FixLeftEnds node_id_t  ancestor  ) 
 

Definition at line 1257 of file ProgressiveAligner.cpp.

References alignment_tree, mems::SuperInterval::LeftEnd(), mems::SuperInterval::Length(), node_id_t, PhyloTree< AlignmentTreeNode >::size(), uint, and mems::CompactGappedAlignment< BaseType >::validate().

Referenced by doGappedAlignment().

void mems::ProgressiveAligner::getAlignedChildren node_id_t  node,
std::vector< node_id_t > &  descendants
 

determine which extant sequences have been aligned at a given node

Definition at line 160 of file ProgressiveAligner.cpp.

References alignment_tree, node_id_t, mems::progress_msgs, PhyloTree< AlignmentTreeNode >::size(), and uint.

Referenced by computeAvgAncestralMatchScores(), computeInternalNodeDistances(), ConstructSuperIntervalFromMSA(), and refineAlignment().

void mems::ProgressiveAligner::getAlignment mems::IntervalList interval_list  )  [protected]
 

Definition at line 3689 of file ProgressiveAligner.cpp.

References alignment_tree, alignNodes(), mems::chooseNextAlignmentPair(), doGappedAlignment(), extractAlignment(), mems::Interval, node_id_t, refine, PhyloTree< AlignmentTreeNode >::root, and PhyloTree< AlignmentTreeNode >::size().

void mems::ProgressiveAligner::getAncestralMatches const std::vector< node_id_t node1_seqs,
const std::vector< node_id_t node2_seqs,
node_id_t  node1,
node_id_t  node2,
node_id_t  ancestor,
std::vector< mems::AbstractMatch * > &  ancestral_matches
 

Definition at line 888 of file ProgressiveAligner.cpp.

References mems::UngappedLocalAlignment< AbstractMatchImpl >::Copy(), mems::EliminateOverlaps_v2(), mems::Match, node_id_t, node_sequence_map, original_ml, mems::UngappedLocalAlignment< AbstractMatchImpl >::SetLength(), translateGappedCoordinates(), and uint.

double mems::ProgressiveAligner::getBpDistEstimateMinScore void   )  [inline]
 

Definition at line 114 of file ProgressiveAligner.h.

References bp_dist_estimate_score.

double mems::ProgressiveAligner::getBreakpointDistanceScale void   )  [inline]
 

Definition at line 108 of file ProgressiveAligner.h.

References bp_dist_scale.

double mems::ProgressiveAligner::getConservationDistanceScale void   )  [inline]
 

Definition at line 111 of file ProgressiveAligner.h.

References conservation_dist_scale.

LcbScoringScheme mems::ProgressiveAligner::getLcbScoringScheme void   )  [inline]
 

Definition at line 99 of file ProgressiveAligner.h.

References LcbScoringScheme, and scoring_scheme.

void mems::ProgressiveAligner::getPairwiseMatches const std::vector< node_id_t > &  node1_seqs,
const std::vector< node_id_t > &  node2_seqs,
Matrix< mems::MatchList > &  pairwise_matches
 

Definition at line 932 of file ProgressiveAligner.cpp.

References mems::UngappedLocalAlignment< AbstractMatchImpl >::Copy(), mems::Match, node_sequence_map, original_ml, mems::GenericMatchList< MatchPtrType >::seq_filename, mems::GenericMatchList< MatchPtrType >::seq_table, mems::UngappedLocalAlignment< AbstractMatchImpl >::SetLength(), and uint.

void mems::ProgressiveAligner::getPath node_id_t  first_n,
node_id_t  last_n,
std::vector< node_id_t > &  path
 

determine which extant sequences have been aligned at a given node

Definition at line 186 of file ProgressiveAligner.cpp.

References alignment_tree, node_id_t, PhyloTree< AlignmentTreeNode >::size(), and uint.

Referenced by translateGappedCoordinates().

void mems::ProgressiveAligner::getRepresentativeAncestralMatches const std::vector< node_id_t node1_seqs,
const std::vector< node_id_t node2_seqs,
node_id_t  node1,
node_id_t  node2,
node_id_t  ancestor,
std::vector< mems::AbstractMatch * > &  ancestral_matches
 

Definition at line 1945 of file ProgressiveAligner.cpp.

References mems::UngappedLocalAlignment< AbstractMatchImpl >::Copy(), mems::EliminateOverlaps_v2(), mems::Match, mems::UngappedLocalAlignment< AbstractMatchImpl >::SetLength(), and uint.

bool mems::ProgressiveAligner::getUseLcbWeightScaling void   )  [inline]
 

Definition at line 105 of file ProgressiveAligner.h.

References use_weight_scaling.

bool mems::ProgressiveAligner::getUseSeedFamilies void   )  [inline]
 

Definition at line 102 of file ProgressiveAligner.h.

References use_seed_families.

void mems::ProgressiveAligner::linkSuperIntervals node_id_t  node1,
uint  seqI,
node_id_t  ancestor
 

Definition at line 272 of file ProgressiveAligner.cpp.

References alignment_tree, node_id_t, and uint.

Referenced by recursiveApplyAncestralBreakpoints().

ProgressiveAligner& mems::ProgressiveAligner::operator= const ProgressiveAligner al  ) 
 

void mems::ProgressiveAligner::pairwiseAnchorSearch mems::MatchList r_list,
mems::Match r_begin,
mems::Match r_end,
const mems::AbstractMatch iv,
uint  oseqI,
uint  oseqJ
 

Definition at line 588 of file ProgressiveAligner.cpp.

References mems::EliminateOverlaps_v2(), getDefaultSeedWeight(), mems::getInterveningCoordinates(), getSeed(), mems::GenericMatchList< MatchPtrType >::LengthFilter(), mems::Match, mems::MatchList, MIN_DNA_SEED_WEIGHT, mems::GenericMatchList< MatchPtrType >::seq_table, mems::GenericMatchList< MatchPtrType >::sml_table, uint, mems::uint64, and use_seed_families.

Referenced by recurseOnPairs().

void mems::ProgressiveAligner::pairwiseScoreTrackingMatches std::vector< mems::TrackingMatch > &  tracking_matches,
std::vector< node_id_t > &  node1_descendants,
std::vector< node_id_t > &  node2_descendants,
boost::multi_array< double, 3 > &  tm_score_array
 

Definition at line 1756 of file ProgressiveAligner.cpp.

References alignment_tree, computeAvgAncestralMatchScores(), mems::GetPairwiseAnchorScore(), mems::AbstractMatch::LeftEnd(), node_id_t, mems::LcbTrackingMatch< MatchType >::node_match, node_sequence_map, PhyloTree< AlignmentTreeNode >::resize(), sol_list, subst_scoring, and mems::TrackingMatch.

template<class MatchType>
void mems::ProgressiveAligner::propagateDescendantBreakpoints node_id_t  node1,
uint  seqI,
std::vector< MatchType * > &  iv_list
 

Definition at line 235 of file ProgressiveAligner.cpp.

References alignment_tree, mems::applyBreakpoints(), node_id_t, and uint.

Referenced by constructLcbTrackingMatches().

template<class GappedAlignmentType>
void mems::ProgressiveAligner::recurseOnPairs const std::vector< node_id_t > &  node1_seqs,
const std::vector< node_id_t > &  node2_seqs,
const GappedAlignmentType &  iv,
Matrix< mems::MatchList > &  matches,
Matrix< std::vector< mems::search_cache_t > > &  search_cache_db,
Matrix< std::vector< mems::search_cache_t > > &  new_cache_db,
boost::multi_array< std::vector< std::vector< int64 > >, 2 > &  iv_regions
 

Definition at line 680 of file ProgressiveAligner.cpp.

References alignment_tree, mems::cache_comparator, mems::UngappedLocalAlignment< AbstractMatchImpl >::Copy(), mems::Match, mems::MatchList, node_sequence_map, pairwiseAnchorSearch(), mems::search_cache_t, mems::GenericMatchList< MatchPtrType >::seq_table, mems::UngappedLocalAlignment< AbstractMatchImpl >::SetLength(), uint, and using_cache_db.

void mems::ProgressiveAligner::recursiveApplyAncestralBreakpoints node_id_t  ancestor  ) 
 

Definition at line 527 of file ProgressiveAligner.cpp.

References alignment_tree, mems::applyAncestralBreakpoints(), TreeNode::children, mems::debug_aligner, linkSuperIntervals(), node_id_t, mems::AlignmentTreeNode::ordering, mems::progress_msgs, PhyloTree< AlignmentTreeNode >::size(), and validateSuperIntervals().

void mems::ProgressiveAligner::refineAlignment mems::GappedAlignment gal,
node_id_t  ancestor,
bool  profile_aln,
AlnProgressTracker apt
 

Definition at line 1081 of file ProgressiveAligner.cpp.

References alignment_tree, mems::AlnProgressTracker::cur_leftend, getAlignedChildren(), mems::GetAlignment(), mems::IsDenseEnough(), mems::SparseAbstractMatch<>::LeftEnd(), mems::max_window_size, mems::SparseAbstractMatch<>::Multiplicity(), node_id_t, node_sequence_map, mems::AlnProgressTracker::prev_progress, mems::printProgress(), mems::MuscleInterface::ProfileAlignFast(), mems::MuscleInterface::RefineFast(), mems::removeLargeGapsPP(), mems::SparseAbstractMatch<>::SeqCount(), mems::GappedAlignment::SetAlignment(), mems::splitGappedAlignment(), mems::AlnProgressTracker::total_len, and uint.

Referenced by doGappedAlignment().

void mems::ProgressiveAligner::setBpDistEstimateMinScore double  min_score  )  [inline]
 

Definition at line 113 of file ProgressiveAligner.h.

References bp_dist_estimate_score.

void mems::ProgressiveAligner::setBreakpointDistanceScale double  bp_dist_scale  )  [inline]
 

Definition at line 107 of file ProgressiveAligner.h.

void mems::ProgressiveAligner::setBreakpointPenalty double  bp_penalty  )  [inline]
 

sets the breakpoint penalty

Definition at line 66 of file ProgressiveAligner.h.

References breakpoint_penalty.

void mems::ProgressiveAligner::setCollinear boolean  collinear  )  [inline]
 

assume all genomes are collinear when set to true

Definition at line 70 of file ProgressiveAligner.h.

void mems::ProgressiveAligner::setConservationDistanceScale double  conservation_dist_scale  )  [inline]
 

Definition at line 110 of file ProgressiveAligner.h.

void mems::ProgressiveAligner::setGappedAlignment bool  do_gapped_alignment  )  [inline]
 

Set whether iterative refinement using MUSCLE should be performed (true/false).

Definition at line 86 of file ProgressiveAligner.h.

void mems::ProgressiveAligner::setInputGuideTreeFileName std::string &  fname  )  [inline]
 

use a precomputed guide tree stored in the given file

Definition at line 74 of file ProgressiveAligner.h.

References input_guide_tree_fname.

void mems::ProgressiveAligner::setLcbScoringScheme LcbScoringScheme  scheme  )  [inline]
 

set LCB the scoring scheme

Definition at line 98 of file ProgressiveAligner.h.

References scoring_scheme.

void mems::ProgressiveAligner::SetMaxGappedAlignmentLength size_t  len  ) 
 

set the max length (in columns) of alignments passed to MUSCLE

Definition at line 153 of file ProgressiveAligner.cpp.

References max_gapped_alignment_length, and mems::max_window_size.

void mems::ProgressiveAligner::setMinimumBreakpointPenalty double  min_bp_penalty  )  [inline]
 

sets the the minimum breakpoint penalty after scaling

Definition at line 68 of file ProgressiveAligner.h.

void mems::ProgressiveAligner::setOutputGuideTreeFileName std::string &  fname  )  [inline]
 

write the guide tree stored to the given file

Definition at line 76 of file ProgressiveAligner.h.

References output_guide_tree_fname.

void mems::ProgressiveAligner::setPairwiseMatches mems::MatchList pair_ml  ) 
 

use a list of precomputed matches instead of computing them

Definition at line 3141 of file ProgressiveAligner.cpp.

void mems::ProgressiveAligner::setPairwiseScoringScheme const mems::PairwiseScoringScheme pss  )  [inline]
 

Definition at line 88 of file ProgressiveAligner.h.

References subst_scoring.

void mems::ProgressiveAligner::setRefinement bool  refine  )  [inline]
 

Set whether iterative refinement using MUSCLE should be performed (true/false).

Definition at line 84 of file ProgressiveAligner.h.

void mems::ProgressiveAligner::SetUseCacheDb bool  cbd  )  [inline]
 

set whether a cache database should be used to speed up recursive anchor search

Definition at line 81 of file ProgressiveAligner.h.

References using_cache_db.

void mems::ProgressiveAligner::setUseLcbWeightScaling bool  use_weight_scaling  )  [inline]
 

Definition at line 104 of file ProgressiveAligner.h.

void mems::ProgressiveAligner::setUseSeedFamilies bool  use_seed_families  )  [inline]
 

Definition at line 101 of file ProgressiveAligner.h.

void mems::ProgressiveAligner::translateGappedCoordinates std::vector< mems::AbstractMatch * > &  ml,
uint  seqI,
node_id_t  extant,
node_id_t  ancestor
 

Definition at line 324 of file ProgressiveAligner.cpp.

References mems::AbstractMatchSeqManipulator, alignment_tree, mems::applyAncestralBreakpoints(), mems::CompactGappedAlignment< BaseType >::Copy(), mems::debug_aligner, mems::CompactGappedAlignment< BaseType >::Free(), getPath(), node_id_t, mems::CompactGappedAlignment< BaseType >::translate(), and uint.

Referenced by extractAlignment(), and getAncestralMatches().

bool mems::ProgressiveAligner::validatePairwiseIntervals node_id_t  node1,
node_id_t  node2,
std::vector< mems::Interval * > &  pair_iv
 

Definition at line 2806 of file ProgressiveAligner.cpp.

References alignment_tree, and uint.

bool mems::ProgressiveAligner::validateSuperIntervals node_id_t  node1,
node_id_t  node2,
node_id_t  ancestor
 

Definition at line 2734 of file ProgressiveAligner.cpp.

Referenced by doGappedAlignment(), and recursiveApplyAncestralBreakpoints().


Member Data Documentation

PhyloTree< AlignmentTreeNode > mems::ProgressiveAligner::alignment_tree [protected]
 

Definition at line 197 of file ProgressiveAligner.h.

Referenced by alignNodes(), constructLcbTrackingMatches(), ConstructSuperIntervalFromMSA(), doGappedAlignment(), extractAlignment(), FixLeftEnds(), getAlignedChildren(), getAlignment(), getPath(), linkSuperIntervals(), pairwiseScoreTrackingMatches(), propagateDescendantBreakpoints(), recurseOnPairs(), recursiveApplyAncestralBreakpoints(), refineAlignment(), translateGappedCoordinates(), and validatePairwiseIntervals().

double mems::ProgressiveAligner::bp_dist_estimate_score [protected]
 

the minimum LCB score to use when estimating BP distance

should be conservative (high)

Definition at line 218 of file ProgressiveAligner.h.

Referenced by getBpDistEstimateMinScore(), and setBpDistEstimateMinScore().

double mems::ProgressiveAligner::bp_dist_scale [protected]
 

Definition at line 215 of file ProgressiveAligner.h.

Referenced by getBreakpointDistanceScale().

boost::multi_array<double, 2> mems::ProgressiveAligner::bp_distance [protected]
 

pairwise breakpoint distances

dims will be [seq_count][seq_count]

Definition at line 208 of file ProgressiveAligner.h.

Referenced by computeInternalNodeDistances().

double mems::ProgressiveAligner::breakpoint_penalty [protected]
 

Definition at line 199 of file ProgressiveAligner.h.

Referenced by setBreakpointPenalty().

double mems::ProgressiveAligner::conservation_dist_scale [protected]
 

Definition at line 216 of file ProgressiveAligner.h.

Referenced by getConservationDistanceScale().

boost::multi_array<double, 2> mems::ProgressiveAligner::conservation_distance [protected]
 

pairwise genome conservation distances

dims will be [seq_count][seq_count]

Definition at line 209 of file ProgressiveAligner.h.

Referenced by computeInternalNodeDistances().

boolean mems::ProgressiveAligner::debug [protected]
 

Flag for debugging output.

Reimplemented from mems::Aligner.

Definition at line 203 of file ProgressiveAligner.h.

std::string mems::ProgressiveAligner::input_guide_tree_fname [protected]
 

Definition at line 201 of file ProgressiveAligner.h.

Referenced by setInputGuideTreeFileName().

size_t mems::ProgressiveAligner::max_gapped_alignment_length [protected]
 

Definition at line 220 of file ProgressiveAligner.h.

Referenced by ProgressiveAligner(), and SetMaxGappedAlignmentLength().

double mems::ProgressiveAligner::min_breakpoint_penalty [protected]
 

Definition at line 200 of file ProgressiveAligner.h.

std::vector< uint > mems::ProgressiveAligner::node_sequence_map [protected]
 

Definition at line 198 of file ProgressiveAligner.h.

Referenced by computeInternalNodeDistances(), constructLcbTrackingMatches(), ConstructSuperIntervalFromMSA(), extractAlignment(), getAncestralMatches(), getPairwiseMatches(), pairwiseScoreTrackingMatches(), recurseOnPairs(), and refineAlignment().

mems::MatchList mems::ProgressiveAligner::original_ml [protected]
 

The list of matches calculated among all sequences.

Also contains the full sequences and sorted mer lists

Definition at line 196 of file ProgressiveAligner.h.

Referenced by getAncestralMatches(), getPairwiseMatches(), and ~ProgressiveAligner().

std::string mems::ProgressiveAligner::output_guide_tree_fname [protected]
 

Definition at line 202 of file ProgressiveAligner.h.

Referenced by setOutputGuideTreeFileName().

boolean mems::ProgressiveAligner::refine [protected]
 

Definition at line 204 of file ProgressiveAligner.h.

Referenced by getAlignment().

LcbScoringScheme mems::ProgressiveAligner::scoring_scheme [protected]
 

Definition at line 211 of file ProgressiveAligner.h.

Referenced by getLcbScoringScheme(), and setLcbScoringScheme().

std::vector< SeedOccurrenceList > mems::ProgressiveAligner::sol_list [protected]
 

Definition at line 207 of file ProgressiveAligner.h.

Referenced by pairwiseScoreTrackingMatches().

mems::PairwiseScoringScheme mems::ProgressiveAligner::subst_scoring [protected]
 

Definition at line 222 of file ProgressiveAligner.h.

Referenced by pairwiseScoreTrackingMatches(), and setPairwiseScoringScheme().

bool mems::ProgressiveAligner::use_seed_families [protected]
 

Definition at line 213 of file ProgressiveAligner.h.

Referenced by getUseSeedFamilies(), and pairwiseAnchorSearch().

bool mems::ProgressiveAligner::use_weight_scaling [protected]
 

Definition at line 212 of file ProgressiveAligner.h.

Referenced by getUseLcbWeightScaling().

bool mems::ProgressiveAligner::using_cache_db [protected]
 

Definition at line 205 of file ProgressiveAligner.h.

Referenced by recurseOnPairs(), and SetUseCacheDb().


The documentation for this class was generated from the following files:
Generated on Fri Mar 14 06:01:43 2008 for libMems by doxygen 1.3.6