úÎôÁ      Safe-Infered 7A Selector consists of a zero element, and a funcition L that chooses a possible Edit operation, and generates an updated result. KA substitution matrix gives scores for replacing a character with another. Y Typically, it will be symmetric. It is type-tagged with the alphabet - Nuc or Amino. %An alignment is a sequence of edits. /An Edit is either the insertion, the deletion, & or the replacement of a character. /The sequence element type, used in alignments. Gaps are coded as +s, this function removes them, and returns 6 the sequence along with the list of gap positions. D note that gaps are positioned relative to the *gapped* sequence  (contrast to stmassembler/ Cluster.hs) &turn an alignment into sequences with  representing gaps " (for checking, filtering out the  characters should return " the original sequences, provided  isn't part of the sequence  alphabet) True if the Edit is a Repl. 2Evaluate an Edit based on SubstMx and gap penalty -Calculate a set of columns containing scores [ This represents the columns of the alignment matrix, but will only require linear space  for score calculation.            bioalign-0.0.5Bio.Alignment.AlignDataSelectorSubstMxEditListEditReplDelInsChr AlignmentGapsSequenceSeq extractGaps insertGaps showalign toStringsisReplevalcolumnsonbaseGHC.Num*-$fBioSeqSequence