Multiple Sequence Alignment Program 
for DNA by considering structures.


-----------------------------------------------------------------------------
We have three algorithms. We must choose one for our use.

 dss_d [-f matrix] < data > dist

then

(1) ass_d 1 [-a,-s,-n] [-f matrix] [-p para_sds ] < dist > result
(2) ass_d 2 [-a,-s,-n] [-f matrix] [-p para_sds ] < dist > result
(3) ass_d 3 [-a,-s,-n] [-f matrix] [-p para_sds ] < dist > result

(1)Tree-based Method
(2)Tree-based Round-robin Method
(3)Tree-based Round-robin Iterative Method

(1) aligns roughly but very fast.
(2) aligns well but needs times a little.
(3) aligns very well but needs times.

(3) is the best algolithm.
If your data is small or if you have enough time,please use it.

If your data is too big or if you don't have enough time,
please use (2).


-----------------------------------------------------------------------------
You can change a way of output by option [-a,-s,-n].

-a : All result  (Tree-based, round-robin and iterative result)
-s : Some result (Tree-based and round-robin result)
-n : Only final result


-----------------------------------------------------------------------------
You can also change a matrix by option [-f matrix].
The format of a matrix file is shown as a example matrix file 'matrix_example'.
Plaese see a example matrix file 'matrix_example'.
We use 'matrix_dna.c' as a default matrix.


-----------------------------------------------------------------------------
You can also change a parameter 'para_sds' by option [-p para_sds].

0 <= para_sds >= 100, integer
default para_sds = 0

Group-to-group DP does not insert gaps at the column 
that has '#' more than 'para_sds' percent.


------ input data format -----------------------------------------
CutM=80
CutI=90
U,V,S=40,5,5

Seq=
:AAGAATTTAGCTTAATTAAAGTATTCGATTTGCGTTCGAGTGATGCAAGATAAAGTCTTGTAATTCTTA
:GAGGTCTTAGCTTAATTAAAGCAATTGATTTGCATTCAATAGATGTAGGATGAAGTCTTACAGTCCTTA
:AGGGTAATAGTTAACTATAACATTTAATTTGCATTTAAAAAGTATTGAATTTTTCAATTTACCTTA
:GGGGCTGTATTTTAAGTTTAAAATATGCGCTTTGCAAGCGGATGATTCTGGCTCTA
SdS=
:#######****************#####*******#####***######*******############*
:*######****************#####*******#####***######*******###########**
:#######***************####*********####****#####*****############*
:*######******************#####*******#####******######**

-------------------------------------------------------------------
You must put a sequence data as "Sequence name:Sequence data"
or ":Sequence data". If no sequence name, ':' is necessary.
You must put return key at the end of sequence.

If you do not want to insert gaps at "CDEFG", 
you must put '#' as a following example.

Seq=
:ABCDEFGHI
SdS=
:**#####**


------ Parameters -------------------------------------------------
We have two best parameters sets.

(1) CutM=80       (2) CutM=85
    CutI=90           CutI=95
    U,V,S=40,5,5      U,V,S=40,5,5

U,V,S -> first gap cost -> U+V
         not first gap cost -> V
         out gap cost -> S

(1) is general
(2) is fast
