X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=gotohoverlap.hpp;fp=gotohoverlap.hpp;h=bf3c636e42e702ad2e6f2aca03db13cdcd88ac18;hb=526a868606faa50caf86e7399f7554c0335b39e5;hp=0000000000000000000000000000000000000000;hpb=c35f02a218ce8f430a75850b4d9fabb96b3a022b;p=mothur.git diff --git a/gotohoverlap.hpp b/gotohoverlap.hpp new file mode 100644 index 0000000..bf3c636 --- /dev/null +++ b/gotohoverlap.hpp @@ -0,0 +1,43 @@ +#ifndef GOTOHOVERLAP_H +#define GOTOHOVERLAP_H + +/* + * gotohoverlap.h + * + * + * Created by Pat Schloss on 12/15/08. + * Copyright 2008 Patrick D. Schloss. All rights reserved. + * + * This class is an Alignment child class that implements the Gotoh pairwise alignment algorithm as described in: + * + * Gotoh O. 1982. An improved algorithm for matching biological sequences. J. Mol. Biol. 162:705-8. + * Myers, EW & Miller, W. 1988. Optimal alignments in linear space. Comput Appl Biosci. 4:11-7. + * + * This method is nice because it allows for an affine gap penalty to be assessed, which is analogous to what is used + * in blast and is an alternative to Needleman-Wunsch, which only charges the same penalty for each gap position. + * Because this method typically has problems at the ends when two sequences do not full overlap, we employ a separate + * method to fix the ends (see Overlap class documentation) + * + */ + +#include "mothur.h" +#include "alignment.hpp" + +/**************************************************************************************************/ + +class GotohOverlap : public Alignment { + +public: + GotohOverlap(float, float, float, float, int); + void align(string, string); + +private: + float gapOpen; + float gapExtend; + float match; + float mismatch; +}; + +/**************************************************************************************************/ + +#endif