[CODE]

; a string of amino acids (the score matrix is defined in terms of those amino acids)
; using the string order for indexing
; X means a stop
; * means something that is not resolved
; both X and * are expected to be present

aminoacids = ARNDCQEGHILKMFPSTWYVBZX*

; translations are defined as a map between alphabetically sorted codons (AAA, AAC, ..., TTT)
; for example 
; translations = A,C,D, ... would mean that AAA maps to "A", AAC maps to "R", etc

translations = K,N,K,N,T,T,T,T,R,S,R,S,I,I,M,I,Q,H,Q,H,P,P,P,P,R,R,R,R,L,L,L,L,E,D,E,D,A,A,A,A,G,G,G,G,V,V,V,V,X,Y,X,Y,S,S,S,S,X,C,W,C,L,F,L,F

; resolutions of ambiguous characters to consider
; the are of the form
; A,X1,X2,,

resolutions = R,A,G,,Y,C,T,,S,C,G,,W,A,T,,M,A,C,,K,G,T,,H,A,C,T,,B,C,G,T,,V,A,C,G,,D,A,G,T,,N,A,C,G,T


[MATRIX]
; scoring matrix
; if the alphabet has "D" characters this must be a (D+1) x (D+1) vector
; which represents (row-major) the scoring matrix
; element (i,j), where 0 <= i < D, 0 <=j < D, is the cost for changing 
; if the matrix is not symmetric,  the row index would refer to the character in the reference sequence
; character i into character j in the alphabet string
; (i,D), (D,j) is the cost of aligning i (or j) vs a non-gap but allowed (e.g. an ambiguity) character 

cost =6,-3,-4,-4,-2,-2,-2,-1,-3,-3,-3,-2,-2,-4,-2,0,-1,-5,-3,-1,-4,-2,-2,-7,-3,8,-2,-4,-6,0,-2,-5,-2,-6,-4,1,-3,-5,-4,-2,-3,-5,-3,-5,-3,-1,-2,-7,-4,-2,8,0,-5,-1,-2,-2,0,-6,-6,-1,-4,-5,-4,0,-1,-7,-4,-5,6,-2,-2,-7,-4,-4,0,8,-6,-2,0,-3,-3,-5,-6,-2,-6,-6,-3,-1,-3,-7,-6,-6,6,0,-3,-7,-2,-6,-5,-6,10,-5,-7,-5,-5,-3,-3,-6,-3,-5,-5,-2,-2,-4,-4,-2,-5,-6,-4,-7,-2,0,-1,-2,-5,8,1,-4,0,-6,-4,0,-1,-6,-3,-1,-2,-3,-3,-4,-1,6,-2,-7,-2,-2,-2,0,-7,1,7,-4,-1,-6,-5,0,-4,-6,-3,-1,-2,-5,-4,-4,0,6,-2,-7,-1,-5,-2,-3,-5,-4,-4,7,-4,-7,-6,-3,-5,-5,-4,-2,-4,-4,-5,-6,-2,-4,-4,-7,-3,-2,0,-3,-5,0,-1,-4,10,-6,-5,-2,-3,-3,-4,-2,-4,-5,0,-6,-1,-1,-3,-7,-3,-6,-6,-5,-3,-6,-6,-7,-6,6,0,-5,0,-1,-5,-5,-2,-5,-3,2,-5,-6,-2,-7,-3,-4,-6,-6,-3,-4,-5,-6,-5,0,6,-5,1,-1,-5,-5,-3,-3,-3,0,-6,-5,-2,-7,-2,1,-1,-2,-6,0,0,-3,-2,-5,-5,7,-3,-6,-2,-1,-2,-5,-3,-4,-2,0,-2,-7,-2,-3,-4,-6,-3,-1,-4,-5,-3,0,1,-3,9,-1,-5,-3,-2,-3,-3,0,-5,-2,-1,-7,-4,-5,-5,-6,-5,-6,-6,-5,-3,-1,-1,-6,-1,8,-6,-4,-4,0,1,-3,-6,-6,-3,-7,-2,-4,-4,-3,-5,-3,-3,-4,-4,-5,-5,-2,-5,-6,9,-2,-3,-6,-5,-4,-4,-3,-4,-7,0,-2,0,-1,-2,-1,-1,-2,-2,-5,-5,-1,-3,-4,-2,7,0,-5,-3,-4,-1,-1,-2,-7,-1,-3,-1,-3,-2,-2,-2,-4,-4,-2,-3,-2,-2,-4,-3,0,7,-4,-3,-1,-2,-2,-2,-7,-5,-5,-7,-7,-4,-3,-5,-4,-5,-5,-3,-5,-3,0,-6,-5,-4,12,0,-6,-7,-4,-4,-7,-3,-3,-4,-6,-4,-3,-4,-5,0,-3,-3,-3,-3,1,-5,-3,-3,0,9,-3,-5,-3,-2,-7,-1,-5,-5,-6,-2,-4,-4,-6,-6,2,0,-4,0,-3,-4,-4,-1,-6,-3,6,-6,-4,-2,-7,-4,-3,6,6,-5,-1,0,-2,-1,-5,-6,-2,-5,-6,-4,-1,-2,-7,-5,-6,7,-1,-3,-7,-2,-1,-2,0,-6,6,6,-4,-1,-6,-5,0,-2,-6,-3,-1,-2,-4,-3,-4,-1,7,-2,-7,-2,-2,-2,-3,-4,-2,-2,-4,-3,-2,-2,-2,-1,-3,-4,-2,-2,-4,-2,-2,-3,-2,-2,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,1

; define other parameters
; insertions/deletions are defined relative to the REFERENCE 
; if an expected parameter is not explicitly defined
; it will be automatically derived from the score matrix

[PARAMETERS]
; if set to a number below 0, the code will automatically select the threshold

open_deletion    = -1
extend_deletion  = -1
open_insertion   = -1
extend_insertion = -1
frameshift_cost  = -1