Skip to content

Align module

rrahn edited this page May 3, 2016 · 6 revisions

Proposed align interface

inline void align(AlignRowConcept & vTarget, AlignRowConcept & hTarget, ContainerConcept const & vSource,  ContainerConcept const & hSource, ScoringConcept const & score, AlignConfig<Traits> const & config, ExecutionPolicy const & /*policy*/);
inline void align(Container<AlignRow>Concept & vTargets, Container<AlignRow>Concept & hTarget, ContainerOfContainerConcept const & vSources,  ContainerOfContainerConcept const & hSources, ScoringConcept const & score);

Alignment Traits

Possible Alignment Algorithms:

  • GlobalAlignment + FreeEndGaps (add runtime option?) + LinearSpace (Hirschbergs variant)?
  • LocalAlignment + SubOptimal | LinearSpace
  • SplitAlingment + LinearSpace
  • BandedChainAlignment + LinearSpace
  • ExtendAlignment

Possible Traceback Options:

  • NoTrace
  • SingleTrace + GapsLeft | GapsRight
  • FullTrace + GapsLeft | GapsRight

Possible Gap Options:

  • LinearGaps
  • AffineGaps
  • DynamikGaps

Alignment Config

  • Band parameters
  • DPContext
  • ScoutState

Execution Policies

  • One-vs-One: Sequential | Parallel + Vectorised | Vectorised (AntiDiagonals)?
  • Many-vs-Many: Vectorised
  • One-vs-Many: Vectorised
Clone this wiki locally