Multiple Sequence Alignment Program 
for Protein by considering structures.


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

 dss_a [-f matrix] < data > dist 

then

(1) ass_a 1 [-a,-s,-n] [-f matrix] [-p para_sds ] < dist > result
(2) ass_a 2 [-a,-s,-n] [-f matrix] [-p para_sds ] < dist > result
(3) ass_a 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_amino.c' (PAM250) 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=7,1,1

Seq=
Seq01:KLGQGCFGEVWMGTWNGTTRVAIKTLKPGTMSPEAFLQEAQVMKKLRHEKLVQLYAVVSE
Seq02:KLGGGQYGEVYEGVWKKYSLTVAVKTLKEDTMEVEEFLKEAAVMKEIKHPNLVQLLGVCT
Seq03:IGEGEFGEVYRGTLRLPSQDCKTVAIKTLKDTSPGGQWWNFLREATIMGQFSHPHILHLE
Seq04:LLGKGNFGEVYKGTLKDKTSVAVKTCKEDLPQELKIKFLQEAKILKQYDHPNIVKLIGVC
Seq05:GQGSFGMVYEGNARDIIKGEAETRVAVKTVNESASLRERIEFLNEASVMKGFTCHHVVRL
Seq06:GSGAFGEVYEGTAVDILGVGSGEIKVAVKTLKKGSTDQEKIEFLKEAHLMSKFNHPNILK
Seq07:GEGAFGKVFLAECHNLLPEQDKMLVAVKALKEASESARQDFQREAELLTMLQHQHIVRFF
Seq08:GEGCFGQVVLAEAIGLDKDKPNRVTKVAVKMLKSDATEKDLSDLISEMEMMKMIGKHKNI
Seq09:GEGEFGKVVKATAFHLKGRAGYTTVAVKMLKENASPSELRDLLSEFNVLKQVNHPHVIKL
Seq10:GSGAFGTVYKGLWIPEGEKVKIPVAIKELREATSPKANKEILDEAYVMASVDNPHVCRLL
SdS=
Seq01:*****######**********#####************########**************
Seq02:*************#####**********######****************########**
Seq03:*************#####********************************########**
Seq04:************************************************************
Seq05:***#####**********######**************########**************
Seq06:************************************************************
Seq07:************#####**********************########***########**
Seq08:************#####***********######*****########*************
Seq09:************************************************************
Seq10:***********#####*********************########***************

-------------------------------------------------------------------
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=7,1,1       U,V,S=7,1,1

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

(1) is general
(2) is fast
