# Class BartonSternberg

java.lang.Object
jebl.evolution.align.BartonSternberg

All Implemented Interfaces:
  `MultipleAligner`

public class BartonSternberg extends Object implements MultipleAligner

Version:
  $Id: BartonSternberg.java 1025 2009-10-23 01:29:48Z matt_kearse $ Implements the BartonSternberg multiple sequence alignment algorithm. Note: this is not yet complete, it does not create an initial ordering in which to add sequences to the profile. Also, after creating the profile, it just removes and adds each sequence back into the profile a fixed number of times(currently two).
Author:
  Matt Kearse

## Constructor Summary

Constructors
Constructor
Description
`BartonSternberg(Scores scores, float gapOpen, float gapExtend, int refinementIterations, boolean freeGapsAtEnds, boolean fastGuide)`

## Method Summary

Modifier and Type
Method
Description
`final String[]`
`align(List<Sequence> sourceSequences, ProgressListener progress, boolean refineOnly, boolean estimateMatchMismatchCosts)`
`Alignment`
`doAlign(List<Sequence> seqs, RootedTree guideTree, ProgressListener progress)`
`Alignment`
`doAlign(Alignment a1, Alignment a2, ProgressListener progress)`
`Alignment`
`doAlign(Alignment alignment, Sequence sequence, ProgressListener progress)`
`Scores`
`getEstimatedScores()`
`double`
`getScore()`
`static void`
`main(String[] arguments)`

### Methods inherited from class Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### BartonSternberg

public BartonSternberg(Scores scores, float gapOpen, float gapExtend, int refinementIterations, boolean freeGapsAtEnds, boolean fastGuide)

## Method Details

### getEstimatedScores

public Scores getEstimatedScores()

### align

public final String[] align(List<Sequence> sourceSequences, ProgressListener progress, boolean refineOnly, boolean estimateMatchMismatchCosts) throws CannotBuildDistanceMatrixException

Parameters:
  `sourceSequences` -
  `progress` -
  `refineOnly` - if specified, then the input sequences are assumed to be aligned already, and this function will only refine the alignment.
Throws:
  `CannotBuildDistanceMatrixException`

### main

public static void main(String[] arguments) throws IOException, ImportException

Throws:
  `IOException`
  `ImportException`

### doAlign

public Alignment doAlign(List<Sequence> seqs, RootedTree guideTree, ProgressListener progress)

Specified by:
  `doAlign` in interface `MultipleAligner`

### doAlign

public Alignment doAlign(Alignment a1, Alignment a2, ProgressListener progress)

Specified by:
  `doAlign` in interface `MultipleAligner`

### doAlign

public Alignment doAlign(Alignment alignment, Sequence sequence, ProgressListener progress)

Specified by:
  `doAlign` in interface `MultipleAligner`

### getScore

public double getScore()