Repository: iqbal-lab-org/make_prg (language: python)

Issue:
MAFFT is portable for linux and we can embed it into make_prg
See https://mafft.cbrc.jp/alignment/software/linuxportable.html

Like this, `make_prg` dependencies are all `python` deps, and there is no need to install `mafft` anymore


Discussion / hints:

Fix patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bd90d94..621d2ae 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - Trace (`-vv`) logging level, to track make_prg behaviour (intended for developers only);
 - Multithreading support (`-t` parameter);
 - A sample example;
-- 363 new tests (from 116 to 479 total tests), with test coverage >99% in non-argument parsing code;
+- 365 new tests (from 116 to 481 total tests), with test coverage >99% in non-argument parsing code;
 - Precompiled binary;
 
 ### Changed
diff --git a/Dockerfile b/Dockerfile
index 4ebf0de..e73106e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -26,13 +26,6 @@ ENV POETRY_VERSION="1.2.2" \
 RUN (curl -sSL https://install.python-poetry.org | python3 -) \
     && poetry --version
 
-# install mafft
-ARG MAFFT_VERSION="7.505"
-RUN curl --proto '=https' -sSf "https://mafft.cbrc.jp/alignment/software/mafft_${MAFFT_VERSION}-1_amd64.deb" -o mafft.deb \
-    && dpkg -i mafft.deb \
-    && rm mafft.deb \
-    && mafft --version
-
 # install make_prg
 WORKDIR /make_prg
 COPY . /make_prg
diff --git a/LICENSE b/LICENSE
index 703a86b..589338b 100644
--- a/LICENSE
+++ b/LICENSE
@@ -20,3 +20,55 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
+
+
+
+MAFFT License
+
+============================================================
+
+If you have the './extensions' directory, please also see
+license.extensions file.
+
+============================================================
+
+The codes in the './core' directory is distributed with
+the BSD license.
+
+MAFFT: multiple sequence alignment program
+Copyright (c) 2009 Kazutaka Katoh
+
+Redistribution and use in source and binary forms,
+with or without modification, are permitted provided
+that the following conditions are met:
+
+Redistributions of source code must retain the
+above copyright notice, this list of conditions
+and the following disclaimer.  Redistributions in
+binary form must reproduce the above copyright
+notice, this list of conditions and the following
+disclaimer in the documentation and/or other
+materials provided with the distribution.
+
+The name of the author may not be used to endorse
+or promote products derived from this software without
+specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGE.
+---------------------------------------------------------------------------------
+
+
diff --git a/README.md b/README.md
index ce08cbc..d3433c2 100644
--- a/README.md
+++ b/README.md
@@ -5,32 +5,24 @@ Multiple Sequence Alignments.
 
 # Support
 
-We fully support `make_prg` on `linux` with `python` versions `3.8`-`3.11`.
-No guarantees are made for other operating systems or `python` versions.
+We fully support `make_prg` on `linux` with `python` versions `3.8`-`3.11`. For other operating systems, `make_prg`
+can be run through containers.
 
 [TOC]: #
 
 ## Table of Contents
-- [Dependencies](#dependencies)
 - [Install](#install)
   - [No installation needed - precompiled portable binary](#no-installation-needed---precompiled-portable-binary)
   - [pip](#pip)
   - [conda](#conda)
+  - [Container](#container)
 - [Running on a sample example](#running-on-a-sample-example)
 - [Usage](#usage)
 
-## Dependencies
-
-`make_prg` has two commands: `from_msa` and `update`. The `update` command requires `MAFFT` to be installed:
-  1. from source: https://mafft.cbrc.jp/alignment/software/;
-  2. using `conda`: `conda install -c bioconda mafft`;
-
 ## Install
 
 ### No installation needed - precompiled portable binary
 
-> Note: We provide precompiled binaries for Linux OS only
-
 You can use `make_prg` with no installation at all by simply downloading the precompiled binary, and running it.
 In this binary, all libraries are linked statically. Compilation is done using [PyInstaller](https://github.com/pyinstaller/pyinstaller).
 
@@ -62,6 +54,40 @@ pip install make_prg
 conda install -c bioconda make_prg
 ```
 
+### Container
+
+Docker images are hosted at [quay.io].
+
+#### `singularity`
+
+Prerequisite: [`singularity`][singularity]
+
+```sh
+URI="docker://quay.io/iqballab/make_prg"
+singularity exec "$URI" make_prg --help
+```
+
+The above will use the latest version. If you want to specify a version then use a
+[tag][quay.io] (or commit) like so.
+
+```sh
+VERSION="0.4.0"
+URI="docker://quay.io/iqballab/make_prg:${VERSION}"
+```
+
+#### `docker`
+
+[![Docker Repository on Quay](https://quay.io/repository/iqballab/make_prg/status "Docker Repository on Quay")](https://quay.io/repository/iqballab/make_prg)
+
+Prerequisite: [`docker`][docker]
+
+```sh
+docker pull quay.io/iqballab/make_prg
+docker run quay.io/iqballab/make_prg --help
+```
+
+You can find all the available tags on the [quay.io repository][quay.io].
+
 ## Running on a sample example
 
 To see how to input files to both `make_prg from_msa` and `make_prg update`, and the outputs
@@ -75,7 +101,7 @@ usage: make_prg <subcommand> <options>
 
 Subcommand entrypoint
 
-optional arguments:
+options:
   -h, --help     show this help message and exit
   -V, --version  show program's version number and exit
 
@@ -91,13 +117,12 @@ Available subcommands:
 $ make_prg from_msa --help
 usage: make_prg from_msa
 
-optional arguments:
+options:
   -h, --help            show this help message and exit
   -i INPUT, --input INPUT
                         Multiple sequence alignment file or a directory containing such files
   -s SUFFIX, --suffix SUFFIX
-                        If the input parameter (-i, --input) is a directory, then filter for files with this suffix. If this parameter is not given, all files in the
-                        input directory is considered.
+                        If the input parameter (-i, --input) is a directory, then filter for files with this suffix. If this parameter is not given, all files in the input directory is considered.
   -o OUTPUT_PREFIX, --output-prefix OUTPUT_PREFIX
                         Prefix for the output files
   -f ALIGNMENT_FORMAT, --alignment-format ALIGNMENT_FORMAT
@@ -121,7 +146,7 @@ optional arguments:
 $ make_prg update --help
 usage: make_prg update
 
-optional arguments:
+options:
   -h, --help            show this help message and exit
   -u UPDATE_DS, --update-DS UPDATE_DS
                         Filepath to the update data structures (a *.update_DS.zip file created from make_prg from_msa or update)
@@ -131,8 +156,6 @@ optional arguments:
                         Filepath containing denovo sequences. Should point to a denovo_paths.txt file
   -D LONG_DELETION_THRESHOLD, --deletion-threshold LONG_DELETION_THRESHOLD
                         Ignores long deletions of the given size or longer. If long deletions should not be ignored, put a large value. Default: 10
-  -m MAFFT, --mafft MAFFT
-                        Path to MAFFT executable. By default, it is assumed to be on $PATH
   -O OUTPUT_TYPE, --output-type OUTPUT_TYPE
                         p: PRG, b: Binary, g: GFA, a: All. Combinations are allowed i.e., gb: GFA and Binary. Default: a
   -F, --force           Force overwrite previous output
@@ -144,3 +167,6 @@ optional arguments:
 
 [pandora]: https://github.com/rmcolq/pandora
 [gramtools]: https://github.com/iqbal-lab-org/gramtools/
+[docker]: https://docs.docker.com/v17.12/install/
+[quay.io]: https://quay.io/repository/iqballab/make_prg
+[singularity]: https://sylabs.io/guides/3.4/user-guide/quick_start.html#quick-installation-steps
\ No newline at end of file
diff --git a/justfile b/justfile
index ad06ec1..ff28e5e 100644
--- a/justfile
+++ b/justfile
@@ -23,13 +23,9 @@ fmt:
 install:
     poetry install
 
-install-ci: install-mafft
+install-ci:
     poetry install --no-interaction
 
-# do a local install of MAFFT (intended for use on CI)
-install-mafft:
-    if [ {{os()}} = "macos" ]; then wget https://mafft.cbrc.jp/alignment/software/mafft-7.505-signed.pkg -O mafft.pkg && sudo installer -pkg mafft.pkg -target / && rm mafft.pkg && mafft --version ; elif [ {{os()}} = "linux" ]; then wget https://mafft.cbrc.jp/alignment/software/mafft_7.505-1_amd64.deb -O mafft.deb && sudo dpkg -i mafft.deb && rm mafft.deb && mafft --version; else echo "Only support installing mafft for linux or mac"; exit 1; fi
-
 # check code formatting with black and isort
 check-fmt:
     poetry run black --check .
diff --git a/make_prg/subcommands/update.py b/make_prg/subcommands/update.py
index e23aa58..0d613a8 100644
--- a/make_prg/subcommands/update.py
+++ b/make_prg/subcommands/update.py
@@ -73,12 +73,6 @@ def check_if_is_update_file(argument: str):
             "put a large value. Default: %(default)d"
         ),
     )
-    subparser_update_prg.add_argument(
-        "-m",
-        "--mafft",
-        help="Path to MAFFT executable. By default, it is assumed to be on $PATH",
-        default="mafft",
-    )
     subparser_update_prg.set_defaults(func=run)
 
     return subparser_update_prg
@@ -177,7 +171,7 @@ def run(cl_options):
 
     root_temp_dir = io_utils.create_temp_dir(output_dir)
     msa_temp_path = root_temp_dir / "msa_temp"
-    mafft_aligner = MAFFT(executable=options.mafft, tmpdir=msa_temp_path)
+    mafft_aligner = MAFFT(tmpdir=msa_temp_path)
 
     prg_builder_zip_db = None
     try:
diff --git a/make_prg/utils/mafft-linux64/mafft.bat b/make_prg/utils/mafft-linux64/mafft.bat
new file mode 100755
index 0000000..35fb1c1
--- /dev/null
+++ b/make_prg/utils/mafft-linux64/mafft.bat
@@ -0,0 +1,8 @@
+#! /bin/bash
+# sh -> bash for debian. By J. R. Peterson. 2015/Jun.
+
+pushd "`dirname "$0"`" > /dev/null 2>&1; rootdir="$PWD"; popd > /dev/null 2>&1;
+MAFFT_BINARIES="$rootdir/mafftdir/libexec"; export MAFFT_BINARIES;
+
+"$rootdir/mafftdir/bin/mafft" "$@"
+# input file name can have space
diff --git a/make_prg/utils/mafft-linux64/mafftdir/bin/mafft b/make_prg/utils/mafft-linux64/mafftdir/bin/mafft
new file mode 100755
index 0000000..cc0af8e
--- /dev/null
+++ b/make_prg/utils/mafft-linux64/mafftdir/bin/mafft
@@ -0,0 +1,2983 @@
+#! /bin/bash 
+er=0;
+myself=`dirname "$0"`/`basename "$0"`; export myself
+version="v7.490 (2021/Oct/30)"; export version
+LANG=C; export LANG
+os=`uname`
+progname=`basename "$0"`
+windows="no"
+if [ `echo $os | grep -i cygwin` ]; then
+	os="cygwin"
+	windows="yes"
+elif [ `echo $os | grep -i msys` ]; then
+	os="msys"
+	windows="yes"
+elif [ `echo $os | grep -i mingw` ]; then
+	os="mingw"
+	windows="yes"
+elif [ `echo $os | grep -i darwin` ]; then
+	os="darwin"
+elif [ `echo $os | grep -i sunos` ]; then
+	os="sunos"
+elif [ `echo $os | grep -i linux` ]; then
+	os="linux"
+else
+	os="unix"
+fi
+#export os # iranai
+if [ "$windows" = "yes" ]; then
+	echo "" 1>&2
+	echo "It may take a while before the calculation starts" 1>&2
+	echo "if being scanned by anti-virus software." 1>&2
+	echo "Also consider using a faster version for Windows 10:" 1>&2
+	echo "https://mafft.cbrc.jp/alignment/software/wsl.html" 1>&2
+fi
+
+if [ "$MAFFT_BINARIES" ]; then
+	prefix="$MAFFT_BINARIES"
+else
+	prefix=/usr/libexec/mafft
+fi
+export prefix # iranai
+
+if [ $# -gt 0 ]; then
+	if [ "$1" = "--man" ]; then 
+		man "$prefix/mafft.1"
+		exit 0;
+	fi
+fi
+
+if [ -x "$prefix/version" ]; then
+#		versionbin=`"$prefix/version" | awk '{print $1}'` # for cygwin
+		versionbin=`"$prefix/version"` # for cygwin 2.7
+	else
+		versionbin="0.000"
+fi
+
+if ! expr "$version" : v"$versionbin" > /dev/null ; then
+	echo "" 1>&2
+	echo "v$versionbin != $version" 1>&2
+	echo "" 1>&2
+	echo "There is a problem in the configuration of your shell." 1>&2
+	echo "Check the MAFFT_BINARIES environmental variable by" 1>&2
+	echo "$ echo \$MAFFT_BINARIES" 1>&2
+	echo "" 1>&2
+	echo "This variable must be *unset*, unless you have installed MAFFT" 1>&2
+	echo "with a special configuration.  To unset this variable, type" 1>&2
+	echo "$ unset MAFFT_BINARIES" 1>&2
+	echo "or" 1>&2
+	echo "% unsetenv MAFFT_BINARIES" 1>&2
+	echo "Then retry" 1>&2
+	echo "$ mafft input > output" 1>&2
+	echo "" 1>&2
+	echo "To keep this change permanently, edit setting files" 1>&2
+	echo "(.bash_profile, .profile, .cshrc, etc) in your home directory" 1>&2
+	echo "to delete the MAFFT_BINARIES line." 1>&2
+	echo "On MacOSX, also edit or remove the .MacOSX/environment.plist file" 1>&2
+	echo "and then re-login (MacOSX 10.6) or reboot (MacOSX 10.7)." 1>&2
+	echo "" 1>&2
+	echo "Please send a problem report to katoh@ifrec.osaka-u.ac.jp," 1>&2
+	echo "if this problem remains." 1>&2
+	echo "" 1>&2
+	exit 1
+	er=1
+fi
+
+defaultiterate=0
+defaultcycle=2
+defaultgop="1.53"
+#defaultaof="0.123"
+defaultaof="0.000"
+defaultlaof="0.100"
+defaultlgop="-2.00"
+defaultfft=1
+defaultrough=0
+defaultdistance="ktuples"
+#defaultdistance="local"
+defaultweighti="2.7"
+defaultweightr="0.0"
+defaultweightm="1.0"
+defaultdafs=0
+defaultmccaskill=0
+defaultcontrafold=0
+defaultalgopt="  "
+defaultalgoptit="  "
+defaultsbstmodel=" -b 62 "
+defaultfmodel=" "
+defaultkappa=" "
+if [ $progname = "xinsi" -o $progname = "mafft-xinsi" ]; then
+	defaultfft=1
+	defaultcycle=1
+	defaultiterate=1000
+	defaultdistance="scarna"
+	defaultweighti="3.2"
+	defaultweightr="8.0"
+	defaultweightm="2.0"
+	defaultmccaskill=1
+	defaultcontrafold=0
+	defaultdafs=0
+	defaultalgopt=" -A "
+	defaultalgoptit=" -AB " ## chui
+	defaultaof="0.0"
+	defaultsbstmodel=" -b 62 "
+	defaultkappa=" "
+	defaultfmodel="    "  # 2013/06/18
+elif [ $progname = "qinsi" -o $progname = "mafft-qinsi" ]; then
+	defaultfft=1
+	defaultcycle=1
+	defaultiterate=1000
+	defaultdistance="global"
+	defaultweighti="3.2"
+	defaultweightr="8.0"
+	defaultweightm="2.0"
+	defaultmccaskill=1
+	defaultcontrafold=0
+	defaultdafs=0
+	defaultalgopt=" -A "
+	defaultalgoptit=" -AB " ## chui
+	defaultaof="0.0"
+	defaultsbstmodel=" -b 62 "
+	defaultkappa=" "
+	defaultfmodel="    "  # 2013/06/18
+elif [ $progname = "linsi" -o $progname = "mafft-linsi" ]; then
+	defaultfft=0
+	defaultcycle=1
+	defaultiterate=1000
+	defaultdistance="local"
+elif [ $progname = "ginsi" -o $progname = "mafft-ginsi" ]; then
+	defaultfft=1
+	defaultcycle=1
+	defaultiterate=1000
+	defaultdistance="global"
+elif [ $progname = "einsi" -o $progname = "mafft-einsi" ]; then
+	defaultfft=0
+	defaultcycle=1
+	defaultiterate=1000
+	defaultdistance="localgenaf"
+elif [ $progname = "fftns" -o $progname = "mafft-fftns" ]; then
+	defaultfft=1
+	defaultcycle=2
+	defaultdistance="ktuples"
+elif [ $progname = "fftnsi" -o $progname = "mafft-fftnsi" ]; then
+	defaultfft=1
+	defaultcycle=2
+	defaultiterate=2
+	defaultdistance="ktuples"
+elif [ $progname = "nwns" -o $progname = "mafft-nwns" ]; then
+	defaultfft=0
+	defaultcycle=2
+	defaultdistance="ktuples"
+elif [ $progname = "nwnsi" -o $progname = "mafft-nwnsi" ]; then
+	defaultfft=0
+	defaultcycle=2
+	defaultiterate=2
+	defaultdistance="ktuples"
+fi
+outputfile=""
+namelength=-1
+anysymbol=0
+parallelizationstrategy="BAATARI2"
+kappa=$defaultkappa
+sbstmodel=$defaultsbstmodel
+fmodel=$defaultfmodel
+nmodel=" "
+gexp=0
+gop=$defaultgop
+gopdist=$defaultgop
+aof=$defaultaof
+cycle=$defaultcycle
+iterate=$defaultiterate
+fft=$defaultfft
+rough=$defaultrough
+distance=$defaultdistance
+forcefft=0
+memopt=" "
+weightopt=" "
+GGOP="-6.00"
+LGOP="-6.00"
+LEXP="-0.000"
+GEXP="-0.000"
+lgop=$defaultlgop
+lexp="-0.100"
+laof=$defaultlaof
+pggop="-2.00"
+pgexp="-0.10"
+pgaof="0.10"
+rgop="-1.530"
+rgep="-0.000"
+seqtype="  "
+weighti=$defaultweighti
+weightr=$defaultweightr
+weightm=$defaultweightm
+rnaalifold=0
+dafs=$defaultdafs
+mccaskill=$defaultmccaskill
+contrafold=$defaultcontrafold
+progressfile="/dev/stderr"
+anchorfile="/dev/null"
+anchoropt=""
+maxanchorseparation=1000
+debug=0
+sw=0
+algopt=$defaultalgopt
+algoptit=$defaultalgoptit
+#algspecified=0
+pairspecified=0
+scorecalcopt=" "
+coreout=0
+corethr="0.5"
+corewin="100"
+coreext=" "
+outputformat="pir"
+f2clext="-N"
+outorder="input"
+seed="x"
+seedtable="x"
+auto=0
+groupsize=-1
+partsize=50
+partdist="ktuples"
+partorderopt=" -x "
+treeout=0
+nodeout=0
+distout=0
+treein=0
+topin=0
+treeinopt="  "
+seedfiles="/dev/null"
+seedtablefile="/dev/null"
+pdblist="/dev/null"
+ownlist="/dev/null"
+strdir="$PWD"
+scorematrix="/dev/null"
+textmatrix="/dev/null"
+treeinfile="/dev/null"
+rnascoremtx=" "
+laraparams="/dev/null"
+foldalignopt=" "
+treealg=" -X 0.1 "
+sueff="1.0"
+maxambiguous="1.0"
+scoreoutarg=" "
+numthreads=0
+numthreadsit=-1
+numthreadstb=-1
+randomseed=0
+addfile="/dev/null"
+addarg0=" "
+addarg=" "
+addsinglearg=" "
+add2ndhalfarg=" "
+mapoutfile="/dev/null"
+fragment=0
+legacygapopt=" "
+mergetable="/dev/null"
+mergearg=" "
+seedoffset=0
+outnum=" "
+last_e=5000
+last_m=3
+last_subopt=" "
+last_once=" "
+adjustdirection=0
+tuplesize=6
+termgapopt=" -O "
+#termgapopt=" " # gap/gap ga kakenai node
+similarityoffset="0.0"
+unalignlevel="0.0"
+unalignspecified=0
+spfactor="100.0"
+shiftpenaltyspecified=0
+opdistspecified=0
+allowshift=0
+enrich=0        # ato de kezuru
+enrichseq=0     # ato de kezuru
+enrichstr=0     # ato de kezuru
+seektarget=""   # ato de kezuru
+dashserver="https://sysimm.org/dash/REST1.0/"
+newdash=0
+newdash_originalsequenceonly=0
+exclude_ho=0
+fixthreshold="0.0"
+bunkatsuopt=" "
+npickup=0
+minimumweight="0.00001" # 2016/Mar
+usenaivepairscore=" "
+oldgenafparam=0
+sprigorous=0
+treeext="none"
+initialramusage="20GB"
+focusarg=" "
+lhlimit=" "
+mpiscript="/dev/null"
+if [ $# -gt 0 ]; then
+	if [ "$1" = "--version" ]; then
+		echo "$version" 1>&2
+		exit 0;
+	elif [ "$1" = "--help" -o "$1" = "--info" ]; then 
+		shift
+		er=1;
+	fi
+	while [ $# -gt 1 ];
+	do
+		if [ "$1" = "--auto" ]; then 
+			auto=1
+		elif [ "$1" = "--anysymbol" ]; then 
+			anysymbol=1
+		elif [ "$1" = "--preservecase" ]; then 
+			anysymbol=1
+		elif [ "$1" = "--clustalout" ]; then 
+			outputformat="clustal"
+		elif [ "$1" = "--phylipout" ]; then 
+			outputformat="phylip"
+		elif [ "$1" = "--reorder" ]; then 
+			outorder="aligned"
+			partorderopt=" "
+		elif [ "$1" = "--inputorder" ]; then 
+			outorder="input"
+			partorderopt=" -x "
+		elif [ "$1" = "--unweight" ]; then 
+			weightopt=" -u "
+		elif [ "$1" = "--termgappenalty" ]; then 
+			termgapopt=" "
+		elif [ "$1" = "--alga" ]; then 
+			algopt=" "
+			algoptit=" "
+#			algspecified=1
+		elif [ "$1" = "--algq" ]; then 
+			algopt=" -Q "
+			algoptit=" "
+			echo "" 1>&2
+			echo "--algq is no longer supported!" 1>&2
+			echo "" 1>&2
+			exit 1;
+#			algspecified=1
+		elif [ "$1" = "--namelength" ]; then 
+			shift   
+			namelength=`expr "$1" - 0`
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify the length of name in clustal format output!" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--groupsize" ]; then 
+			shift   
+			groupsize=`expr "$1" - 0`
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify groupsize!" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--partsize" ]; then 
+			shift   
+			partsize=`expr "$1" - 0`
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify partsize!" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--parttree" ]; then 
+			distance="parttree"
+			partdist="ktuples"
+		elif [ "$1" = "--dpparttree" ]; then 
+			distance="parttree"
+			partdist="localalign"
+		elif [ "$1" = "--fastaparttree" ]; then 
+			distance="parttree"
+			partdist="fasta"
+		elif [ "$1" = "--treeout" ]; then 
+			treeout=1
+		elif [ "$1" = "--nodeout" ]; then 
+			nodeout=1
+			treeout=1
+		elif [ "$1" = "--distout" ]; then 
+			distout=1
+		elif [ "$1" = "--fastswpair" ]; then
+			distance="fasta"
+			pairspecified=1
+			sw=1
+		elif [ "$1" = "--fastapair" ]; then
+			distance="fasta"
+			pairspecified=1
+			sw=0
+		elif [ "$1" = "--averagelinkage" ]; then
+			treealg=" -X 1.0 "
+			sueff="1.0"
+		elif [ "$1" = "--minimumlinkage" ]; then
+			treealg=" -X 0.0 "
+			sueff="0.0"
+		elif [ "$1" = "--mixedlinkage" ]; then
+			shift   
+			sueff="$1"
+			treealg=" -X $1"
+		elif [ "$1" = "--maxambiguous" ]; then
+			shift   
+			maxambiguous="$1"
+		elif [ "$1" = "--noscore" ]; then
+			scorecalcopt=" -Z "
+		elif [ "$1" = "--6mermultipair" ]; then
+			distance="ktuplesmulti"
+			tuplesize=6
+			pairspecified=1
+		elif [ "$1" = "--10mermultipair" ]; then
+			distance="ktuplesmulti"
+			tuplesize=10
+			pairspecified=1
+		elif [ "$1" = "--6merpair" ]; then
+			distance="ktuples"
+			tuplesize=6
+			pairspecified=1
+		elif [ "$1" = "--10merpair" ]; then
+			distance="ktuples"
+			tuplesize=10
+			pairspecified=1
+		elif [ "$1" = "--blastpair" ]; then
+			distance="blast"
+			pairspecified=1
+		elif [ "$1" = "--lastmultipair" ]; then
+			distance="lastmulti"
+			pairspecified=1
+		elif [ "$1" = "--globalpair" ]; then
+			distance="global"
+			pairspecified=1
+		elif [ "$1" = "--shortlongpair" ]; then
+			distance="local"
+			usenaivepairscore="-Z"
+			laof=0.0  # addfull no tokini tsukawareru.
+			lexp=0.0  # addfull no tokini tsukawareru.
+			pgaof=0.0 # local nara iranai
+			pgexp=0.0 # local nara iranai
+			pairspecified=1
+		elif [ "$1" = "--longshortpair" ]; then
+			distance="local"
+			usenaivepairscore="-Z"
+			laof=0.0  # addfull no tokini tsukawareru.
+			lexp=0.0  # addfull no tokini tsukawareru.
+			pgaof=0.0 # local nara iranai
+			pgexp=0.0 # local nara iranai
+			pairspecified=1
+		elif [ "$1" = "--localpair" ]; then
+			distance="local"
+			pairspecified=1
+		elif [ "$1" = "--lastpair" ]; then
+			distance="last"
+			pairspecified=1
+		elif [ "$1" = "--multipair" ]; then
+			distance="multi"
+			pairspecified=1
+		elif [ "$1" = "--hybridpair" ]; then
+			distance="hybrid"
+			pairspecified=1
+		elif [ "$1" = "--scarnapair" ]; then
+			distance="scarna"
+			pairspecified=1
+		elif [ "$1" = "--dafspair" ]; then
+			distance="dafs"
+			pairspecified=1
+		elif [ "$1" = "--larapair" ]; then
+			distance="lara"
+			pairspecified=1
+		elif [ "$1" = "--slarapair" ]; then
+			distance="slara"
+			pairspecified=1
+		elif [ "$1" = "--foldalignpair" ]; then
+			distance="foldalignlocal"
+			pairspecified=1
+		elif [ "$1" = "--foldalignlocalpair" ]; then
+			distance="foldalignlocal"
+			pairspecified=1
+		elif [ "$1" = "--foldalignglobalpair" ]; then
+			distance="foldalignglobal"
+			pairspecified=1
+		elif [ "$1" = "--globalgenafpair" ]; then
+			distance="globalgenaf"
+			pairspecified=1
+			echo "" 1>&2
+			echo "--globalgenaf is no longer supported!" 1>&2
+			echo "" 1>&2
+			exit 1;
+		elif [ "$1" = "--localgenafpair" ]; then
+			distance="localgenaf"
+			pairspecified=1
+		elif [ "$1" = "--genafpair" ]; then
+			distance="localgenaf"
+			pairspecified=1
+		elif [ "$1" = "--oldgenafpair" ]; then
+			distance="localgenaf"
+			pairspecified=1
+			oldgenafparam=1
+		elif [ "$1" = "--memsave" ]; then
+			memopt=" -M -B "         # -B (bunkatsunashi no riyu ga omoidasenai)
+		elif [ "$1" = "--nomemsave" ]; then
+			memopt=" -N "
+		elif [ "$1" = "--nuc" ]; then 
+			seqtype="-D" # Deleted space, 2018/Dec
+		elif [ "$1" = "--amino" ]; then 
+			seqtype="-P" # Deleted space, 2018/Dec
+		elif [ "$1" = "--fft" ]; then 
+			fft=1
+			forcefft=1
+		elif [ "$1" = "--nofft" ]; then 
+			fft=0
+		elif [ "$1" = "--quiet" ]; then 
+#			if [ $os = "msys" ]; then
+#				progressfile="nul"
+#			else
+				progressfile="/dev/null"
+#			fi
+		elif [ "$1" = "--debug" ]; then 
+			debug=1
+		elif [ "$1" = "--coreext" ]; then 
+			coreext=" -c "
+		elif [ "$1" = "--core" ]; then 
+			coreout=1
+		elif [ "$1" = "--adjustdirection" ]; then 
+			adjustdirection=1
+		elif [ "$1" = "--adjustdirectionaccurately" ]; then 
+			adjustdirection=2
+		elif [ "$1" = "--oneiteration" ]; then 
+			oneiterationopt=" -r "
+		elif [ "$1" = "--progress" ]; then 
+			shift   
+			progressfile="$1"
+			if ! ( expr "$progressfile" : "\/" > /dev/null || expr "$progressfile" : "[A-Za-z]\:" > /dev/null ) ; then
+				echo "Specify a progress file name with the absolute path!" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--out" ]; then 
+			shift   
+			outputfile="$1"
+		elif [ "$1" = "--skipanchorsremoterthan" ]; then 
+			shift   
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify maximum gap length between anchors." 1>&2
+				exit
+			fi
+			maxanchorseparation=`expr "$1" - 0` 
+		elif [ "$1" = "--anchors" ]; then 
+			shift
+			anchorfile="$1"
+			anchoropt=" -l "
+#			memopt=" -M -B "      # ato de kentou
+#			memopt=" -N "         # no memsave
+			if [ ! -e "$anchorfile" ]; then
+				echo "Cannot open $anchorfile" 1>&2
+				echo "" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--thread" ]; then 
+			shift
+			if ! expr "$1" : "[0-9\-]" > /dev/null ; then
+				echo "Specify the number of threads.  Or, use --thread -1" 1>&2
+				exit
+			fi
+			numthreads=`expr "$1" - 0` 
+		elif [ "$1" = "--threadtb" ]; then 
+			shift
+			if ! expr "$1" : "[0-9\-]" > /dev/null ; then
+				echo "Check the argument after --threadtb, the number of threads for the progressive step." 1>&2
+				exit
+			fi
+			numthreadstb=`expr "$1" - 0` 
+		elif [ "$1" = "--threadit" ]; then 
+			shift
+			if ! expr "$1" : "[0-9\-]" > /dev/null ; then
+				echo "Check the argument after --threadit, the number of threads for the iterative step." 1>&2
+				exit
+			fi
+			numthreadsit=`expr "$1" - 0` 
+		elif [ "$1" = "--last_subopt" ]; then 
+			last_subopt="-S"
+		elif [ "$1" = "--last_once" ]; then 
+			last_once="-U"
+		elif [ "$1" = "--last_m" ]; then 
+			shift
+			last_m=`expr "$1" - 0` 
+		elif [ "$1" = "--last_e" ]; then 
+			shift
+			last_e=`expr "$1" - 0` 
+		elif [ "$1" = "--randomseed" ]; then 
+			shift
+			randomseed=`expr "$1" - 0` 
+		elif [ "$1" = "--bestfirst" ]; then 
+			parallelizationstrategy="BESTFIRST"
+		elif [ "$1" = "--adhoc0" ]; then 
+			parallelizationstrategy="BAATARI0"
+		elif [ "$1" = "--adhoc1" ]; then 
+			parallelizationstrategy="BAATARI1"
+		elif [ "$1" = "--adhoc2" ]; then 
+			parallelizationstrategy="BAATARI2"
+		elif [ "$1" = "--simplehillclimbing" ]; then 
+			parallelizationstrategy="BAATARI2"
+		elif [ "$1" = "--scoreout" ]; then 
+			scoreoutarg="-S -B"
+		elif [ "$1" = "--outnum" ]; then 
+			outnum="-n"
+		elif [ "$1" = "--leavegappyregion" ]; then 
+			legacygapopt="-L"
+		elif [ "$1" = "--legacygappenalty" ]; then 
+			legacygapopt="-L"
+		elif [ "$1" = "--merge" ]; then
+			shift
+			mergetable="$1"
+			if [ ! -e "$mergetable" ]; then
+				echo "Cannot open $mergetable" 1>&2
+				echo "" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--addprofile" ]; then 
+			shift   
+			addarg0="-I"
+			addfile="$1"
+		elif [ "$1" = "--add" ]; then 
+			shift   
+			addarg0="-K -I"
+			addfile="$1"
+		elif [ "$1" = "--addfragments" ]; then 
+			shift   
+			addarg0="-K -I"
+			addfile="$1"
+			fragment=1
+		elif [ "$1" = "--addfull" ]; then 
+			shift   
+			addarg0="-K -I"
+			addfile="$1"
+			fragment=-1
+		elif [ "$1" = "--addlong" ]; then 
+			shift   
+			addarg0="-K -I"
+			addfile="$1"
+			fragment=-2
+		elif [ "$1" = "--smoothing" ]; then 
+			add2ndhalfarg=$add2ndhalfarg" -p "
+		elif [ "$1" = "--keeplength" ]; then 
+			add2ndhalfarg=$add2ndhalfarg" -Y "
+		elif [ "$1" = "--mapout" ]; then 
+			add2ndhalfarg=$add2ndhalfarg" -Z -Y "
+		elif [ "$1" = "--mapoutfile" ]; then 
+			shift
+			add2ndhalfarg=$add2ndhalfarg" -Z -Y "
+			mapoutfile="$1"
+		elif [ "$1" = "--maxiterate" ]; then 
+			shift   
+			iterate=`expr "$1" - 0` 
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify the number of iterations!" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--retree" ]; then 
+			shift   
+			cycle=`expr "$1" - 0`
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify the number of tree rebuilding!" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--aamatrix" ]; then 
+			shift   
+			f2clext="-N"
+			sbstmodel=" -b -1 "
+			scorematrix="$1"
+			if [ ! -e "$scorematrix" ]; then
+				echo "Cannot open $scorematrix" 1>&2
+				echo "" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--textmatrix" ]; then 
+			shift   
+			f2clext="-E"
+			seqtype="-P"
+			fft=0
+			sbstmodel=" -b -2 -a "
+			scorematrix="$1"
+			if [ ! -e "$scorematrix" ]; then
+				echo "Cannot open $scorematrix" 1>&2
+				echo "" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--text" ]; then 
+			f2clext="-E"
+			seqtype="-P"
+			fft=0
+			sbstmodel=" -b -2 -a "
+		elif [ "$1" = "--treein" ]; then 
+			shift   
+			treeinopt=" -U "
+			treein=1
+			treeinfile="$1"
+			if [ ! -e "$treeinfile" ]; then
+				echo "Cannot open $treeinfile" 1>&2
+				echo "" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--pileup" ]; then 
+#			treeinopt=" -U "
+#			treein=1
+			treeext="pileup"
+		elif [ "$1" = "--randomchain" ]; then 
+#			treeinopt=" -U "
+#			treein=1
+#			pileuporshuffle="s"
+			treeext="randomchain"
+		elif [ "$1" = "--topin" ]; then 
+			shift   
+			treeinopt=" -V "
+			treein=1
+			treeinfile="$1"
+			echo "The --topin option has been disabled." 1>&2
+			echo "There was a bug in version < 6.530."   1>&2
+			echo "This bug has not yet been fixed."      1>&2
+			exit 1
+		elif [ "$1" = "--mpi" ]; then 
+			mpiscript="$prefix/mpiscript"
+		elif [ "$1" = "--large" ]; then
+			treeext="memsavetree"
+		elif [ "$1" = "--memsavetree" ]; then
+			treeext="memsavetree"
+		elif [ "$1" = "--memsavetreex" ]; then
+			treeext="memsavetreex"
+		elif [ "$1" = "--stepadd" ]; then
+			treeext="stepadd"
+		elif [ "$1" = "--youngestlinkage" ]; then
+			treeext="youngestlinkage"
+		elif [ "$1" = "--kappa" ]; then 
+			shift   
+			kappa=" -k $1 "
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify kappa value!" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--fmodel" ]; then 
+			fmodel=" -a "
+		elif [ "$1" = "--nwildcard" ]; then 
+			nmodel=" -: "
+		elif [ "$1" = "--nzero" ]; then 
+			nmodel="  "
+		elif [ "$1" = "--jtt" ]; then 
+			shift   
+			f2clext="-N"
+			sbstmodel=" -j $1"
+#			if ! expr "$1" : "[0-9]" > /dev/null ; then
+#				echo "Specify pam value!" 1>&2
+#				exit
+#			fi
+		elif [ "$1" = "--kimura" ]; then 
+			shift   
+			f2clext="-N"
+			sbstmodel=" -j $1"
+#			if ! expr "$1" : "[0-9]" > /dev/null ; then
+#				echo "Specify pam value!" 1>&2
+#				exit
+#			fi
+		elif [ "$1" = "--tm" ]; then 
+			shift   
+			f2clext="-N"
+			sbstmodel=" -m $1"
+#			if ! expr "$1" : "[0-9]" > /dev/null ; then
+#				echo "Specify pam value!" 1>&2
+#				exit
+#			fi
+		elif [ "$1" = "--bl" ]; then 
+			shift   
+			f2clext="-N"
+			sbstmodel=" -b $1"
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "blosum $1?" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--weighti" ]; then
+			shift   
+			weighti="$1"
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify weighti value!" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--weightr" ]; then
+			shift   
+			weightr="$1"
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify weightr value!" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--weightm" ]; then
+			shift   
+			weightm="$1"
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify weightm value!" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--rnaalifold" ]; then
+			rnaalifold=1
+		elif [ "$1" = "--mccaskill" ]; then
+			mccaskill=1
+			contrafold=0
+			dafs=0
+		elif [ "$1" = "--contrafold" ]; then
+			mccaskill=0
+			contrafold=1
+			dafs=0
+		elif [ "$1" = "--dafs" ]; then
+			mccaskill=0
+			contrafold=0
+			dafs=1
+		elif [ "$1" = "--ribosum" ]; then
+			rnascoremtx=" -s "
+		elif [ "$1" = "--op" ]; then 
+			shift   
+			gop="$1"
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify op!" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--opdist" ]; then 
+			shift   
+			gopdist="$1"
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify opdist!" 1>&2
+				exit
+			fi
+			opdistspecified=1
+		elif [ "$1" = "--allowshift" ]; then 
+			allowshift=1
+		elif [ "$1" = "--shiftpenalty" ]; then 
+			shift   
+			spfactor="$1"
+			if ! expr "$1" : "[0-9]" > /dev/null ; then
+				echo "Specify sf!" 1>&2
+				exit
+			fi
+			shiftpenaltyspecified=1
+		elif [ "$1" = "--exp" ]; then 
+			shift   
+#			gexp="$1"
+			tmpval="$1"
+			gexp=`awk "BEGIN{ print -1.0 * \"$tmpval\"}"`
+			if ! expr "$gexp" : "[0-9\-]" > /dev/null ; then
+				printf "\nSpecify a number for exp, like --exp 0.1\n" 1>&2
+				printf "'$1' cannot be interpreted as a number..\n\n" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--ep" ]; then 
+			shift   
+#			aof="$1"
+			tmpval="$1"
+			aof=`awk "BEGIN{ print -1.0 * \"$tmpval\"}"`
+			if ! expr "$aof" : "[0-9\-]" > /dev/null ; then
+				printf "\nSpecify a number for ep, like --ep 0.1\n" 1>&2
+				printf "'$1' cannot be interpreted as a number..\n\n" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--rop" ]; then 
+			shift   
+			rgop="$1"
+# Atode check
+		elif [ "$1" = "--rep" ]; then 
+			shift   
+			rgep="$1"
+		elif [ "$1" = "--lop" ]; then 
+			shift   
+			lgop="$1"
+		elif [ "$1" = "--LOP" ]; then 
+			shift   
+			LGOP="$1"
+		elif [ "$1" = "--lep" ]; then 
+			shift   
+			laof="$1"
+		elif [ "$1" = "--lexp" ]; then 
+			shift   
+			lexp="$1"
+		elif [ "$1" = "--LEXP" ]; then 
+			shift   
+			LEXP="$1"
+		elif [ "$1" = "--GEXP" ]; then 
+			shift   
+			GEXP="$1"
+		elif [ "$1" = "--GOP" ]; then 
+			shift   
+			GGOP="$1"
+		elif [ "$1" = "--gop" ]; then 
+			shift   
+			pggop="$1"
+		elif [ "$1" = "--gep" ]; then 
+			shift   
+			pgaof="$1"
+		elif [ "$1" = "--gexp" ]; then 
+			shift   
+			pgexp="$1"
+		elif [ "$1" = "--laraparams" ]; then 
+			shift   
+			laraparams="$1"
+		elif [ "$1" = "--corethr" ]; then 
+			shift   
+			corethr="$1"
+		elif [ "$1" = "--corewin" ]; then 
+			shift   
+			corewin="$1"
+		elif [ "$1" = "--strdir" ]; then
+			shift
+			strdir="$1"
+		elif [ "$1" = "--pdbidlist" ]; then
+			echo "--pdbidlist is temporarily unavailable, 2018/Dec." 1>&2
+			echo "" 1>&2
+			exit
+			shift
+			pdblist="$1"
+			if [ ! -e "$pdblist" ]; then
+				echo "Cannot open $pdblist" 1>&2
+				echo "" 1>&2
+				exit
+			fi
+		elif [ "$1" = "--pdbfilelist" ]; then
+			echo "--pdbfilelist is temporarily unavailable, 2018/Dec." 1>&2
+			echo "" 1>&2
+			exit
+			shift
+			ownlist="$1"
+			if [ ! -e "$ownlist" ]; then
+				echo "Cannot open $ownlist" 1>&2
+				echo "" 1>&2
+				exit
+			fi
+#		elif [ "$1" = "--enrich" ]; then
+#			enrich=1
+#			enrichseq=1
+#			enrichstr=1
+#			seektarget=""
+#		elif [ "$1" = "--enrichseq" ]; then
+#			enrich=1
+#			enrichseq=1
+#			enrichstr=0
+#			seektarget="-seq"
+#		elif [ "$1" = "--enrichstr" ]; then
+#			enrich=1
+#			enrichseq=0
+#			enrichstr=1
+#			seektarget="-str"
+		elif [ "$1" = "--dash" ]; then
+			newdash=1
+			if [ "$distance" != "local" -a "$distance" != "localgenaf" ]; then # 2021/Oct
+				distance="global"
+			fi
+			if [ "$iterate" -eq 0 ]; then # 2021/Oct
+				iterate=3
+			fi
+		elif [ "$1" = "--dashserver" ]; then
+			shift
+			dashserver="$1"
+		elif [ "$1" = "--originalseqonly" ]; then
+			newdash_originalsequenceonly=1
+		elif [ "$1" = "--excludehomologs" ]; then # works with --dash only
+			exclude_ho=1
+		elif [ "$1" = "--seedtable" ]; then
+			shift
+			seedtable="y"
+			seedtablefile="$1"
+		elif [ "$1" = "--seed" ]; then
+			shift
+			seed="m"
+			seedfiles="$seedfiles $1"
+		elif [ "$1" = "--minimumweight" ]; then
+			shift
+			minimumweight="$1"
+		elif [ "$1" = "--similaritylevel" ]; then
+			shift
+			similarityoffset="$1"
+		elif [ "$1" = "--unalignlevel" ]; then
+			shift
+			unalignlevel="$1"
+			unalignspecified=1
+		elif [ "$1" = "--skipiterate" ]; then
+			shift
+			fixthreshold="$1"
+		elif [ "$1" = "--bunkatsunashi" ]; then
+			bunkatsuopt=" -B "
+		elif [ "$1" = "--sp" ]; then
+			sprigorous=1
+		elif [ "$1" = "--focus" ]; then
+			focusarg=" -= "
+		elif [ "$1" = "--lhlimit" ]; then # atode namae henkou
+			shift
+			lhlimit=" -q $1 "
+		elif [ "$1" = "--sparsepickup" ]; then
+			shift
+			npickup="$1"
+		elif [ $progname = "fftns" -o  $progname = "nwns" ]; then
+			if [ "$1" -gt 0 ]; then
+				cycle=`expr "$1" - 0`
+			fi
+		else
+			echo "Unknown option:  $1" 1>&2
+			er=1;
+#			exit 1;
+		fi
+		shift   
+	done;
+
+
+#	echo "" 1>"$progressfile"
+
+	if [ $treeext = "memsavetree" ] || [ $treeext = "stepadd" ]; then
+		if [ $distance != "ktuples" ]; then  
+# auto -> memsave && globalpair ha erabarenai node, 
+# ~/maffttmp wo tsukau noha meijiteki ni shitei saretatoki dake.
+			if [ ! "$MAFFT_TMPDIR" ]; then  # space is acceptable, 2018/Mar/17
+				MAFFT_TMPDIR="$HOME/maffttmp"
+				mkdir -p "$MAFFT_TMPDIR" || exit
+			fi
+		fi
+	fi
+
+
+	if [ ! "$MAFFT_TMPDIR" ]; then
+		MAFFT_TMPDIR="$TMPDIR"
+	fi
+
+	TMPFILE=`env TMPDIR="$MAFFT_TMPDIR" mktemp -dt "$progname.XXXXXXXXXX"`
+	if [ $? -ne 0 ]; then
+		echo "mktemp seems to be obsolete. Re-trying without -t" 1>&2
+		mkdir -p "$MAFFT_TMPDIR/tmp" 1>&2
+		TMPFILE=`mktemp -d "$MAFFT_TMPDIR/tmp/$progname.XXXXXXXXXX"`
+	fi	
+
+#	lfs getstripe $TMPFILE  2>/dev/null && lfs setstripe -c 1 $TMPFILE # 2017/Oct
+	lfs getstripe "$TMPFILE" > /dev/null 2>&1 && lfs setstripe -c 1 "$TMPFILE" > /dev/null 2>&1 # 2018/Feb
+
+	if [ $os = "cygwin" ]; then
+		TMPFILE=`cygpath -w "$TMPFILE"`  # necessary to pass path to f2cl on cyswin, somehow unnecessary in msys.
+	fi
+
+#	umask 077  # 2021/Jan
+#	mkdir  "$TMPFILE"  || er=1
+
+
+function removetmpfile() { # for MPI
+	while true
+	do
+		rm -rf "$TMPFILE" && break
+		echo Retrying to remove "$TMPFILE". It may take several seconds. 1>&2
+		sleep 2
+	done
+}
+
+	if [ $debug -eq 1 ]; then
+#		trap "tar cfvz debuginfo.tgz $TMPFILE; rm -rf $TMPFILE " 0 # does not work in msys
+#		trap "tar cfv - $TMPFILE | gzip -c > debuginfo.tgz; rm -rf $TMPFILE " 0 15
+		trap "popd > /dev/null 2>&1; tar cfv - \"$TMPFILE\" | gzip -c > debuginfo.tgz; removetmpfile" 0 15
+	else
+#		trap "rm -rf $TMPFILE" 0 15
+		trap "removetmpfile" 0 15
+	fi
+	if [ $# -eq 1 ]; then
+		if [ -r "$1" -o "$1" = - ]; then
+
+			if [ -r "$addfile" ]; then
+				printf '';
+			else
+				echo "$0": Cannot open "$addfile". 1>&2
+				echo "" 1>&2
+				exit 1;
+			fi
+
+
+			cat "$1"              | tr "\r" "\n" > "$TMPFILE/infile"
+			echo ""                             >> "$TMPFILE/infile"
+			cat "$addfile"        | tr "\r" "\n" | grep -v "^$" > "$TMPFILE/_addfile"
+
+			if [ $maxambiguous != "1.0" ]; then
+				mv "$TMPFILE/infile" "$TMPFILE/_tofilter"
+				"$prefix/filter" -m $maxambiguous $seqtype -i "$TMPFILE/_tofilter" > "$TMPFILE/infile" 2>>"$progressfile" || exit 1
+				mv "$TMPFILE/_addfile" "$TMPFILE/_tofilter"
+				"$prefix/filter" -m $maxambiguous $seqtype -i "$TMPFILE/_tofilter" > "$TMPFILE/_addfile" 2>>"$progressfile" || exit 1
+			fi
+			cat "$TMPFILE/_addfile" >> "$TMPFILE/infile"
+
+			cat "$scorematrix"    | tr "\r" "\n" | grep -v "^$" > "$TMPFILE/_aamtx"
+			cat "$mergetable"     | tr "\r" "\n" | grep -v "^$" > "$TMPFILE/_subalignmentstable"
+			cat "$treeinfile"     | tr "\r" "\n" | grep -v "^$" > "$TMPFILE/_guidetree"
+			cat "$seedtablefile"  | tr "\r" "\n" | grep -v "^$" > "$TMPFILE/_seedtablefile"
+			cat "$laraparams"     | tr "\r" "\n" | grep -v "^$" > "$TMPFILE/_lara.params"
+			cat "$pdblist"        | tr "\r" "\n" | grep -v "^$" > "$TMPFILE/pdblist"
+			cat "$ownlist"        | tr "\r" "\n" | grep -v "^$" > "$TMPFILE/ownlist"
+			cat "$anchorfile"     | tr "\r" "\n" | grep -v "^$" > "$TMPFILE/_externalanchors"
+
+			SAVEIFS=$IFS
+# Fixed a bug: 'n' was misinterpreted as delimiter, 2020/Jun/19
+			IFS=$'\n'
+			filelist="$1
+$addfile
+$scorematrix
+$mergetable
+$treeinfile
+$seedtablefile
+$laraparams
+$pdblist
+$ownlist"
+			for f in $filelist; do
+				file "$f" 2>/dev/null | grep -e 'UTF-16' -e 'UTF-32' >& /dev/null && printf "$f: UTF-16 or UTF-32? Convert this file to ASCII\n\n" 1>&2 && exit 1;
+			done
+			IFS=$SAVEIFS
+
+#			echo $seedfiles
+			infilename="$1"
+			seedfilesintmp="/dev/null"
+			seednseq="0"
+			set $seedfiles > /dev/null
+			while [ $# -gt 1 ];
+			do
+				shift
+				if [ -r "$1" ]; then
+					cat "$1" | tr "\r" "\n" >  "$TMPFILE/seed$#"
+					file "$1" | grep -e 'UTF-16' -e 'UTF-32' >& /dev/null && printf "$1: UTF-16 or UTF-32?  Convert this file to ASCII\n\n" 1>&2 && exit 1;
+				else
+					echo "$0": Cannot open "$1". 1>&2
+					echo "" 1>&2
+					exit 1;
+				fi
+				seednseq=$seednseq" "`grep -c '^[>|=]' "$TMPFILE/seed$#"`
+				seedfilesintmp=$seedfilesintmp" "seed$#
+			done
+#			ls $TMPFILE
+#			echo $seedfilesintmp
+#			echo $seednseq
+
+
+		else
+			echo "$0": Cannot open "$1". 1>&2
+			echo "" 1>&2
+			er=1
+#			exit 1;
+		fi
+	else
+#		echo '$#'"=$#" 1>&2
+		er=1
+	fi
+
+
+	if [ $numthreads -lt 0 ]; then
+		if [ $os = "linux" ]; then
+			nlogicalcore=`cat /proc/cpuinfo | grep "^processor" | uniq | wc -l`
+			ncoresinacpu=`cat /proc/cpuinfo | grep 'cpu cores' | uniq | awk '{print $4}'`
+			nphysicalcpu=`cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l`
+			if [ $nlogicalcore -eq 0 ]; then
+				echo "Cannot get the number of processors from /proc/cpuinfo" 1>>"$progressfile"
+				exit 1
+			fi
+			if [ ${#ncoresinacpu} -gt 0 -a $nphysicalcpu -gt 0 ]; then
+				numthreads=`expr $ncoresinacpu '*' $nphysicalcpu`
+#				if [ $nlogicalcore -gt $numthreads ]; then    # Hyperthreading
+#					numthreads=`expr $numthreads '+' 1`
+#				fi
+			else
+				numthreads=$nlogicalcore
+			fi
+		elif [ $os = "darwin" ]; then
+			numthreads=`sysctl -n hw.physicalcpu`
+			if [ -z $numthreads ]; then
+				echo "Cannot get the number of physical cores from sysctl" 1>>"$progressfile"
+				exit 1
+			fi
+#			nlogicalcore=`sysctl -n hw.logicalcpu`
+#			if [ $nlogicalcore -gt $numthreads ]; then    # Hyperthreading
+#				numthreads=`expr $numthreads '+' 1`
+#			fi
+		elif [ "$windows" = "yes" ]; then
+#			numthreads=`wmic cpu get NumberOfCores | head -2 | tail -1 | awk '{print $1}'`
+			numthreads=`wmic cpu get NumberOfCores | awk 'BEGIN{n=0} {n+=$1} END{print n}'`
+
+		else
+			echo "Cannot count the number of physical cores." 1>>"$progressfile"
+			exit 1
+		fi
+		echo "OS = "$os 1>>"$progressfile"
+		echo "The number of physical cores = " $numthreads 1>>"$progressfile"
+	fi
+
+	if [ $numthreadstb -lt 0 ]; then
+		if [ $numthreads -lt 16 -o "$mpiscript" !=  "/dev/null" ]; then # mpi: museigen, multithread: 16 made
+#		if [ $numthreads -lt 31 ]; then
+			numthreadstb=$numthreads
+		else
+			numthreadstb=16
+		fi
+	fi
+
+	if [ $numthreadsit -lt 0 ]; then
+		if [ $numthreads -lt 8 ]; then
+			numthreadsit=$numthreads
+		else
+			numthreadsit=8
+		fi
+	fi
+
+	if [ $numthreadsit -eq 0 -a $parallelizationstrategy = "BESTFIRST" ]; then
+		echo 'Impossible' 1>&2;
+		exit 1;
+	fi
+
+
+	if [ "$addarg0" != " " ]; then
+
+#		iterate=0  # 2013/03/23 -> commented out, 2017/12
+		"$prefix/countlen" < "$TMPFILE/_addfile" > "$TMPFILE/addsize" 2>>"$progressfile"
+		nadd=`awk '{print $1}' "$TMPFILE/addsize"`
+		if [ $nadd -eq "0" ]; then
+			echo Check $addfile 1>&2
+			exit 1;
+		fi
+		if [ $seed != "x" -o $seedtable != "x" ]; then
+			echo 'Impossible' 1>&2;
+			echo 'Use either ONE of --seed, --seedtable, --addprofile and --add.' 1>&2
+			exit 1;
+		fi
+	else
+		nadd="0"
+	fi
+
+	if [ $auto -eq 1 ]; then
+		"$prefix/countlen" < "$TMPFILE/infile" > "$TMPFILE/size" 2>>"$progressfile"
+		nseq=`awk '{print $1}' "$TMPFILE/size"`
+		nlen=`awk '{print $3}' "$TMPFILE/size"`
+
+		if [ $nlen -lt 3000 -a $nseq -lt 100 ]; then
+			distance="local"
+			iterate=1000
+			cycle=1
+			treeext="none"
+		elif [ $nlen -lt 1000 -a $nseq -lt 200 ]; then
+			distance="local"
+			iterate=2
+			cycle=1
+			treeext="none"
+		elif [ $nlen -lt 10000 -a $nseq -lt 500 ]; then
+			distance="ktuples"
+			iterate=2
+			cycle=2
+			treeext="none"
+		elif [ $nseq -lt 20000 ]; then  # changed from 10000 2014/Oct/4
+			distance="ktuples"
+			iterate=0
+			cycle=2
+			treeext="none"
+		elif [ $nseq -lt 100000 ]; then  # changed from 50000 2017/Nov/24
+			distance="ktuples"
+			iterate=0
+			cycle=2
+			if [ $fragment -eq 0 -a "$mergetable" = "/dev/null" ]; then
+				treeext="memsavetree"
+			fi
+		elif [ $nseq -lt 200000 ]; then  # changed from 90000 2017/Nov/24
+			distance="ktuples"
+			iterate=0
+			cycle=1
+			if [ $fragment -eq 0 -a "$mergetable" = "/dev/null" ]; then
+				treeext="memsavetree"
+			fi
+		elif [ $nlen -lt 3000 ]; then
+			distance="parttree"
+			partdist="localalign"
+			algopt=" "
+			algoptit=" "
+#			algspecified=1
+			cycle=1
+		else
+			distance="parttree"
+			partdist="ktuples"
+			algopt=" "
+			algoptit=" "
+#			algspecified=1
+			cycle=1
+		fi
+
+
+#		if [ $nlen -lt 3000 -a $nseq -lt 100 ]; then
+#			distance="local"
+#			iterate=1000
+#			cycle=1
+#		elif [ $nlen -lt 1000 -a $nseq -lt 200 ]; then
+#			distance="local"
+#			iterate=2
+#			cycle=1
+#		elif [ $nlen -lt 10000 -a $nseq -lt 500 ]; then
+#			distance="ktuples"
+#			iterate=2
+#			cycle=2
+#		elif [ $nseq -lt 200000 ]; then
+#			distance="ktuples"
+#			iterate=0
+#			treeinopt=" -U "
+#			treein=1
+#			pileuporshuffle="a"
+#		elif [ $nlen -lt 3000 ]; then
+#			distance="parttree"
+#			partdist="localalign"
+#			algopt=" "
+#			algoptit=" "
+##			algspecified=1
+#			cycle=1
+#		else
+#			distance="parttree"
+#			partdist="ktuples"
+#			algopt=" "
+#			algoptit=" "
+##			algspecified=1
+#			cycle=1
+#		fi
+
+
+		if [ $fragment -ne 0 ]; then
+			norg=`expr $nseq '-' $nadd`
+			npair=`expr $norg '*' $nadd`
+			echo "nadd = " $nadd               1>>"$progressfile"
+			echo "npair = " $npair             1>>"$progressfile"
+			echo "nseq = " $nseq               1>>"$progressfile"
+			echo "nlen = " $nlen               1>>"$progressfile"
+
+			if [ $norg -eq 0 ]; then
+				echo "" 1>>"$progressfile"
+				echo "The reference sequence was removed because of ambiguous letters?" 1>>"$progressfile"
+				echo "" 1>>"$progressfile"
+				exit 1;
+			fi
+# nagasa check!
+#
+			if [ $npair -gt 10000000 -o $nlen -gt 5000 ]; then  # 2017/Oct 
+				distance="ktuples"
+				echo "use ktuples, size=$tuplesize!" 1>>"$progressfile"
+			elif [ $npair -gt 3000000 -o $nlen -gt 5000 ]; then  # 2017/Oct
+				distance="multi"
+				weighti="0.0"
+				echo "use multipair, weighti=0.0!" 1>>"$progressfile"
+			else
+				distance="multi"
+				echo "use multipair, weighti=$weighti!" 1>>"$progressfile"
+			fi
+			pairspecified=1
+		fi
+	fi
+
+	if [ `awk "BEGIN {print( 0.0+\"$sueff\" < 0.0 || 0.0+\"$sueff\" > 1.0 )}"` -gt 0 ]; then
+		printf "\n%s\n\n" "The argument of --mixedlinkage must be between 0.0 and 1.0" 1>>"$progressfile"
+		exit 1;
+	fi
+
+	if [ `awk "BEGIN {print( 0.0+\"$maxambiguous\" < 0.0 || 0.0+\"$maxambiguous\" > 1.0 )}"` -gt 0 ]; then
+		printf "\n%s\n\n" "The argument of --maxambiguous must be between 0.0 and 1.0" 1>>"$progressfile"
+		exit 1;
+	fi
+
+	if [ $allowshift -eq 1 ]; then
+		if [ $unalignspecified -ne 1 ]; then
+			unalignlevel="0.8"
+		fi
+		if [ $shiftpenaltyspecified -ne 1 ]; then
+			spfactor="2.00"
+		fi
+	fi
+
+	if [ $opdistspecified -ne 1 ]; then
+		gopdist=$gop
+	fi
+
+	if [ $unalignlevel != "0.0" -o `awk "BEGIN {print( 0.0+\"$spfactor\" < 100.0 )}"` -gt 0 ]; then
+		nmodel=" -: "
+		termgapopt=" "
+		if [ $distance = "localgenaf" ]; then
+			printf "\n%s\n" "The combination of --allowshift and --genafpair (E-INS-i/-1) is not supported." 1>>"$progressfile"
+			printf "%s\n" "Instead, please try --allowshift --globalpair (G-INS-i/-1 in the web version)," 1>>"$progressfile"
+			printf "%s\n\n" "which covers the situation for --genafpair (E-INS-i/-1), too." 1>>"$progressfile"
+			exit 1;
+		fi
+		if [ $distance != "global" -o `awk "BEGIN {print( 0.0+\"$weighti\" < 1.0 )}"` -gt 0 ]; then
+			printf "\n%s\n\n" "At present, --unalignlevel # or --allowshift is supported only with the --globalpair option." 1>>"$progressfile"
+			exit 1;
+		fi
+		if [ $fragment -ne 0 ]; then
+			printf "\n%s\n\n" "At present, --unalignlevel # or --allowshift is not supported with the --addfragments option." 1>>"$progressfile"
+			exit 1;
+		fi
+	fi
+
+	if [ `awk "BEGIN {print( 0.0+\"$spfactor\" < 1.0 )}"` -gt 0 ]; then
+			printf "\n%s\n" "shiftpenalty must be >1." 1>>"$progressfile"
+			exit 1;
+	fi
+
+	if [ `awk "BEGIN {print( 0.0+\"$fixthreshold\" < 0.0 )}"` -gt 0 ]; then
+		printf "\n%s\n\n" "The 'fix' parameter must be >= 0.0" 1>>"$progressfile"
+		exit 1;
+	fi
+
+	if [ `awk "BEGIN {print( 0.0+\"$unalignlevel\" < 0.0 || 0.0+\"$unalignlevel\" > 1.0 )}"` -gt 0 ]; then
+		printf "\n%s\n\n" "The 'unalignlevel' parameter must be between 0.0 and 1.0" 1>>"$progressfile"
+		exit 1;
+	fi
+	if [ `awk "BEGIN {print( 0.0+\"$unalignlevel\" > 0.0 )}"` -gt 0 ]; then
+		laof="0"
+		lexp="0"
+		pgaof="0"
+		pgexp="0"
+		LEXP="0"
+		GEXP="0"
+		termgapopt=" "
+#		if [ $auto -eq 1 -o $fragment -ne 0 -o $iterate -gt 0 ]; then
+		if [ $fragment -ne 0 ]; then
+			printf "\n%s\n\n" "At present, the 'unalignlevel > 0' mode is not supported with the --addfragments option." 1>>"$progressfile"
+			exit 1;
+		fi
+		if [ $distance = "parttree" ]; then
+			printf "\n%s\n\n" "At present, the 'unalignlevel > 0' mode is not supported in the (dp)parttree option." 1>>"$progressfile"
+			exit 1;
+		fi
+		if [ $distance = "localgenaf" ]; then
+			printf "\n%s\n" "The --genafpair is not supported in the 'unalignlevel > 0' mode." 1>>"$progressfile"
+			printf "%s\n" "Instead, please try --unalignlevel xx --globalpair," 1>>"$progressfile"
+			printf "%s\n\n" "which covers the situation for --genafpair (E-INS-i), too." 1>>"$progressfile"
+			exit 1;
+		fi
+#		if [ $distance != "ktuples" -a `awk "BEGIN {print( 0.0+\"$weighti\" > 0.0 )}"` -gt 0 -a $iterate -gt 0 ]; then
+#			printf "\n%s\n\n" "Please add --weighti 0.0, for now." 1>>"$progressfile"
+#			exit 1;
+#		fi
+	fi
+
+	if [ `awk "BEGIN {print( 0.0+\"$similarityoffset\" != 0.0 && 0.0+\"$unalignlevel\" != 0.0 )}"` -gt 0 ]; then
+		printf "\n%s\n\n" "Do not simultaneously specify --similaritylevel and --unalignlevel" 1>>"$progressfile"
+		exit 1;
+	fi
+
+	if [ `awk "BEGIN {print( 0.0+\"$similarityoffset\" < -1.0 || 0.0+\"$similarityoffset\" > 1.0 )}"` -gt 0 ]; then
+		printf "\n%s\n\n" "Similarity must be between -1.0 and +1.0" 1>>"$progressfile"
+		exit 1;
+	fi
+	aof=`awk "BEGIN{print 0.0 + \"$similarityoffset\" + $aof}"`
+	laof=`awk "BEGIN{print 0.0 + \"$similarityoffset\" + $laof}"`
+	pgaof=`awk "BEGIN{print 0.0 + \"$similarityoffset\" + $pgaof}"`
+
+
+	if [ $parallelizationstrategy = "BESTFIRST" -o  $parallelizationstrategy = "BAATARI0" ]; then
+		iteratelimit=254
+	else
+		iteratelimit=16
+	fi
+	if [ $iterate -gt $iteratelimit ]; then    #??
+		iterate=$iteratelimit
+	fi
+
+	if [ $rnaalifold -eq 1 ]; then
+		rnaopt=" -e $rgep -o $rgop -c $weightm -r $weightr -R $rnascoremtx "
+#		rnaoptit=" -o $rgop -BT -c $weightm -r $weightr -R "
+		rnaoptit=" -o $rgop -F -c $weightm -r $weightr -R "
+	elif [ $mccaskill -eq 1 -o $dafs -eq 1 -o $contrafold -eq 1 ]; then
+		rnaopt=" -o $rgop -c $weightm -r $weightr "
+#		rnaoptit=" -e $rgep -o $rgop -BT -c $weightm -r $weightr $rnascoremtx "
+		rnaoptit=" -e $rgep -o $rgop -F -c $weightm -r $weightr $rnascoremtx "
+	else
+		rnaopt="  "
+		rnaoptit=" -F "
+	fi
+
+#	if [ $algspecified -eq 0 ]; then
+#		if [ $distance = "parttree" ]; then 
+#			algopt=" -Q "
+#			algoptit=" "
+#		else
+#			algopt=" "
+#			algoptit=" "
+#		fi
+#	fi
+
+	if [ $sprigorous -eq 1 ]; then
+		algopt=" -@ "
+		if [ $iterate -gt 0 ]; then
+			if [ $numthreadsit -eq 0 ]; then
+				algoptit=" -@ -B -Z -z 1000 "
+			else
+				echo "" 1>>"$progressfile"
+				echo "At present, the combination of --sp and iterative refinement is supported only in a single thread." 1>>"$progressfile"
+				echo "Please try \"--thread -1 --threadit 0\", which runs the iterative refinment calculation on a single thread." 1>>"$progressfile"
+				echo "" 1>>"$progressfile"
+				exit 1;
+#				algoptit=" -@ -B -z 1000 "
+			fi
+		fi
+		termgapopt=" "
+		fft=0
+		memopt=" -N "
+	fi
+
+	model="$sbstmodel $kappa $fmodel $nmodel"
+
+	if [ $er -eq 1 ]; then
+		echo "------------------------------------------------------------------------------" 1>&2
+		echo "  MAFFT" $version 1>&2
+#		echo "" 1>&2
+#		echo "  Input format: fasta" 1>&2
+#		echo ""  1>&2
+#		echo "  Usage: `basename $0` [options] inputfile > outputfile" 1>&2
+	    echo "  https://mafft.cbrc.jp/alignment/software/" 1>&2
+		echo "  MBE 30:772-780 (2013), NAR 30:3059-3066 (2002)"        1>&2
+#		echo "------------------------------------------------------------------------------" 1>&2
+#		echo "  % mafft in > out" 1>&2
+		echo "------------------------------------------------------------------------------" 1>&2
+#		echo ""  1>&2
+		echo "High speed:" 1>&2
+		echo "  % mafft in > out" 1>&2
+		echo "  % mafft --retree 1 in > out (fast)" 1>&2
+		echo "" 1>&2
+		echo "High accuracy (for <~200 sequences x <~2,000 aa/nt):" 1>&2
+		echo "  % mafft --maxiterate 1000 --localpair  in > out (% linsi in > out is also ok)" 1>&2
+		echo "  % mafft --maxiterate 1000 --genafpair  in > out (% einsi in > out)" 1>&2
+		echo "  % mafft --maxiterate 1000 --globalpair in > out (% ginsi in > out)" 1>&2
+		echo "" 1>&2
+		echo "If unsure which option to use:" 1>&2
+		echo "  % mafft --auto in > out" 1>&2
+		echo "" 1>&2
+#		echo "Other options:" 1>&2
+		echo "--op # :         Gap opening penalty, default: 1.53" 1>&2
+		echo "--ep # :         Offset (works like gap extension penalty), default: 0.0" 1>&2
+		echo "--maxiterate # : Maximum number of iterative refinement, default: 0" 1>&2
+		echo "--clustalout :   Output: clustal format, default: fasta" 1>&2
+		echo "--reorder :      Outorder: aligned, default: input order" 1>&2
+		echo "--quiet :        Do not report progress" 1>&2
+		echo "--thread # :     Number of threads (if unsure, --thread -1)" 1>&2
+		echo "--dash :         Add structural information (Rozewicki et al, submitted)" 1>&2
+#		echo "" 1>&2
+#		echo " % mafft --maxiterate 1000 --localpair in > out (L-INS-i)" 1>&2
+#		echo " most accurate in many cases, assumes only one alignable domain" 1>&2 
+#		echo "" 1>&2
+#		echo " % mafft --maxiterate 1000 --genafpair in > out (E-INS-i)" 1>&2
+#		echo " works well if many unalignable residues exist between alignable domains" 1>&2
+#		echo "" 1>&2
+#		echo " % mafft --maxiterate 1000 --globalpair in > out (G-INS-i)" 1>&2
+#		echo " suitable for globally alignable sequences            " 1>&2
+#		echo "" 1>&2
+#		echo " % mafft --maxiterate 1000 in > out (FFT-NS-i)" 1>&2
+#		echo " accurate and slow, iterative refinement method      " 1>&2
+#		echo "" 1>&2
+#		echo "If the input sequences are long (~1,000,000nt)," 1>&2
+#		echo " % mafft --retree 1 --memsave --fft in > out (FFT-NS-1-memsave, new in v5.8)" 1>&2
+#		echo "" 1>&2
+#		echo "If many (~5,000) sequences are to be aligned," 1>&2
+#		echo "" 1>&2
+#		echo " % mafft --retree 1 [--memsave] --nofft in > out (NW-NS-1, new in v5.8)" 1>&2
+#		echo "" 1>&2
+#		echo " --localpair :      All pairwise local alignment information is included"  1>&2
+#		echo "                    to the objective function, default: off"  1>&2
+#		echo " --globalpair :     All pairwise global alignment information is included"  1>&2
+#		echo "                    to the objective function, default: off"  1>&2
+#		echo " --op # :           Gap opening penalty, default: $defaultgop " 1>&2
+#		echo " --ep # :           Offset (works like gap extension penalty), default: $defaultaof " 1>&2
+#		echo " --bl #, --jtt # :  Scoring matrix, default: BLOSUM62" 1>&2
+#		echo "                    Alternatives are BLOSUM (--bl) 30, 45, 62, 80, " 1>&2
+#		echo "                    or JTT (--jtt) # PAM. " 1>&2
+#		echo " --nuc or --amino : Sequence type, default: auto" 1>&2
+#		echo " --retree # :       The number of tree building in progressive method " 1>&2
+#		echo "                    (see the paper for detail), default: $defaultcycle " 1>&2
+#		echo " --maxiterate # :   Maximum number of iterative refinement, default: $defaultiterate " 1>&2
+#		if [ $defaultfft -eq 1 ]; then
+#			echo " --fft or --nofft:  FFT is enabled or disabled, default: enabled" 1>&2
+#		else
+#			echo " --fft or --nofft:  FFT is enabled or disabled, default: disabled" 1>&2
+#		fi
+#		echo " --memsave:         Memory saving mode" 1>&2
+#		echo "                    (for long genomic sequences), default: off" 1>&2
+#		echo " --clustalout :     Output: clustal format, default: fasta" 1>&2
+#		echo " --reorder :        Outorder: aligned, default: input order" 1>&2
+#		echo " --quiet :          Do not report progress" 1>&2
+#		echo "-----------------------------------------------------------------------------" 1>&2
+		exit 1; 
+	fi
+	if [ $sw -eq 1 ]; then
+		swopt=" -A "
+	else
+		swopt=" "
+	fi
+
+	if [ $distance = "fasta" -o $partdist = "fasta" ]; then
+		if [ ! "$FASTA_4_MAFFT" ]; then
+			FASTA_4_MAFFT=`which fasta34`
+		fi
+
+		if [ ! -x "$FASTA_4_MAFFT" ]; then
+			echo ""       1>&2
+			echo "== Install FASTA ========================================================" 1>&2
+			echo "This option requires the fasta34 program (FASTA version x.xx or higher)"   1>&2
+			echo "installed in your PATH.  If you have the fasta34 program but have renamed" 1>&2
+			echo "(like /usr/local/bin/myfasta), set the FASTA_4_MAFFT environment variable" 1>&2
+			echo "to point your fasta34 (like setenv FASTA_4_MAFFT /usr/local/bin/myfasta)." 1>&2
+			echo "=========================================================================" 1>&2
+			echo "" 1>&2
+			exit 1
+		fi
+	fi
+	if [ $distance = "last" -o $distance = "lastmulti" ]; then
+		if [ ! -x "$prefix/lastal" -o ! -x "$prefix/lastdb" ]; then
+			echo ""       1>&2
+			echo "== Install LAST ============================================================" 1>&2
+			echo "LAST (Kielbasa, Wan, Sato, Horton, Frith 2011 Genome Res. 21:487) is required." 1>&2
+			echo "http://last.cbrc.jp/"                                                       1>&2
+			echo "http://mafft.cbrc.jp/alignment/software/xxxxxxx.html "                      1>&2
+			echo "============================================================================" 1>&2
+			echo "" 1>&2
+			exit 1
+		fi
+	fi
+	if [ $distance = "lara" -o $distance = "slara" ]; then
+		if [ ! -x "$prefix/mafft_lara" ]; then
+			echo ""       1>&2
+			echo "== Install LaRA =========================================================" 1>&2
+			echo "This option requires LaRA (Bauer et al. http://www.planet-lisa.net/)."     1>&2
+			echo "The executable have to be renamed to 'mafft_lara' and installed into "     1>&2
+			echo "the $prefix directory. "                                                   1>&2
+			echo "A configuration file of LaRA also have to be given"                        1>&2
+			echo "mafft-xinsi --larapair --laraparams parameter_file"                        1>&2
+			echo "mafft-xinsi --slarapair --laraparams parameter_file"                       1>&2
+			echo "=========================================================================" 1>&2
+			echo "" 1>&2
+			exit 1
+		fi
+		if [ ! -s "$laraparams" ]; then
+			echo ""       1>&2
+			echo "== Configure LaRA =======================================================" 1>&2
+			echo "A configuration file of LaRA have to be given"                             1>&2
+			echo "mafft-xinsi --larapair --laraparams parameter_file"                        1>&2
+			echo "mafft-xinsi --slarapair --laraparams parameter_file"                       1>&2
+			echo "=========================================================================" 1>&2
+			echo "" 1>&2
+			exit 1
+		fi
+	fi
+	if [ $distance = "foldalignlocal" -o $distance = "foldalignglobal" ]; then
+	if [ ! -x "$prefix/foldalign210" ]; then
+			echo ""       1>&2
+			echo "== Install FOLDALIGN ====================================================" 1>&2
+			echo "This option requires FOLDALIGN (Havgaard et al. http://foldalign.ku.dk/)." 1>&2
+			echo "The executable have to be renamed to 'foldalign210' and installed into "   1>&2
+			echo "the $prefix directory. "                                                   1>&2
+			echo "=========================================================================" 1>&2
+			echo "" 1>&2
+			exit 1
+		fi
+	fi
+	if [ $distance = "scarna" -o $mccaskill -eq 1 ]; then
+		if [ ! -x "$prefix/mxscarnamod" ]; then
+			echo ""       1>&2
+			echo "== Install MXSCARNA ======================================================" 1>&2
+			echo "MXSCARNA (Tabei et al. BMC Bioinformatics 2008 9:33) is required."          1>&2
+			echo "Please 'make' at the 'extensions' directory of the MAFFT source package,"   1>&2
+			echo "which contains the modified version of MXSCARNA."                           1>&2
+			echo "http://mafft.cbrc.jp/alignment/software/source.html "                1>&2
+			echo "==========================================================================" 1>&2
+			echo "" 1>&2
+			exit 1
+		fi
+	fi
+	if [ $distance = "dafs" -o $dafs -eq 1 ]; then
+		if [ ! -x "$prefix/dafs" ]; then
+			echo ""       1>&2
+			echo "== Install DAFS===========================================================" 1>&2
+			echo "DAFS (Sato et al. Journal 2012 issue:page) is required."                    1>&2
+			echo "http://www.ncrna.org/ "                                                     1>&2
+			echo "==========================================================================" 1>&2
+			echo "" 1>&2
+			exit 1
+		fi
+	fi
+	if [ $contrafold -eq 1 ]; then
+		if [ ! -x "$prefix/contrafold" ]; then
+			echo ""       1>&2
+			echo "== Install CONTRAfold ===================================================" 1>&2
+			echo "This option requires CONTRAfold"                                           1>&2
+			echo "(Do et al. http://contra.stanford.edu/contrafold/)."                       1>&2
+			echo "The executable 'contrafold' have to be installed into "                    1>&2
+			echo "the $prefix directory. "                                                   1>&2
+			echo "=========================================================================" 1>&2
+			echo "" 1>&2
+			exit 1
+		fi
+	fi
+
+#old
+#	if [ $treeout -eq 1 ]; then
+#		parttreeoutopt="-t"
+#		if [ $cycle -eq 0 ]; then
+#			treeoutopt="-t -T"
+#			groupsize=1
+#			iterate=0 
+#			if [ $distance = "global" -o $distance = "local" -o $distance = "localgenaf" -o $distance = "globalgenaf" ]; then
+#				distance="distonly"
+#			fi
+#		else
+#			treeoutopt="-t"
+#		fi
+#	else
+#		parttreeoutopt=" "
+#		if [ $cycle -eq 0 ]; then
+#			treeoutopt="-t -T"
+#			iterate=0 
+#			if [ $distance = "global" -o $distance = "local" -o $distance = "localgenaf" -o $distance = "globalgenaf" ]; then
+#				distance="distonly"
+#			fi
+#		else
+#			treeoutopt=" "
+#		fi
+#	fi
+
+#new
+	if [ $cycle -eq 0 ]; then
+		if [ $nodeout -eq 1 ]; then
+			treeoutopt="-^ -T"
+		else
+			treeoutopt="-t -T"
+		fi
+		iterate=0 
+		weighti="0.0"  # 2016Jul31, tbfast.c kara idou
+#		if [ $distance = "global" -o $distance = "local" -o $distance = "localgenaf" -o $distance = "globalgenaf" ]; then # 2012/04, localpair --> local alignment distance
+#		if [ $distance = "global" ]; then
+#			distance="distonly"
+#		fi
+		if [ $treeout -eq 1 ]; then
+			parttreeoutopt="-t"
+			groupsize=1
+		else
+			parttreeoutopt=" "
+		fi
+		if [ $distout -eq 1 ]; then
+			distoutopt="-y -T"
+			if [ $treeout -eq 0 ]; then
+				treeoutopt=""
+			fi
+		fi
+	else
+		if [ $nodeout -eq 1 ]; then
+			if [ $iterate -gt 0 ]; then
+				echo "The --nodeout option supports only progressive method (--maxiterate 0) for now." 1>&2
+				exit 1
+			fi
+			parttreeoutopt="-t"
+			treeoutopt="-^"
+		elif [ $treeout -eq 1 ]; then
+			parttreeoutopt="-t"
+			treeoutopt="-t"
+		else
+			parttreeoutopt=" "
+			treeoutopt=" "
+		fi
+		if [ $distout -eq 1 ]; then
+			distoutopt="-y"
+		fi
+	fi
+#
+
+	formatcheck=`grep -c '^[[:blank:]]\+>' "$TMPFILE/infile" | head -1 `
+	if [ $formatcheck -gt 0 ]; then
+		echo "The first character of a description line must be " 1>&2
+		echo "the greater-than (>) symbol, not a blank."           1>&2
+		echo "Please check the format around the following line(s):"  1>&2
+		grep -n '^[[:blank:]]\+>' "$TMPFILE/infile"  1>&2
+		exit 1
+	fi
+
+	nseq=`grep -c '^[>|=]' "$TMPFILE/infile" | head -1 ` 
+	if [ $nseq -eq 2 ]; then
+		cycle=1
+	fi
+	if [ $cycle -gt 3 ]; then
+		cycle=3
+	fi
+
+	if [ $nseq -gt 60000 -a $iterate -gt 1 ]; then   # 2014/Oct/22, test
+		echo "Too many sequences to perform iterative refinement!" 1>&2
+		echo "Please use a progressive method." 1>&2
+		exit 1
+	fi
+	if [ $distance = "lastmulti" -o $distance = "multi" ]; then
+		if [ $fragment -eq 0 ]; then
+			echo 'Specify --addfragments too' 1>&2
+			exit 1
+		fi
+	fi
+
+	if [ $fragment -ne 0 ]; then
+		if [ $pairspecified -eq 0 ]; then
+			distance="multi"
+		fi
+		if [ $distance != "multi" -a $distance != "hybrid" -a $distance != "lastmulti" -a $distance != "local" -a $distance != "last" -a  $distance != "ktuples" -a $distance != "ktuplesmulti" ]; then
+			echo 'Specify --multipair, --lastmultipair, --lastpair, --localpair, --6merpair, --6mermultipair or --hybridpair' 1>&2
+			exit 1
+		fi
+	fi
+
+	if [ "$memopt" = " -M -B " -a "$distance" != "ktuples" ]; then
+		echo "Impossible" 1>&2
+		exit 1
+	fi
+
+	if [ $distance = "parttree" ]; then
+		if [ "$mergetable" != "/dev/null" ]; then
+			echo "The combination of (dp)parttree and merge is Impossible.  " 1>&2
+			exit 1
+		fi
+		if [ $addfile != "/dev/null" ]; then
+			echo "The combination of (dp)parttree and add(fragments) is Impossible.  " 1>&2
+			exit 1
+		fi
+		if [ $seed != "x" -o $seedtable != "x" ]; then
+			echo "Impossible" 1>&2
+			exit 1
+		fi
+		if [ $iterate -gt 1 ]; then
+			echo "Impossible" 1>&2
+			exit 1
+		fi
+		if [ $outorder = "aligned" ]; then
+			outorder="input"
+		fi
+		outorder="input"   # partorder ga kiku
+		if [ $partdist = "localalign" ]; then
+			splitopt=" -U "    # -U -l -> fast 
+			cycle=1
+		elif [ $partdist = "fasta" ]; then
+			splitopt=" -S "
+			cycle=1
+		else
+			splitopt="  "
+		fi
+	fi
+
+
+	if [ \( $distance = "ktuples" -o $distance = "ktuplesmulti" \) -a \( $seed = "x" -a $seedtable = "x" -a $ownlist = "/dev/null" -a $pdblist = "/dev/null" -a $enrichstr -eq 0 -a $newdash -eq 0 \) ]; then
+		localparam=""
+		weighti="0.0"
+	elif [ \( $distance = "ktuples" -o $distance = "ktuplesmulti" \) -a \( $seed != "x" -o $seedtable != "x" -o $ownlist != "/dev/null" -o $pdblist != "/dev/null" -o $enrichstr -eq 1 -o $newdash -eq 1 \) ]; then
+		if [ $cycle -lt 2 ]; then
+			cycle=2                # disttbfast ha seed hi-taiou #  chuui 2014Aug21
+		fi
+		if [ $iterate -lt 2 ]; then
+			echo "############################################################################" 1>&2
+			echo "# Warning:" 1>&2
+			echo "#   Progressive alignment method is incompatible with the --seed option." 1>&2
+			echo "#   Automatically switched to the iterative refinement method." 1>&2
+			echo "#   " 1>&2
+			echo "# Also consider using the '--add' option, which is compatible with" 1>&2
+			echo "#   the progressive method and FASTER than the '--seed' option." 1>&2
+			echo "#   Usage is:" 1>&2
+			echo "#   % mafft --add newSequences existingAlignment > output" 1>&2
+			echo "############################################################################" 1>&2
+			iterate=2
+		fi
+		localparam="-l "$weighti
+	elif [ $distance = "parttree" ]; then
+		localparam=""
+		weighti="0.0"
+		if [ $groupsize -gt -1 ]; then
+			cycle=1
+		fi
+	else
+#		localparam="-B -l "$weighti   # weighti=0 demo bunkatsu nashi
+		localparam="-l "$weighti   # -B (bunkatsunashi) ha dvtditr.c de taiou (17/Jan/15)
+		if [ $cycle -gt 1 ]; then  # 09/01/08
+			cycle=1
+		fi
+	fi
+
+
+	if [ $distance = "localgenaf" -o $distance = "globalgenaf" ]; then
+		aof="0.000"
+		if [ $oldgenafparam -ne 1 ]; then
+			laof="0.0"
+			lexp="0.0"
+#			LEXP="0.0" # default = 0.0
+			usenaivepairscore="-Z"
+		fi
+	fi
+
+
+#	if [ $nseq -gt 5000 ]; then
+#		fft=0
+#	fi
+	if [ $forcefft -eq 1 ]; then
+		param_fft=" -G "
+		fft=1
+	elif [ $fft -eq 1 ]; then
+		param_fft=" -F "
+	else
+		param_fft=" "
+	fi
+
+	if [ $seed != "x" -a $seedtable != "x" ]; then
+			echo 'Use either one of seedtable and seed.  Not both.' 1>&2
+			exit 1
+	fi
+	if [ $f2clext = "-E" -a $anysymbol -gt 0 ]; then
+			echo '' 1>&2
+			echo 'The combination of --text and ( --anysymbol or --preservecase ) is impossible.' 1>&2
+			echo '' 1>&2
+			exit 1
+	fi
+
+#	if [ $f2clext = "-E" -a $scorematrix != "/dev/null" ]; then
+#			echo '' 1>&2
+#			echo 'At present, the combination of --text and (--aamatrix) is impossible.' 1>&2
+#			echo '' 1>&2
+#			exit 1
+#	fi
+
+	memsavetree=0
+	if [ $treeext != "none" ]; then
+		if [ $distance == "ktuples" ]; then
+			treein=1
+			treeinopt=" -U "
+			if [ $treeext == "randomchain" ]; then
+				echo "shuffle $randomseed" > "$TMPFILE/_guidetree"
+				cycle=1       #  disttbfast.c dem shitei
+			elif [ $treeext == "pileup" ]; then
+				echo "pileup" > "$TMPFILE/_guidetree"
+				cycle=1       #  disttbfast. shitei
+			elif [ $treeext == "memsavetree" ]; then
+				echo "very compact" > "$TMPFILE/_guidetree"
+				memsavetree=1
+			elif [ $treeext == "memsavetreex" ]; then
+				echo "compact " "$initialramusage" > "$TMPFILE/_guidetree"
+				memsavetree=1
+			elif [ $treeext == "stepadd" ]; then
+				echo "stepadd" > "$TMPFILE/_guidetree"
+				memsavetree=1
+			elif [ $treeext == "youngestlinkage" ]; then
+				echo "youngestlinkage" > "$TMPFILE/_guidetree"
+				memsavetree=1
+			else
+				echo "error in mafft.tmpl"
+				exit
+			fi
+		else # globalpair, localpair, genafpair, oldgenafpair
+#			treein, treeinopt ha kimaranai
+			if [ $treeext == "memsavetree" -o $treeext == "stepadd" ]; then
+				memsavetree=1
+			else
+				echo "With globalpair, localpair or genafpair," 1>>"$progressfile"
+				echo "Use --large, --minimumlinkage, --averagelinkage or --mixedlinkage." 1>>"$progressfile"
+				echo "--$treeext is supported only with --6merpair." 1>>"$progressfile"
+				echo '' 1>>"$progressfile"
+				exit
+			fi
+		fi
+		if [ $iterate -gt 0 ]; then
+			echo 'Iterative refinment is not supported for --large or --'$treeext  1>>"$progressfile"
+			echo '' 1>>"$progressfile"
+			exit 1
+		fi
+		if [ $fragment -ne 0 ]; then
+			echo '--addfragments, --addfull or --addlong is not yet supported for --large or --'$treeext  1>>"$progressfile"
+			echo "Use --add newsequences --$treeext" 1>>"$progressfile"
+			echo "Or, --addfragments (long, full) newsequences, without --"$treeext 1>>"$progressfile"
+			echo '' 1>>"$progressfile"
+			exit 1
+		fi
+		if [ "$mergetable" != "/dev/null" ]; then # 2018/Mar/2
+			echo '--merge is not yet supported for --large or --'$treeext  1>>"$progressfile"
+			echo "Use --merge without --"$treeext 1>>"$progressfile"
+			echo '' 1>>"$progressfile"
+			exit 1
+		fi
+	fi
+
+
+
+	if [ $nadd -gt "0" ]; then
+		if [ $fragment -eq "1" ]; then
+			addarg="$addarg0 $nadd -g -0.01"
+			addsinglearg=""
+			cycle=1 # chuui 2014Aug25
+			iterate=0
+		elif [ $fragment -eq "-1" ]; then
+			addarg="$addarg0 $nadd"
+			addsinglearg="-V"       # allowlongadds, 2014/04/02
+			cycle=1 # chuui 2014Aug25
+			iterate=0
+		elif [ $fragment -eq "-2" ]; then
+			addarg="$addarg0 $nadd"
+			addsinglearg="-V"       # allowlongadds + smoothing
+			add2ndhalfarg=$add2ndhalfarg" -p "
+			cycle=1 # chuui 2014Aug25
+			usenaivepairscore="-Z" # 2015Jun01
+			laof=0.0               # 2015Jun01
+			lexp=0.0               # 2015Jun01
+			iterate=0
+		else
+			addarg="$addarg0 $nadd"
+			addsinglearg=""
+#			iterate=1 # iterate ha shitei dori
+			bunkatsuopt=" -B "  # fftnsi demo bunktasu shinai
+			if [ "$add2ndhalfarg" != " " ]; then
+				if [ $auto -eq 1 -o $iterate -gt 0 ]; then
+#					echo '' 1>>"$progressfile"
+#					echo 'The --keeplength and --mapout options are not supported' 1>>"$progressfile"
+#					echo 'with the --auto or --maxiterate >0 options.' 1>>"$progressfile"
+#					echo 'Use the --maxiterate 0 option (= progressive method).' 1>>"$progressfile"
+#					echo '' 1>>"$progressfile"
+#					exit 1
+					iterate=0
+				fi
+			fi
+		fi
+		
+
+#		cycle=1 # chuui 2014Aug19
+#		iterate=0
+#		treealg=" -q "  ## 2012/01/24  ## removed 2012/02/06
+	else
+		if [ "$add2ndhalfarg" != " " ]; then
+			echo '' 1>>"$progressfile"
+			echo 'The --keeplength and --mapout options are supported' 1>>"$progressfile"
+			echo 'only with --add, --addfragments or --addlong.' 1>>"$progressfile"
+			echo '' 1>>"$progressfile"
+			exit 1
+		fi
+	fi
+
+
+	if [ -z "$localparam" -a $fragment -eq 0 -a $distance != "parttree" ]; then
+#		echo "use disttbfast"
+#		echo cycle = $cycle
+		cycletbfast=1            # tbfast wo jikkou shinai
+		cycledisttbfast=$cycle   # disttbfast ni -E cycle wo watasu
+		if [ $cycledisttbfast -eq 0 ]; then # --treeout de tsukau
+			cycledisttbfast=1
+		fi
+	else
+#		echo "use tbfast"
+#		echo cycle = $cycle
+		cycletbfast=$cycle       # 1 ijou nara jikkou
+		cycledisttbfast=1        # disttbfast ha ikkai dake
+	fi
+
+#	echo localparam=
+#	echo $localparam
+#	echo cycletbfast=
+#	echo $cycletbfast
+#	echo cycledisttbfast=
+#	echo $cycledisttbfast
+
+#exit
+
+	if [ $adjustdirection -gt 0 -a $seed != "x" ]; then
+			echo '' 1>&2
+			echo 'The combination of --adjustdirection(accurately) and --seed is not supported.' 1>&2
+			echo '' 1>&2
+			exit 1
+	fi
+
+
+	if [ $mccaskill -eq 1 -o $dafs -eq 1 -o $rnaalifold -eq 1 -o $contrafold -eq 1 ]; then
+		if [ $distance = "ktuples" ]; then
+			echo 'Not supported.' 1>&2
+			echo 'Please add --globalpair, --localpair, --scarnapair, --dafspair' 1>&2
+			echo '--larapair, --slarapair, --foldalignlocalpair or --foldalignglobalpair' 1>&2
+			exit 1
+		fi
+		if [ $f2clext = "-E" ]; then
+				echo '' 1>&2
+				echo 'For RNA alignment, the --text mode is impossible.' 1>&2
+				echo '' 1>&2
+				exit 1
+		fi
+	fi
+
+# cycle ga atode henkou sareru node koko de strategy no namae wo kimeru.
+# kokokara
+	if [ $treeext = "pileup" ]; then
+		strategy="Pileup-"
+	elif [ $treeext = "randomchain" ]; then
+		strategy="Randomchain-"
+	elif [ $mccaskill -eq 1 -o $dafs -eq 1 -o $rnaalifold -eq 1 -o $contrafold -eq 1 ]; then
+		if [ $distance = "scarna" -o $distance = "dafs" -o $distance = "lara" -o $distance = "slara" -o $distance = "foldalignlocal" -o $distance = "foldalignglobal" ]; then
+			strategy="X-"
+		elif [ $distance = "global" -o $distance = "local" -o $distance = "localgenaf" -o "globalgenaf" ]; then
+			strategy="Q-"
+		fi
+	elif [ $distance = "fasta" -a $sw -eq 0 ]; then
+		strategy="F-"
+	elif [ $distance = "fasta" -a $sw -eq 1 ]; then
+		strategy="H-"
+	elif [ $distance = "blast" ]; then
+		strategy="B-"
+	elif [ $distance = "global" -o $distance = "distonly" ]; then
+		strategy="G-"
+	elif [ $distance = "local" ]; then
+		strategy="L-"
+	elif [ $distance = "last" ]; then
+		strategy="Last-"
+	elif [ $distance = "hybrid" ]; then
+		strategy="Hybrid-"
+	elif [ $distance = "multi" ]; then
+		strategy="Multi-"
+	elif [ $distance = "lastmulti" ]; then
+		strategy="LastMulti-"
+	elif [ $distance = "localgenaf" ]; then
+		strategy="E-"
+	elif [ $distance = "globalgenaf" ]; then
+		strategy="K-"
+	elif [ $fft -eq 1 ]; then
+		strategy="FFT-"
+	else
+		strategy="NW-"
+	fi
+	if [ $memsavetree -eq 1 ]; then
+		strategy=$strategy"large-"
+	fi
+#	if [ `echo "$weighti>0.0" | bc` -gt 0 ]; then
+	if [ `awk "BEGIN {print(0.0+\"$weighti\">0.0)}"` -gt 0 ]; then
+		strategy=$strategy"I"
+	fi
+	strategy=$strategy"NS-"
+	if [ $iterate -gt 0 ]; then
+		strategy=$strategy"i"
+	elif [ $distance = "parttree" ]; then
+		if [ $partdist = "fasta" ]; then
+			strategy=$strategy"FastaPartTree-"$cycle
+		elif [ $partdist = "localalign" ]; then
+			strategy=$strategy"DPPartTree-"$cycle
+		else
+			strategy=$strategy"PartTree-"$cycle
+		fi
+	elif [ $fragment -eq 1 ]; then
+		strategy=$strategy"fragment"
+	elif [ $fragment -eq -1 ]; then
+		strategy=$strategy"full"
+	elif [ $fragment -eq -2 ]; then
+		strategy=$strategy"long"
+	else
+		strategy=$strategy$cycle
+	fi
+
+	explanation='?'
+	performance='Not tested.'
+	if [ $strategy = "F-INS-i" ]; then
+		explanation='Iterative refinement method (<'$iterate') with LOCAL pairwise alignment information'
+		performance='Most accurate, but very slow'
+	elif [ $strategy = "L-INS-i" ]; then
+		explanation='Iterative refinement method (<'$iterate') with LOCAL pairwise alignment information'
+		performance='Probably most accurate, very slow'
+	elif [ $strategy = "E-INS-i" ]; then
+		explanation='Iterative refinement method (<'$iterate') with LOCAL pairwise alignment with generalized affine gap costs (Altschul 1998)'
+		performance='Suitable for sequences with long unalignable regions, very slow'
+	elif [ $strategy = "G-INS-i" ]; then
+		explanation='Iterative refinement method (<'$iterate') with GLOBAL pairwise alignment information'
+		performance='Suitable for sequences of similar lengths, very slow'
+	elif [ $strategy = "X-INS-i" ]; then
+		explanation='RNA secondary structure information is taken into account.'
+		performance='For short RNA sequences only, extremely slow'
+	elif [ $strategy = "F-INS-1" ]; then
+		explanation='Progressive method incorporating LOCAL pairwise alignment information'
+	elif [ $strategy = "L-INS-1" ]; then
+		explanation='Progressive method incorporating LOCAL pairwise alignment information'
+	elif [ $strategy = "G-INS-1" ]; then
+		explanation='Progressive method incorporating GLOBAL pairwise alignment information'
+	elif [ $strategy = "FFT-NS-i" -o $strategy = "NW-NS-i" ]; then
+		explanation='Iterative refinement method (max. '$iterate' iterations)'
+		if [ $iterate -gt 2 ]; then
+			performance='Accurate but slow'
+		else
+			performance='Standard'
+		fi
+	elif [ $strategy = "FFT-NS-2" -o $strategy = "NW-NS-2" ]; then
+		explanation='Progressive method (guide trees were built '$cycle' times.)'
+		performance='Fast but rough'
+	elif [ $strategy = "FFT-NS-1" -o $strategy = "NW-NS-1" ]; then
+		explanation='Progressive method (rough guide tree was used.)'
+		performance='Very fast but very rough'
+	fi
+
+	if [ $outputformat = "clustal" -a $outorder = "aligned" ]; then
+		outputopt=" -c $strategy -r $TMPFILE/order $f2clext "
+	elif [ $outputformat = "clustal" -a $outorder = "input" ]; then
+		outputopt=" -c $strategy  $f2clext "
+	elif [ $outputformat = "phylip" -a $outorder = "aligned" ]; then
+		outputopt=" -y -r $TMPFILE/order "
+	elif [ $outputformat = "phylip" -a $outorder = "input" ]; then
+		outputopt=" -y "
+	elif [ $outputformat = "pir" -a $outorder = "aligned" ]; then
+		outputopt=" -f -r $TMPFILE/order "
+	else
+		outputopt="-f"
+	fi
+
+	if [ $newdash_originalsequenceonly -eq 1 ]; then
+		outputopt="$outputopt  -d "
+	fi
+# kokomade
+
+	
+	
+		pushd "$TMPFILE" > /dev/null
+
+		cat /dev/null > pre
+
+#		echo "nseq = " $nseq              1>>"$progressfile"
+#		echo "distance = " $distance      1>>"$progressfile"
+#		echo "iterate = " $iterate        1>>"$progressfile"
+#		echo "cycle = " $cycle            1>>"$progressfile"
+
+
+		if [ $anysymbol -eq 1 ]; then
+			mv infile orig
+			"$prefix/replaceu" $seqtype -i orig > infile 2>>"$progressfile" || exit 1
+		fi
+
+		if [ $mergetable != "/dev/null" ]; then
+			if [ $nadd -gt "0" ]; then
+				echo "Impossible" 1>&2
+				exit 1
+			fi
+#			if [ $seed != "x" -o $seedtable != "x" ]; then
+#				echo "This version does not support the combination of merge and seed." 1>&2
+#				exit 1
+#			fi
+#			iterate=0 # 2013/04/16
+			mergearg="-H $seedoffset"
+		fi
+
+		if [ $adjustdirection -gt 0 ]; then
+			if [ $fragment -ne 0 ]; then
+				fragarg="-F" #
+			else
+				fragarg="-F" # 2014/02/06, do not consider other additional sequences, even in the case of --add
+			fi
+			if [ $adjustdirection -eq 1 ]; then
+				"$prefix/makedirectionlist" $fragarg -C $numthreads -m -I $nadd -i infile -t 0.00 -r 5000 -o a > _direction 2>>"$progressfile"
+			elif [ $adjustdirection -eq 2 ]; then
+				"$prefix/makedirectionlist" $fragarg -C $numthreads -m -I $nadd -i infile -t 0.00 -r 100 -o a -d > _direction 2>>"$progressfile"
+			fi
+			"$prefix/setdirection" $mergearg -d _direction -i infile > infiled 2>>"$progressfile" || exit
+			mv infiled infile
+			if [ $anysymbol -eq 1 ]; then
+				"$prefix/setdirection" $mergearg -d _direction -i orig -r  > origd 2>>"$progressfile" || exit
+				mv origd orig
+			fi
+		fi
+
+		if [ $seed != "x" -o $seedtable != "x" ]; then
+			if [ $pdblist != "/dev/null" -o $ownlist != "/dev/null" ]; then
+				echo "The combination of --seed and (--pdbidlist or --pdbfilelist) is impossible."  1>>"$progressfile"
+				exit 1
+			fi
+#			if [ $enrich -eq 1 ]; then
+#				echo "The combination of --seed and (--enrich, --enrichseq or --enrichstr) is impossible at present."  1>>"$progressfile"
+#				exit 1
+#			fi
+
+			if [ $newdash -eq 1 ]; then
+				echo "The combination of --seed and --dash is impossible at present."  1>>"$progressfile"
+				exit 1
+			fi
+		fi
+
+
+#		if [ $enrich -eq 1 ]; then
+#			if [ $ownlist != "/dev/null" ]; then
+#				echo "Warning: Sequence homologs of the structures given with the --pdbfilelist option cannot be collected.\n" 1>>"$progressfile"
+#			fi
+#			echo "SEEKQUENCER (http://sysimm.ifrec.osaka-u.ac.jp/seekquencer/) is" 1>>"$progressfile"
+#			if [ $pdblist != "/dev/null" ]; then
+#				echo "collecting homoplogs of the input sequences and the structures given with the --pdbidlist option." 1>>"$progressfile"
+#				perl "$prefix/seekquencer_premafft.pl" $seektarget -run thread -trd 2 -seqd uniref90 -blim 1000 -noin -seqf infile -idf pdblist -out seekout -mod mafftash-split 2>>"seekerr"
+#				seekres="$?"
+#			else
+#				echo "collecting homologs of the input sequences." 1>>"$progressfile"
+#				perl "$prefix/seekquencer_premafft.pl" $seektarget -run thread -trd 2 -seqd uniref90 -blim 1000 -noin -seqf infile -out seekout -mod mafftash-split 2>>"seekerr"
+#				seekres="$?"
+#			fi
+#			cat seekerr  1>>"$progressfile"
+#
+#			if [ $seekres -ne "0" ]; then
+#				echo "Error in SEEKQUENCER" 1>>"$progressfile"
+#				exit 1;
+#			fi
+#			echo "Done." 1>>"$progressfile"
+#
+#			if [ $enrichseq -eq 1 ]; then
+##				cat seekout.seq >> infile
+#				if [ $anysymbol -eq 1 ]; then
+#					"$prefix/replaceu" $seqtype -i seekout.seq -o $nseq >> infile
+#					cat seekout.seq >> orig
+#				else
+#					"$prefix/replaceu" $seqtype -i seekout.seq | sed 's/_os_[0-9]*_oe_//' >> infile
+#				fi
+#
+#			fi
+#			if [ $enrichstr -eq 1 ]; then
+#				nseekstr=`wc -l < seekout.str`
+#				if [ $nseekstr -gt 1 ]; then
+#					cat seekout.str >> pdblist
+#					pdblist="tsukaimasu"
+#				fi
+#			fi
+#		fi
+
+		if [ $seed != "x" ]; then
+			mv infile infile2
+			if [ $anysymbol -eq 1 ]; then
+				mv orig orig2
+				cat /dev/null > orig
+			fi
+			cat /dev/null > infile
+			cat /dev/null > hat3.seed
+			seedoffset=0
+#			echo "seednseq="$seednseq
+#			echo "seedoffset="$seedoffset
+			set $seednseq >> "$progressfile"
+#			echo $#
+			while [ $# -gt 1 ]
+			do
+				shift
+#				echo "num="$#
+
+				if [ $anysymbol -eq 1 ]; then
+					cat seed$# >> orig
+					"$prefix/replaceu" $seqtype -i seed$# -o $seedoffset > clean 2>>"$progressfile" || exit 1
+					mv clean seed$#
+				fi
+				"$prefix/multi2hat3s" -t $nseq -o $seedoffset -i seed$# >> infile 2>>"$progressfile" || exit 1
+				cat hat3 >> hat3.seed
+#				echo "$1"
+				seedoffset=`expr $seedoffset + $1`
+#				echo "$1"
+#				echo "seedoffset="$seedoffset
+			done;
+#			echo "seedoffset="$seedoffset
+			if [ $anysymbol -eq 1 ]; then
+				"$prefix/replaceu" $seqtype -i orig2 -o $seedoffset >> infile 2>>"$progressfile" || exit 1  # yarinaoshi
+				cat orig2 >> orig
+			else
+				cat infile2 >> infile
+			fi
+		elif [ $seedtable != "x" ]; then
+			cat _seedtablefile > hat3.seed
+		elif [ $newdash -eq 1 ]; then
+			seemstobe=`"$prefix/countlen" -i infile | awk '{print $6}'`
+			if [ $seemstobe = "d" -a "x$seqtype" != "x-P" ]; then
+				echo "" 1>>"$progressfile"
+				echo "Error: This data seems to be nucleotide sequences." 1>>"$progressfile"
+				echo "Add the --amino flag if this is surely protein." 1>>"$progressfile"
+				echo "" 1>>"$progressfile"
+				exit 1;
+			fi
+			if [ $anysymbol -eq 1 ]; then
+				mv orig infile # replaceu wo mukouka
+			fi
+#			sed 's/-//g' infile > dashin # gap nozoku
+			awk '{if(/^>/)print; else {gsub( /-/,"" ); print;}}' infile > dashin
+
+			if [ ! -x "$prefix/dash_client" -o ! -x "$prefix/dash_client" ]; then
+				echo ""       1>&2
+				echo "== Install DASH client =====================================================" 1>&2
+				echo "To use this feature, uncomment the following line in Makefile"                1>&2
+				echo "DASH_CLIENT = dash_client"                                                    1>&2
+				echo "and re-compile the source."                                                   1>&2
+				echo "Note that it requires the 'Go' compiler."                                     1>&2
+				echo "============================================================================" 1>&2
+				echo "" 1>&2
+				exit 1
+			fi
+			
+			echo "Calling DASH (https://sysimm.org/dash/)" 1>>"$progressfile"
+			"$prefix/dash_client" -url "$dashserver" -i dashin -sequences dashsequences -hat3 hat3.seed 1>>"$progressfile"
+			dashres="$?"
+			if [ $dashres -ne "0" ]; then
+				echo "Error in DASH" 1>>"$progressfile"
+				echo "To enable this feature, compile with DASH_CLIENT=dash_client. Go compiler is necessary." 1>>"$progressfile"
+				exit 1;
+			fi
+
+			if [ $exclude_ho -eq 1 ]; then # amari yokunai
+				awk 'BEGIN{out=1} !/^>_addedbymaffte_/{if(out) print; out=1} /^>_addedbymaffte_/{out=0}' dashsequences | sed 's/>DASH_/>DASH|/' > ho_excluded
+				mv ho_excluded dashsequences
+			fi
+
+			if [ "$mergetable" != "/dev/null" ]; then # 2020/Apr/30
+				ndash=`grep -c '>DASH_' dashsequences | head -1`
+#				echo "ndash = " $ndash
+				awk "{for( i=1;i<=NF;i++){if(0+\$i==0)break; printf( \"%d \", $ndash+\$i); } print \"\" }" _subalignmentstable > _subalignmentstableshifted
+				mv _subalignmentstableshifted _subalignmentstable
+				cp dashsequences dashsequences.bk
+				awk "BEGIN{nout=0} {if(\$1~/^>/) nout++; if( nout <= $ndash ) print;}" dashsequences > infile2
+				cat infile >> infile2
+				cp infile2 dashsequences
+			fi
+
+			sed 's/>DASH_/>DASH|/' dashsequences > renamed
+			mv renamed dashsequences
+			echo "Done." 1>>"$progressfile"
+#			cat  hat3.seed
+			seedoffset=`grep -c '^[>|=]' dashsequences | head -1 ` 
+			echo "# of structures = " 1>>"$progressfile"
+			echo $seedoffset 1>>"$progressfile"
+			if [ $anysymbol -eq 1 ]; then
+				cat dashsequences >> orig
+				"$prefix/replaceu" $seqtype -i dashsequences -o 0 > clean 2>>"$progressfile" || exit 1
+				mv clean infile
+
+#				"$prefix/replaceu" $seqtype -i orig2 -o $seedoffset >> infile 2>>"$progressfile" || exit 1  # yarinaoshi
+#				cat orig2 >> orig
+			else
+				cat dashsequences > infile
+#				cat infile2 >> infile
+			fi
+		else
+			cat /dev/null > hat3.seed
+		fi
+#		cat hat3.seed
+
+		if [ $mccaskill -eq 1 ]; then
+			"$prefix/mccaskillwrap" -s -C $numthreads -d "$prefix" -i infile > hat4 2>>"$progressfile" || exit 1
+		elif [ $dafs -eq 1 ]; then
+			"$prefix/mccaskillwrap" -G -C $numthreads -d "$prefix" -i infile > hat4 2>>"$progressfile" || exit 1
+		elif [ $contrafold -eq 1 ]; then
+			"$prefix/contrafoldwrap" -d "$prefix" -i infile > hat4 2>>"$progressfile" || exit 1
+		fi
+		if [ $distance = "fasta" ]; then
+			"$prefix/dndfast7" $swopt < infile > /dev/null  2>>"$progressfile"    || exit 1
+			cat hat3.seed hat3 > hatx
+			mv hatx hat3
+			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "blast" ]; then
+			"$prefix/dndblast" < infile > /dev/null  2>>"$progressfile"      || exit 1
+			cat hat3.seed hat3 > hatx
+			mv hatx hat3
+			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "foldalignlocal" ]; then
+			"$prefix/pairlocalalign" -C $numthreads $seqtype $foldalignopt $model -g $lexp -f $lgop -Q $spfactor -h $laof -H -d "$prefix" < infile > /dev/null  2>>"$progressfile"      || exit 1
+			cat hat3.seed hat3 > hatx
+			mv hatx hat3
+			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "foldalignglobal" ]; then
+			"$prefix/pairlocalalign" -C $numthreads $seqtype $foldalignopt $model -g $pgexp -f $pggop -Q $spfactor -h $pgaof -H -o -global -d "$prefix" < infile > /dev/null  2>>"$progressfile"      || exit 1
+			cat hat3.seed hat3 > hatx
+			mv hatx hat3
+			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "slara" ]; then
+			"$prefix/pairlocalalign" -C $numthreads -p $laraparams  $seqtype $model  -f $lgop -Q $spfactor -T -d "$prefix" < infile > /dev/null  2>>"$progressfile"      || exit 1
+			cat hat3.seed hat3 > hatx
+			mv hatx hat3
+			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "lara" ]; then
+			"$prefix/pairlocalalign" -C $numthreads -p $laraparams  $seqtype $model  -f $lgop -Q $spfactor -B -d "$prefix" < infile > /dev/null  2>>"$progressfile"      || exit 1
+			cat hat3.seed hat3 > hatx
+			mv hatx hat3
+			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "scarna" ]; then
+#			"$prefix/pairlocalalign"   -C $numthreads $seqtype $model  -f $pggop -Q $spfactor -s -d "$prefix" < infile > /dev/null  2>>"$progressfile"      || exit 1
+#			cat hat3.seed hat3 > hatx
+#			mv hatx hat3
+#			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			"$prefix/tbfast" _  -C $numthreads $seqtype $model  -f $pggop -Q $spfactor -s -d "$prefix" _ -+ $iterate -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "dafs" ]; then
+			"$prefix/pairlocalalign"  -C $numthreads $seqtype $model  -f $pggop -Q $spfactor -G -d "$prefix" < infile > /dev/null  2>>"$progressfile"      || exit 1
+			cat hat3.seed hat3 > hatx
+			mv hatx hat3
+			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "global" -a $memsavetree -eq 1 ]; then
+			if [ "$mpiscript" !=  "/dev/null" ]; then
+				sh $mpiscript "$prefix/nodepair_mpi" $lhlimit -u $unalignlevel $localparam $seqtype $model -g $pgexp -f $pggop -Q $spfactor -h $pgaof  -A  $usenaivepairscore $focusarg $treeinopt $treeoutopt  -i  infile > /dev/null 2>>"$progressfile" || exit 1
+			else
+				"$prefix/nodepair"  $lhlimit -u $unalignlevel $localparam  -C $numthreads $seqtype $model -g $pgexp -f $pggop -Q $spfactor -h $pgaof  -A  $usenaivepairscore $focusarg $treeinopt $treeoutopt  -i  infile   > /dev/null 2>>"$progressfile" || exit 1
+			fi
+			echo 'nodepair' > _guidetree
+			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt -U $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg $focusarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "local" -a $memsavetree -eq 1 ]; then
+			if [ "$mpiscript" !=  "/dev/null" ]; then
+				sh $mpiscript "$prefix/nodepair_mpi" $lhlimit -u $unalignlevel $localparam $seqtype $model -g $lexp -f $lgop -Q $spfactor -h $laof -L $usenaivepairscore $focusarg $treeinopt $treeoutopt -i infile > /dev/null 2>>"$progressfile" || exit 1
+			else
+				"$prefix/nodepair" $lhlimit -u $unalignlevel $localparam -C $numthreads $seqtype $model -g $lexp -f $lgop -Q $spfactor -h $laof -L $usenaivepairscore $focusarg $treeinopt $treeoutopt -i infile   > /dev/null 2>>"$progressfile" || exit 1
+			fi
+
+			echo 'nodepair' > _guidetree
+			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $termgapopt $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt -U $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg $focusarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "localgenaf" -a $memsavetree -eq 1 ]; then
+			"$prefix/nodepair" $lhlimit -u $unalignlevel $localparam -C $numthreads $seqtype $model -g $lexp -f $lgop -Q $spfactor -h $laof -O $LGOP -E $LEXP -N $usenaivepairscore $focusarg $treeinopt $treeoutopt -i infile > /dev/null  2>>"$progressfile"      || exit 1
+			echo 'nodepair' > _guidetree
+			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $termgapopt $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt -U $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg $focusarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "global" -a $memsavetree -eq 0 ]; then
+			"$prefix/tbfast" _  -u $unalignlevel $localparam  -C $numthreads $seqtype $model -g $pgexp -f $pggop -Q $spfactor -h $pgaof  -A  $usenaivepairscore $focusarg  _ -+ $iterate -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg $focusarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			
+		elif [ $distance = "local" -a $memsavetree -eq 0 ]; then
+			if [ $fragment -ne 0 ]; then 
+				"$prefix/pairlocalalign" $localparam $addarg   -C $numthreads $seqtype $model  -g $lexp -f $lgop -Q $spfactor -h $laof -L $usenaivepairscore < infile > /dev/null  2>>"$progressfile"      || exit 1
+				cat hat3.seed hat3 > hatx
+				mv hatx hat3
+				"$prefix/addsingle" -Q 100 $legacygapopt -O $outnum $addsinglearg $addarg $add2ndhalfarg -C $numthreads $memopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop  -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			else
+				"$prefix/tbfast" _  -u $unalignlevel $localparam -C $numthreads $seqtype $model  -g $lexp -f $lgop -Q $spfactor -h $laof -L $usenaivepairscore $focusarg _ -+ $iterate -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $termgapopt $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg $focusarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			fi
+		elif [ $distance = "globalgenaf" ]; then
+			"$prefix/pairlocalalign"  -u $unalignlevel $localparam -C $numthreads $seqtype $model  -g $pgexp -f $pggop -Q $spfactor -h $pgaof -O $GGOP -E $GEXP -K $usenaivepairscore < infile > /dev/null 2>>"$progressfile"    || exit 1
+			cat hat3.seed hat3 > hatx
+			mv hatx hat3
+			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "localgenaf" -a $memsavetree -eq 0 ]; then
+			"$prefix/tbfast" _ -u $unalignlevel $localparam -C $numthreads $seqtype $model -g $lexp -f $lgop -Q $spfactor -h $laof -O $LGOP -E $LEXP -N $usenaivepairscore $focusarg _ -+ $iterate -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $termgapopt $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg $focusarg < infile > /dev/null  2>>"$progressfile"      || exit 1
+		elif [ $distance = "last" ]; then
+			if [ $fragment -ne 0 ]; then 
+				"$prefix/pairlocalalign" $addarg   -C $numthreads $seqtype $model -e $last_e -w $last_m -g $lexp -f $lgop -Q $spfactor -h $laof -R $last_subopt $last_once -d "$prefix" < infile > /dev/null  2>>"$progressfile"      || exit 1
+				cat hat3.seed hat3 > hatx
+				mv hatx hat3
+				"$prefix/addsingle" -Q 100 $legacygapopt -O $outnum $addsinglearg $addarg $add2ndhalfarg -C $numthreads $memopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop  -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			else
+				"$prefix/pairlocalalign" -C $numthreads $seqtype $model -e $last_e -w $last_m -g $lexp -f $lgop -Q $spfactor -h $laof -R $last_subopt $last_once -d "$prefix" < infile > /dev/null  2>>"$progressfile"      || exit 1
+#				addarg wo watasanai
+				cat hat3.seed hat3 > hatx
+				mv hatx hat3
+				"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $termgapopt $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			fi
+		elif [ $distance = "lastmulti" ]; then
+			"$prefix/dndpre" $model -M 2 $addarg -C $numthreads $seqtype $model -g $lexp -f $lgop -Q $spfactor -h $laof < infile > /dev/null 2>>"$progressfile"      || exit 1
+			mv hat2 hat2i
+			"$prefix/pairlocalalign" $addarg   -C $numthreads $seqtype $model -e $last_e -w $last_m -g $lexp -f $lgop -Q $spfactor -h $laof -r $last_subopt $last_once -d "$prefix" < infile > /dev/null  2>>"$progressfile"      || exit 1
+			cat hat3.seed hat3 > hatx
+			mv hat2 hat2n
+			mv hatx hat3
+			if [ $fragment -ne 0 ]; then 
+				"$prefix/addsingle" -Q 100 $legacygapopt -d -O $outnum $addsinglearg $addarg $add2ndhalfarg -C $numthreads $memopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop  -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			else
+				echo "Impossible" 1>&2
+				exit 1
+			fi
+		elif [ $distance = "multi" ]; then
+			"$prefix/dndpre" $model -M 2 $addarg -C $numthreads $seqtype $model -g $lexp -f $lgop -h $laof  $usenaivepairscore < infile > /dev/null 2>>"$progressfile"      || exit 1
+			mv hat2 hat2i
+			"$prefix/pairlocalalign" $localparam $addarg   -C $numthreads $seqtype $model  -g $lexp -f $lgop -Q $spfactor -h $laof -Y $usenaivepairscore < infile > /dev/null  2>>"$progressfile"      || exit 1
+			cat hat3.seed hat3 > hatx
+			mv hat2 hat2n
+			mv hatx hat3
+			if [ $fragment -ne 0 ]; then 
+				"$prefix/addsingle" -Q 100 $legacygapopt -d -O $outnum $addsinglearg $addarg $add2ndhalfarg -C $numthreads $memopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop  -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			else
+				echo "Impossible" 1>&2
+				exit 1
+			fi
+		elif [ $distance = "hybrid" ]; then
+			"$prefix/pairlocalalign" $addarg   -C $numthreads $seqtype $model  -g $lexp -f $lgop -Q $spfactor -h $laof -Y < infile > /dev/null  2>>"$progressfile"      || exit 1
+			cat hat3.seed hat3 > hatx
+			mv hatx hat3
+			"$prefix/disttbfast" -E 1 -s $unalignlevel $legacygapopt -W $tuplesize $termgapopt $outnum $addarg $add2ndhalfarg -C $numthreads-$numthreadstb $memopt $weightopt $treeinopt $treeoutopt -T -y $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			if [ $fragment -ne 0 ]; then 
+				"$prefix/addsingle" -Q 100 $legacygapopt -O $outnum $addsinglearg $addarg $add2ndhalfarg -C $numthreads $memopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop  -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			else
+				"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $termgapopt $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			fi
+#		elif [ $distance = "distonly" ]; then
+#			"$prefix/pairlocalalign"   -C $numthreads $seqtype $model -g $pgexp -f $pggop -Q $spfactor -h $pgaof  -t < infile > /dev/null  2>>"$progressfile"      || exit 1
+#			"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $outnum $addarg $add2ndhalfarg -C $numthreadstb $rnaopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+		elif [ $distance = "parttree" ]; then
+			"$prefix/splittbfast" $legacygapopt $algopt $splitopt $partorderopt $parttreeoutopt $memopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof -p $partsize -s $groupsize $treealg $outnum -i infile   > pre 2>>"$progressfile" || exit 1
+			mv hat3.seed hat3
+		elif [ $distance = "ktuplesmulti" ]; then
+#			"$prefix/dndpre" $model -M 1 $addarg -C $numthreads $seqtype $model -g $lexp -f $lgop -h $laof < infile > /dev/null 2>>"$progressfile"      || exit 1
+#			mv hat2 hat2i
+#			"$prefix/disttbfast" -E 1 -s $unalignlevel $legacygapopt -W $tuplesize $termgapopt $outnum $addarg $add2ndhalfarg -C $numthreads-$numthreadstb $memopt $weightopt $treeinopt $treeoutopt -T -y $seqtype $model -f "-"$gop -Q $spfactor -h $aof  $param_fft $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+#			mv hat2 hat2n
+			if [ $fragment -ne 0 ]; then 
+				"$prefix/addsingle" -Q 100 $legacygapopt -d -W $tuplesize -O $outnum $addsinglearg $addarg $add2ndhalfarg -C $numthreads $memopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop  -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+#				"$prefix/addsingle" -Q 100 $legacygapopt -d -O $outnum $addsinglearg $addarg $add2ndhalfarg -C $numthreads $memopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop  -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			else
+				echo "Impossible" 1>&2
+				exit 1
+			fi
+		else
+			if [ $fragment -ne 0 ]; then 
+				"$prefix/addsingle" -Q 100 $legacygapopt -W $tuplesize -O $outnum $addsinglearg $addarg $add2ndhalfarg -C $numthreads $memopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -f "-"$gop  -h $aof  $param_fft $localparam   $algopt $treealg $scoreoutarg < infile   > /dev/null 2>>"$progressfile" || exit 1
+			else
+				"$prefix/disttbfast" -q $npickup -E $cycledisttbfast -V "-"$gopdist  -s $unalignlevel $legacygapopt $mergearg -W $tuplesize $termgapopt $outnum $addarg $add2ndhalfarg -C $numthreads-$numthreadstb $memopt $weightopt $treeinopt $treeoutopt $distoutopt $seqtype $model -g $gexp -f "-"$gop -Q $spfactor -h $aof  $param_fft $algopt $treealg $scoreoutarg $anchoropt -x $maxanchorseparation $oneiterationopt < infile   > pre 2>>"$progressfile" || exit 1
+				mv hat3.seed hat3
+			fi
+		fi
+		while [ $cycletbfast -gt 1 ]
+		do
+			if [ $distance = "parttree" ]; then
+				mv pre infile
+				"$prefix/splittbfast" $legacygapopt -Z $algopt $splitopt $partorderopt $parttreeoutopt $memopt $seqtype $model -f "-"$gop -Q $spfactor -h $aof  -p $partsize -s $groupsize $treealg $outnum -i infile   > pre 2>>"$progressfile" || exit 1
+			else
+				"$prefix/tbfast" -W $minimumweight -V "-"$gopdist -s $unalignlevel $legacygapopt $mergearg $termgapopt $outnum -C $numthreadstb $rnaopt $weightopt $treeoutopt $distoutopt $memopt $seqtype $model  -f "-"$gop -Q $spfactor -h $aof $param_fft  $localparam $algopt -J $treealg $scoreoutarg < pre > /dev/null 2>>"$progressfile" || exit 1
+# fragment>0 no baai, nanimoshinai
+# seed youchuui!!
+			fi
+			cycletbfast=`expr $cycletbfast - 1`
+		done
+		if [ $iterate -gt 0 ]; then
+			if [ $distance = "ktuples" ]; then
+			    "$prefix/dndpre" $seqtype $model -M 2 -C $numthreads < pre     > /dev/null 2>>"$progressfile" || exit 1
+			fi
+			"$prefix/dvtditr" -W $minimumweight $bunkatsuopt -E $fixthreshold -s $unalignlevel  $legacygapopt $mergearg $outnum -C $numthreadsit -t $randomseed $rnaoptit $memopt $scorecalcopt $localparam -z 50 $seqtype $model -f "-"$gop -Q $spfactor -h $aof  -I $iterate $weightopt $treeinopt $algoptit $treealg -p $parallelizationstrategy  $scoreoutarg  -K $nadd < pre     > /dev/null 2>>"$progressfile" || exit 1
+		fi
+		if [ $coreout -eq 1 ]; then
+			"$prefix/setcore" -w $corewin -i $corethr $coreext < pre > pre2
+			mv pre2 pre
+		elif [ $anysymbol -eq 1 ]; then
+			"$prefix/restoreu" $add2ndhalfarg -a pre -i orig > restored || exit 1
+			mv restored pre
+		fi
+
+
+
+
+		echo '' 1>>"$progressfile"
+		if [ $mccaskill -eq 1 ]; then
+			echo "RNA base pairing probaility was calculated by the McCaskill algorithm (1)" 1>>"$progressfile"
+			echo "implemented in Vienna RNA package (2) and MXSCARNA (3), and then" 1>>"$progressfile"
+			echo "incorporated in the iterative alignment process (4)." 1>>"$progressfile"
+			echo "(1) McCaskill, 1990, Biopolymers 29:1105-1119" 1>>"$progressfile"
+			echo "(2) Hofacker et al., 2002, J. Mol. Biol. 319:3724-3732" 1>>"$progressfile"
+			echo "(3) Tabei et al., 2008, BMC Bioinformatics 9:33" 1>>"$progressfile"
+			echo "(4) Katoh and Toh, 2008, BMC Bioinformatics 9:212" 1>>"$progressfile"
+			echo "" 1>>"$progressfile"
+		elif [ $contrafold -eq 1 ]; then
+			echo "RNA base pairing probaility was calculated by the CONTRAfold algorithm (1)" 1>>"$progressfile"
+			echo "and then incorporated in the iterative alignment process (4)." 1>>"$progressfile"
+			echo "(1) Do et al., 2006, Bioinformatics 22:e90-98" 1>>"$progressfile"
+			echo "(2) Katoh and Toh, 2008, BMC Bioinformatics 9:212" 1>>"$progressfile"
+			echo "" 1>>"$progressfile"
+		fi
+		if [ $pdblist != "/dev/null" -o $ownlist != "/dev/null" ]; then
+			echo "Input structures are decomposed into structural domains using" 1>>"$progressfile"
+			echo "Protein Domain Parser (Alexandrov & Shindyalov 2003)."         1>>"$progressfile"
+			echo "Domain pairs are aligned using the rash function in"           1>>"$progressfile"
+			echo "the ASH structural alignment package (Standley et al. 2007)."  1>>"$progressfile"
+		fi
+		if [ $pdblist != "/dev/null" ]; then
+			echo "Pre-computed alignments stored in "                            1>>"$progressfile"
+			echo "DASH (http://sysimm.ifrec.osaka-u.ac.jp/dash/) are used. "     1>>"$progressfile"
+		fi
+		if [ $distance = "fasta" -o $partdist = "fasta" ]; then
+			echo "Pairwise alignments were computed by FASTA" 1>>"$progressfile"
+			echo "(Pearson & Lipman, 1988, PNAS 85:2444-2448)" 1>>"$progressfile"
+		fi
+		if [ $distance = "blast" ]; then
+			echo "Pairwise alignments were computed by BLAST" 1>>"$progressfile"
+			echo "(Altschul et al., 1997, NAR 25:3389-3402)" 1>>"$progressfile"
+		fi
+		if [ $distance = "last" -o $distance = "lastmulti" ]; then
+			echo "Pairwise alignments were computed by LAST" 1>>"$progressfile"
+			echo "http://last.cbrc.jp/" 1>>"$progressfile"
+			echo "Kielbasa, Wan, Sato, Horton, Frith 2011 Genome Res. 21:487" 1>>"$progressfile"
+		fi
+		if [ $distance = "scarna" ]; then
+			echo "Pairwise alignments were computed by MXSCARNA" 1>>"$progressfile"
+			echo "(Tabei et al., 2008, BMC Bioinformatics 9:33)." 1>>"$progressfile"
+		fi
+		if [ $distance = "dafs" ]; then
+			echo "Pairwise alignments were computed by DAFS" 1>>"$progressfile"
+			echo "(Sato et al., 2012,,,,)." 1>>"$progressfile"
+		fi
+		if [ $distance = "lara" -o $distance = "slara" ]; then
+			echo "Pairwise alignments were computed by LaRA" 1>>"$progressfile"
+			echo "(Bauer et al., 2007, BMC Bioinformatics 8:271)." 1>>"$progressfile"
+		fi
+		if [ $distance = "foldalignlocal" ]; then
+			echo "Pairwise alignments were computed by FOLDALIGN (local)" 1>>"$progressfile"
+			echo "(Havgaard et al., 2007, PLoS Computational Biology 3:e193)." 1>>"$progressfile"
+		fi
+		if [ $distance = "foldalignglobal" ]; then
+			echo "Pairwise alignments were computed by FOLDALIGN (global)" 1>>"$progressfile"
+			echo "(Havgaard et al., 2007, PLoS Computational Biology 3:e193)." 1>>"$progressfile"
+		fi
+#		printf "\n" 1>>"$progressfile"
+		echo 'Strategy:' 1>>"$progressfile"
+		printf ' '$strategy 1>>"$progressfile"
+		echo ' ('$performance')' 1>>"$progressfile"
+		echo ' '$explanation 1>>"$progressfile"
+		echo '' 1>>"$progressfile"
+		echo "If unsure which option to use, try 'mafft --auto input > output'." 1>>"$progressfile"
+		echo "For more information, see 'mafft --help', 'mafft --man' and the mafft page." 1>>"$progressfile"
+		echo "" 1>>"$progressfile"
+		echo "The default gap scoring scheme has been changed in version 7.110 (2013 Oct)." 1>>"$progressfile"
+		echo "It tends to insert more gaps into gap-rich regions than previous versions." 1>>"$progressfile"
+		echo "To disable this change, add the --leavegappyregion option." 1>>"$progressfile"
+#		echo "If long gaps are expected, try 'mafft --ep 0.0 --auto input > output'." 1>>"$progressfile"
+#		echo "If the possibility of long gaps can be excluded, add '--ep 0.123'." 1>>"$progressfile"
+		if [ $distance = "localgenaf" -o $distance = "globalgenaf" ]; then
+			echo "" 1>>"$progressfile"
+			if [ $oldgenafparam -eq 1 ]; then
+				echo "Obsolete parameters used for this calculation." 1>>"$progressfile"
+				echo "Also try the new parameters for E-INS-i, by not specifying --oldgenafpair." 1>>"$progressfile"
+			else
+				echo "Parameters for the E-INS-i option have been changed in version 7.243 (2015 Jun)." 1>>"$progressfile"
+				echo "To switch to the old parameters, use --oldgenafpair, instead of --genafpair." 1>>"$progressfile"
+			fi
+		fi
+		echo '' 1>>"$progressfile"
+
+		
+		if [ $pdblist != "/dev/null" -o $ownlist != "/dev/null" ]; then
+#			cat dasherr >>"$progressfile"
+			echo '' >>"$progressfile"
+		fi
+
+	popd > /dev/null
+
+	if [ "$outputopt" != "-f" -o "$windows" = "yes" ]; then # Windows deha kaigyo code wo f2cl de modosu.
+#		ln -s "$TMPFILE/order" _order$$ # f2cl ga space ari filename ni taiou shiteinainode
+#		cp "$TMPFILE/order" _order$$ # ln -s no error wo sakeru
+		if [ "$outputfile" = "" ]; then
+			"$prefix/f2cl" -n $namelength $outputopt < "$TMPFILE/pre" 2>"/dev/null" || exit 1
+		else
+			"$prefix/f2cl" -n $namelength $outputopt < "$TMPFILE/pre" > "$outputfile" 2>"/dev/null" || exit 1
+		fi
+#		rm _order$$
+	else
+		if [ "$outputfile" = "" ]; then
+			cat < "$TMPFILE/pre" || exit 1
+		else
+			cat < "$TMPFILE/pre" > "$outputfile" || exit 1
+		fi
+	fi
+
+	if [ $treeout -eq 1 ]; then
+		cp "$TMPFILE/infile.tree" "$infilename.tree"
+	fi
+
+	if [ -s "$TMPFILE/GuideTree" ]; then # --merge no toki dake
+		cp "$TMPFILE/GuideTree" .
+	fi
+
+	if [ $distout -eq 1 ]; then
+		cp "$TMPFILE/hat2" "$infilename.hat2"
+	fi
+
+	if [ $npickup -ne 0 ]; then
+		cp "$TMPFILE/notused" "$infilename.notused"
+	fi
+
+	if [ -s "$TMPFILE/_deletemap" ]; then
+		if [ "$mapoutfile" = "/dev/null" ]; then
+			cp "$TMPFILE/_deletemap" "$addfile.map"
+		else
+			cp "$TMPFILE/_deletemap" "$mapoutfile"
+		fi
+	fi
+
+	exit 0;
+fi
+
+prog="awk"
+
+#tmpawk=`which nawk 2>/dev/null | awk '{print $1}'`
+#if [ -x "$tmpawk" ]; then
+#	prog="$tmpawk"
+#fi
+#
+#tmpawk=`which gawk 2>/dev/null | awk '{print $1}'`
+#if [ -x "$tmpawk" ]; then
+#	prog="$tmpawk"
+#fi
+# 2017/May/12, Windows no gawk wo sakeru tame
+
+#echo "prog="$prog 1>&2
+
+umask 077
+(
+$prog '
+BEGIN {
+	prefix = ENVIRON["prefix"];
+	version = ENVIRON["version"];
+	myself = ENVIRON["myself"];
+	pwd = ENVIRON["mafft_working_dir"];  # from mafft.bat on windows
+	if( pwd == "" ) pwd = ENVIRON["PWD"];
+	while( 1 )
+	{
+		options = ""
+		printf( "\n" ) > "/dev/tty";
+		printf( "---------------------------------------------------------------------\n" )      > "/dev/tty";
+		printf( "\n" )                                                                           > "/dev/tty";
+		printf( "   MAFFT %s\n", version )                                                       > "/dev/tty";
+		printf( "\n" )                                                                           > "/dev/tty";
+#		printf( "        Copyright (c) 2002- Kazutaka Katoh\n" )                                 > "/dev/tty";
+		printf( "        MBE 30:772-780 (2013), NAR 30:3059-3066 (2002)\n" )                     > "/dev/tty";
+		printf( "        https://mafft.cbrc.jp/alignment/software/\n" )                           > "/dev/tty";
+		printf( "---------------------------------------------------------------------\n" )      > "/dev/tty";
+		printf( "\n" ) > "/dev/tty";
+	
+		while( 1 )
+		{
+			printf( "\n" ) > "/dev/tty";
+			printf( "Input file? (FASTA format; Folder=%s)\n@ ", pwd ) > "/dev/tty";
+			res = getline < "/dev/tty";
+			close( "/dev/tty" )
+			if( res == 0 || NF == 0 )
+				continue;
+			infile = sprintf( "%s", $0 );
+	
+			res = getline < infile;
+			close( infile );
+			if( res == -1 )
+			{
+				printf( "%s: No such file.\n\n", infile ) > "/dev/tty";
+				printf( "Filename extension (eg., .txt) must be typed, if any.\n\n" ) > "/dev/tty";
+			}
+			else if( res == 0 )
+				printf( "%s: Empty.\n", infile ) > "/dev/tty";
+			else
+			{
+				printf( "OK. infile = %s\n\n", infile ) > "/dev/tty";
+				break;
+			}
+		}
+		nseq = 0;
+	
+		while( 1 )
+		{
+			printf( "\n" ) > "/dev/tty";
+			printf( "Output file?\n" ) > "/dev/tty";
+			printf( "@ " ) > "/dev/tty";
+			res = getline < "/dev/tty";
+			close( "/dev/tty" );
+			if( res == 0 || NF == 0 )
+				continue;
+			else
+			{
+				outfile = sprintf( "%s", $0 );
+				printf( "OK. outfile = %s\n\n", outfile ) > "/dev/tty";
+				break;
+			}
+		}
+	
+		while( 1 )
+		{
+			outargs = "";
+			printf( "\n" ) > "/dev/tty";
+			printf( "Output format?\n" ) > "/dev/tty";
+			printf( "  1. Clustal format / Sorted\n" ) > "/dev/tty";
+			printf( "  2. Clustal format / Input order\n" ) > "/dev/tty";
+			printf( "  3. Fasta format   / Sorted\n" ) > "/dev/tty";
+			printf( "  4. Fasta format   / Input order\n" ) > "/dev/tty";
+			printf( "  5. Phylip format  / Sorted\n" ) > "/dev/tty";
+			printf( "  6. Phylip format  / Input order\n" ) > "/dev/tty";
+			printf( "@ " ) > "/dev/tty";
+			res = getline < "/dev/tty";
+			close( "/dev/tty" );
+#			printf( "res=%d, NF=%d\n", res, NF );
+
+			resnum = 0 + $1;
+#			printf( "resnum=%d\n", resnum );
+
+			if( resnum < 1 || 6 < resnum )
+				continue;
+			else
+			{
+				if( resnum == 1 )
+					outargs = "--clustalout --reorder";
+				else if( resnum == 2 )
+					outargs = "--clustalout --inputorder";
+				else if( resnum == 3 )
+					outargs = "--reorder";
+				else if( resnum == 4 )
+					outargs = "--inputorder";
+				else if( resnum == 5 )
+					outargs = "--phylipout --reorder";
+				else if( resnum == 6 )
+					outargs = "--phylipout --inputorder";
+				else
+					continue;
+				printf( "OK. arguments = %s\n\n", outargs ) > "/dev/tty";
+				break;
+			}
+		}
+	
+		while( 1 )
+		{
+			arguments = "";
+			printf( "\n" ) > "/dev/tty";
+			printf( "Strategy?\n" ) > "/dev/tty";
+			printf( "  1. --auto\n" ) > "/dev/tty";
+			printf( "  2. FFT-NS-1 (fast)\n" ) > "/dev/tty";
+			printf( "  3. FFT-NS-2 (default)\n" ) > "/dev/tty";
+			printf( "  4. G-INS-i  (accurate)\n" ) > "/dev/tty";
+			printf( "  5. L-INS-i  (accurate)\n" ) > "/dev/tty";
+			printf( "  6. E-INS-i  (accurate)\n" ) > "/dev/tty";
+			printf( "@ " ) > "/dev/tty";
+			res = getline < "/dev/tty";
+			close( "/dev/tty" );
+#			printf( "res=%d, NF=%d\n", res, NF );
+
+			resnum = 0 + $1;
+#			printf( "resnum=%d\n", resnum );
+
+			if( resnum < 1 || 6 < resnum )
+				continue;
+			else
+			{
+				if( resnum == 1 )
+					arguments = "--auto";
+				else if( resnum == 2 )
+					arguments = "--retree 1";
+				else if( resnum == 3 )
+					arguments = "--retree 2";
+				else if( resnum == 4 )
+					arguments = "--globalpair --maxiterate 16";
+				else if( resnum == 5 )
+					arguments = "--localpair  --maxiterate 16";
+				else if( resnum == 6 )
+					arguments = "--genafpair  --maxiterate 16";
+				else
+					arguments = sprintf( "%s", $0 );
+				printf( "OK. arguments = %s %s\n\n", arguments, outargs ) > "/dev/tty";
+				break;
+			}
+		}
+
+
+		while( 1 )
+		{
+			printf( "\n" ) > "/dev/tty";
+			printf( "Additional arguments? (--ep # --op # --kappa # etc)\n" ) > "/dev/tty";
+			printf( "@ " ) > "/dev/tty";
+			res = getline < "/dev/tty";
+			close( "/dev/tty" );
+			if( res == 0 || NF == 0 )
+			{
+				break;
+			}
+			else
+			{
+				addargs = sprintf( "%s", $0 );
+				printf( "OK. arguments = %s %s %s\n\n", addargs, arguments, outargs ) > "/dev/tty";
+				break;
+			}
+		}
+
+		arguments = sprintf( "%s %s %s", addargs, arguments, outargs );
+
+		print ""
+		command = sprintf( "\"%s\" %s \"%s\" > \"%s\"", myself, arguments, infile, outfile );
+		gsub( /\\/, "/", command );
+
+
+		printf( "command=\n%s\n", command ) > "/dev/tty";
+	
+	
+		while( 1 )
+		{
+			go = 0;
+			printf( "Type Y or just enter to run this command.\n" ) > "/dev/tty";
+			printf( "@ " ) > "/dev/tty";
+			res = getline < "/dev/tty";
+			close( "/dev/tty" );
+			if( res == 0 )
+				continue;
+			else if( NF == 0 || $0 ~ /^[Yy]/ )
+			{
+				go=1;
+				break;
+			}
+			else
+				break;
+		}
+		if( go ) break;
+		printf( "\n" ) > "/dev/tty";
+		printf( "\n" ) > "/dev/tty";
+	}
+	system( command );
+	command = sprintf( "more \"%s\"", outfile );
+	system( command );
+	printf( "Press Enter to exit." ) > "/dev/tty";
+	res = getline < "/dev/tty";
+}
+'
+)
+exit 0;
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/addsingle b/make_prg/utils/mafft-linux64/mafftdir/libexec/addsingle
new file mode 100755
index 0000000..11a61d6
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/addsingle differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/contrafoldwrap b/make_prg/utils/mafft-linux64/mafftdir/libexec/contrafoldwrap
new file mode 100755
index 0000000..0e1beac
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/contrafoldwrap differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/countlen b/make_prg/utils/mafft-linux64/mafftdir/libexec/countlen
new file mode 100755
index 0000000..0efbbab
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/countlen differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/dash_alignments b/make_prg/utils/mafft-linux64/mafftdir/libexec/dash_alignments
new file mode 100644
index 0000000..6047f59
--- /dev/null
+++ b/make_prg/utils/mafft-linux64/mafftdir/libexec/dash_alignments
@@ -0,0 +1,483 @@
+Query 3J5P_A||281||579 Template 3J5P_A||281||579
+QUERY           EKNSVLEVIAYSSSETPNRHDMLLVEPLNRLLQDKWDRFVKRIFYFNFFVYCLYMIIFTAAAYYRPVEGLPPYKLKNTVGDYFRVTGEILSVSGGVYFFFRGIQYFLQRRPSLKSLFVDSYSEILFFVQSLFMLVSVVLYFSQRKEYVASMVFSLAMGWTNMLYYTRGFQQMGIYAVMIEKMILRDLCRFMFVYLVFLFGFSTAVVTLIEDGKYNSLYSTCLELFKFTIGMGDLEFTENYDFKAVFIILLLAYVILTYILLLNMLIALMGETVNKIAQESKNIWKLQRAITILDTEKSF
+QUERY                                                                                                                                                                                                                                                                                                                      
+TEMPL           EKNSVLEVIAYSSSETPNRHDMLLVEPLNRLLQDKWDRFVKRIFYFNFFVYCLYMIIFTAAAYYRPVEGLPPYKLKNTVGDYFRVTGEILSVSGGVYFFFRGIQYFLQRRPSLKSLFVDSYSEILFFVQSLFMLVSVVLYFSQRKEYVASMVFSLAMGWTNMLYYTRGFQQMGIYAVMIEKMILRDLCRFMFVYLVFLFGFSTAVVTLIEDGKYNSLYSTCLELFKFTIGMGDLEFTENYDFKAVFIILLLAYVILTYILLLNMLIALMGETVNKIAQESKNIWKLQRAITILDTEKSF
+TEMPL                                                                                                                                                                                                                                                                                                                      
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 3J5P_A||283||585 Template 3J5P_A||283||585
+QUERY           NSVLEVIAYSSSETPNRHDMLLVEPLNRLLQDKWDRFVKRIFYFNFFVYCLYMIIFTAAAYYRPVEGLPPYKLKNTVGDYFRVTGEILSVSGGVYFFFRGIQYFLQRRPSLKSLFVDSYSEILFFVQSLFMLVSVVLYFSQRKEYVASMVFSLAMGWTNMLYYTRGFQQMGIYAVMIEKMILRDLCRFMFVYLVFLFGFSTAVVTLIEDGKYNSLYSTCLELFKFTIGMGDLEFTENYDFKAVFIILLLAYVILTYILLLNMLIALMGETVNKIAQESKNIWKLQRAITILDTEKSFLKCMRK
+QUERY                                                                                                                                                                                                                                                                                                                          
+TEMPL           NSVLEVIAYSSSETPNRHDMLLVEPLNRLLQDKWDRFVKRIFYFNFFVYCLYMIIFTAAAYYRPVEGLPPYKLKNTVGDYFRVTGEILSVSGGVYFFFRGIQYFLQRRPSLKSLFVDSYSEILFFVQSLFMLVSVVLYFSQRKEYVASMVFSLAMGWTNMLYYTRGFQQMGIYAVMIEKMILRDLCRFMFVYLVFLFGFSTAVVTLIEDGKYNSLYSTCLELFKFTIGMGDLEFTENYDFKAVFIILLLAYVILTYILLLNMLIALMGETVNKIAQESKNIWKLQRAITILDTEKSFLKCMRK
+TEMPL                                                                                                                                                                                                                                                                                                                          
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 3J9P_A||1089||1399 Template 3J9P_A||1089||1399
+QUERY           YEPLTALNAMVQNNRIELLNHPVCKEYLLMKWLAYGFRAHMMNLGSYCLGLIPMTILVVNIKPGMAFNSTGIINETSDHSEILDTTNSYLIKTCMILVFLSSIFGYCKEAGQIFQQKRNYFMDISNVLEWIIYTTGIIFVLPLFVEIPAHLQWQCGAIAVYFYWMNFLLYLQRFENCGIFIVMLEVILKTLLRSTVVFIFLLLAFGLSFYILLNLQDPFSSPLLSIIQTFSMMLGDINYRESFLEPYLRNELAHPVLSFAQLVSFTIFVPIVLMNLLIGLAVGDIADVQKHASLKRIAMQVELHTSLEKKL
+QUERY                                                                                                                                                                                                                                                                                                                                  
+TEMPL           YEPLTALNAMVQNNRIELLNHPVCKEYLLMKWLAYGFRAHMMNLGSYCLGLIPMTILVVNIKPGMAFNSTGIINETSDHSEILDTTNSYLIKTCMILVFLSSIFGYCKEAGQIFQQKRNYFMDISNVLEWIIYTTGIIFVLPLFVEIPAHLQWQCGAIAVYFYWMNFLLYLQRFENCGIFIVMLEVILKTLLRSTVVFIFLLLAFGLSFYILLNLQDPFSSPLLSIIQTFSMMLGDINYRESFLEPYLRNELAHPVLSFAQLVSFTIFVPIVLMNLLIGLAVGDIADVQKHASLKRIAMQVELHTSLEKKL
+TEMPL                                                                                                                                                                                                                                                                                                                                  
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 3J9P_A||1091||1408 Template 3J9P_A||1091||1408
+QUERY           PLTALNAMVQNNRIELLNHPVCKEYLLMKWLAYGFRAHMMNLGSYCLGLIPMTILVVNIKPGMAFNSTGIINETSDHSEILDTTNSYLIKTCMILVFLSSIFGYCKEAGQIFQQKRNYFMDISNVLEWIIYTTGIIFVLPLFVEIPAHLQWQCGAIAVYFYWMNFLLYLQRFENCGIFIVMLEVILKTLLRSTVVFIFLLLAFGLSFYILLNLQDPFSSPLLSIIQTFSMMLGDINYRESFLEPYLRNELAHPVLSFAQLVSFTIFVPIVLMNLLIGLAVGDIADVQKHASLKRIAMQVELHTSLEKKLPLWFLRKVD
+QUERY                                                                                                                                                                                                                                                                                                                                         
+TEMPL           PLTALNAMVQNNRIELLNHPVCKEYLLMKWLAYGFRAHMMNLGSYCLGLIPMTILVVNIKPGMAFNSTGIINETSDHSEILDTTNSYLIKTCMILVFLSSIFGYCKEAGQIFQQKRNYFMDISNVLEWIIYTTGIIFVLPLFVEIPAHLQWQCGAIAVYFYWMNFLLYLQRFENCGIFIVMLEVILKTLLRSTVVFIFLLLAFGLSFYILLNLQDPFSSPLLSIIQTFSMMLGDINYRESFLEPYLRNELAHPVLSFAQLVSFTIFVPIVLMNLLIGLAVGDIADVQKHASLKRIAMQVELHTSLEKKLPLWFLRKVD
+TEMPL                                                                                                                                                                                                                                                                                                                                         
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 3J9P_A||1092||1402 Template 3J9P_A||1092||1402
+QUERY           LTALNAMVQNNRIELLNHPVCKEYLLMKWLAYGFRAHMMNLGSYCLGLIPMTILVVNIKPGMAFNSTGIINETSDHSEILDTTNSYLIKTCMILVFLSSIFGYCKEAGQIFQQKRNYFMDISNVLEWIIYTTGIIFVLPLFVEIPAHLQWQCGAIAVYFYWMNFLLYLQRFENCGIFIVMLEVILKTLLRSTVVFIFLLLAFGLSFYILLNLQDPFSSPLLSIIQTFSMMLGDINYRESFLEPYLRNELAHPVLSFAQLVSFTIFVPIVLMNLLIGLAVGDIADVQKHASLKRIAMQVELHTSLEKKLPLW
+QUERY                                                                                                                                                                                                                                                                                                                                  
+TEMPL           LTALNAMVQNNRIELLNHPVCKEYLLMKWLAYGFRAHMMNLGSYCLGLIPMTILVVNIKPGMAFNSTGIINETSDHSEILDTTNSYLIKTCMILVFLSSIFGYCKEAGQIFQQKRNYFMDISNVLEWIIYTTGIIFVLPLFVEIPAHLQWQCGAIAVYFYWMNFLLYLQRFENCGIFIVMLEVILKTLLRSTVVFIFLLLAFGLSFYILLNLQDPFSSPLLSIIQTFSMMLGDINYRESFLEPYLRNELAHPVLSFAQLVSFTIFVPIVLMNLLIGLAVGDIADVQKHASLKRIAMQVELHTSLEKKLPLW
+TEMPL                                                                                                                                                                                                                                                                                                                                  
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 3J9P_A||1096||1410 Template 3J9P_A||1096||1410
+QUERY           NAMVQNNRIELLNHPVCKEYLLMKWLAYGFRAHMMNLGSYCLGLIPMTILVVNIKPGMAFNSTGIINETSDHSEILDTTNSYLIKTCMILVFLSSIFGYCKEAGQIFQQKRNYFMDISNVLEWIIYTTGIIFVLPLFVEIPAHLQWQCGAIAVYFYWMNFLLYLQRFENCGIFIVMLEVILKTLLRSTVVFIFLLLAFGLSFYILLNLQDPFSSPLLSIIQTFSMMLGDINYRESFLEPYLRNELAHPVLSFAQLVSFTIFVPIVLMNLLIGLAVGDIADVQKHASLKRIAMQVELHTSLEKKLPLWFLRKVDQK
+QUERY                                                                                                                                                                                                                                                                                                                                      
+TEMPL           NAMVQNNRIELLNHPVCKEYLLMKWLAYGFRAHMMNLGSYCLGLIPMTILVVNIKPGMAFNSTGIINETSDHSEILDTTNSYLIKTCMILVFLSSIFGYCKEAGQIFQQKRNYFMDISNVLEWIIYTTGIIFVLPLFVEIPAHLQWQCGAIAVYFYWMNFLLYLQRFENCGIFIVMLEVILKTLLRSTVVFIFLLLAFGLSFYILLNLQDPFSSPLLSIIQTFSMMLGDINYRESFLEPYLRNELAHPVLSFAQLVSFTIFVPIVLMNLLIGLAVGDIADVQKHASLKRIAMQVELHTSLEKKLPLWFLRKVDQK
+TEMPL                                                                                                                                                                                                                                                                                                                                      
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5AN8_A||277||586 Template 5AN8_A||277||586
+QUERY           NSVLEIIAFHSRSPHRHRMVVLEPLNKLLQAKWDRLIPRFCFNFLCYLVYMLIFTAVAYHQPALEKQGFPPLKATAGNSMLLLGHILILLGGVYLLLGQLWYFWRRRLFIWISFMDSYFEILFLLQALLTVLSQVLCFLAIEWYLPLLVSSLVLGWLNLLYYTRGFQHTGIYSVMIQKVILRDLLRFLLVYLVFLFGFAVALVSLSREAQEDEAPPYRSILDASLELFKFTIGMGELAFQEQLRFRGVVLLLLLAYVLLTYVLLLNMLIALMSETVNSVATDSWSIWKLQKAISVLEMENGYWWCRRKKQ
+QUERY                                                                                                                                                                                                                                                                                                                                 
+TEMPL           NSVLEIIAFHSRSPHRHRMVVLEPLNKLLQAKWDRLIPRFCFNFLCYLVYMLIFTAVAYHQPALEKQGFPPLKATAGNSMLLLGHILILLGGVYLLLGQLWYFWRRRLFIWISFMDSYFEILFLLQALLTVLSQVLCFLAIEWYLPLLVSSLVLGWLNLLYYTRGFQHTGIYSVMIQKVILRDLLRFLLVYLVFLFGFAVALVSLSREAQEDEAPPYRSILDASLELFKFTIGMGELAFQEQLRFRGVVLLLLLAYVLLTYVLLLNMLIALMSETVNSVATDSWSIWKLQKAISVLEMENGYWWCRRKKQ
+TEMPL                                                                                                                                                                                                                                                                                                                                 
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5IRX_A||286||584 Template 5IRX_A||286||584
+QUERY           EKNSVLEVIAYSSSETPNRHDMLLVEPLNRLLQDKWDRFVKRIFYFNFFVYCLYMIIFTAAAYYRPVEGLPPYKLKNTVGDYFRVTGEILSVSGGVYFFFRGIQYFLQRRPSLKSLFVDSYSEILFFVQSLFMLVSVVLYFSQRKEYVASMVFSLAMGWTNMLYYTRGFQQMGIYAVMIEKMILRDLCRFMFVYLVFLFGFSTAVVTLIEDGKYNSLYSTCLELFKFTIGMGDLEFTENYDFKAVFIILLLAYVILTYILLLNMLIALMGETVNKIAQESKNIWKLQRAITILDTEKSF
+QUERY                                                                                                                                                                                                                                                                                                                      
+TEMPL           EKNSVLEVIAYSSSETPNRHDMLLVEPLNRLLQDKWDRFVKRIFYFNFFVYCLYMIIFTAAAYYRPVEGLPPYKLKNTVGDYFRVTGEILSVSGGVYFFFRGIQYFLQRRPSLKSLFVDSYSEILFFVQSLFMLVSVVLYFSQRKEYVASMVFSLAMGWTNMLYYTRGFQQMGIYAVMIEKMILRDLCRFMFVYLVFLFGFSTAVVTLIEDGKYNSLYSTCLELFKFTIGMGDLEFTENYDFKAVFIILLLAYVILTYILLLNMLIALMGETVNKIAQESKNIWKLQRAITILDTEKSF
+TEMPL                                                                                                                                                                                                                                                                                                                      
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5IRX_A||288||590 Template 5IRX_A||288||590
+QUERY           NSVLEVIAYSSSETPNRHDMLLVEPLNRLLQDKWDRFVKRIFYFNFFVYCLYMIIFTAAAYYRPVEGLPPYKLKNTVGDYFRVTGEILSVSGGVYFFFRGIQYFLQRRPSLKSLFVDSYSEILFFVQSLFMLVSVVLYFSQRKEYVASMVFSLAMGWTNMLYYTRGFQQMGIYAVMIEKMILRDLCRFMFVYLVFLFGFSTAVVTLIEDGKYNSLYSTCLELFKFTIGMGDLEFTENYDFKAVFIILLLAYVILTYILLLNMLIALMGETVNKIAQESKNIWKLQRAITILDTEKSFLKCMRK
+QUERY                                                                                                                                                                                                                                                                                                                          
+TEMPL           NSVLEVIAYSSSETPNRHDMLLVEPLNRLLQDKWDRFVKRIFYFNFFVYCLYMIIFTAAAYYRPVEGLPPYKLKNTVGDYFRVTGEILSVSGGVYFFFRGIQYFLQRRPSLKSLFVDSYSEILFFVQSLFMLVSVVLYFSQRKEYVASMVFSLAMGWTNMLYYTRGFQQMGIYAVMIEKMILRDLCRFMFVYLVFLFGFSTAVVTLIEDGKYNSLYSTCLELFKFTIGMGDLEFTENYDFKAVFIILLLAYVILTYILLLNMLIALMGETVNKIAQESKNIWKLQRAITILDTEKSFLKCMRK
+TEMPL                                                                                                                                                                                                                                                                                                                          
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5IWK_A||287||613 Template 5IWK_A||287||613
+QUERY           DDQSLLELIVTTKKREARQILDQTPVKELVSLKWKRYGRPYFCVLGAIYVLYIICFTMCCVYRPLKPRITNRTNPRDNTLLQQKLLQEAYVTPKDDLRLVGELVSIVGAVIILLVEIPDIFRLGVTRFFGQTILGGPFHVIIVTYAFMVLVTMVMRLTNSDGEVVPMSFALVLGWCNVMYFARGFQMLGPFTIMIQKMIFGDLMRFCWQMAVVILGFASAFYIIFQTEDPDELGHFYDYPMALFSTFELFLTIIDGPANYDVDLPFMYSITYAAFAIIATLLMLNLLIAMMGDTHWRVAHERDELWRAQVVATTVMLERKLPRCLWP
+QUERY                                                                                                                                                                                                                                                                                                                                                  
+TEMPL           DDQSLLELIVTTKKREARQILDQTPVKELVSLKWKRYGRPYFCVLGAIYVLYIICFTMCCVYRPLKPRITNRTNPRDNTLLQQKLLQEAYVTPKDDLRLVGELVSIVGAVIILLVEIPDIFRLGVTRFFGQTILGGPFHVIIVTYAFMVLVTMVMRLTNSDGEVVPMSFALVLGWCNVMYFARGFQMLGPFTIMIQKMIFGDLMRFCWQMAVVILGFASAFYIIFQTEDPDELGHFYDYPMALFSTFELFLTIIDGPANYDVDLPFMYSITYAAFAIIATLLMLNLLIAMMGDTHWRVAHERDELWRAQVVATTVMLERKLPRCLWP
+TEMPL                                                                                                                                                                                                                                                                                                                                                  
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5IWK_A||383||608 Template 5IWK_A||383||608
+QUERY           LRLVGELVSIVGAVIILLVEIPDIFRLGVTRFFGQTILGGPFHVIIVTYAFMVLVTMVMRLTNSDGEVVPMSFALVLGWCNVMYFARGFQMLGPFTIMIQKMIFGDLMRFCWQMAVVILGFASAFYIIFQTEDPDELGHFYDYPMALFSTFELFLTIIDGPANYDVDLPFMYSITYAAFAIIATLLMLNLLIAMMGDTHWRVAHERDELWRAQVVATTVMLERKLP
+QUERY                                                                                                                                                                                                                                             
+TEMPL           LRLVGELVSIVGAVIILLVEIPDIFRLGVTRFFGQTILGGPFHVIIVTYAFMVLVTMVMRLTNSDGEVVPMSFALVLGWCNVMYFARGFQMLGPFTIMIQKMIFGDLMRFCWQMAVVILGFASAFYIIFQTEDPDELGHFYDYPMALFSTFELFLTIIDGPANYDVDLPFMYSITYAAFAIIATLLMLNLLIAMMGDTHWRVAHERDELWRAQVVATTVMLERKLP
+TEMPL                                                                                                                                                                                                                                             
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5K47_A||19||514 Template 5K47_A||19||514
+QUERY           GTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAE
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
+TEMPL           GTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAE
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5K47_A||20||521 Template 5K47_A||20||521
+QUERY           TRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLI
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
+TEMPL           TRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLI
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5K47_A||247||526 Template 5K47_A||247||526
+QUERY           NANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYH
+QUERY                                                                                                                                                                                                                                                                                                   
+TEMPL           NANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYH
+TEMPL                                                                                                                                                                                                                                                                                                   
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5K47_A||2||537 Template 5K47_A||2||537
+QUERY           PRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYHKALVKLKLKKN
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+TEMPL           PRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYHKALVKLKLKKN
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5K47_A||30||525 Template 5K47_A||30||525
+QUERY           REKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGY
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
+TEMPL           REKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGY
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5MKF_A||158||704 Template 5MKF_A||158||704
+QUERY           EDQGPPCPSPVGGGDPLHRHLPLEGQPPRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLI
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
+TEMPL           EDQGPPCPSPVGGGDPLHRHLPLEGQPPRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLI
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5MKF_A||185||720 Template 5MKF_A||185||720
+QUERY           PRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYHKALVKLKLKKN
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+TEMPL           PRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYHKALVKLKLKKN
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5MKF_A||430||709 Template 5MKF_A||430||709
+QUERY           NANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYH
+QUERY                                                                                                                                                                                                                                                                                                   
+TEMPL           NANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYH
+TEMPL                                                                                                                                                                                                                                                                                                   
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5TJA_A||3||217 Template 5TJA_A||3||217
+QUERY           GLSNQLAVTFREENTIAFRHLFLLGYSDGADDTFAAYTREQLYQAIFHAVDQYLALPDVSLGRYAYVRGGGDPWTNGSGLALCQRYYHRGHVDPANDTFDIDPMVVTDCIQVDPPERPPPPPSDDLTLLESSSSYKNLTLKFHKLVNVTIHFRLKTINLQSLINNEIPDCYTFSVLITFDNKAHSGRIPISLETQAHIQECKHPSVFQHGDNSLE
+QUERY                                                                                                                                                                                                                                  
+TEMPL           GLSNQLAVTFREENTIAFRHLFLLGYSDGADDTFAAYTREQLYQAIFHAVDQYLALPDVSLGRYAYVRGGGDPWTNGSGLALCQRYYHRGHVDPANDTFDIDPMVVTDCIQVDPPERPPPPPSDDLTLLESSSSYKNLTLKFHKLVNVTIHFRLKTINLQSLINNEIPDCYTFSVLITFDNKAHSGRIPISLETQAHIQECKHPSVFQHGDNSLE
+TEMPL                                                                                                                                                                                                                                  
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5VKQ_A||1228||1596 Template 5VKQ_A||1228||1596
+QUERY           DKRNVEFLDVLIENEQKEVIAHTVVQRYLQELWHGSLTWASWKILLLLVAFIVCPPVWIGFTFPMGHKFNKVPIIKFMSYLTSHIYLMIHLSIVGITPIYPVLRLSLVPYWYEVGLLIWLSGLLLFELTNPSDKSGLGSIKVLVLLLGMAGVGVHVSAFLFVSKEYWPTLVYCRNQCFALAFLLACVQILDFLSFHHLFGPWAIIIGDLLKDLARFLAVLAIFVFGFSMHIVALNQSFANFSPEDLRSFEKKNRNRGYFSDVRMHPINSFELLFFAVFGQTTTEQTQVDKIKNVATPTQPYWVEYLFKIVFGIYMLVSVVVLIQLLIAMMSDTYQRIQAQSDIEWKFGLSKLIRNMHRTTTAPSPLNLV
+QUERY                                                                                                                                                                                                                                                                                                                                                                                            
+TEMPL           DKRNVEFLDVLIENEQKEVIAHTVVQRYLQELWHGSLTWASWKILLLLVAFIVCPPVWIGFTFPMGHKFNKVPIIKFMSYLTSHIYLMIHLSIVGITPIYPVLRLSLVPYWYEVGLLIWLSGLLLFELTNPSDKSGLGSIKVLVLLLGMAGVGVHVSAFLFVSKEYWPTLVYCRNQCFALAFLLACVQILDFLSFHHLFGPWAIIIGDLLKDLARFLAVLAIFVFGFSMHIVALNQSFANFSPEDLRSFEKKNRNRGYFSDVRMHPINSFELLFFAVFGQTTTEQTQVDKIKNVATPTQPYWVEYLFKIVFGIYMLVSVVVLIQLLIAMMSDTYQRIQAQSDIEWKFGLSKLIRNMHRTTTAPSPLNLV
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                            
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5W3S_A||14||541 Template 5W3S_A||14||541
+QUERY           HEEENRCNFNQHTSPSEELLLEDQMRRKLKFFFMNPCEKFWARGRKPWKLAIQILKIAMVTIQLVLFGLSNQMVVAFKEENTVAFKHLFLKGYIDRMDDTYAVYTQSDVYDQIIFAVNQYLQLYQVSVGNHAYENKGTDQSAMAICQHFYKRGNIYPGNDTFDIDPEIETDCFFVEPDEPFHIGTPAENKLNLTLDFHRLLTVELQFKLKAINLQTVRHQELPDCYDFTLTITFDNKAHSGRIKISLDNDISIRECKDWHVSGSIQKNTHNMMIFDAFVILTCLVSLILCIRSVISGLQLQQEFVNFFLLHYKKDVSVSDQMEFVNGWYIMIIISDILTIIGSILKMEIQAKSLTSYDVCSILLGTSTMLVWLGVIRYLGFFAKYNLLILTLQAALPNVIRFCCCAAMIYLGYCFCGWIVLGPYHNKFRSLNMVSECLFSLINGDDMFATFAKMQQKSYLVWLFSRIYLYSFISLFIYMILSLFIALITDTYETIKHYQQDGFPETELRTFISECKDLPNSGKFRLED
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
+TEMPL           HEEENRCNFNQHTSPSEELLLEDQMRRKLKFFFMNPCEKFWARGRKPWKLAIQILKIAMVTIQLVLFGLSNQMVVAFKEENTVAFKHLFLKGYIDRMDDTYAVYTQSDVYDQIIFAVNQYLQLYQVSVGNHAYENKGTDQSAMAICQHFYKRGNIYPGNDTFDIDPEIETDCFFVEPDEPFHIGTPAENKLNLTLDFHRLLTVELQFKLKAINLQTVRHQELPDCYDFTLTITFDNKAHSGRIKISLDNDISIRECKDWHVSGSIQKNTHNMMIFDAFVILTCLVSLILCIRSVISGLQLQQEFVNFFLLHYKKDVSVSDQMEFVNGWYIMIIISDILTIIGSILKMEIQAKSLTSYDVCSILLGTSTMLVWLGVIRYLGFFAKYNLLILTLQAALPNVIRFCCCAAMIYLGYCFCGWIVLGPYHNKFRSLNMVSECLFSLINGDDMFATFAKMQQKSYLVWLFSRIYLYSFISLFIYMILSLFIALITDTYETIKHYQQDGFPETELRTFISECKDLPNSGKFRLED
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5W3S_A||28||546 Template 5W3S_A||28||546
+QUERY           PSEELLLEDQMRRKLKFFFMNPCEKFWARGRKPWKLAIQILKIAMVTIQLVLFGLSNQMVVAFKEENTVAFKHLFLKGYIDRMDDTYAVYTQSDVYDQIIFAVNQYLQLYQVSVGNHAYENKGTDQSAMAICQHFYKRGNIYPGNDTFDIDPEIETDCFFVEPDEPFHIGTPAENKLNLTLDFHRLLTVELQFKLKAINLQTVRHQELPDCYDFTLTITFDNKAHSGRIKISLDNDISIRECKDWHVSGSIQKNTHNMMIFDAFVILTCLVSLILCIRSVISGLQLQQEFVNFFLLHYKKDVSVSDQMEFVNGWYIMIIISDILTIIGSILKMEIQAKSLTSYDVCSILLGTSTMLVWLGVIRYLGFFAKYNLLILTLQAALPNVIRFCCCAAMIYLGYCFCGWIVLGPYHNKFRSLNMVSECLFSLINGDDMFATFAKMQQKSYLVWLFSRIYLYSFISLFIYMILSLFIALITDTYETIKHYQQDGFPETELRTFISECKDLPNSGKFRLEDDPPVS
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
+TEMPL           PSEELLLEDQMRRKLKFFFMNPCEKFWARGRKPWKLAIQILKIAMVTIQLVLFGLSNQMVVAFKEENTVAFKHLFLKGYIDRMDDTYAVYTQSDVYDQIIFAVNQYLQLYQVSVGNHAYENKGTDQSAMAICQHFYKRGNIYPGNDTFDIDPEIETDCFFVEPDEPFHIGTPAENKLNLTLDFHRLLTVELQFKLKAINLQTVRHQELPDCYDFTLTITFDNKAHSGRIKISLDNDISIRECKDWHVSGSIQKNTHNMMIFDAFVILTCLVSLILCIRSVISGLQLQQEFVNFFLLHYKKDVSVSDQMEFVNGWYIMIIISDILTIIGSILKMEIQAKSLTSYDVCSILLGTSTMLVWLGVIRYLGFFAKYNLLILTLQAALPNVIRFCCCAAMIYLGYCFCGWIVLGPYHNKFRSLNMVSECLFSLINGDDMFATFAKMQQKSYLVWLFSRIYLYSFISLFIYMILSLFIALITDTYETIKHYQQDGFPETELRTFISECKDLPNSGKFRLEDDPPVS
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5WJ9_A||16||557 Template 5WJ9_A||16||557
+QUERY           LTPNPGYGTQAGPSPAPPTPPEEEDLRRRLKYFFMSPCDKFRAKGRKPCKLMLQVVKILVVTVQLILFGLSNQLAVTFREENTIAFRHLFLLGYSDGADDTFAAYTREQLYQAIFHAVDQYLALPDVSLGRYAYVRGGGDPWTNGSGLALCQRYYHRGHVDPANDTFDIDPMVVTDCIQVDPPERPPPPPSDDLTLLESSSSYKNLTLKFHKLVNVTIHFRLKTINLQSLINNEIPDCYTFSVLITFDNKAHSGRIPISLETQAHIQECKHPSVFQHGDNSFRLLFDVVVILTCSLSFLLCARSLLRGFLLQNEFVGFMWRQRGRVISLWERLEFVNGWYILLVTSDVLTISGTIMKIGIEAKNLASYDVCSILLGTSTLLVWVGVIRYLTFFHNYNILIATLRVALPSVMRFCCCVAVIYLGYCFCGWIVLGPYHVKFRSLSMVSECLFSLINGDDMFVTFAAMQAQQGRSSLVWLFSQLYLYSFISLFIYMVLSLFIALITGAYDTIKHPGGAGAEESELQAYIAQCQDSPTSGKFRRGS
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
+TEMPL           LTPNPGYGTQAGPSPAPPTPPEEEDLRRRLKYFFMSPCDKFRAKGRKPCKLMLQVVKILVVTVQLILFGLSNQLAVTFREENTIAFRHLFLLGYSDGADDTFAAYTREQLYQAIFHAVDQYLALPDVSLGRYAYVRGGGDPWTNGSGLALCQRYYHRGHVDPANDTFDIDPMVVTDCIQVDPPERPPPPPSDDLTLLESSSSYKNLTLKFHKLVNVTIHFRLKTINLQSLINNEIPDCYTFSVLITFDNKAHSGRIPISLETQAHIQECKHPSVFQHGDNSFRLLFDVVVILTCSLSFLLCARSLLRGFLLQNEFVGFMWRQRGRVISLWERLEFVNGWYILLVTSDVLTISGTIMKIGIEAKNLASYDVCSILLGTSTLLVWVGVIRYLTFFHNYNILIATLRVALPSVMRFCCCVAVIYLGYCFCGWIVLGPYHVKFRSLSMVSECLFSLINGDDMFVTFAAMQAQQGRSSLVWLFSQLYLYSFISLFIYMVLSLFIALITGAYDTIKHPGGAGAEESELQAYIAQCQDSPTSGKFRRGS
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5WPV_A||16||557 Template 5WPV_A||16||557
+QUERY           LTPNPGYGTQVGTSPAPTTPTEEEDLRRRLKYFFMSPCDKFRAKGRKPCKLMLQVVKILVVTVQLILFGLSNQLVVTFREENTIAFRHLFLLGYSDGSDDTFAAYTQEQLYQAIFYAVDQYLILPEISLGRYAYVRGGGGPWANGSALALCQRYYHRGHVDPANDTFDIDPRVVTDCIQVDPPDRPPDIPSEDLDFLDGSASYKNLTLKFHKLINVTIHFQLKTINLQSLINNEIPDCYTFSILITFDNKAHSGRIPIRLETKTHIQECKHPSVSRHGDNSFRLLFDVVVILTCSLSFLLCARSLLRGFLLQNEFVVFMWRRRGREISLWERLEFVNGWYILLVTSDVLTISGTVMKIGIEAKNLASYDVCSILLGTSTLLVWVGVIRYLTFFHKYNILIATLRVALPSVMRFCCCVAVIYLGYCFCGWIVLGPYHVKFRSLSMVSECLFSLINGDDMFVTFAAMQAQQGHSSLVWLFSQLYLYSFISLFIYMVLSLFIALITGAYDTIKHPGGTGTEKSELQAYIEQCQDSPTSGKFRRGS
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
+TEMPL           LTPNPGYGTQVGTSPAPTTPTEEEDLRRRLKYFFMSPCDKFRAKGRKPCKLMLQVVKILVVTVQLILFGLSNQLVVTFREENTIAFRHLFLLGYSDGSDDTFAAYTQEQLYQAIFYAVDQYLILPEISLGRYAYVRGGGGPWANGSALALCQRYYHRGHVDPANDTFDIDPRVVTDCIQVDPPDRPPDIPSEDLDFLDGSASYKNLTLKFHKLINVTIHFQLKTINLQSLINNEIPDCYTFSILITFDNKAHSGRIPIRLETKTHIQECKHPSVSRHGDNSFRLLFDVVVILTCSLSFLLCARSLLRGFLLQNEFVVFMWRRRGREISLWERLEFVNGWYILLVTSDVLTISGTVMKIGIEAKNLASYDVCSILLGTSTLLVWVGVIRYLTFFHKYNILIATLRVALPSVMRFCCCVAVIYLGYCFCGWIVLGPYHVKFRSLSMVSECLFSLINGDDMFVTFAAMQAQQGHSSLVWLFSQLYLYSFISLFIYMVLSLFIALITGAYDTIKHPGGTGTEKSELQAYIEQCQDSPTSGKFRRGS
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5Z1W_A||127||515 Template 5Z1W_A||127||515
+QUERY           YENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKEELAGQKDQL
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                
+TEMPL           YENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKEELAGQKDQL
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5Z1W_A||13||506 Template 5Z1W_A||13||506
+QUERY           SIRGLWGTTLTENTAENRELYVKTTLRELVVYIVFLVDICLLTYGMTSSSAYYYTKVMSELFLHTPSDSGVSFQTISSMSDFWDFAQGPLLDSLYWTKWYNNQSLGRGSHSFIYYENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKE
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
+TEMPL           SIRGLWGTTLTENTAENRELYVKTTLRELVVYIVFLVDICLLTYGMTSSSAYYYTKVMSELFLHTPSDSGVSFQTISSMSDFWDFAQGPLLDSLYWTKWYNNQSLGRGSHSFIYYENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKE
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5Z1W_A||246||537 Template 5Z1W_A||246||537
+QUERY           NANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKEELAGQKDQLQLSDFLKQSYNKTLLRLRLRKE
+QUERY                                                                                                                                                                                                                                                                                                               
+TEMPL           NANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKEELAGQKDQLQLSDFLKQSYNKTLLRLRLRKE
+TEMPL                                                                                                                                                                                                                                                                                                               
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5Z1W_A||29||447 Template 5Z1W_A||29||447
+QUERY           NRELYVKTTLRELVVYIVFLVDICLLTYGMTSSSAYYYTKVMSELFLHTPSDSGVSFQTISSMSDFWDFAQGPLLDSLYWTKWYNNQSLGRGSHSFIYYENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFV
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                              
+TEMPL           NRELYVKTTLRELVVYIVFLVDICLLTYGMTSSSAYYYTKVMSELFLHTPSDSGVSFQTISSMSDFWDFAQGPLLDSLYWTKWYNNQSLGRGSHSFIYYENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFV
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                              
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5Z1W_A||41||508 Template 5Z1W_A||41||508
+QUERY           LVVYIVFLVDICLLTYGMTSSSAYYYTKVMSELFLHTPSDSGVSFQTISSMSDFWDFAQGPLLDSLYWTKWYNNQSLGRGSHSFIYYENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKEEL
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+TEMPL           LVVYIVFLVDICLLTYGMTSSSAYYYTKVMSELFLHTPSDSGVSFQTISSMSDFWDFAQGPLLDSLYWTKWYNNQSLGRGSHSFIYYENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKEEL
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5Z1W_A||9||528 Template 5Z1W_A||9||528
+QUERY           HICRSIRGLWGTTLTENTAENRELYVKTTLRELVVYIVFLVDICLLTYGMTSSSAYYYTKVMSELFLHTPSDSGVSFQTISSMSDFWDFAQGPLLDSLYWTKWYNNQSLGRGSHSFIYYENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKEELAGQKDQLQLSDFLKQSYNKT
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+TEMPL           HICRSIRGLWGTTLTENTAENRELYVKTTLRELVVYIVFLVDICLLTYGMTSSSAYYYTKVMSELFLHTPSDSGVSFQTISSMSDFWDFAQGPLLDSLYWTKWYNNQSLGRGSHSFIYYENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKEELAGQKDQLQLSDFLKQSYNKT
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5Z96_A||286||659 Template 5Z96_A||286||659
+QUERY           LARLKLAIKYRQKEFVAQPNCQQLLASRWYDEFPGWRRRHWAVKMVTCFIIGLLFPVFSVCYLIAPKSPLGLFIRKPFIKFICHTASYLTFLFLLLLASQHIDRSDLNRQGPPPTIVEWMILPWVLGFIWGEIKQMWDGGLQDYIHDWWNLMDFVMNSLYLATISLKIVAFVKYSALNPRESWDMWHPTLVAEALFAIANIFSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYEETKGLSCKGIRCEKQNNAFSTLFETLQSLFWSIFGLINLYVTNVKAQHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFEEGGTLPTPFNV
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                 
+TEMPL           LARLKLAIKYRQKEFVAQPNCQQLLASRWYDEFPGWRRRHWAVKMVTCFIIGLLFPVFSVCYLIAPKSPLGLFIRKPFIKFICHTASYLTFLFLLLLASQHIDRSDLNRQGPPPTIVEWMILPWVLGFIWGEIKQMWDGGLQDYIHDWWNLMDFVMNSLYLATISLKIVAFVKYSALNPRESWDMWHPTLVAEALFAIANIFSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYEETKGLSCKGIRCEKQNNAFSTLFETLQSLFWSIFGLINLYVTNVKAQHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFEEGGTLPTPFNV
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                 
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5Z96_A||289||660 Template 5Z96_A||289||660
+QUERY           LKLAIKYRQKEFVAQPNCQQLLASRWYDEFPGWRRRHWAVKMVTCFIIGLLFPVFSVCYLIAPKSPLGLFIRKPFIKFICHTASYLTFLFLLLLASQHIDRSDLNRQGPPPTIVEWMILPWVLGFIWGEIKQMWDGGLQDYIHDWWNLMDFVMNSLYLATISLKIVAFVKYSALNPRESWDMWHPTLVAEALFAIANIFSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYEETKGLSCKGIRCEKQNNAFSTLFETLQSLFWSIFGLINLYVTNVKAQHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFEEGGTLPTPFNVI
+QUERY                                                                                                                                                                                                                                                                                                                                                                                               
+TEMPL           LKLAIKYRQKEFVAQPNCQQLLASRWYDEFPGWRRRHWAVKMVTCFIIGLLFPVFSVCYLIAPKSPLGLFIRKPFIKFICHTASYLTFLFLLLLASQHIDRSDLNRQGPPPTIVEWMILPWVLGFIWGEIKQMWDGGLQDYIHDWWNLMDFVMNSLYLATISLKIVAFVKYSALNPRESWDMWHPTLVAEALFAIANIFSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYEETKGLSCKGIRCEKQNNAFSTLFETLQSLFWSIFGLINLYVTNVKAQHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFEEGGTLPTPFNVI
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                               
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5Z96_A||290||663 Template 5Z96_A||290||663
+QUERY           KLAIKYRQKEFVAQPNCQQLLASRWYDEFPGWRRRHWAVKMVTCFIIGLLFPVFSVCYLIAPKSPLGLFIRKPFIKFICHTASYLTFLFLLLLASQHIDRSDLNRQGPPPTIVEWMILPWVLGFIWGEIKQMWDGGLQDYIHDWWNLMDFVMNSLYLATISLKIVAFVKYSALNPRESWDMWHPTLVAEALFAIANIFSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYEETKGLSCKGIRCEKQNNAFSTLFETLQSLFWSIFGLINLYVTNVKAQHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFEEGGTLPTPFNVIPSP
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                 
+TEMPL           KLAIKYRQKEFVAQPNCQQLLASRWYDEFPGWRRRHWAVKMVTCFIIGLLFPVFSVCYLIAPKSPLGLFIRKPFIKFICHTASYLTFLFLLLLASQHIDRSDLNRQGPPPTIVEWMILPWVLGFIWGEIKQMWDGGLQDYIHDWWNLMDFVMNSLYLATISLKIVAFVKYSALNPRESWDMWHPTLVAEALFAIANIFSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYEETKGLSCKGIRCEKQNNAFSTLFETLQSLFWSIFGLINLYVTNVKAQHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFEEGGTLPTPFNVIPSP
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                 
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5ZX5_A||814||1056 Template 5ZX5_A||814||1056
+QUERY           FKEVKILDSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCA
+QUERY                                                                                                                                                                                                                                                              
+TEMPL           FKEVKILDSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCA
+TEMPL                                                                                                                                                                                                                                                              
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5ZX5_A||820||1131 Template 5ZX5_A||820||1131
+QUERY           LDSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPL
+QUERY                                                                                                                                                                                                                                                                                                                                   
+TEMPL           LDSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPL
+TEMPL                                                                                                                                                                                                                                                                                                                                   
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5ZX5_A||821||1134 Template 5ZX5_A||821||1134
+QUERY           DSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIIL
+QUERY                                                                                                                                                                                                                                                                                                                                     
+TEMPL           DSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIIL
+TEMPL                                                                                                                                                                                                                                                                                                                                     
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 5ZX5_A||827||1228 Template 5ZX5_A||827||1228
+QUERY           NEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIILSHIVSLFCCVCKRRKKDKTSDGPKLFLTEEDQKKLHDFEEQCVEMYFDEKDDKFNSGSEERIRVTFERVEQMSIQIKEVGDRVNYIKRSLQSLD
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                             
+TEMPL           NEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIILSHIVSLFCCVCKRRKKDKTSDGPKLFLTEEDQKKLHDFEEQCVEMYFDEKDDKFNSGSEERIRVTFERVEQMSIQIKEVGDRVNYIKRSLQSLD
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                             
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6A70_A||27||559 Template 6A70_A||27||559
+QUERY           SHPQFEKGSAAAPRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIR
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
+TEMPL           SHPQFEKGSAAAPRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIR
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6A70_A||284||563 Template 6A70_A||284||563
+QUERY           NANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYH
+QUERY                                                                                                                                                                                                                                                                                                   
+TEMPL           NANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYH
+TEMPL                                                                                                                                                                                                                                                                                                   
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6A70_A||39||574 Template 6A70_A||39||574
+QUERY           PRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYHKALVKLKLKKN
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+TEMPL           PRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYHKALVKLKLKKN
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6A70_A||67||562 Template 6A70_A||67||562
+QUERY           REKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGY
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
+TEMPL           REKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGY
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6A70_B||227||1129 Template 6A70_B||227||1129
+QUERY           LRFRRLLVAELQRGFFDKHIWLSIWDRPPRSRFTRIQRATCCVLLICLFLGANAVWYGAVGDSAYSTGHVSRLSPLSVDTVAVGLVSSVVVYPVYLAILFLFRMSRSKVAGSPSPTPAGQQVLDIDSCLDSSVLDSSFLTFSGLHAEQAFVGQMKSDLFLDDSKSLVCWPSGEGTLSWPDLLSDPSIVGSNLRQLARGQAGHGLGPEEDGFSLASPYSPAKSFSASDEDLIQQVLAEGVSSPAPTQDTHMETDLLSSLSSTPGEKTETLALQRLGELGPPSPGLNWEQPQAARLSRTGLVEGLRKRLLPAWCASLAHGLSLLLVAVAVAVSGWVGASFPPGVSVAWLLSSSASFLASFLGWEPLKVLLEALYFSLVAKRLHPDEDDTLVESPAVTPVSARVPRVRPPHGFALFLAKEEARKVKRLHGMLRSLLVYMLFLLVTLLASYGDASCHGHAYRLQSAIKQELHSRAFLAITRSEELWPWMAHVLLPYVHGNQSSPELGPPRLRQVRLQEALYPDPPGPRVHTCSAAGGFSTSDYDVGWESPHNGSGTWAYSAPDLLGAWSWGSCAVYDSGGYVQELGLSLEESRDRLRFLQLHNWLDNRSRAVFLELTRYSPAVGLHAAVTLRLEFPAAGRALAALSVRPFALRRLSAGLSLPLLTSVCLLLFAVHFAVAEARTWHREGRWRVLRLGAWARWLLVALTAATALVRLAQLGAADRQWTRFVRGRPRRFTSFDQVAQLSSAARGLAASLLFLLLVKAAQQLRFVRQWSVFGKTLCRALPELLGVTLGLVVLGVAYAQLAILLVSSCVDSLWSVAQALLVLCPGTGLSTLCPAESWHLSPLLCVGLWALRLWGALRLGAVILRWRYHALRGELYRPAWEPQDYEMVELFLRRLRLWMGLSK
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
+TEMPL           LRFRRLLVAELQRGFFDKHIWLSIWDRPPRSRFTRIQRATCCVLLICLFLGANAVWYGAVGDSAYSTGHVSRLSPLSVDTVAVGLVSSVVVYPVYLAILFLFRMSRSKVAGSPSPTPAGQQVLDIDSCLDSSVLDSSFLTFSGLHAEQAFVGQMKSDLFLDDSKSLVCWPSGEGTLSWPDLLSDPSIVGSNLRQLARGQAGHGLGPEEDGFSLASPYSPAKSFSASDEDLIQQVLAEGVSSPAPTQDTHMETDLLSSLSSTPGEKTETLALQRLGELGPPSPGLNWEQPQAARLSRTGLVEGLRKRLLPAWCASLAHGLSLLLVAVAVAVSGWVGASFPPGVSVAWLLSSSASFLASFLGWEPLKVLLEALYFSLVAKRLHPDEDDTLVESPAVTPVSARVPRVRPPHGFALFLAKEEARKVKRLHGMLRSLLVYMLFLLVTLLASYGDASCHGHAYRLQSAIKQELHSRAFLAITRSEELWPWMAHVLLPYVHGNQSSPELGPPRLRQVRLQEALYPDPPGPRVHTCSAAGGFSTSDYDVGWESPHNGSGTWAYSAPDLLGAWSWGSCAVYDSGGYVQELGLSLEESRDRLRFLQLHNWLDNRSRAVFLELTRYSPAVGLHAAVTLRLEFPAAGRALAALSVRPFALRRLSAGLSLPLLTSVCLLLFAVHFAVAEARTWHREGRWRVLRLGAWARWLLVALTAATALVRLAQLGAADRQWTRFVRGRPRRFTSFDQVAQLSSAARGLAASLLFLLLVKAAQQLRFVRQWSVFGKTLCRALPELLGVTLGLVVLGVAYAQLAILLVSSCVDSLWSVAQALLVLCPGTGLSTLCPAESWHLSPLLCVGLWALRLWGALRLGAVILRWRYHALRGELYRPAWEPQDYEMVELFLRRLRLWMGLSK
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6AEI_A||287||663 Template 6AEI_A||287||663
+QUERY           LAKLKVAIKYHQKEFVAQPNCQQLLATLWYDGFPGWRRKHWVVKLLTCMTIGFLFPMLSIAYLISPRSNLGLFIKKPFIKFICHTASYLTFLFMLLLASQHIVRTDLHVQGPPPTVVEWMILPWVLGFIWGEIKEMWDGGFTEYIHDWWNLMDFAMNSLYLATISLKIVAYVKYNGSRPREEWEMWHPTLIAEALFAISNILSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYETRAIDEPNNCKGIRCEKQNNAFSTLFETLQSLFWSVFGLLNLYVTNVKARHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFDEGGTLPPPFNI
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                    
+TEMPL           LAKLKVAIKYHQKEFVAQPNCQQLLATLWYDGFPGWRRKHWVVKLLTCMTIGFLFPMLSIAYLISPRSNLGLFIKKPFIKFICHTASYLTFLFMLLLASQHIVRTDLHVQGPPPTVVEWMILPWVLGFIWGEIKEMWDGGFTEYIHDWWNLMDFAMNSLYLATISLKIVAYVKYNGSRPREEWEMWHPTLIAEALFAISNILSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYETRAIDEPNNCKGIRCEKQNNAFSTLFETLQSLFWSVFGLLNLYVTNVKARHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFDEGGTLPPPFNI
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                    
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6AEI_A||290||664 Template 6AEI_A||290||664
+QUERY           LKVAIKYHQKEFVAQPNCQQLLATLWYDGFPGWRRKHWVVKLLTCMTIGFLFPMLSIAYLISPRSNLGLFIKKPFIKFICHTASYLTFLFMLLLASQHIVRTDLHVQGPPPTVVEWMILPWVLGFIWGEIKEMWDGGFTEYIHDWWNLMDFAMNSLYLATISLKIVAYVKYNGSRPREEWEMWHPTLIAEALFAISNILSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYETRAIDEPNNCKGIRCEKQNNAFSTLFETLQSLFWSVFGLLNLYVTNVKARHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFDEGGTLPPPFNII
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                  
+TEMPL           LKVAIKYHQKEFVAQPNCQQLLATLWYDGFPGWRRKHWVVKLLTCMTIGFLFPMLSIAYLISPRSNLGLFIKKPFIKFICHTASYLTFLFMLLLASQHIVRTDLHVQGPPPTVVEWMILPWVLGFIWGEIKEMWDGGFTEYIHDWWNLMDFAMNSLYLATISLKIVAYVKYNGSRPREEWEMWHPTLIAEALFAISNILSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYETRAIDEPNNCKGIRCEKQNNAFSTLFETLQSLFWSVFGLLNLYVTNVKARHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFDEGGTLPPPFNII
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                  
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6AEI_A||291||667 Template 6AEI_A||291||667
+QUERY           KVAIKYHQKEFVAQPNCQQLLATLWYDGFPGWRRKHWVVKLLTCMTIGFLFPMLSIAYLISPRSNLGLFIKKPFIKFICHTASYLTFLFMLLLASQHIVRTDLHVQGPPPTVVEWMILPWVLGFIWGEIKEMWDGGFTEYIHDWWNLMDFAMNSLYLATISLKIVAYVKYNGSRPREEWEMWHPTLIAEALFAISNILSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYETRAIDEPNNCKGIRCEKQNNAFSTLFETLQSLFWSVFGLLNLYVTNVKARHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFDEGGTLPPPFNIIPSP
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                    
+TEMPL           KVAIKYHQKEFVAQPNCQQLLATLWYDGFPGWRRKHWVVKLLTCMTIGFLFPMLSIAYLISPRSNLGLFIKKPFIKFICHTASYLTFLFMLLLASQHIVRTDLHVQGPPPTVVEWMILPWVLGFIWGEIKEMWDGGFTEYIHDWWNLMDFAMNSLYLATISLKIVAYVKYNGSRPREEWEMWHPTLIAEALFAISNILSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYETRAIDEPNNCKGIRCEKQNNAFSTLFETLQSLFWSVFGLLNLYVTNVKARHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFDEGGTLPPPFNIIPSP
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                    
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6AYF_A||19||546 Template 6AYF_A||19||546
+QUERY           HEEENRCNFNQQTSPSEELLLEDQMRRKLKFFFMNPCEKFWARGRKPWKLAIQILKIAMVTIQLVLFGLSNQMVVAFKEENTIAFKHLFLKGYMDRMDDTYAVYTQSDVYDQLIFAVNQYLQLYNVSVGNHAYENKGTKQSAMAICQHFYKRGNIYPGNDTFDIDPEIETECFFVEPDEPFHIGTPAENKLNLTLDFHRLLTVELQFKLKAINLQTVRHQELPDCYDFTLTITFDNKAHSGRIKISLDNDISIRECKDWHVSGSIQKNTHYMMIFDAFVILTCLVSLILCIRSVIRGLQLQQEFVNFFLLHYKKEVSVSDQMEFVNGWYIMIIISDILTIIGSILKMEIQAKSLTSYDVCSILLGTSTMLVWLGVIRYLGFFAKYNLLILTLQAALPNVIRFCCCAAMIYLGYCFCGWIVLGPYHDKFRSLNMVSECLFSLINGDDMFATFAKMQQKSYLVWLFSRIYLYSFISLFIYMILSLFIALITDTYETIKQYQQDGFPETELRTFISECKDLPNSGKYRLED
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
+TEMPL           HEEENRCNFNQQTSPSEELLLEDQMRRKLKFFFMNPCEKFWARGRKPWKLAIQILKIAMVTIQLVLFGLSNQMVVAFKEENTIAFKHLFLKGYMDRMDDTYAVYTQSDVYDQLIFAVNQYLQLYNVSVGNHAYENKGTKQSAMAICQHFYKRGNIYPGNDTFDIDPEIETECFFVEPDEPFHIGTPAENKLNLTLDFHRLLTVELQFKLKAINLQTVRHQELPDCYDFTLTITFDNKAHSGRIKISLDNDISIRECKDWHVSGSIQKNTHYMMIFDAFVILTCLVSLILCIRSVIRGLQLQQEFVNFFLLHYKKEVSVSDQMEFVNGWYIMIIISDILTIIGSILKMEIQAKSLTSYDVCSILLGTSTMLVWLGVIRYLGFFAKYNLLILTLQAALPNVIRFCCCAAMIYLGYCFCGWIVLGPYHDKFRSLNMVSECLFSLINGDDMFATFAKMQQKSYLVWLFSRIYLYSFISLFIYMILSLFIALITDTYETIKQYQQDGFPETELRTFISECKDLPNSGKYRLED
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BBJ_A||424||746 Template 6BBJ_A||424||746
+QUERY           GEEVSVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSNCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPV
+QUERY                                                                                                                                                                                                                                                                                                                                              
+TEMPL           GEEVSVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSNCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPV
+TEMPL                                                                                                                                                                                                                                                                                                                                              
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BBJ_A||428||750 Template 6BBJ_A||428||750
+QUERY           SVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSNCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPVCMRK
+QUERY                                                                                                                                                                                                                                                                                                                                              
+TEMPL           SVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSNCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPVCMRK
+TEMPL                                                                                                                                                                                                                                                                                                                                              
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BCO_A||735||1081 Template 6BCO_A||735||1081
+QUERY           PPGTVEPSAKVALERRQRRRPGRALCCGKFSKRWSDFWGAPVTAFLGNVVSYLLFLLLFAHVLLVDFQPTKPSVSELLLYFWAFTLLCEELRQGLGGGWGSLASGGRGPDRAPLRHRLHLYLSDTWNQCDLLALTCFLLGVGCRLTPGLFDLGRTVLCLDFMIFTLRLLHIFTVNKQLGPKIVIVSKMMKDVFFFLFFLCVWLVAYGVATEGILRPQDRSLPSILRRVFYRPYLQIFGQIPQEEMDVALMIPGNCSMERGSWAHPEGPVAGSCVSQYANWLVVLLLIVFLLVANILLLNLLIAMFSYTFSKVHGNSDLYWKAQRYSLIREFHSRPALAPPLIIISHV
+QUERY                                                                                                                                                                                                                                                                                                                                                                      
+TEMPL           PPGTVEPSAKVALERRQRRRPGRALCCGKFSKRWSDFWGAPVTAFLGNVVSYLLFLLLFAHVLLVDFQPTKPSVSELLLYFWAFTLLCEELRQGLGGGWGSLASGGRGPDRAPLRHRLHLYLSDTWNQCDLLALTCFLLGVGCRLTPGLFDLGRTVLCLDFMIFTLRLLHIFTVNKQLGPKIVIVSKMMKDVFFFLFFLCVWLVAYGVATEGILRPQDRSLPSILRRVFYRPYLQIFGQIPQEEMDVALMIPGNCSMERGSWAHPEGPVAGSCVSQYANWLVVLLLIVFLLVANILLLNLLIAMFSYTFSKVHGNSDLYWKAQRYSLIREFHSRPALAPPLIIISHV
+TEMPL                                                                                                                                                                                                                                                                                                                                                                      
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BO5_A||314||642 Template 6BO5_A||314||642
+QUERY           NSVLEIIAFHCKSPNRHRMVVLEPLNKLLQEKWDRLVSRFFFNFACYLVYMFIFTVVAYHQPSLDQPAIPSSKATFGESMLLLGHILILLGGIYLLLGQLWYFWRRRLFIWISFMDSYFEILFLLQALLTVLSQVLRFMETEWYLPLLVLSLVLGWLNLLYYTRGFQHTGIYSVMIQKVILRDLLRFLLVYLVFLFGFAVALVSLSREARSPKAPEDNNSTVTEQPTVGQEEEPAPYRSILDASLELFKFTIGMGELAFQEQLRFRGVVLLLLLAYVLLTYVLLLNMLIALMSETVNHVADNSWSIWKLQKAISVLEMENGYWWCRRKK
+QUERY                                                                                                                                                                                                                                                                                                                                                    
+TEMPL           NSVLEIIAFHCKSPNRHRMVVLEPLNKLLQEKWDRLVSRFFFNFACYLVYMFIFTVVAYHQPSLDQPAIPSSKATFGESMLLLGHILILLGGIYLLLGQLWYFWRRRLFIWISFMDSYFEILFLLQALLTVLSQVLRFMETEWYLPLLVLSLVLGWLNLLYYTRGFQHTGIYSVMIQKVILRDLLRFLLVYLVFLFGFAVALVSLSREARSPKAPEDNNSTVTEQPTVGQEEEPAPYRSILDASLELFKFTIGMGELAFQEQLRFRGVVLLLLLAYVLLTYVLLLNMLIALMSETVNHVADNSWSIWKLQKAISVLEMENGYWWCRRKK
+TEMPL                                                                                                                                                                                                                                                                                                                                                    
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BO8_A||288||614 Template 6BO8_A||288||614
+QUERY           DEQSLLELIITTKKREARQILDQTPVKELVSLKWKRYGRPYFCMLGAIYLLYIICFTMCCIYRPLKPRTNNRTSPRDNTLLQQKLLQEAYMTPKDDIRLVGELVTVIGAIIILLVEVPDIFRMGVTRFFGQTILGGPFHVLIITYAFMVLVTMVMRLISASGEVVPMSFALVLGWCNVMYFARGFQMLGPFTIMIQKMIFGDLMRFCWLMAVVILGFASAFYIIFQTEDPEELGHFYDYPMALFSTFELFLTIIDGPANYNVDLPFMYSITYAAFAIIATLLMLNLLIAMMGDTHWRVAHERDELWRAQIVATTVMLERKLPRCLWP
+QUERY                                                                                                                                                                                                                                                                                                                                                  
+TEMPL           DEQSLLELIITTKKREARQILDQTPVKELVSLKWKRYGRPYFCMLGAIYLLYIICFTMCCIYRPLKPRTNNRTSPRDNTLLQQKLLQEAYMTPKDDIRLVGELVTVIGAIIILLVEVPDIFRMGVTRFFGQTILGGPFHVLIITYAFMVLVTMVMRLISASGEVVPMSFALVLGWCNVMYFARGFQMLGPFTIMIQKMIFGDLMRFCWLMAVVILGFASAFYIIFQTEDPEELGHFYDYPMALFSTFELFLTIIDGPANYNVDLPFMYSITYAAFAIIATLLMLNLLIAMMGDTHWRVAHERDELWRAQIVATTVMLERKLPRCLWP
+TEMPL                                                                                                                                                                                                                                                                                                                                                  
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BO8_A||384||609 Template 6BO8_A||384||609
+QUERY           IRLVGELVTVIGAIIILLVEVPDIFRMGVTRFFGQTILGGPFHVLIITYAFMVLVTMVMRLISASGEVVPMSFALVLGWCNVMYFARGFQMLGPFTIMIQKMIFGDLMRFCWLMAVVILGFASAFYIIFQTEDPEELGHFYDYPMALFSTFELFLTIIDGPANYNVDLPFMYSITYAAFAIIATLLMLNLLIAMMGDTHWRVAHERDELWRAQIVATTVMLERKLP
+QUERY                                                                                                                                                                                                                                             
+TEMPL           IRLVGELVTVIGAIIILLVEVPDIFRMGVTRFFGQTILGGPFHVLIITYAFMVLVTMVMRLISASGEVVPMSFALVLGWCNVMYFARGFQMLGPFTIMIQKMIFGDLMRFCWLMAVVILGFASAFYIIFQTEDPEELGHFYDYPMALFSTFELFLTIIDGPANYNVDLPFMYSITYAAFAIIATLLMLNLLIAMMGDTHWRVAHERDELWRAQIVATTVMLERKLP
+TEMPL                                                                                                                                                                                                                                             
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BPQ_A||570||883 Template 6BPQ_A||570||883
+QUERY           IILCLFFFPLIGCGFISFRKKPVEKTKKLFLYYVSFFTSPFVVFSWNVIFYIAFLLLFAYVLLMDFQKEPTALEIILYVLVFILLCDEVRQWYMNGSKYFSDLWNVMDTLAIFYFIAGIVFRLHSDESSWYSGRVIFCLDYIVFTLRLIHIFTVSRNLGPKIIMLQRMMIDVFFFLFLFAVWMVAFGVARQGILRKNEHRWEWIFRSVIYEPYLAMFGQYPDDIDGTTYNFDHCTFSGNESKPLCVELDANNQPRFPEWITIPLVCIYMLSTNILLVNLLVAMFGYTVGSVQENNDQVWKFQRFFLVQEYCSRL
+QUERY                                                                                                                                                                                                                                                                                                                                     
+TEMPL           IILCLFFFPLIGCGFISFRKKPVEKTKKLFLYYVSFFTSPFVVFSWNVIFYIAFLLLFAYVLLMDFQKEPTALEIILYVLVFILLCDEVRQWYMNGSKYFSDLWNVMDTLAIFYFIAGIVFRLHSDESSWYSGRVIFCLDYIVFTLRLIHIFTVSRNLGPKIIMLQRMMIDVFFFLFLFAVWMVAFGVARQGILRKNEHRWEWIFRSVIYEPYLAMFGQYPDDIDGTTYNFDHCTFSGNESKPLCVELDANNQPRFPEWITIPLVCIYMLSTNILLVNLLVAMFGYTVGSVQENNDQVWKFQRFFLVQEYCSRL
+TEMPL                                                                                                                                                                                                                                                                                                                                     
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BQR_A||661||1011 Template 6BQR_A||661||1011
+QUERY           PVGTADPAEKTPLGVPRQSGRPGCCGGRCGGRRCLRRWFHFWGAPVTIFMGNVVSYLLFLLLFSRVLLVDFQPAPPGSLELLLYFWAFTLLCEELRQGLSGGGGSLASGGPGPGHASLSQRLRLYLADSWNQCDLVALTCFLLGVGCRLTPGLYHLGRTVLCIDFMVFTVRLLHIFTVNKQLGPKIVIVSKMMKDVFFFLFFLGVWLVAYGVATEGLLRPRDSDFPSILRRVFYRPYLQIFGQIPQEDMDVALMEHSNCSSEPGFWAHPPGAQAGTCVSQYANWLVVLLLVIFLLVANILLVNLLIAMFSYTFGKVQGNSDLYWKAQRYRLIREFHSRPALAPPFIVISHL
+QUERY                                                                                                                                                                                                                                                                                                                                                                          
+TEMPL           PVGTADPAEKTPLGVPRQSGRPGCCGGRCGGRRCLRRWFHFWGAPVTIFMGNVVSYLLFLLLFSRVLLVDFQPAPPGSLELLLYFWAFTLLCEELRQGLSGGGGSLASGGPGPGHASLSQRLRLYLADSWNQCDLVALTCFLLGVGCRLTPGLYHLGRTVLCIDFMVFTVRLLHIFTVNKQLGPKIVIVSKMMKDVFFFLFFLGVWLVAYGVATEGLLRPRDSDFPSILRRVFYRPYLQIFGQIPQEDMDVALMEHSNCSSEPGFWAHPPGAQAGTCVSQYANWLVVLLLVIFLLVANILLVNLLIAMFSYTFGKVQGNSDLYWKAQRYRLIREFHSRPALAPPFIVISHL
+TEMPL                                                                                                                                                                                                                                                                                                                                                                          
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BQV_A||739||1089 Template 6BQV_A||739||1089
+QUERY           PVGTADPAEKTPLGVPRQSGRPGCCGGRCGGRRCLRRWFHFWGAPVTIFMGNVVSYLLFLLLFSRVLLVDFQPAPPGSLELLLYFWAFTLLCEELRQGLSGGGGSLASGGPGPGHASLSQRLRLYLADSWNQCDLVALTCFLLGVGCRLTPGLYHLGRTVLCIDFMVFTVRLLHIFTVNKQLGPKIVIVSKMMKDVFFFLFFLGVWLVAYGVATEGLLRPRDSDFPSILRRVFYRPYLQIFGQIPQEDMDVALMEHSNCSSEPGFWAHPPGAQAGTCVSQYANWLVVLLLVIFLLVANILLVNLLIAMFSYTFGKVQGNSDLYWKAQRYRLIREFHSRPALAPPFIVISHL
+QUERY                                                                                                                                                                                                                                                                                                                                                                          
+TEMPL           PVGTADPAEKTPLGVPRQSGRPGCCGGRCGGRRCLRRWFHFWGAPVTIFMGNVVSYLLFLLLFSRVLLVDFQPAPPGSLELLLYFWAFTLLCEELRQGLSGGGGSLASGGPGPGHASLSQRLRLYLADSWNQCDLVALTCFLLGVGCRLTPGLYHLGRTVLCIDFMVFTVRLLHIFTVNKQLGPKIVIVSKMMKDVFFFLFFLGVWLVAYGVATEGLLRPRDSDFPSILRRVFYRPYLQIFGQIPQEDMDVALMEHSNCSSEPGFWAHPPGAQAGTCVSQYANWLVVLLLVIFLLVANILLVNLLIAMFSYTFGKVQGNSDLYWKAQRYRLIREFHSRPALAPPFIVISHL
+TEMPL                                                                                                                                                                                                                                                                                                                                                                          
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BWD_A||470||712 Template 6BWD_A||470||712
+QUERY           FKEVKILDSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCA
+QUERY                                                                                                                                                                                                                                                              
+TEMPL           FKEVKILDSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCA
+TEMPL                                                                                                                                                                                                                                                              
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BWD_A||476||787 Template 6BWD_A||476||787
+QUERY           LDSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPL
+QUERY                                                                                                                                                                                                                                                                                                                                   
+TEMPL           LDSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPL
+TEMPL                                                                                                                                                                                                                                                                                                                                   
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BWD_A||477||790 Template 6BWD_A||477||790
+QUERY           DSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIIL
+QUERY                                                                                                                                                                                                                                                                                                                                     
+TEMPL           DSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIIL
+TEMPL                                                                                                                                                                                                                                                                                                                                     
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BWD_A||480||793 Template 6BWD_A||480||793
+QUERY           DGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIILSHI
+QUERY                                                                                                                                                                                                                                                                                                                                     
+TEMPL           DGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIILSHI
+TEMPL                                                                                                                                                                                                                                                                                                                                     
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BWD_A||483||904 Template 6BWD_A||483||904
+QUERY           NEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIILSHIVSLFCCVCKRRKKDKTSDGPKLFLTEEDQKKLHDFEEQCVEMYFDEKDDKFNSGSEERIRVTFERVEQMSIQIKEVGDRVNYIKRSLQSLDSQIGHLQDLSALTVDTLKTL
+QUERY                                                                                                                                                                                                                                                                                                                                                                                                                                                 
+TEMPL           NEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIILSHIVSLFCCVCKRRKKDKTSDGPKLFLTEEDQKKLHDFEEQCVEMYFDEKDDKFNSGSEERIRVTFERVEQMSIQIKEVGDRVNYIKRSLQSLDSQIGHLQDLSALTVDTLKTL
+TEMPL                                                                                                                                                                                                                                                                                                                                                                                                                                                 
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BWI_A||536||886 Template 6BWI_A||536||886
+QUERY           PVGTADPAEKTPLGVPRQSGRPGCCGGRCGGRRCLRRWFHFWGAPVTIFMGNVVSYLLFLLLFSRVLLVDFQPAPPGSLELLLYFWAFTLLCEELRQGLSGGGGSLASGGPGPGHASLSQRLRLYLADSWNQCDLVALTCFLLGVGCRLTPGLYHLGRTVLCIDFMVFTVRLLHIFTVNKQLGPKIVIVSKMMKDVFFFLFFLGVWLVAYGVATEGLLRPRDSDFPSILRRVFYRPYLQIFGQIPQEDMDVALMEHSNCSSEPGFWAHPPGAQAGTCVSQYANWLVVLLLVIFLLVANILLVNLLIAMFSYTFGKVQGNSDLYWKAQRYRLIREFHSRPALAPPFIVISHL
+QUERY                                                                                                                                                                                                                                                                                                                                                                          
+TEMPL           PVGTADPAEKTPLGVPRQSGRPGCCGGRCGGRRCLRRWFHFWGAPVTIFMGNVVSYLLFLLLFSRVLLVDFQPAPPGSLELLLYFWAFTLLCEELRQGLSGGGGSLASGGPGPGHASLSQRLRLYLADSWNQCDLVALTCFLLGVGCRLTPGLYHLGRTVLCIDFMVFTVRLLHIFTVNKQLGPKIVIVSKMMKDVFFFLFFLGVWLVAYGVATEGLLRPRDSDFPSILRRVFYRPYLQIFGQIPQEDMDVALMEHSNCSSEPGFWAHPPGAQAGTCVSQYANWLVVLLLVIFLLVANILLVNLLIAMFSYTFGKVQGNSDLYWKAQRYRLIREFHSRPALAPPFIVISHL
+TEMPL                                                                                                                                                                                                                                                                                                                                                                          
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6BWJ_A||351||680 Template 6BWJ_A||351||680
+QUERY           NSVLEIIAFHSRSPHRHRMVVLEPLNKLLQAKWDRLIPRFCFNFLCYLVYMLIFTAVAYHQPALEKQGFPPLKATAGNSMLLLGHILILLGGVYLLLGQLWYFWRRRLFIWISFMDSYSEILFLLQALLTVLSQVLCFLAIEWYLPLLVSSLVMGWTNLLYYTRGFQHTGIYSVMIEKVILRDLLRFLLVYLVFLFGFAVALVSLSREAQNSRTPAGPNATEVGQPGAGQEDEAPPYRSILDASLELFKFTIGMGELAFQEQLRFRGVVLLLLLAYVLLTYVLLLNMLIALMSETVNSVATDSWSIWKLQKAISVLEMENGYWWCRRKKQ
+QUERY                                                                                                                                                                                                                                                                                                                                                     
+TEMPL           NSVLEIIAFHSRSPHRHRMVVLEPLNKLLQAKWDRLIPRFCFNFLCYLVYMLIFTAVAYHQPALEKQGFPPLKATAGNSMLLLGHILILLGGVYLLLGQLWYFWRRRLFIWISFMDSYSEILFLLQALLTVLSQVLCFLAIEWYLPLLVSSLVMGWTNLLYYTRGFQHTGIYSVMIEKVILRDLLRFLLVYLVFLFGFAVALVSLSREAQNSRTPAGPNATEVGQPGAGQEDEAPPYRSILDASLELFKFTIGMGELAFQEQLRFRGVVLLLLLAYVLLTYVLLLNMLIALMSETVNSVATDSWSIWKLQKAISVLEMENGYWWCRRKKQ
+TEMPL                                                                                                                                                                                                                                                                                                                                                     
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6C8G_A||293||615 Template 6C8G_A||293||615
+QUERY           GEEVSVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSQCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPV
+QUERY                                                                                                                                                                                                                                                                                                                                              
+TEMPL           GEEVSVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSQCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPV
+TEMPL                                                                                                                                                                                                                                                                                                                                              
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6C8G_A||294||617 Template 6C8G_A||294||617
+QUERY           EEVSVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSQCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPVCM
+QUERY                                                                                                                                                                                                                                                                                                                                               
+TEMPL           EEVSVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSQCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPVCM
+TEMPL                                                                                                                                                                                                                                                                                                                                               
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6C8G_A||295||619 Template 6C8G_A||295||619
+QUERY           EVSVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSQCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPVCMRK
+QUERY                                                                                                                                                                                                                                                                                                                                                
+TEMPL           EVSVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSQCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPVCMRK
+TEMPL                                                                                                                                                                                                                                                                                                                                                
+Equivalence     9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6C8G_A||419||661 Template 6C8G_A||419||661
+QUERY           FIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSQCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPVCMRKAFRSGEMVTVGKNLDGTPDRRWCFRVDEVNWSHWNQNLGIIN
+QUERY                                                                                                                                                                                                                                                              
+TEMPL           FIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSQCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPVCMRKAFRSGEMVTVGKNLDGTPDRRWCFRVDEVNWSHWNQNLGIIN
+TEMPL                                                                                                                                                                                                                                                              
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6CO7_A||808||1043 Template 6CO7_A||808||1043
+QUERY           EIREDDSMEVIMRNKKLGFCDRIMHFYSAPFSKFVGNVVGYLAFIFLYAYVVLFNFPRFDPAKTLGGIHPTEIVLYFWVFTILIEEIRQLAAKPPKYIKDKVSVYFSDTWNFVDIFSLTVFIIAIILRFFTNSRIFTASRIILSLDIIFFIVRSLQIFSVNRLLGPKLVMIQKMMQDLAQFIIILAVFTIAYGIALHAVMFPSPGIYARNNTWVTITSVVQYPYWQMYGELFLDEI
+QUERY                                                                                                                                                                                                                                                       
+TEMPL           EIREDDSMEVIMRNKKLGFCDRIMHFYSAPFSKFVGNVVGYLAFIFLYAYVVLFNFPRFDPAKTLGGIHPTEIVLYFWVFTILIEEIRQLAAKPPKYIKDKVSVYFSDTWNFVDIFSLTVFIIAIILRFFTNSRIFTASRIILSLDIIFFIVRSLQIFSVNRLLGPKLVMIQKMMQDLAQFIIILAVFTIAYGIALHAVMFPSPGIYARNNTWVTITSVVQYPYWQMYGELFLDEI
+TEMPL                                                                                                                                                                                                                                                       
+Equivalence     99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
+Query 6CO7_A||810||1124 Template 6CO7_A||810||1124
+QUERY           REDDSMEVIMRNKKLGFCDRIMHFYSAPFSKFVGNVVGYLAFIFLYAYVVLFNFPRFDPAKTLGGIHPTEIVLYFWVFTILIEEIRQLAAKPPKYIKDKVSVYFSDTWNFVDIFSLTVFIIAIILRFFTNSRIFTASRIILSLDIIFFIVRSLQIFSVNRLLGPKLVMIQKMMQDLAQFIIILAVFTIAYGIALHAVMFPSPGIYARNNTWVTITSVVQYPYWQMYGELFLDEIQGEKPKEFGEVDPDGRWLSPLLLAIYMVFTNILLLNLLIAIFNYTFERVQEDSDKVWKFQRYDLVQEYHSRPVFAPPLVLL
+QUERY                                                                                                                                                                                                                                                                                                                                      
+TEMPL           REDDSMEVIMRNKKLGFCDRIMHFYSAPFSKFVGNVVGYLAFIFLYAYVVLFNFPRFDPAKTLGGIHPTEIVLYFWVFTILIEEIRQLAAKPPKYIKDKVSVYFSDTWNFVDIFSLTVFIIAIILRFFTNSRIFTASRIILSLDIIFFIVRSLQIFSVNRLLGPKLVMIQKMMQDLAQFIIILAVFTIAYGIALHAVMFPSPGIYARNNTWVTITSVVQYPYWQMYGELFLDEIQGEKPKEFGEVDPDGRWLSPLLLAIYMVFTNILLLNLLIAIFNYTFERVQEDSDKVWKFQRYDLVQEYHSRPVFAPPLVLL
+TEMPL                                                                                                                                                                                                                                                                                                                                      
+Equivalence     999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/dash_client b/make_prg/utils/mafft-linux64/mafftdir/libexec/dash_client
new file mode 100755
index 0000000..e30f683
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/dash_client differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/dash_sequences.fa b/make_prg/utils/mafft-linux64/mafftdir/libexec/dash_sequences.fa
new file mode 100644
index 0000000..bec30a1
--- /dev/null
+++ b/make_prg/utils/mafft-linux64/mafftdir/libexec/dash_sequences.fa
@@ -0,0 +1,138 @@
+>DASH_3J5P_A||281||579
+EKNSVLEVIAYSSSETPNRHDMLLVEPLNRLLQDKWDRFVKRIFYFNFFVYCLYMIIFTAAAYYRPVEGLPPYKLKNTVGDYFRVTGEILSVSGGVYFFFRGIQYFLQRRPSLKSLFVDSYSEILFFVQSLFMLVSVVLYFSQRKEYVASMVFSLAMGWTNMLYYTRGFQQMGIYAVMIEKMILRDLCRFMFVYLVFLFGFSTAVVTLIEDGKYNSLYSTCLELFKFTIGMGDLEFTENYDFKAVFIILLLAYVILTYILLLNMLIALMGETVNKIAQESKNIWKLQRAITILDTEKSF
+>DASH_3J5P_A||283||585
+NSVLEVIAYSSSETPNRHDMLLVEPLNRLLQDKWDRFVKRIFYFNFFVYCLYMIIFTAAAYYRPVEGLPPYKLKNTVGDYFRVTGEILSVSGGVYFFFRGIQYFLQRRPSLKSLFVDSYSEILFFVQSLFMLVSVVLYFSQRKEYVASMVFSLAMGWTNMLYYTRGFQQMGIYAVMIEKMILRDLCRFMFVYLVFLFGFSTAVVTLIEDGKYNSLYSTCLELFKFTIGMGDLEFTENYDFKAVFIILLLAYVILTYILLLNMLIALMGETVNKIAQESKNIWKLQRAITILDTEKSFLKCMRK
+>DASH_3J9P_A||1089||1399
+YEPLTALNAMVQNNRIELLNHPVCKEYLLMKWLAYGFRAHMMNLGSYCLGLIPMTILVVNIKPGMAFNSTGIINETSDHSEILDTTNSYLIKTCMILVFLSSIFGYCKEAGQIFQQKRNYFMDISNVLEWIIYTTGIIFVLPLFVEIPAHLQWQCGAIAVYFYWMNFLLYLQRFENCGIFIVMLEVILKTLLRSTVVFIFLLLAFGLSFYILLNLQDPFSSPLLSIIQTFSMMLGDINYRESFLEPYLRNELAHPVLSFAQLVSFTIFVPIVLMNLLIGLAVGDIADVQKHASLKRIAMQVELHTSLEKKL
+>DASH_3J9P_A||1091||1408
+PLTALNAMVQNNRIELLNHPVCKEYLLMKWLAYGFRAHMMNLGSYCLGLIPMTILVVNIKPGMAFNSTGIINETSDHSEILDTTNSYLIKTCMILVFLSSIFGYCKEAGQIFQQKRNYFMDISNVLEWIIYTTGIIFVLPLFVEIPAHLQWQCGAIAVYFYWMNFLLYLQRFENCGIFIVMLEVILKTLLRSTVVFIFLLLAFGLSFYILLNLQDPFSSPLLSIIQTFSMMLGDINYRESFLEPYLRNELAHPVLSFAQLVSFTIFVPIVLMNLLIGLAVGDIADVQKHASLKRIAMQVELHTSLEKKLPLWFLRKVD
+>DASH_3J9P_A||1092||1402
+LTALNAMVQNNRIELLNHPVCKEYLLMKWLAYGFRAHMMNLGSYCLGLIPMTILVVNIKPGMAFNSTGIINETSDHSEILDTTNSYLIKTCMILVFLSSIFGYCKEAGQIFQQKRNYFMDISNVLEWIIYTTGIIFVLPLFVEIPAHLQWQCGAIAVYFYWMNFLLYLQRFENCGIFIVMLEVILKTLLRSTVVFIFLLLAFGLSFYILLNLQDPFSSPLLSIIQTFSMMLGDINYRESFLEPYLRNELAHPVLSFAQLVSFTIFVPIVLMNLLIGLAVGDIADVQKHASLKRIAMQVELHTSLEKKLPLW
+>DASH_3J9P_A||1096||1410
+NAMVQNNRIELLNHPVCKEYLLMKWLAYGFRAHMMNLGSYCLGLIPMTILVVNIKPGMAFNSTGIINETSDHSEILDTTNSYLIKTCMILVFLSSIFGYCKEAGQIFQQKRNYFMDISNVLEWIIYTTGIIFVLPLFVEIPAHLQWQCGAIAVYFYWMNFLLYLQRFENCGIFIVMLEVILKTLLRSTVVFIFLLLAFGLSFYILLNLQDPFSSPLLSIIQTFSMMLGDINYRESFLEPYLRNELAHPVLSFAQLVSFTIFVPIVLMNLLIGLAVGDIADVQKHASLKRIAMQVELHTSLEKKLPLWFLRKVDQK
+>DASH_5AN8_A||277||586
+NSVLEIIAFHSRSPHRHRMVVLEPLNKLLQAKWDRLIPRFCFNFLCYLVYMLIFTAVAYHQPALEKQGFPPLKATAGNSMLLLGHILILLGGVYLLLGQLWYFWRRRLFIWISFMDSYFEILFLLQALLTVLSQVLCFLAIEWYLPLLVSSLVLGWLNLLYYTRGFQHTGIYSVMIQKVILRDLLRFLLVYLVFLFGFAVALVSLSREAQEDEAPPYRSILDASLELFKFTIGMGELAFQEQLRFRGVVLLLLLAYVLLTYVLLLNMLIALMSETVNSVATDSWSIWKLQKAISVLEMENGYWWCRRKKQ
+>DASH_5IRX_A||286||584
+EKNSVLEVIAYSSSETPNRHDMLLVEPLNRLLQDKWDRFVKRIFYFNFFVYCLYMIIFTAAAYYRPVEGLPPYKLKNTVGDYFRVTGEILSVSGGVYFFFRGIQYFLQRRPSLKSLFVDSYSEILFFVQSLFMLVSVVLYFSQRKEYVASMVFSLAMGWTNMLYYTRGFQQMGIYAVMIEKMILRDLCRFMFVYLVFLFGFSTAVVTLIEDGKYNSLYSTCLELFKFTIGMGDLEFTENYDFKAVFIILLLAYVILTYILLLNMLIALMGETVNKIAQESKNIWKLQRAITILDTEKSF
+>DASH_5IRX_A||288||590
+NSVLEVIAYSSSETPNRHDMLLVEPLNRLLQDKWDRFVKRIFYFNFFVYCLYMIIFTAAAYYRPVEGLPPYKLKNTVGDYFRVTGEILSVSGGVYFFFRGIQYFLQRRPSLKSLFVDSYSEILFFVQSLFMLVSVVLYFSQRKEYVASMVFSLAMGWTNMLYYTRGFQQMGIYAVMIEKMILRDLCRFMFVYLVFLFGFSTAVVTLIEDGKYNSLYSTCLELFKFTIGMGDLEFTENYDFKAVFIILLLAYVILTYILLLNMLIALMGETVNKIAQESKNIWKLQRAITILDTEKSFLKCMRK
+>DASH_5IWK_A||287||613
+DDQSLLELIVTTKKREARQILDQTPVKELVSLKWKRYGRPYFCVLGAIYVLYIICFTMCCVYRPLKPRITNRTNPRDNTLLQQKLLQEAYVTPKDDLRLVGELVSIVGAVIILLVEIPDIFRLGVTRFFGQTILGGPFHVIIVTYAFMVLVTMVMRLTNSDGEVVPMSFALVLGWCNVMYFARGFQMLGPFTIMIQKMIFGDLMRFCWQMAVVILGFASAFYIIFQTEDPDELGHFYDYPMALFSTFELFLTIIDGPANYDVDLPFMYSITYAAFAIIATLLMLNLLIAMMGDTHWRVAHERDELWRAQVVATTVMLERKLPRCLWP
+>DASH_5IWK_A||383||608
+LRLVGELVSIVGAVIILLVEIPDIFRLGVTRFFGQTILGGPFHVIIVTYAFMVLVTMVMRLTNSDGEVVPMSFALVLGWCNVMYFARGFQMLGPFTIMIQKMIFGDLMRFCWQMAVVILGFASAFYIIFQTEDPDELGHFYDYPMALFSTFELFLTIIDGPANYDVDLPFMYSITYAAFAIIATLLMLNLLIAMMGDTHWRVAHERDELWRAQVVATTVMLERKLP
+>DASH_5K47_A||19||514
+GTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAE
+>DASH_5K47_A||20||521
+TRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLI
+>DASH_5K47_A||247||526
+NANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYH
+>DASH_5K47_A||2||537
+PRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYHKALVKLKLKKN
+>DASH_5K47_A||30||525
+REKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGY
+>DASH_5MKF_A||158||704
+EDQGPPCPSPVGGGDPLHRHLPLEGQPPRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLI
+>DASH_5MKF_A||185||720
+PRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYHKALVKLKLKKN
+>DASH_5MKF_A||430||709
+NANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYH
+>DASH_5TJA_A||3||217
+GLSNQLAVTFREENTIAFRHLFLLGYSDGADDTFAAYTREQLYQAIFHAVDQYLALPDVSLGRYAYVRGGGDPWTNGSGLALCQRYYHRGHVDPANDTFDIDPMVVTDCIQVDPPERPPPPPSDDLTLLESSSSYKNLTLKFHKLVNVTIHFRLKTINLQSLINNEIPDCYTFSVLITFDNKAHSGRIPISLETQAHIQECKHPSVFQHGDNSLE
+>DASH_5VKQ_A||1228||1596
+DKRNVEFLDVLIENEQKEVIAHTVVQRYLQELWHGSLTWASWKILLLLVAFIVCPPVWIGFTFPMGHKFNKVPIIKFMSYLTSHIYLMIHLSIVGITPIYPVLRLSLVPYWYEVGLLIWLSGLLLFELTNPSDKSGLGSIKVLVLLLGMAGVGVHVSAFLFVSKEYWPTLVYCRNQCFALAFLLACVQILDFLSFHHLFGPWAIIIGDLLKDLARFLAVLAIFVFGFSMHIVALNQSFANFSPEDLRSFEKKNRNRGYFSDVRMHPINSFELLFFAVFGQTTTEQTQVDKIKNVATPTQPYWVEYLFKIVFGIYMLVSVVVLIQLLIAMMSDTYQRIQAQSDIEWKFGLSKLIRNMHRTTTAPSPLNLV
+>DASH_5W3S_A||14||541
+HEEENRCNFNQHTSPSEELLLEDQMRRKLKFFFMNPCEKFWARGRKPWKLAIQILKIAMVTIQLVLFGLSNQMVVAFKEENTVAFKHLFLKGYIDRMDDTYAVYTQSDVYDQIIFAVNQYLQLYQVSVGNHAYENKGTDQSAMAICQHFYKRGNIYPGNDTFDIDPEIETDCFFVEPDEPFHIGTPAENKLNLTLDFHRLLTVELQFKLKAINLQTVRHQELPDCYDFTLTITFDNKAHSGRIKISLDNDISIRECKDWHVSGSIQKNTHNMMIFDAFVILTCLVSLILCIRSVISGLQLQQEFVNFFLLHYKKDVSVSDQMEFVNGWYIMIIISDILTIIGSILKMEIQAKSLTSYDVCSILLGTSTMLVWLGVIRYLGFFAKYNLLILTLQAALPNVIRFCCCAAMIYLGYCFCGWIVLGPYHNKFRSLNMVSECLFSLINGDDMFATFAKMQQKSYLVWLFSRIYLYSFISLFIYMILSLFIALITDTYETIKHYQQDGFPETELRTFISECKDLPNSGKFRLED
+>DASH_5W3S_A||28||546
+PSEELLLEDQMRRKLKFFFMNPCEKFWARGRKPWKLAIQILKIAMVTIQLVLFGLSNQMVVAFKEENTVAFKHLFLKGYIDRMDDTYAVYTQSDVYDQIIFAVNQYLQLYQVSVGNHAYENKGTDQSAMAICQHFYKRGNIYPGNDTFDIDPEIETDCFFVEPDEPFHIGTPAENKLNLTLDFHRLLTVELQFKLKAINLQTVRHQELPDCYDFTLTITFDNKAHSGRIKISLDNDISIRECKDWHVSGSIQKNTHNMMIFDAFVILTCLVSLILCIRSVISGLQLQQEFVNFFLLHYKKDVSVSDQMEFVNGWYIMIIISDILTIIGSILKMEIQAKSLTSYDVCSILLGTSTMLVWLGVIRYLGFFAKYNLLILTLQAALPNVIRFCCCAAMIYLGYCFCGWIVLGPYHNKFRSLNMVSECLFSLINGDDMFATFAKMQQKSYLVWLFSRIYLYSFISLFIYMILSLFIALITDTYETIKHYQQDGFPETELRTFISECKDLPNSGKFRLEDDPPVS
+>DASH_5WJ9_A||16||557
+LTPNPGYGTQAGPSPAPPTPPEEEDLRRRLKYFFMSPCDKFRAKGRKPCKLMLQVVKILVVTVQLILFGLSNQLAVTFREENTIAFRHLFLLGYSDGADDTFAAYTREQLYQAIFHAVDQYLALPDVSLGRYAYVRGGGDPWTNGSGLALCQRYYHRGHVDPANDTFDIDPMVVTDCIQVDPPERPPPPPSDDLTLLESSSSYKNLTLKFHKLVNVTIHFRLKTINLQSLINNEIPDCYTFSVLITFDNKAHSGRIPISLETQAHIQECKHPSVFQHGDNSFRLLFDVVVILTCSLSFLLCARSLLRGFLLQNEFVGFMWRQRGRVISLWERLEFVNGWYILLVTSDVLTISGTIMKIGIEAKNLASYDVCSILLGTSTLLVWVGVIRYLTFFHNYNILIATLRVALPSVMRFCCCVAVIYLGYCFCGWIVLGPYHVKFRSLSMVSECLFSLINGDDMFVTFAAMQAQQGRSSLVWLFSQLYLYSFISLFIYMVLSLFIALITGAYDTIKHPGGAGAEESELQAYIAQCQDSPTSGKFRRGS
+>DASH_5WPV_A||16||557
+LTPNPGYGTQVGTSPAPTTPTEEEDLRRRLKYFFMSPCDKFRAKGRKPCKLMLQVVKILVVTVQLILFGLSNQLVVTFREENTIAFRHLFLLGYSDGSDDTFAAYTQEQLYQAIFYAVDQYLILPEISLGRYAYVRGGGGPWANGSALALCQRYYHRGHVDPANDTFDIDPRVVTDCIQVDPPDRPPDIPSEDLDFLDGSASYKNLTLKFHKLINVTIHFQLKTINLQSLINNEIPDCYTFSILITFDNKAHSGRIPIRLETKTHIQECKHPSVSRHGDNSFRLLFDVVVILTCSLSFLLCARSLLRGFLLQNEFVVFMWRRRGREISLWERLEFVNGWYILLVTSDVLTISGTVMKIGIEAKNLASYDVCSILLGTSTLLVWVGVIRYLTFFHKYNILIATLRVALPSVMRFCCCVAVIYLGYCFCGWIVLGPYHVKFRSLSMVSECLFSLINGDDMFVTFAAMQAQQGHSSLVWLFSQLYLYSFISLFIYMVLSLFIALITGAYDTIKHPGGTGTEKSELQAYIEQCQDSPTSGKFRRGS
+>DASH_5Z1W_A||127||515
+YENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKEELAGQKDQL
+>DASH_5Z1W_A||13||506
+SIRGLWGTTLTENTAENRELYVKTTLRELVVYIVFLVDICLLTYGMTSSSAYYYTKVMSELFLHTPSDSGVSFQTISSMSDFWDFAQGPLLDSLYWTKWYNNQSLGRGSHSFIYYENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKE
+>DASH_5Z1W_A||246||537
+NANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKEELAGQKDQLQLSDFLKQSYNKTLLRLRLRKE
+>DASH_5Z1W_A||29||447
+NRELYVKTTLRELVVYIVFLVDICLLTYGMTSSSAYYYTKVMSELFLHTPSDSGVSFQTISSMSDFWDFAQGPLLDSLYWTKWYNNQSLGRGSHSFIYYENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFV
+>DASH_5Z1W_A||41||508
+LVVYIVFLVDICLLTYGMTSSSAYYYTKVMSELFLHTPSDSGVSFQTISSMSDFWDFAQGPLLDSLYWTKWYNNQSLGRGSHSFIYYENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKEEL
+>DASH_5Z1W_A||9||528
+HICRSIRGLWGTTLTENTAENRELYVKTTLRELVVYIVFLVDICLLTYGMTSSSAYYYTKVMSELFLHTPSDSGVSFQTISSMSDFWDFAQGPLLDSLYWTKWYNNQSLGRGSHSFIYYENLLLGAPRLRQLRVRNDSCVVHEDFREDILNCYDVYSPDKEDQLPFGPQNGTAWTYHSQNELGGSSHWGRLTSYSGGGYYLDLPGSRQASAEALQGLQEGLWLDRGTRVVFIDFSVYNANINLFCILRLVVEFPATGGTIPSWQIRTVKLIRYVNNWDFFIVGCEVVFCVFIFYYVVEEILEIHLHRLRYLSSVWNILDLVVILLSIVAVGFHIFRTLEVNRLMGKLLQQPDTYADFEFLAFWQTQYNNMNAVNLFFAWIKIFKYISFNKTMTQLSSTLARCAKDILGFAIMFFIVFFAYAQLGYLLFGTQVENFSTFVKCIFTQFRIILGDFDYNAIDNANRILGPVYFVTYVFFVFFVLLNMFLAIINDTYSEVKEELAGQKDQLQLSDFLKQSYNKT
+>DASH_5Z96_A||286||659
+LARLKLAIKYRQKEFVAQPNCQQLLASRWYDEFPGWRRRHWAVKMVTCFIIGLLFPVFSVCYLIAPKSPLGLFIRKPFIKFICHTASYLTFLFLLLLASQHIDRSDLNRQGPPPTIVEWMILPWVLGFIWGEIKQMWDGGLQDYIHDWWNLMDFVMNSLYLATISLKIVAFVKYSALNPRESWDMWHPTLVAEALFAIANIFSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYEETKGLSCKGIRCEKQNNAFSTLFETLQSLFWSIFGLINLYVTNVKAQHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFEEGGTLPTPFNV
+>DASH_5Z96_A||289||660
+LKLAIKYRQKEFVAQPNCQQLLASRWYDEFPGWRRRHWAVKMVTCFIIGLLFPVFSVCYLIAPKSPLGLFIRKPFIKFICHTASYLTFLFLLLLASQHIDRSDLNRQGPPPTIVEWMILPWVLGFIWGEIKQMWDGGLQDYIHDWWNLMDFVMNSLYLATISLKIVAFVKYSALNPRESWDMWHPTLVAEALFAIANIFSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYEETKGLSCKGIRCEKQNNAFSTLFETLQSLFWSIFGLINLYVTNVKAQHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFEEGGTLPTPFNVI
+>DASH_5Z96_A||290||663
+KLAIKYRQKEFVAQPNCQQLLASRWYDEFPGWRRRHWAVKMVTCFIIGLLFPVFSVCYLIAPKSPLGLFIRKPFIKFICHTASYLTFLFLLLLASQHIDRSDLNRQGPPPTIVEWMILPWVLGFIWGEIKQMWDGGLQDYIHDWWNLMDFVMNSLYLATISLKIVAFVKYSALNPRESWDMWHPTLVAEALFAIANIFSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYEETKGLSCKGIRCEKQNNAFSTLFETLQSLFWSIFGLINLYVTNVKAQHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFEEGGTLPTPFNVIPSP
+>DASH_5ZX5_A||814||1056
+FKEVKILDSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCA
+>DASH_5ZX5_A||820||1131
+LDSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPL
+>DASH_5ZX5_A||821||1134
+DSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIIL
+>DASH_5ZX5_A||827||1228
+NEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIILSHIVSLFCCVCKRRKKDKTSDGPKLFLTEEDQKKLHDFEEQCVEMYFDEKDDKFNSGSEERIRVTFERVEQMSIQIKEVGDRVNYIKRSLQSLD
+>DASH_6A70_A||27||559
+SHPQFEKGSAAAPRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIR
+>DASH_6A70_A||284||563
+NANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYH
+>DASH_6A70_A||39||574
+PRVAWAERLVRGLRGLWGTRLMEESSTNREKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGYHKALVKLKLKKN
+>DASH_6A70_A||67||562
+REKYLKSVLRELVTYLLFLIVLCILTYGMMSSNVYYYTRMMSQLFLDTPVSKTEKTNFKTLSSMEDFWKFTEGSLLDGLYWKMQPSNQTEADNRSFIFYENLLLGVPRIRQLRVRNGSCSIPQDLRDEIKECYDVYSVSSEDRAPFGPRNGTAWIYTSEKDLNGSSHWGIIATYSGAGYYLDLSRTREETAAQVASLKKNVWLDRGTRATFIDFSVYNANINLFCVVRLLVEFPATGGVIPSWQFQPLKLIRYVTTFDFFLAACEIIFCFFIFYYVVEEILEIRIHKLHYFRSFWNCLDVVIVVLSVVAIGINIYRTSNVEVLLQFLEDQNTFPNFEHLAYWQIQFNNIAAVTVFFVWIKLFKFINFNRTMSQLSTTMSRCAKDLFGFAIMFFIIFLAYAQLAYLVFGTQVDDFSTFQECIFTQFRIILGDINFAEIEEANRVLGPIYFTTFVFFMFFILLNMFLAIINDTYSEVKSDLAQQKAEMELSDLIRKGY
+>DASH_6A70_B||227||1129
+LRFRRLLVAELQRGFFDKHIWLSIWDRPPRSRFTRIQRATCCVLLICLFLGANAVWYGAVGDSAYSTGHVSRLSPLSVDTVAVGLVSSVVVYPVYLAILFLFRMSRSKVAGSPSPTPAGQQVLDIDSCLDSSVLDSSFLTFSGLHAEQAFVGQMKSDLFLDDSKSLVCWPSGEGTLSWPDLLSDPSIVGSNLRQLARGQAGHGLGPEEDGFSLASPYSPAKSFSASDEDLIQQVLAEGVSSPAPTQDTHMETDLLSSLSSTPGEKTETLALQRLGELGPPSPGLNWEQPQAARLSRTGLVEGLRKRLLPAWCASLAHGLSLLLVAVAVAVSGWVGASFPPGVSVAWLLSSSASFLASFLGWEPLKVLLEALYFSLVAKRLHPDEDDTLVESPAVTPVSARVPRVRPPHGFALFLAKEEARKVKRLHGMLRSLLVYMLFLLVTLLASYGDASCHGHAYRLQSAIKQELHSRAFLAITRSEELWPWMAHVLLPYVHGNQSSPELGPPRLRQVRLQEALYPDPPGPRVHTCSAAGGFSTSDYDVGWESPHNGSGTWAYSAPDLLGAWSWGSCAVYDSGGYVQELGLSLEESRDRLRFLQLHNWLDNRSRAVFLELTRYSPAVGLHAAVTLRLEFPAAGRALAALSVRPFALRRLSAGLSLPLLTSVCLLLFAVHFAVAEARTWHREGRWRVLRLGAWARWLLVALTAATALVRLAQLGAADRQWTRFVRGRPRRFTSFDQVAQLSSAARGLAASLLFLLLVKAAQQLRFVRQWSVFGKTLCRALPELLGVTLGLVVLGVAYAQLAILLVSSCVDSLWSVAQALLVLCPGTGLSTLCPAESWHLSPLLCVGLWALRLWGALRLGAVILRWRYHALRGELYRPAWEPQDYEMVELFLRRLRLWMGLSK
+>DASH_6AEI_A||287||663
+LAKLKVAIKYHQKEFVAQPNCQQLLATLWYDGFPGWRRKHWVVKLLTCMTIGFLFPMLSIAYLISPRSNLGLFIKKPFIKFICHTASYLTFLFMLLLASQHIVRTDLHVQGPPPTVVEWMILPWVLGFIWGEIKEMWDGGFTEYIHDWWNLMDFAMNSLYLATISLKIVAYVKYNGSRPREEWEMWHPTLIAEALFAISNILSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYETRAIDEPNNCKGIRCEKQNNAFSTLFETLQSLFWSVFGLLNLYVTNVKARHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFDEGGTLPPPFNI
+>DASH_6AEI_A||290||664
+LKVAIKYHQKEFVAQPNCQQLLATLWYDGFPGWRRKHWVVKLLTCMTIGFLFPMLSIAYLISPRSNLGLFIKKPFIKFICHTASYLTFLFMLLLASQHIVRTDLHVQGPPPTVVEWMILPWVLGFIWGEIKEMWDGGFTEYIHDWWNLMDFAMNSLYLATISLKIVAYVKYNGSRPREEWEMWHPTLIAEALFAISNILSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYETRAIDEPNNCKGIRCEKQNNAFSTLFETLQSLFWSVFGLLNLYVTNVKARHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFDEGGTLPPPFNII
+>DASH_6AEI_A||291||667
+KVAIKYHQKEFVAQPNCQQLLATLWYDGFPGWRRKHWVVKLLTCMTIGFLFPMLSIAYLISPRSNLGLFIKKPFIKFICHTASYLTFLFMLLLASQHIVRTDLHVQGPPPTVVEWMILPWVLGFIWGEIKEMWDGGFTEYIHDWWNLMDFAMNSLYLATISLKIVAYVKYNGSRPREEWEMWHPTLIAEALFAISNILSSLRLISLFTANSHLGPLQISLGRMLLDILKFLFIYCLVLLAFANGLNQLYFYYETRAIDEPNNCKGIRCEKQNNAFSTLFETLQSLFWSVFGLLNLYVTNVKARHEFTEFVGATMFGTYNVISLVVLLNMLIAMMNNSYQLIADHADIEWKFARTKLWMSYFDEGGTLPPPFNIIPSP
+>DASH_6AYF_A||19||546
+HEEENRCNFNQQTSPSEELLLEDQMRRKLKFFFMNPCEKFWARGRKPWKLAIQILKIAMVTIQLVLFGLSNQMVVAFKEENTIAFKHLFLKGYMDRMDDTYAVYTQSDVYDQLIFAVNQYLQLYNVSVGNHAYENKGTKQSAMAICQHFYKRGNIYPGNDTFDIDPEIETECFFVEPDEPFHIGTPAENKLNLTLDFHRLLTVELQFKLKAINLQTVRHQELPDCYDFTLTITFDNKAHSGRIKISLDNDISIRECKDWHVSGSIQKNTHYMMIFDAFVILTCLVSLILCIRSVIRGLQLQQEFVNFFLLHYKKEVSVSDQMEFVNGWYIMIIISDILTIIGSILKMEIQAKSLTSYDVCSILLGTSTMLVWLGVIRYLGFFAKYNLLILTLQAALPNVIRFCCCAAMIYLGYCFCGWIVLGPYHDKFRSLNMVSECLFSLINGDDMFATFAKMQQKSYLVWLFSRIYLYSFISLFIYMILSLFIALITDTYETIKQYQQDGFPETELRTFISECKDLPNSGKYRLED
+>DASH_6BBJ_A||424||746
+GEEVSVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSNCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPV
+>DASH_6BBJ_A||428||750
+SVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSNCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPVCMRK
+>DASH_6BCO_A||735||1081
+PPGTVEPSAKVALERRQRRRPGRALCCGKFSKRWSDFWGAPVTAFLGNVVSYLLFLLLFAHVLLVDFQPTKPSVSELLLYFWAFTLLCEELRQGLGGGWGSLASGGRGPDRAPLRHRLHLYLSDTWNQCDLLALTCFLLGVGCRLTPGLFDLGRTVLCLDFMIFTLRLLHIFTVNKQLGPKIVIVSKMMKDVFFFLFFLCVWLVAYGVATEGILRPQDRSLPSILRRVFYRPYLQIFGQIPQEEMDVALMIPGNCSMERGSWAHPEGPVAGSCVSQYANWLVVLLLIVFLLVANILLLNLLIAMFSYTFSKVHGNSDLYWKAQRYSLIREFHSRPALAPPLIIISHV
+>DASH_6BO5_A||314||642
+NSVLEIIAFHCKSPNRHRMVVLEPLNKLLQEKWDRLVSRFFFNFACYLVYMFIFTVVAYHQPSLDQPAIPSSKATFGESMLLLGHILILLGGIYLLLGQLWYFWRRRLFIWISFMDSYFEILFLLQALLTVLSQVLRFMETEWYLPLLVLSLVLGWLNLLYYTRGFQHTGIYSVMIQKVILRDLLRFLLVYLVFLFGFAVALVSLSREARSPKAPEDNNSTVTEQPTVGQEEEPAPYRSILDASLELFKFTIGMGELAFQEQLRFRGVVLLLLLAYVLLTYVLLLNMLIALMSETVNHVADNSWSIWKLQKAISVLEMENGYWWCRRKK
+>DASH_6BO8_A||288||614
+DEQSLLELIITTKKREARQILDQTPVKELVSLKWKRYGRPYFCMLGAIYLLYIICFTMCCIYRPLKPRTNNRTSPRDNTLLQQKLLQEAYMTPKDDIRLVGELVTVIGAIIILLVEVPDIFRMGVTRFFGQTILGGPFHVLIITYAFMVLVTMVMRLISASGEVVPMSFALVLGWCNVMYFARGFQMLGPFTIMIQKMIFGDLMRFCWLMAVVILGFASAFYIIFQTEDPEELGHFYDYPMALFSTFELFLTIIDGPANYNVDLPFMYSITYAAFAIIATLLMLNLLIAMMGDTHWRVAHERDELWRAQIVATTVMLERKLPRCLWP
+>DASH_6BO8_A||384||609
+IRLVGELVTVIGAIIILLVEVPDIFRMGVTRFFGQTILGGPFHVLIITYAFMVLVTMVMRLISASGEVVPMSFALVLGWCNVMYFARGFQMLGPFTIMIQKMIFGDLMRFCWLMAVVILGFASAFYIIFQTEDPEELGHFYDYPMALFSTFELFLTIIDGPANYNVDLPFMYSITYAAFAIIATLLMLNLLIAMMGDTHWRVAHERDELWRAQIVATTVMLERKLP
+>DASH_6BPQ_A||570||883
+IILCLFFFPLIGCGFISFRKKPVEKTKKLFLYYVSFFTSPFVVFSWNVIFYIAFLLLFAYVLLMDFQKEPTALEIILYVLVFILLCDEVRQWYMNGSKYFSDLWNVMDTLAIFYFIAGIVFRLHSDESSWYSGRVIFCLDYIVFTLRLIHIFTVSRNLGPKIIMLQRMMIDVFFFLFLFAVWMVAFGVARQGILRKNEHRWEWIFRSVIYEPYLAMFGQYPDDIDGTTYNFDHCTFSGNESKPLCVELDANNQPRFPEWITIPLVCIYMLSTNILLVNLLVAMFGYTVGSVQENNDQVWKFQRFFLVQEYCSRL
+>DASH_6BQR_A||661||1011
+PVGTADPAEKTPLGVPRQSGRPGCCGGRCGGRRCLRRWFHFWGAPVTIFMGNVVSYLLFLLLFSRVLLVDFQPAPPGSLELLLYFWAFTLLCEELRQGLSGGGGSLASGGPGPGHASLSQRLRLYLADSWNQCDLVALTCFLLGVGCRLTPGLYHLGRTVLCIDFMVFTVRLLHIFTVNKQLGPKIVIVSKMMKDVFFFLFFLGVWLVAYGVATEGLLRPRDSDFPSILRRVFYRPYLQIFGQIPQEDMDVALMEHSNCSSEPGFWAHPPGAQAGTCVSQYANWLVVLLLVIFLLVANILLVNLLIAMFSYTFGKVQGNSDLYWKAQRYRLIREFHSRPALAPPFIVISHL
+>DASH_6BQV_A||739||1089
+PVGTADPAEKTPLGVPRQSGRPGCCGGRCGGRRCLRRWFHFWGAPVTIFMGNVVSYLLFLLLFSRVLLVDFQPAPPGSLELLLYFWAFTLLCEELRQGLSGGGGSLASGGPGPGHASLSQRLRLYLADSWNQCDLVALTCFLLGVGCRLTPGLYHLGRTVLCIDFMVFTVRLLHIFTVNKQLGPKIVIVSKMMKDVFFFLFFLGVWLVAYGVATEGLLRPRDSDFPSILRRVFYRPYLQIFGQIPQEDMDVALMEHSNCSSEPGFWAHPPGAQAGTCVSQYANWLVVLLLVIFLLVANILLVNLLIAMFSYTFGKVQGNSDLYWKAQRYRLIREFHSRPALAPPFIVISHL
+>DASH_6BWD_A||470||712
+FKEVKILDSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCA
+>DASH_6BWD_A||476||787
+LDSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPL
+>DASH_6BWD_A||477||790
+DSSDGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIIL
+>DASH_6BWD_A||480||793
+DGKNEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIILSHI
+>DASH_6BWD_A||483||904
+NEMEIHIKSKKLPITRKFYAFYHAPIVKFWFNTLAYLGFLMLYTFVVLVKMEQLPSVQEWIVIAYIFTYAIEKVREVFMSEAGKISQKIKVWFSDYFNVSDTIAIISFFVGFGLRFGAKWNYINAYDNHVFVAGRLIYCLNIIFWYVRLLDFLAVNQQAGPYVMMIGKMVANMFYIVVIMALVLLSFGVPRKAILYPHEEPSWSLAKDIVFHPYWMIFGEVYAYEIDVCANDSTLPTICGPGTWLTPFLQAVYLFVQYIIMVNLLIAFFNNVYLQVKAISNIVWKYQRYHFIMAYHEKPVLPPPLIILSHIVSLFCCVCKRRKKDKTSDGPKLFLTEEDQKKLHDFEEQCVEMYFDEKDDKFNSGSEERIRVTFERVEQMSIQIKEVGDRVNYIKRSLQSLDSQIGHLQDLSALTVDTLKTL
+>DASH_6BWI_A||536||886
+PVGTADPAEKTPLGVPRQSGRPGCCGGRCGGRRCLRRWFHFWGAPVTIFMGNVVSYLLFLLLFSRVLLVDFQPAPPGSLELLLYFWAFTLLCEELRQGLSGGGGSLASGGPGPGHASLSQRLRLYLADSWNQCDLVALTCFLLGVGCRLTPGLYHLGRTVLCIDFMVFTVRLLHIFTVNKQLGPKIVIVSKMMKDVFFFLFFLGVWLVAYGVATEGLLRPRDSDFPSILRRVFYRPYLQIFGQIPQEDMDVALMEHSNCSSEPGFWAHPPGAQAGTCVSQYANWLVVLLLVIFLLVANILLVNLLIAMFSYTFGKVQGNSDLYWKAQRYRLIREFHSRPALAPPFIVISHL
+>DASH_6BWJ_A||351||680
+NSVLEIIAFHSRSPHRHRMVVLEPLNKLLQAKWDRLIPRFCFNFLCYLVYMLIFTAVAYHQPALEKQGFPPLKATAGNSMLLLGHILILLGGVYLLLGQLWYFWRRRLFIWISFMDSYSEILFLLQALLTVLSQVLCFLAIEWYLPLLVSSLVMGWTNLLYYTRGFQHTGIYSVMIEKVILRDLLRFLLVYLVFLFGFAVALVSLSREAQNSRTPAGPNATEVGQPGAGQEDEAPPYRSILDASLELFKFTIGMGELAFQEQLRFRGVVLLLLLAYVLLTYVLLLNMLIALMSETVNSVATDSWSIWKLQKAISVLEMENGYWWCRRKKQ
+>DASH_6C8G_A||293||615
+GEEVSVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSQCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPV
+>DASH_6C8G_A||294||617
+EEVSVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSQCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPVCM
+>DASH_6C8G_A||295||619
+EVSVLEILVYNSKVENRHEMLAVEPINELLRDKWQKFGAVSFYISVVSYLIAMIIFTLIAYYRPMDGTPPYPYRTTMDYMRLAGEIVTLLTGVVFFITNIKDLFMKKCPGVNSLFIDGSFQLLYFIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSQCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPVCMRK
+>DASH_6C8G_A||419||661
+FIYSVLVIITAVLYLVGIESYLAVMVFALVLGWMNALYFTRGLKLTGTYSIMLQKILFKDLFRFLLVYLLFMIGYASALVSLLNPCTSQESCIETSSQCTVPEYPSCRDSSTFSKFLLDLFKLTIGMGDLEMINSAKYPAVFIILLVTYIILTFVLLLNMLIALMGETVGQVSKESKQIWKLQWATTILDIERSFPVCMRKAFRSGEMVTVGKNLDGTPDRRWCFRVDEVNWSHWNQNLGIIN
+>DASH_6CO7_A||808||1043
+EIREDDSMEVIMRNKKLGFCDRIMHFYSAPFSKFVGNVVGYLAFIFLYAYVVLFNFPRFDPAKTLGGIHPTEIVLYFWVFTILIEEIRQLAAKPPKYIKDKVSVYFSDTWNFVDIFSLTVFIIAIILRFFTNSRIFTASRIILSLDIIFFIVRSLQIFSVNRLLGPKLVMIQKMMQDLAQFIIILAVFTIAYGIALHAVMFPSPGIYARNNTWVTITSVVQYPYWQMYGELFLDEI
+>DASH_6CO7_A||810||1124
+REDDSMEVIMRNKKLGFCDRIMHFYSAPFSKFVGNVVGYLAFIFLYAYVVLFNFPRFDPAKTLGGIHPTEIVLYFWVFTILIEEIRQLAAKPPKYIKDKVSVYFSDTWNFVDIFSLTVFIIAIILRFFTNSRIFTASRIILSLDIIFFIVRSLQIFSVNRLLGPKLVMIQKMMQDLAQFIIILAVFTIAYGIALHAVMFPSPGIYARNNTWVTITSVVQYPYWQMYGELFLDEIQGEKPKEFGEVDPDGRWLSPLLLAIYMVFTNILLLNLLIAIFNYTFERVQEDSDKVWKFQRYDLVQEYHSRPVFAPPLVLL
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/disttbfast b/make_prg/utils/mafft-linux64/mafftdir/libexec/disttbfast
new file mode 100755
index 0000000..4d950cf
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/disttbfast differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/dndblast b/make_prg/utils/mafft-linux64/mafftdir/libexec/dndblast
new file mode 100755
index 0000000..b4b112d
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/dndblast differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/dndfast7 b/make_prg/utils/mafft-linux64/mafftdir/libexec/dndfast7
new file mode 100755
index 0000000..0ee5169
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/dndfast7 differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/dndpre b/make_prg/utils/mafft-linux64/mafftdir/libexec/dndpre
new file mode 100755
index 0000000..4b27abe
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/dndpre differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/dvtditr b/make_prg/utils/mafft-linux64/mafftdir/libexec/dvtditr
new file mode 100755
index 0000000..115b2ec
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/dvtditr differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/f2cl b/make_prg/utils/mafft-linux64/mafftdir/libexec/f2cl
new file mode 100755
index 0000000..d740559
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/f2cl differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/filter b/make_prg/utils/mafft-linux64/mafftdir/libexec/filter
new file mode 100755
index 0000000..f0ad2ea
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/filter differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/getlag b/make_prg/utils/mafft-linux64/mafftdir/libexec/getlag
new file mode 100755
index 0000000..7c4ea91
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/getlag differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/hat3 b/make_prg/utils/mafft-linux64/mafftdir/libexec/hat3
new file mode 100644
index 0000000..e69de29
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/hex2maffttext b/make_prg/utils/mafft-linux64/mafftdir/libexec/hex2maffttext
new file mode 100755
index 0000000..a09f48b
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/hex2maffttext differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/mafft-distance b/make_prg/utils/mafft-linux64/mafftdir/libexec/mafft-distance
new file mode 100755
index 0000000..be7f77a
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/mafft-distance differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/mafft-homologs.1 b/make_prg/utils/mafft-linux64/mafftdir/libexec/mafft-homologs.1
new file mode 100755
index 0000000..a9c9682
--- /dev/null
+++ b/make_prg/utils/mafft-linux64/mafftdir/libexec/mafft-homologs.1
@@ -0,0 +1,131 @@
+.\"     Title: MAFFT-HOMOLOGS
+.\"    Author: Kazutaka Katoh <katoh_at_bioreg.kyushu-u.ac.jp.>
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 2007-08-14
+.\"    Manual: Mafft Manual
+.\"    Source: mafft-homologs 2.1
+.\"
+.TH "MAFFT\-HOMOLOGS" "1" "2007\-06\-09" "mafft\-homologs 2.1" "Mafft Manual"
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.SH "NAME"
+.RS 0
+mafft\-homologs \- aligns sequences together with homologues automatically collected from SwissProt via NCBI BLAST
+.RE
+.SH "SYNOPSIS"
+.RS 0
+\fBmafft\-homologs\fR [\fBoptions\fR] \fIinput\fR [>\ \fIoutput\fR]
+.RE
+.SH "DESCRIPTION"
+.RS 0
+The accuracy of an alignment of a few distantly related sequences is considerably improved when being aligned together with their close homologs. The reason for the improvement is probably the same as that for PSI\-BLAST. That is, the positions of highly conserved residues, those with many gaps and other additional information is brought by close homologs. According to Katoh et al. (2005), the improvement by adding close homologs is 10% or so, which is comparable to the improvement by incorporating structural information of a pair of sequences. Mafft\-homologs in a mafft server works like this:
+.sp
+.RS 4
+\h'-04' 1.\h'+02'Collect a number (50 by default) of close homologs (E=1e\-10 by default) of the input sequences.
+.RE
+.sp
+.RS 4
+\h'-04' 2.\h'+02'Align the input sequences and homologs all together using the L\-INS\-i strategy.
+.RE
+.sp
+.RS 4
+\h'-04' 3.\h'+02'Remove the homologs.
+.RE
+.RE
+.SH "OPTIONS"
+.RS 0
+.PP
+\fB\-a\fR \fI\fIn\fR\fR
+.RS 4
+The number of collected sequences (default: 50).
+.RE
+.PP
+\fB\-e\fR \fI\fIn\fR\fR
+.RS 4
+Threshold value (default: 1e\-10).
+.RE
+.PP
+\fB\-o\fR \fI\fIxxx\fR\fR
+.RS 4
+Options for mafft (default: " \-\-op 1.53 \-\-ep 0.123 \-\-maxiterate 1000 --localpair --reorder").
+.RE
+.PP
+\fB\-l\fR
+.RS 4
+Locally carries out BLAST searches instead of NCBI BLAST (requires locally installed BLAST and a database).
+.RE
+.PP
+\fB\-f\fR
+.RS 4
+Outputs collected homologues also (default: off).
+.RE
+.PP
+\fB\-w\fR
+.RS 4
+entire sequences are subjected to BLAST search (default: well\-aligned region only)
+.RE
+.RE
+.SH "REQUIREMENTS"
+.RS 0
+.PP
+MAFFT version > 5.58.
+.PP
+Either of
+.RS 4
+.PP
+lynx (when remote BLAST server is used)
+.PP
+BLAST and a protein sequence database (when local BLAST is used)
+.RE
+.RE
+.SH "REFERENCES"
+.RS 0
+.PP
+Katoh, Kuma, Toh and Miyata (Nucleic Acids Res. 33:511\-518, 2005) MAFFT version 5: improvement in accuracy of multiple sequence alignment.
+.RE
+.SH "SEE ALSO"
+.RS 0
+.PP
+\fBmafft\fR(1)
+.RE
+.SH "AUTHORS"
+.RS 0
+.PP
+\fBKazutaka Katoh\fR <\&katoh_at_bioreg.kyushu\-u.ac.jp.\&>
+.sp -1n
+.IP "" 4
+Wrote Mafft.
+.PP
+\fBCharles Plessy\fR <\&charles\-debian\-nospam@plessy.org\&>
+.sp -1n
+.IP "" 4
+Wrote this manpage in DocBook XML for the Debian distribution, using Mafft's homepage as a template.
+.RE
+.SH "COPYRIGHT"
+.RS 0
+Copyright \(co 2002\-2007 Kazutaka Katoh (mafft)
+.br
+Copyright \(co 2007 Charles Plessy (this manpage)
+.br
+.PP
+Mafft and its manpage are offered under the following conditions:
+.PP
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+.sp
+.RS 4
+\h'-04' 1.\h'+02'Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.RE
+.sp
+.RS 4
+\h'-04' 2.\h'+02'Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.RE
+.sp
+.RS 4
+\h'-04' 3.\h'+02'The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.
+.RE
+.PP
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.br
+.RE
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/mafft-profile b/make_prg/utils/mafft-linux64/mafftdir/libexec/mafft-profile
new file mode 100755
index 0000000..7393655
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/mafft-profile differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/mafft.1 b/make_prg/utils/mafft-linux64/mafftdir/libexec/mafft.1
new file mode 100755
index 0000000..b5344c5
--- /dev/null
+++ b/make_prg/utils/mafft-linux64/mafftdir/libexec/mafft.1
@@ -0,0 +1,479 @@
+.\"     Title: MAFFT
+.\"    Author: Kazutaka Katoh <kazutaka.katoh@aist.go.jp>
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 2007-08-14
+.\"    Manual: Mafft Manual
+.\"    Source: mafft 6.240
+.\"
+.TH "MAFFT" "1" "2007\-06\-09" "mafft 6.240" "Mafft Manual"
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.SH "THIS MANUAL IS FOR V6.2XX (2007)"
+Recent versions (v7.1xx; 2013 Jan.) have more features than those described below.
+See also the tips page at 
+http://mafft.cbrc.jp/alignment/software/tips0.html
+.SH "NAME"
+.RS 0
+.sp
+mafft \- Multiple alignment program for amino acid or nucleotide sequences
+.RE
+.SH "SYNOPSIS"
+.RS 0
+.HP 6
+\fBmafft\fR [\fBoptions\fR] \fIinput\fR [>\ \fIoutput\fR]
+.HP 6
+\fBlinsi\fR \fIinput\fR [>\ \fIoutput\fR]
+.HP 6
+\fBginsi\fR \fIinput\fR [>\ \fIoutput\fR]
+.HP 6
+\fBeinsi\fR \fIinput\fR [>\ \fIoutput\fR]
+.HP 7
+\fBfftnsi\fR \fIinput\fR [>\ \fIoutput\fR]
+.HP 6
+\fBfftns\fR \fIinput\fR [>\ \fIoutput\fR]
+.HP 5
+\fBnwns\fR \fIinput\fR [>\ \fIoutput\fR]
+.HP 6
+\fBnwnsi\fR \fIinput\fR [>\ \fIoutput\fR]
+.HP 14
+\fBmafft\-profile\fR \fIgroup1\fR \fIgroup2\fR [>\ \fIoutput\fR]
+.HP
+.sp
+\fIinput\fR, \fIgroup1\fR and \fIgroup2\fR must be in FASTA format.
+.RE
+.SH "DESCRIPTION"
+.RS 0
+\fBMAFFT\fR is a multiple sequence alignment program for unix\-like operating systems. It offers a range of multiple alignment methods.
+.SS "Accuracy\-oriented methods:"
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'L\-INS\-i (probably most accurate; recommended for <200 sequences; iterative refinement method incorporating local pairwise alignment information):
+.HP 6
+\fBmafft\fR \fB\-\-localpair\fR \fB\-\-maxiterate\fR\ \fI1000\fR \fIinput\fR [>\ \fIoutput\fR]
+.HP 6
+\fBlinsi\fR \fIinput\fR [>\ \fIoutput\fR]
+.RE
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'G\-INS\-i (suitable for sequences of similar lengths; recommended for <200 sequences; iterative refinement method incorporating global pairwise alignment information):
+.HP 6
+\fBmafft\fR \fB\-\-globalpair\fR \fB\-\-maxiterate\fR\ \fI1000\fR \fIinput\fR [>\ \fIoutput\fR]
+.HP 6
+\fBginsi\fR \fIinput\fR [>\ \fIoutput\fR]
+.RE
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'E\-INS\-i (suitable for sequences containing large unalignable regions; recommended for <200 sequences):
+.HP 6
+\fBmafft\fR \fB\-\-ep\fR\ \fI0\fR \fB\-\-genafpair\fR \fB\-\-maxiterate\fR\ \fI1000\fR \fIinput\fR [>\ \fIoutput\fR]
+.HP 6
+\fBeinsi\fR \fIinput\fR [>\ \fIoutput\fR]
+.br
+
+For E\-INS\-i, the
+\fB\-\-ep\fR
+\fI0\fR
+option is recommended to allow large gaps.
+.RE
+.SS "Speed\-oriented methods:"
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'FFT\-NS\-i (iterative refinement method; two cycles only):
+.HP 6
+\fBmafft\fR \fB\-\-retree\fR\ \fI2\fR \fB\-\-maxiterate\fR\ \fI2\fR \fIinput\fR [>\ \fIoutput\fR]
+.HP 7
+\fBfftnsi\fR \fIinput\fR [>\ \fIoutput\fR]
+.RE
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'FFT\-NS\-i (iterative refinement method; max. 1000 iterations):
+.HP 6
+\fBmafft\fR \fB\-\-retree\fR\ \fI2\fR \fB\-\-maxiterate\fR\ \fI1000\fR \fIinput\fR [>\ \fIoutput\fR]
+.RE
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'FFT\-NS\-2 (fast; progressive method):
+.HP 6
+\fBmafft\fR \fB\-\-retree\fR\ \fI2\fR \fB\-\-maxiterate\fR\ \fI0\fR \fIinput\fR [>\ \fIoutput\fR]
+.HP 6
+\fBfftns\fR \fIinput\fR [>\ \fIoutput\fR]
+.RE
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'FFT\-NS\-1 (very fast; recommended for >2000 sequences; progressive method with a rough guide tree):
+.HP 6
+\fBmafft\fR \fB\-\-retree\fR\ \fI1\fR \fB\-\-maxiterate\fR\ \fI0\fR \fIinput\fR [>\ \fIoutput\fR]
+.RE
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'NW\-NS\-i (iterative refinement method without FFT approximation; two cycles only):
+.HP 6
+\fBmafft\fR \fB\-\-retree\fR\ \fI2\fR \fB\-\-maxiterate\fR\ \fI2\fR \fB\-\-nofft\fR\ \fIinput\fR [>\ \fIoutput\fR]
+.HP 7
+\fBnwnsi\fR \fIinput\fR [>\ \fIoutput\fR]
+.RE
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'NW\-NS\-2 (fast; progressive method without the FFT approximation):
+.HP 6
+\fBmafft\fR \fB\-\-retree\fR\ \fI2\fR \fB\-\-maxiterate\fR\ \fI0\fR \fB\-\-nofft\fR\ \fIinput\fR [>\ \fIoutput\fR]
+.HP 6
+\fBnwns\fR \fIinput\fR [>\ \fIoutput\fR]
+.RE
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'NW\-NS\-PartTree\-1 (recommended for ~10,000 to ~50,000 sequences; progressive method with the PartTree algorithm):
+.HP 6
+\fBmafft\fR \fB\-\-retree\fR\ \fI1\fR \fB\-\-maxiterate\fR\ \fI0\fR \fB\-\-nofft\fR\ \fB\-\-parttree\fR \fIinput\fR [>\ \fIoutput\fR]
+.RE
+.SS "Group\-to\-group alignments"
+.HP 6
+.RS 4
+\fBmafft\-profile\fR \fIgroup1\fR \fIgroup2\fR [>\ \fIoutput\fR]
+.sp
+or:
+.sp
+\fBmafft\fR \fB\-\-maxiterate\fR\ \fI1000\fR \fB\-\-seed\fR\ \fIgroup1\fR \fB\-\-seed\fR\ \fIgroup2\fR /dev/null [>\ \fIoutput\fR]
+.RE
+.RE
+.RE
+.SH "OPTIONS"
+.SS "Algorithm"
+.RS 0
+.PP
+\fB\-\-auto\fR
+.RS 4
+Automatically selects an appropriate strategy from L\-INS\-i, FFT\-NS\-i and FFT\-NS\-2, according to data 
+size.  Default: off (always FFT\-NS\-2)
+.RE
+.PP
+\fB\-\-6merpair\fR
+.RS 4
+Distance is calculated based on the number of shared 6mers.  Default: on
+.RE
+.PP
+\fB\-\-globalpair\fR
+.RS 4
+All pairwise alignments are computed with the Needleman\-Wunsch
+algorithm.  More accurate but slower 
+than \-\-6merpair.  Suitable for a set of
+globally alignable sequences.  Applicable to 
+up to ~200 sequences.  A combination with \-\-maxiterate 1000 is recommended (G\-INS\-i).  Default: off (6mer distance is used)
+.RE
+.PP
+\fB\-\-localpair\fR
+.RS 4
+All pairwise alignments are computed with the Smith\-Waterman
+algorithm.  More accurate but slower
+than \-\-6merpair.  Suitable for a set of 
+locally alignable sequences.  Applicable to 
+up to ~200 sequences.  A combination with \-\-maxiterate 1000 is recommended (L\-INS\-i).  Default: off (6mer distance is used)
+.RE
+.PP
+\fB\-\-genafpair\fR
+.RS 4
+All pairwise alignments are computed with a local
+algorithm with the generalized affine gap cost
+(Altschul 1998).  More accurate but slower
+than \-\-6merpair.  Suitable when large internal gaps
+are expected.  Applicable to 
+up to ~200 sequences.  A combination with \-\-maxiterate 1000 is recommended (E\-INS\-i).  Default: off (6mer distance is used)
+.RE
+.\".PP
+.\"\fB\-\-fastswpair\fR
+.\".RS 4
+.\"Distance is calculated based on a FASTA alignment. 
+.\"FASTA is required.  Default: off (6mer distance is used)
+.\".RE
+.PP
+\fB\-\-fastapair\fR
+.RS 4
+All pairwise alignments are computed with FASTA (Pearson and Lipman 1988).
+FASTA is required.  Default: off (6mer distance is used)
+.RE
+.\".PP
+.\"\fB\-\-blastpair\fR
+.\".RS 4
+.\"Distance is calculated based on a BLAST alignment.  BLAST is 
+.\"required.  Default: off (6mer distance is used)
+.\".RE
+.PP
+\fB\-\-weighti\fR \fInumber\fR
+.RS 4
+Weighting factor for the consistency term calculated from pairwise alignments.  Valid when 
+either of \-\-globalpair, \-\-localpair,  \-\-genafpair, \-\-fastapair or 
+\-\-blastpair is selected.  Default: 2.7
+.RE
+.PP
+\fB\-\-retree\fR \fInumber\fR
+.RS 4
+Guide tree is built \fInumber\fR times in the 
+progressive stage.  Valid with 6mer distance.  Default: 2
+.RE
+.PP
+\fB\-\-maxiterate\fR \fInumber\fR
+.RS 4
+\fInumber\fR cycles of iterative refinement are performed.  Default: 0
+.RE
+.PP
+\fB\-\-fft\fR
+.RS 4
+Use FFT approximation in group\-to\-group alignment.  Default: on
+.RE
+.PP
+\fB\-\-nofft\fR
+.RS 4
+Do not use FFT approximation in group\-to\-group alignment.  Default: off
+.RE
+.PP
+\fB\-\-noscore\fR
+.RS 4
+Alignment score is not checked in the iterative refinement stage.  Default: off (score is checked)
+.RE
+.PP
+\fB\-\-memsave\fR
+.RS 4
+Use the Myers\-Miller (1988) algorithm.  Default: automatically turned on when the alignment length exceeds 10,000 (aa/nt).
+.RE
+.PP
+\fB\-\-parttree\fR
+.RS 4
+Use a fast tree\-building method (PartTree, Katoh and Toh 2007) with
+the 6mer distance.  Recommended for a large number (> ~10,000) 
+of sequences are input.  Default: off
+.RE
+.PP
+\fB\-\-dpparttree\fR
+.RS 4
+The PartTree algorithm is used with distances based on DP.  Slightly
+more accurate and slower than \-\-parttree.  Recommended for a large
+number (> ~10,000) of sequences are input.   Default: off
+.RE
+.PP
+\fB\-\-fastaparttree\fR
+.RS 4
+The PartTree algorithm is used with distances based on FASTA.  Slightly more accurate and slower than \-\-parttree.  Recommended for a large number (> ~10,000) of sequences are input.  FASTA is required.  Default: off
+.RE
+.PP
+\fB\-\-partsize\fR \fInumber\fR
+.RS 4
+The number of partitions in the PartTree algorithm.  Default: 50
+.RE
+.PP
+\fB\-\-groupsize\fR \fInumber\fR
+.RS 4
+Do not make alignment larger than \fInumber\fR sequences. Valid only with the \-\-*parttree options.  Default: the number of input sequences
+.RE
+.RE
+.SS "Parameter"
+.RS 0
+.PP
+\fB\-\-op\fR \fInumber\fR
+.RS 4
+Gap opening penalty at group\-to\-group alignment.  Default: 1.53
+.RE
+.PP
+\fB\-\-ep\fR \fInumber\fR
+.RS 4
+Offset value, which works like gap extension penalty, for
+group\-to\-group alignment.  Default: 0.123
+.RE
+.PP
+\fB\-\-lop\fR \fInumber\fR
+.RS 4
+Gap opening penalty at local pairwise 
+alignment.  Valid when
+the \-\-localpair or \-\-genafpair option is selected.  Default: \-2.00
+.RE
+.PP
+\fB\-\-lep\fR \fInumber\fR
+.RS 4
+Offset value at local pairwise alignment.  Valid when
+the \-\-localpair or \-\-genafpair option is selected.  Default: 0.1
+.RE
+.PP
+\fB\-\-lexp\fR \fInumber\fR
+.RS 4
+Gap extension penalty at local pairwise alignment.  Valid when
+the \-\-localpair or \-\-genafpair option is selected.  Default: \-0.1
+.RE
+.PP
+\fB\-\-LOP\fR \fInumber\fR
+.RS 4
+Gap opening penalty to skip the alignment.  Valid when the
+\-\-genafpair option is selected.   Default: \-6.00
+.RE
+.PP
+\fB\-\-LEXP\fR \fInumber\fR
+.RS 4
+Gap extension penalty to skip the alignment.  Valid when the
+\-\-genafpair option is selected.   Default: 0.00
+.RE
+.PP
+\fB\-\-bl\fR \fInumber\fR
+.RS 4
+BLOSUM \fInumber\fR matrix (Henikoff and Henikoff 1992) is used.  \fInumber\fR=30, 45, 62 or 80.  Default: 62
+.RE
+.PP
+\fB\-\-jtt\fR \fInumber\fR
+.RS 4
+JTT PAM \fInumber\fR (Jones et al. 1992) matrix is used.  \fInumber\fR>0.  Default: BLOSUM62
+.RE
+.PP
+\fB\-\-tm\fR \fInumber\fR
+.RS 4
+Transmembrane PAM \fInumber\fR (Jones et al. 1994) matrix is used.  \fInumber\fR>0.  Default: BLOSUM62
+.RE
+.PP
+\fB\-\-aamatrix\fR \fImatrixfile\fR
+.RS 4
+Use a user\-defined AA scoring matrix.  The format of \fImatrixfile\fR is
+the same to that of BLAST.  Ignored when nucleotide sequences are input.   Default: BLOSUM62
+.RE
+.PP
+\fB\-\-fmodel\fR
+.RS 4
+Incorporate the AA/nuc composition information into
+the scoring matrix.  Default: off
+.RE
+.RE
+.SS "Output"
+.RS 0
+.PP
+\fB\-\-clustalout\fR
+.RS 4
+Output format: clustal format.  Default: off (fasta format)
+.RE
+.PP
+\fB\-\-inputorder\fR
+.RS 4
+Output order: same as input.  Default: on
+.RE
+.PP
+\fB\-\-reorder\fR
+.RS 4
+Output order: aligned.  Default: off (inputorder)
+.RE
+.PP
+\fB\-\-treeout\fR
+.RS 4
+Guide tree is output to the \fIinput\fR.tree file.  Default: off
+.RE
+.PP
+\fB\-\-quiet\fR
+.RS 4
+Do not report progress.  Default: off
+.RE
+.RE
+.SS "Input"
+.RS 0
+.PP
+\fB\-\-nuc\fR
+.RS 4
+Assume the sequences are nucleotide.  Default: auto
+.RE
+.PP
+\fB\-\-amino\fR
+.RS 4
+Assume the sequences are amino acid.  Default: auto
+.RE
+.PP
+\fB\-\-seed\fR \fIalignment1\fR [\fB--seed\fR \fIalignment2\fR \fB--seed\fR \fIalignment3\fR ...]
+.RS 4
+Seed alignments given in \fIalignment_n\fR (fasta format) are aligned with 
+sequences in \fIinput\fR.  The alignment within every seed is preserved.
+.RE
+.RE
+.SH "FILES"
+.RS 0
+.PP
+Mafft stores the input sequences and other files in a temporary directory, which by default is located in
+\fI/tmp\fR.
+.RE
+.SH "ENVIONMENT"
+.RS 0
+.PP
+\fBMAFFT_BINARIES\fR
+.RS 4
+Indicates the location of the binary files used by mafft. By default, they are searched in
+\fI/usr/local/lib/mafft\fR, but on Debian systems, they are searched in
+\fI/usr/lib/mafft\fR.
+.RE
+.PP
+\fBFASTA_4_MAFFT\fR
+.RS 4
+This variable can be set to indicate to mafft the location to the fasta34 program if it is not in the PATH.
+.RE
+.RE
+.SH "SEE ALSO"
+.RS 0
+.PP
+
+\fBmafft\-homologs\fR(1)
+.RE
+.SH "REFERENCES"
+.RS 0
+.SS "In English"
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'Katoh and Toh (Bioinformatics 23:372\-374, 2007) PartTree: an algorithm to build an approximate tree from a large number of unaligned sequences (describes the PartTree algorithm).
+.RE
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'Katoh, Kuma, Toh and Miyata (Nucleic Acids Res. 33:511\-518, 2005) MAFFT version 5: improvement in accuracy of multiple sequence alignment (describes [ancestral versions of] the G\-INS\-i, L\-INS\-i and E\-INS\-i strategies)
+.RE
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'Katoh, Misawa, Kuma and Miyata (Nucleic Acids Res. 30:3059\-3066, 2002) MAFFT: a novel method for rapid multiple sequence alignment based on fast Fourier transform (describes the FFT\-NS\-1, FFT\-NS\-2 and FFT\-NS\-i strategies)
+.RE
+.SS "In Japanese"
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'Katoh and Misawa (Seibutsubutsuri 46:312\-317, 2006) Multiple Sequence Alignments: the Next Generation
+.RE
+.sp
+.RS 4
+\h'-04'\(bu\h'+03'Katoh and Kuma (Kagaku to Seibutsu 44:102\-108, 2006) Jissen\-teki Multiple Alignment
+.RE
+.RE
+.SH "AUTHORS"
+.RS 0
+.PP
+\fBKazutaka Katoh\fR <\&kazutaka.katoh_at_aist.go.jp\&>
+.sp -1n
+.IP "" 4
+Wrote Mafft.
+.PP
+\fBCharles Plessy\fR <\&charles\-debian\-nospam_at_plessy.org\&>
+.sp -1n
+.IP "" 4
+Wrote this manpage in DocBook XML for the Debian distribution, using Mafft's homepage as a template.
+.RE
+.SH "COPYRIGHT"
+.RS 0
+Copyright \(co 2002\-2007 Kazutaka Katoh (mafft)
+.br
+Copyright \(co 2007 Charles Plessy (this manpage)
+.br
+.PP
+Mafft and its manpage are offered under the following conditions:
+.PP
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+.sp
+.RS 4
+\h'-04' 1.\h'+02'Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.RE
+.sp
+.RS 4
+\h'-04' 2.\h'+02'Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.RE
+.sp
+.RS 4
+\h'-04' 3.\h'+02'The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.
+.RE
+.PP
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.br
+.RE
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/mafftash_premafft.pl b/make_prg/utils/mafft-linux64/mafftdir/libexec/mafftash_premafft.pl
new file mode 100755
index 0000000..6dc3b9c
--- /dev/null
+++ b/make_prg/utils/mafft-linux64/mafftdir/libexec/mafftash_premafft.pl
@@ -0,0 +1,464 @@
+#!/usr/bin/perl
+
+#####################################################################
+# Author:  KM Amada (kmamada@ifrec.osaka-u.ac.jp)
+#
+# Ver. Date      Changelog
+#####################################################################
+# 1.0  07.26.13  Initial release
+# 2.0  09.03.13  Added extensive warnings and error messages
+# 3.0  10.28.13  Fix for retrieving large files. Added STDERR logs
+# 3.1  11.08.13  Added LWP failsafe. Made hat3 not a required output
+# 3.2  12.08.14  Removed 5-char restriction for own structure files
+#
+#####################################################################
+
+use strict;
+use Getopt::Long;
+use File::Path qw(make_path remove_tree);
+use LWP::Simple;
+use LWP::UserAgent;
+
+# to prevent error 'Header line too long (limit is 8192)' [v3.1]
+use LWP::Protocol::http;
+push(@LWP::Protocol::http::EXTRA_SOCK_OPTS, MaxLineLength => 0);
+
+
+
+my $BASEURL = "http://sysimm.ifrec.osaka-u.ac.jp/MAFFTash/REST/service.cgi/premafft";
+
+my ( $WORKDIR, $PDBLIST, $OWNLIST, $HAT3FILE, $INSTRFILE );
+
+GetOptions
+(
+    'd=s' => \$WORKDIR,
+    'p=s' => \$PDBLIST,
+    'o=s' => \$OWNLIST,
+    'h=s' => \$HAT3FILE,
+    'i=s' => \$INSTRFILE,
+);
+
+print STDERR "[MAFFTash-premafft]\n";
+
+# set temp directory
+my $TMP = "/tmp/mapremafft$$";
+make_path($TMP) unless -d $TMP;
+
+
+
+######
+# validation
+&help("Required parameter : atleast one of either '-p' or '-o'") unless ( defined $PDBLIST || defined $OWNLIST);
+&help("Required parameter : '-d'") if defined $OWNLIST && ! defined $WORKDIR;
+
+$HAT3FILE = "hat3" unless defined $HAT3FILE;
+$INSTRFILE = "instr" unless defined $INSTRFILE;
+chop $WORKDIR if defined $WORKDIR && $WORKDIR =~ m/\/$/g;
+
+
+######
+# prepare inputs
+print STDERR "Preparing inputs for service request...\n";
+
+my @files = ();
+push(@files, "strweight" => "0.5");
+push(@files, "premafft" => "1");
+
+
+# pdb entries
+if ( defined $PDBLIST )
+{
+    print STDERR "PDB List defined!\n";
+    &bail("Error: Input file $PDBLIST does not exists!") unless -e $PDBLIST;
+    my $listfile = "$TMP/pdblist.inp";
+
+
+    open(INPF,"<$PDBLIST") or &bail("Error: Cannot open file $PDBLIST for reading!");
+    open(OUTF,">$listfile") or &bail("Error: Cannot open temporary file $listfile for writing!");
+
+    while(<INPF>)
+    {
+        chomp;
+        if ( /^(\w{5})$/ )
+        {
+            print OUTF ">PDBID\n$1\n";
+        }
+    }
+
+    close OUTF;
+    close INPF;
+
+    push(@files, "inputfile" => ["$listfile"]);
+}
+
+
+
+# upload own structures
+my %ownids = ();
+
+if ( defined $OWNLIST  )
+{
+    print STDERR "OWN List defined!\n";
+    &bail("Error: Input file $OWNLIST does not exists!") unless -e $OWNLIST;
+
+
+    open(OWNINPF,"<$OWNLIST") or &bail("Error: Cannot open file $OWNLIST for reading!");
+
+    while(<OWNINPF>)
+    {
+        chomp;
+
+        if ( /^(\S+)$/ )
+        {
+            my $fileref = "$WORKDIR/$1.pdb";
+
+            unless (-e $fileref)
+            {
+                close OWNINPF;
+                &bail("Error: File $fileref does not exists!");
+            }
+
+            push(@files, "inputownfile[]" => ["$fileref"]);
+            $ownids{$1} = 1;
+        }
+    }
+
+    close OWNINPF;
+}
+
+
+
+######
+# start rest service
+print STDERR "Sending service request...\n";
+
+my $browser = LWP::UserAgent->new;
+$browser->timeout(0);
+
+
+# post: running a mafftash job
+my $postResponse = $browser->post( $BASEURL, \@files, 'Content_Type' => 'form-data' );
+&bail(sprintf("[%d] %s\n", $postResponse->code, &parseError($postResponse->content))) unless($postResponse->is_success);
+
+
+# get response from post request
+my ($status, $mafftashid) = &parseResponse($postResponse->content);
+
+
+
+my $MAXTRIES = 3;
+my $STIMER = 4;
+my $longtimer = 0;
+
+print STDERR "Request sent! Waiting for response...[$mafftashid]\n";
+
+
+# wait for results until it becomes available
+while(1)
+{
+    $longtimer = $longtimer <= ($STIMER*3) ? $longtimer+$STIMER : $STIMER;
+    sleep $longtimer;
+
+
+    # get: get results for mafftash job
+    my $getResponse = $browser->get("$BASEURL/$mafftashid");
+
+    if ( $getResponse->is_success )
+    {
+
+        # get response from get request
+        ($status, $mafftashid) = &parseResponse($getResponse->content);
+        next unless ( $status eq "done" );
+
+
+        # if job is finished and ready
+        print STDERR "Results found!\n";
+        my $csfile = "$TMP/checksum.tar.gz";
+        my $try1 = 1;
+
+
+        while(1)
+        {
+            print STDERR "Fetching Results... [Trial $try1]\n";
+
+            if ( is_success(getstore("$BASEURL/getmdlist/$mafftashid", $csfile)) && -e $csfile && -s $csfile )
+            {
+                # get response from get request
+                my $checklist = &extractchecksum($csfile);
+                &bail("Error retrieving list of compressed files!") unless ( scalar %$checklist > 0 );
+
+
+                foreach my $id ( keys %$checklist )
+                {
+                    my $checkfile = "$TMP/$id";
+                    my $checkid = $checklist->{$id};
+                    my $try2 = 1;
+
+                    while(1)
+                    {
+                        unlink $checkfile if -e $checkfile;
+
+                        if ( is_success(getstore("$BASEURL/get/$mafftashid/$id", $checkfile)) && -e $checkfile && -s $checkfile )
+                        {
+                            my $hashid = &getchecksum($checkfile);
+                            #print STDERR "[hashid]$hashid [checkid]$checkid\n";
+
+                            if ($hashid ne "" && $hashid ne $checkid )
+                            {
+                                unlink $checkfile if -e $checkfile;
+                                &bail("Error retrieving compressed file from server! [Checksum Failed]") if $try2 >= $MAXTRIES;
+                                $try2++;
+                                sleep $STIMER;
+                            }
+                            else
+                            {
+                                last;
+                            }
+                        }
+                        else
+                        {
+                            &bail("Error retrieving compressed file from server!") if $try2 >= $MAXTRIES;
+                            $try2++;
+                            sleep $STIMER;
+                        }
+                    }
+                }
+
+                last;
+            }
+            else
+            {
+                &bail("Error retrieving list of compressed files from server!") if $try1 >= $MAXTRIES;
+                $try1++;
+                sleep $STIMER;
+            }
+        }
+
+        last;
+
+    }
+    else
+    {
+        &bail(sprintf("[%d] %s\n", $getResponse->code, &parseError($getResponse->content)));
+    }
+
+}
+
+
+# make sure outputs were generated
+# decompress
+print STDERR "Assembling final results...\n";
+
+&backticks("cat $TMP/archive.tar.gz* | tar -zxf - -C $TMP/");
+&backticks("mv -f $TMP/instr $INSTRFILE") if -e "$TMP/instr";
+&backticks("mv -f $TMP/hat3 $HAT3FILE") if -e "$TMP/hat3";
+
+# sometimes no hat3 file is generated [v3.1]
+#&bail("Error: Output file $HAT3FILE not found!") unless -e $HAT3FILE;
+&bail("Error: Output file $INSTRFILE not found!") unless -e $INSTRFILE;
+
+
+# warn if some ownids were ommitted
+if ( scalar keys(%ownids) > 0 )
+{
+    my %instrids = ();
+
+    open(INSTRF,"<$INSTRFILE") or &bail("Error: Cannot open file $INSTRFILE for reading!");
+
+    while(<INSTRF>)
+    {
+        chomp;
+
+        if ( /^>\d+_(\S+)$/ )
+        {
+            $instrids{$1} = 1;
+        }
+    }
+
+    close INSTRF;
+
+    foreach my $id ( keys %ownids )
+    {
+        warn "Warning: Own structure $id was excluded from instr/hat3.\n" unless $instrids{$id};
+    }
+
+}
+
+
+
+&cleanup();
+
+
+
+####################
+####################
+
+
+
+sub parseResponse
+{
+    my $response = shift;
+
+    #"status":"wait","mafftashid":"Ma8211432R"
+
+    my $status = "";
+    my $mafftashid = "";
+
+    if ( $response =~ /^([^\s:]+):([^\s:]+)$/ )
+    {
+        $mafftashid = $1;
+        $status = $2;
+    }
+
+    return ($status, $mafftashid);
+
+}
+
+
+sub extractchecksum
+{
+    my $infile = shift;
+    my %dataset = ();
+
+    open CSUM, "tar -zxf $infile -O|" or return \%dataset;
+
+    while(<CSUM>)
+    {
+        chomp;
+        if ( /^(\S+)\s+(\S+)$/ )
+        {
+            $dataset{$2} = $1;
+        }
+
+    }
+
+    close CSUM;
+
+    return \%dataset;
+
+}
+
+
+sub parseError
+{
+    my $response = shift;
+
+    #"error":"Invalid number of inputs found."
+    my $errorstr = ( $response =~ /\"error\"\s*:\s*\"([^\"]+)\"/ ) ? $1 : "";
+    return $errorstr;
+}
+
+
+sub getchecksum
+{
+    my $infile = shift;
+
+    # md5 binary check
+    my $MD5BIN = "";
+
+    if ( -x "/usr/bin/md5sum" )
+    {
+        $MD5BIN = "/usr/bin/md5sum";
+    }
+    elsif ( -x "/sbin/md5" )
+    {
+        $MD5BIN = "/sbin/md5 -q";
+    }
+
+    return "" if $MD5BIN eq "";
+
+
+    my $checksum = "";
+    open MD5EXE, "$MD5BIN $infile|" or return "";
+
+    while(<MD5EXE>)
+    {
+        if (/^(\S+)\s+(\S+)$/)
+        {
+            $checksum = $1;
+            last;
+        }
+        elsif (/^(\S+)$/)
+        {
+            $checksum = $1;
+            last;
+        }
+    }
+
+    close MD5EXE;
+
+    return $checksum;
+
+}
+
+
+sub backticks
+{
+    my $command = shift;
+
+    `$command`;
+    return ($? == -1) ? 0 : 1;
+}
+
+
+sub bail
+{
+    my $str = shift;
+    print STDERR "$str\n" if defined $str;
+
+    &cleanup();
+    exit(1);
+}
+
+
+sub cleanup
+{
+    return if ($TMP eq "" || !-d $TMP);
+
+    opendir(MAINDIR, $TMP);
+    my @files = readdir(MAINDIR);
+    closedir(MAINDIR);
+
+    foreach my $file (@files)
+    {
+        unlink "$TMP/$file" if -e "$TMP/$file";
+    }
+
+    remove_tree($TMP);
+
+}
+
+
+sub help
+{
+    my $str = shift;
+
+    print <<'HELPME';
+
+USAGE
+  ./mafftash_premafft.pl -p [FILE]
+  ./mafftash_premafft.pl -o [FILE] -d [DIRECTORY]
+  ./mafftash_premafft.pl -p [FILE] -o [FILE] -d [DIRECTORY]
+
+
+PARAMETERS
+  -p [FILE]
+     FILE contains a list of PDBIDs (one entry per line); make sure that the PDBIDs are in the standard 5-character pdbid+chain naming format
+
+  -o [FILE] -d [DIRECTORY]
+     FILE contains a list of IDs from your own structure/pdb files (one entry per line)
+     for each ID in the list make sure that a corresponding structure file (same ID with .pdb extension) is stored in DIRECTORY
+
+  -h [HATFILE]
+     save the output hat3 file in HATFILE; if not set, the output is written to a file named 'hat3' in your current directory
+
+  -i [INSTRFILE]
+     save the output instr file in INSTRFILE; if not set, the output is written to a file named 'instr' in your current directory
+
+HELPME
+
+    &bail($str);
+}
+
+
+
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/maffttext2hex b/make_prg/utils/mafft-linux64/mafftdir/libexec/maffttext2hex
new file mode 100755
index 0000000..ac2ad2c
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/maffttext2hex differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/makedirectionlist b/make_prg/utils/mafft-linux64/mafftdir/libexec/makedirectionlist
new file mode 100755
index 0000000..89f3ccb
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/makedirectionlist differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/mccaskillwrap b/make_prg/utils/mafft-linux64/mafftdir/libexec/mccaskillwrap
new file mode 100755
index 0000000..85bd166
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/mccaskillwrap differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/multi2hat3s b/make_prg/utils/mafft-linux64/mafftdir/libexec/multi2hat3s
new file mode 100755
index 0000000..4b06fcf
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/multi2hat3s differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/nodepair b/make_prg/utils/mafft-linux64/mafftdir/libexec/nodepair
new file mode 100755
index 0000000..581fefe
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/nodepair differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/pairash b/make_prg/utils/mafft-linux64/mafftdir/libexec/pairash
new file mode 100755
index 0000000..307a053
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/pairash differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/pairlocalalign b/make_prg/utils/mafft-linux64/mafftdir/libexec/pairlocalalign
new file mode 100755
index 0000000..475cba7
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/pairlocalalign differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/regtable2seq b/make_prg/utils/mafft-linux64/mafftdir/libexec/regtable2seq
new file mode 100755
index 0000000..45e90d1
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/regtable2seq differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/replaceu b/make_prg/utils/mafft-linux64/mafftdir/libexec/replaceu
new file mode 100755
index 0000000..fcd6ab7
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/replaceu differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/restoreu b/make_prg/utils/mafft-linux64/mafftdir/libexec/restoreu
new file mode 100755
index 0000000..ff6bbb5
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/restoreu differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/score b/make_prg/utils/mafft-linux64/mafftdir/libexec/score
new file mode 100755
index 0000000..c815992
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/score differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/seekquencer_premafft.pl b/make_prg/utils/mafft-linux64/mafftdir/libexec/seekquencer_premafft.pl
new file mode 100755
index 0000000..a9040fd
--- /dev/null
+++ b/make_prg/utils/mafft-linux64/mafftdir/libexec/seekquencer_premafft.pl
@@ -0,0 +1,600 @@
+#!/usr/bin/perl
+
+####################################################################################
+# Author:  KM Amada (kmamada@ifrec.osaka-u.ac.jp)
+#
+# Ver. Date      Changelog
+####################################################################################
+# 1.0  11.01.13  Initial release
+#
+# **Skipped version 2 to standardise version numbers to seekquencer.pl script**
+#
+# 3.0  04.24.14  Added split option -mod <mafftash-split> for output
+#                Uses seekquencer_v3 backend
+#
+# 4.0  05.12.14  Added new options: -run <thread|normal> -trd <count> -noin
+#                Sets -seqa fast in seekquencer.pl
+#                Uses seekquencer_v4 backend
+#
+# 4.1  05.19.14  Added a check on running REST requests before proceeding
+#                to avoid server load problems
+#
+# 4.2  05.27.14  Seq limit processing done in seekquencer.pl script
+#                to avoid server load problems
+#
+# 4.3  07.22.14  Added new option: -seqd <uniref100|uniref90|uniref70|uniprot>
+#                Blast limit changed from factor of 10 to -blim option
+#                Timing on sleep changed; added srand() for making seed
+#                Moved the job limit processing to server side
+#
+# 4.4  08.05.14  Modified to work in multiple OS
+#
+#
+####################################################################################
+
+use strict;
+use Getopt::Long;
+use File::Path qw(make_path remove_tree);
+use Cwd;
+use LWP::Simple;
+use LWP::UserAgent;
+
+# to prevent error: Header line too long (limit is 8192)
+use LWP::Protocol::http;
+push(@LWP::Protocol::http::EXTRA_SOCK_OPTS, MaxLineLength => 0);
+
+
+
+my $BASEURL = "http://sysimm.ifrec.osaka-u.ac.jp/seekquencer/REST/service.cgi/premafft";
+my ( $INPUTFILE, $IDLISTFILE, $SEQFASTAFILE, $OUTPUTFILE, $SEQFLAG, $STRFLAG, $EVALFLAG, $NOINFLAG );
+my $OUTTYPE = "mafftash";
+
+my $SEQDATABASE = "uniref100";
+my $SEQLIMIT = 100;
+my $SEQBLASTLIMIT = 100;
+
+my $RUNMODE = "normal";    # thread|normal
+my $THREADCOUNT = 3;
+
+
+GetOptions
+(
+    'inp=s'  => \$INPUTFILE,
+    'idf=s'  => \$IDLISTFILE,
+    'seqf=s' => \$SEQFASTAFILE,
+    'out=s'  => \$OUTPUTFILE,
+    'str'    => \$STRFLAG,
+    'seq'    => \$SEQFLAG,
+    'seqd=s' => \$SEQDATABASE,
+    'lim=i'  => \$SEQLIMIT,
+    'blim=i' => \$SEQBLASTLIMIT,
+    'pre'    => \$EVALFLAG,
+    'noin'   => \$NOINFLAG,
+    'mod=s'  => \$OUTTYPE,
+    'run=s'  => \$RUNMODE,
+    'trd=i'  => \$THREADCOUNT,
+
+
+);
+
+my $ISWINDOWS = ( $^O =~ /^MSWin/ ) ? 1 : 0;
+print STDERR "[Seekquencer-premafft 4.4 on $^O]\n";
+
+
+# set temp directory
+my $CWD = getcwd;
+my $TMP = "$CWD/seekpremafft$$";
+make_path($TMP) unless -d $TMP;
+
+
+
+######
+# validation
+help("Required parameter: define input as '-inp' or '-idf' or '-seqf'") if ( !defined $INPUTFILE && !defined $IDLISTFILE && !defined $SEQFASTAFILE );
+help("'-inp' is already defined") if ( defined $INPUTFILE && (defined $IDLISTFILE || defined $SEQFASTAFILE) );
+help("Input file $INPUTFILE does not exist (or filesize is 0)") if ( defined $INPUTFILE && (! -e $INPUTFILE || !-s $INPUTFILE) );
+help("Input file $IDLISTFILE does not exist (or filesize is 0)") if ( defined $IDLISTFILE && (! -e $IDLISTFILE || !-s $IDLISTFILE) );
+help("Input file $SEQFASTAFILE does not exist (or filesize is 0)") if ( defined $SEQFASTAFILE && (! -e $SEQFASTAFILE || !-s $SEQFASTAFILE) );
+help("Required parameter: output file '-out'") unless ( defined $OUTPUTFILE );
+help("Set either '-str' or '-seq' or dont set any at all") if ( defined $STRFLAG && defined $SEQFLAG );
+
+help("Invalid value for '-seqd <uniref100|uniref90|uniref70|uniprot>'") if ( $SEQDATABASE ne "uniref100" && $SEQDATABASE ne "uniref90" && $SEQDATABASE ne "uniref70" && $SEQDATABASE ne "uniprot");
+help("Invalid value for '-mod <fasta|mafftash|mafftash-split>'") if ( $OUTTYPE ne "fasta" && $OUTTYPE ne "mafftash" && $OUTTYPE ne "mafftash-split" );
+help("Invalid value for '-run <thread|normal>'") if ( $RUNMODE ne "thread" && $RUNMODE ne "normal" );
+help("Invalid value for '-trd <count>'; count should be between 1 and 5 (inclusive)") if ( $RUNMODE eq "thread" && ($THREADCOUNT <= 0 || $THREADCOUNT > 5) );
+
+
+######
+# check existing requests
+print STDERR "Checking server status...\n";
+
+# generate seed
+srand($$);
+
+# sleep a bit to give time for lsf response
+sleep(int(rand(6))+1);
+
+
+my $browser = LWP::UserAgent->new;
+$browser->timeout(0);
+
+# get: check if you can send a new request this time
+my $jobsResponse = $browser->get("$BASEURL/isAllowed");
+
+if ( $jobsResponse->is_success )
+{
+    my $status = parseJobQueryResponse($jobsResponse->content);
+    bail("Max jobs reached. The server cannot process your request right now; try again later.", 0) unless $status > 0;
+}
+else
+{
+    bail(sprintf("[%d] %s\n", $jobsResponse->code, parseError($jobsResponse->content)));
+}
+
+
+######
+# make a temporary input if lists were provided
+unless ( defined $INPUTFILE )
+{
+    $INPUTFILE = "$TMP/input.homemade";
+    open INPF, ">$INPUTFILE" or bail("Error writing to input file.");
+
+    if ( defined $IDLISTFILE )
+    {
+        open IDLIST, "<$IDLISTFILE" or bail("Error reading input file.");
+        while( <IDLIST> )
+    	{
+        	chomp;
+        	if ( /(\w{5})/ )
+        	{
+        	    print INPF ">PDBID\n$1\n";
+        	}
+        }
+        close IDLIST;
+    }
+
+
+    if ( defined $SEQFASTAFILE )
+    {
+        open FASTA, "<$SEQFASTAFILE" or bail("Error reading input file.");
+        while( <FASTA> )
+    	{
+        	chomp;
+            print INPF "$_\n";
+        }
+        close FASTA;
+    }
+
+    close INPF;
+}
+
+
+######
+# prepare parameters
+print STDERR "Preparing parameters for service request...\n";
+
+my @parameters = ();
+push(@parameters, "fileinput" => ["$INPUTFILE"]);
+push(@parameters, "out_type" => $OUTTYPE);
+
+push(@parameters, "rest_flag" => "1");
+push(@parameters, "cls_flag" => "1");
+push(@parameters, "pre_flag" => "1") if defined $EVALFLAG;
+push(@parameters, "noin_flag" => "1") if defined $NOINFLAG;
+
+push(@parameters, "run_mode" => $RUNMODE);
+push(@parameters, "thread_count" => $THREADCOUNT) if $RUNMODE eq "thread";
+
+
+if ( defined $STRFLAG )
+{
+    push(@parameters, "str_flag" => "1");
+    push(@parameters, "ash_flag" => "1");
+}
+elsif ( defined $SEQFLAG )
+{
+    push(@parameters, "seq_flag" => "1");
+    push(@parameters, "seq_algorithm" => "fast");
+    push(@parameters, "seq_database" => $SEQDATABASE);
+    push(@parameters, "seq_blastlimit" => $SEQBLASTLIMIT);
+    push(@parameters, "seq_outputlimit" => $SEQLIMIT);
+}
+else
+{
+    push(@parameters, "str_flag" => "1");
+    push(@parameters, "ash_flag" => "1");
+    push(@parameters, "seq_flag" => "1");
+    push(@parameters, "seq_algorithm" => "fast");
+    push(@parameters, "seq_database" => $SEQDATABASE);
+    push(@parameters, "seq_blastlimit" => $SEQBLASTLIMIT);
+    push(@parameters, "seq_outputlimit" => $SEQLIMIT);
+}
+
+
+
+######
+# start rest service
+print STDERR "Sending service request...\n";
+
+# post: running a mafftash job
+my $postResponse = $browser->post( $BASEURL, \@parameters, 'Content_Type' => 'form-data' );
+bail(sprintf("[%d] %s\n", $postResponse->code, parseError($postResponse->content))) unless($postResponse->is_success);
+
+
+# get response from post request
+my ($status, $seekid) = parseResponse($postResponse->content);
+
+my $MAXTRIES = 3;
+my $STIMER = 5;
+my $timer = 0;
+
+print STDERR "Request sent! Waiting for response...[$seekid]\n";
+
+my $checklist = {};
+
+# wait for results until it becomes available
+while(1)
+{
+    # sleeps for 5+random, 10+random, 15+random, 20+random, 25+random, 30+random ,,, 60+random, 60+random,,,
+    $timer = $timer >= 60 ? 60 : $timer+$STIMER;
+    sleep($timer+int(rand(4)));
+
+    # get: get results for mafftash job
+    my $getResponse = $browser->get("$BASEURL/$seekid");
+
+    if ( $getResponse->is_success )
+    {
+
+        # get response from get request
+        ($status, $seekid) = parseResponse($getResponse->content);
+        next unless ( $status eq "done" );
+
+
+        # if job is finished and ready
+        print STDERR "Results found!\n";
+        my $csfile = "$TMP/checksum";
+        my $try1 = 1;
+
+
+        while(1)
+        {
+            print STDERR "Fetching Results... [Trial $try1]\n";
+
+            if ( is_success(getstore("$BASEURL/get/$seekid/checksum", $csfile)) && -e $csfile && -s $csfile )
+            {
+                # get response from get request
+                $checklist = extractchecksum($csfile);
+                bail("Error retrieving list of compressed files!") unless ( scalar %$checklist > 0 );
+
+
+                foreach my $id ( sort keys %$checklist )
+                {
+                    sleep 1;
+                    my $checkfile = "$TMP/$id";
+                    my $checkid = $checklist->{$id};
+                    my $try2 = 1;
+
+                    while(1)
+                    {
+                        unlink $checkfile if -e $checkfile;
+
+                        if ( is_success(getstore("$BASEURL/get/$seekid/$id", $checkfile)) && -e $checkfile && -s $checkfile )
+                        {
+                            last if $ISWINDOWS;
+
+                            my $hashid = getchecksum($checkfile);
+                            #print STDERR "[hashid]$hashid [checkid]$checkid\n";
+
+                            if ($hashid ne "" && $hashid ne $checkid )
+                            {
+                                #unlink $checkfile if -e $checkfile;
+                                bail("Error retrieving compressed file from server! [Checksum Failed]") if $try2 >= $MAXTRIES;
+                                $try2++;
+                                sleep $STIMER;
+                            }
+                            else
+                            {
+                                last;
+                            }
+                        }
+                        else
+                        {
+                            bail("Error retrieving compressed file from server!") if $try2 >= $MAXTRIES;
+                            $try2++;
+                            sleep $STIMER;
+                        }
+                    }
+                }
+
+                last;
+            }
+            else
+            {
+                bail("Error retrieving list of compressed files from server!") if $try1 >= $MAXTRIES;
+                $try1++;
+                sleep $STIMER;
+            }
+        }
+
+        last;
+
+    }
+    else
+    {
+        bail(sprintf("[%d] %s\n", $getResponse->code, parseError($getResponse->content)));
+    }
+
+}
+
+
+# make sure outputs were generated
+# decompress
+print STDERR "Assembling final results...\n";
+
+foreach my $id ( sort keys %$checklist )
+{
+    if ( $id =~ /^$seekid\.out(\.str|\.seq)?/  )
+    {
+        bail("Error: Output file corrupted!") unless -e "$TMP/$id";
+        appendToFile("$TMP/$id","$OUTPUTFILE".$1);
+    }
+}
+
+cleanup();
+
+
+
+####################
+####################
+
+
+sub parseResponse
+{
+    my $response = shift;
+    my $status = "";
+    my $seekid = "";
+
+    if ( $response =~ /^([^\s:]+):([^\s:]+)$/ )
+    {
+        $seekid = $1;
+        $status = $2;
+    }
+
+    return ($status, $seekid);
+}
+
+
+sub parseJobQueryResponse
+{
+    my $response = shift;
+    my $jobs = 100;
+
+    if ( $response =~ /^(\d+)$/ )
+    {
+        $jobs = $1;
+    }
+
+    return $jobs;
+}
+
+
+sub extractchecksum
+{
+    my $infile = shift;
+    my %dataset = ();
+
+    #open CSUM, "tar -zxf $infile -O|" or return \%dataset;
+    open CSUM, "<$infile" or return \%dataset;
+
+    while(<CSUM>)
+    {
+        chomp;
+        if ( /^(\S+)\s+(\S+)$/ )
+        {
+            $dataset{$2} = $1;
+        }
+    }
+
+    close CSUM;
+
+    return \%dataset;
+}
+
+
+sub parseError
+{
+    my $response = shift;
+
+    #"error":"Invalid number of inputs found."
+    my $errorstr = ( $response =~ /\"error\"\s*:\s*\"([^\"]+)\"/ ) ? $1 : $response;
+    return $errorstr;
+}
+
+
+sub getchecksum
+{
+    my $infile = shift;
+
+    # md5 binary check
+    my $MD5BIN = "";
+
+    if ( -x "/usr/bin/md5sum" )
+    {
+        $MD5BIN = "/usr/bin/md5sum";
+    }
+    elsif ( -x "/sbin/md5" )
+    {
+        $MD5BIN = "/sbin/md5 -q";
+    }
+
+    return "" if $MD5BIN eq "";
+
+
+    my $checksum = "";
+    open MD5EXE, "$MD5BIN $infile|" or return "";
+
+    while(<MD5EXE>)
+    {
+        if (/^(\S+)\s+(\S+)$/)
+        {
+            $checksum = $1;
+            last;
+        }
+        elsif (/^(\S+)$/)
+        {
+            $checksum = $1;
+            last;
+        }
+    }
+
+    close MD5EXE;
+
+    return $checksum;
+
+}
+
+
+sub backticks
+{
+    my $command = shift;
+
+    `$command`;
+    return ($? == -1) ? 0 : 1;
+}
+
+
+sub bail
+{
+    my $str = shift;
+    my $status = shift;
+
+    #0 for success and 1 for error
+    $status = 1 unless defined;
+
+    print STDERR "$str\n" if defined $str;
+
+    cleanup();
+
+    exit($status);
+}
+
+
+sub cleanup
+{
+    return if ($TMP eq "" || !-d $TMP);
+
+    opendir(MAINDIR, $TMP);
+    my @files = readdir(MAINDIR);
+    closedir(MAINDIR);
+
+    foreach my $file (@files)
+    {
+        unlink "$TMP/$file" if -e "$TMP/$file";
+    }
+
+    remove_tree($TMP);
+
+}
+
+
+sub appendToFile
+{
+    my $inpfile = shift;
+    my $outfile = shift;
+
+    open INPF, "<$inpfile" or bail("Server Error: Error in reading file.");
+    open OUTF, ">>$outfile" or bail("Server Error: Error in writing to file.");
+
+    while(<INPF>)
+    {
+        print OUTF $_;
+    }
+
+    close OUTF;
+    close INPF;
+}
+
+
+
+sub help
+{
+    my $str = shift;
+
+    print <<'HELPME';
+
+USAGE
+  ./seekquencer_premafft.pl -inp <INFILE> -out <OUTFILE> [-str|-seq]
+  ./seekquencer_premafft.pl -idf <LISTFILE> -seqf <SEQFASTA> -out <OUTFILE> [-str|-seq]
+
+
+PARAMETERS
+  -inp <INFILE>
+     INFILE is a FASTA-formatted file
+     PDB entries are written as:
+        >PDBID
+        [5-character pdbid+chain]
+
+     While sequence entries are written as:
+        >[id]
+        [sequence]
+
+  -idf <LISTFILE>
+     IDLISTFILE is a file containing a list of pdbids
+     pdbids should be a 5-character pdbid + chain
+
+  -seqf <SEQFASTA>
+     SEQFASTA is a fasta file
+     entries are written as:
+        >[id]
+        [sequence]
+
+  -out <OUTFILE>
+     Results are writen to a file named OUTFILE
+
+  -str
+     Only structures will be collected by Seekquencer
+     If neither -str nor -seq is set, both structures and sequences will be collected by Seekquencer
+
+  -seq
+     Only sequences will be collected by Seekquencer
+     If neither -str nor -seq is set, both structures and sequences will be collected by Seekquencer
+
+
+OPTIONAL PARAMETERS:
+  -seqd <uniref100|uniref90|uniref70|uniprot>
+     Search Database for sequence homologs. Default value: uniref100
+
+  -lim <count>
+     this sets the maximum number of sequence homologs collected. Default value: 100
+
+  -blim <count>
+     this sets the -b and -v value when running blastall. Default value: 100
+
+  -pre
+     When -str is set, this will compare all structures against all using pdp-ash
+     This would ensure that all structures collected are matching
+     All structures that do not match will be removed
+
+  -noin
+     When set, inputs will not be included in the output
+
+  -mod <mafftash|mafftash-split|fasta>
+     Defines the output format
+     mafftash (default) will print a mafftash-formatted fasta file
+     mafftash-split will make 2 files separating the structures (OUTFILE.str) from sequences (OUTFILE.seq)
+     fasta will print a regular fasta file
+
+  -run <thread|normal>
+    thread will run simultaneous jobs during blast queries (faster but takes more nodes)
+    normal will run sequential blast queries (slower but takes less nodes)
+    Default value: normal
+
+  -trd <count>
+    if -run <thread> is defined, this sets the number of parallel jobs to run. Default value: 3
+
+
+HELPME
+
+    bail($str);
+}
+
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/seq2regtable b/make_prg/utils/mafft-linux64/mafftdir/libexec/seq2regtable
new file mode 100755
index 0000000..4b2b440
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/seq2regtable differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/setcore b/make_prg/utils/mafft-linux64/mafftdir/libexec/setcore
new file mode 100755
index 0000000..30472e5
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/setcore differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/setdirection b/make_prg/utils/mafft-linux64/mafftdir/libexec/setdirection
new file mode 100755
index 0000000..95b1508
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/setdirection differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/sextet5 b/make_prg/utils/mafft-linux64/mafftdir/libexec/sextet5
new file mode 100755
index 0000000..0df7bbc
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/sextet5 differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/splittbfast b/make_prg/utils/mafft-linux64/mafftdir/libexec/splittbfast
new file mode 100755
index 0000000..c35e288
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/splittbfast differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/tbfast b/make_prg/utils/mafft-linux64/mafftdir/libexec/tbfast
new file mode 100755
index 0000000..1ab0e60
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/tbfast differ
diff --git a/make_prg/utils/mafft-linux64/mafftdir/libexec/version b/make_prg/utils/mafft-linux64/mafftdir/libexec/version
new file mode 100755
index 0000000..e30b3a8
Binary files /dev/null and b/make_prg/utils/mafft-linux64/mafftdir/libexec/version differ
diff --git a/make_prg/utils/msa_aligner.py b/make_prg/utils/msa_aligner.py
index de5bc9b..0e724cd 100644
--- a/make_prg/utils/msa_aligner.py
+++ b/make_prg/utils/msa_aligner.py
@@ -34,6 +34,7 @@ def _set_tmpdir(self, tmpdir: Path):
         tmpdir.mkdir(parents=True, exist_ok=True)
         self._tmpdir: Path = tmpdir
 
+    # tmpdir == Path("..") means the root temp dir is ".." and we will build per-run temp dir alongside "."
     def __init__(self, executable: str, tmpdir: Path = Path("..")):
         self._set_executable(executable)
         self._set_tmpdir(tmpdir)
@@ -73,8 +74,7 @@ def _run_aligner(self, args: str, env=None):
 
     @staticmethod
     def _create_new_sequences_file(directory: Path, new_sequences: Set[str]) -> Path:
-        # this is just done so that we have a deterministic order of new_sequences and
-        # tests run correctly
+        # sorted() is done so that we have a deterministic order of new_sequences and tests run correctly
         new_sequences = sorted(list(new_sequences))
         new_sequences_filepath = directory / "new_sequences.fa"
         with open(new_sequences_filepath, "w") as new_sequences_handler:
@@ -88,6 +88,10 @@ def _create_new_sequences_file(directory: Path, new_sequences: Set[str]) -> Path
 
 
 class MAFFT(MSAAligner):
+    def __init__(self, tmpdir: Path = Path("..")):
+        source_file_dir = os.path.dirname(os.path.abspath(__file__))
+        super().__init__(f"{source_file_dir}/mafft-linux64/mafft.bat", tmpdir)
+
     @classmethod
     def get_aligner_name(cls) -> str:
         return "MAFFT"
diff --git a/pyproject.toml b/pyproject.toml
index e5ef2b7..c60dc66 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -2,7 +2,8 @@
 name = "make_prg"
 version = "0.4.0"
 description = "Code to create a PRG from a Multiple Sequence Alignment file"
-authors = ["Michael Hall <michael@mbh.sh>", "Leandro Ishi <leandro@ebi.ac.uk>", "Brice Letcher <bletcher@ebi.ac.uk>"]
+authors = ["Michael Hall <michael@mbh.sh>", "Leandro Ishi <leandro@ebi.ac.uk>", "Brice Letcher <bletcher@ebi.ac.uk>",
+           "Rachel Colquhoun <rachel.colquhoun@ed.ac.uk>"]
 license = "MIT"
 readme = "README.md"
 homepage = "https://github.com/iqbal-lab-org/make_prg"
diff --git a/sample_example/README.md b/sample_example/README.md
index 43bb44d..65ab2b0 100644
--- a/sample_example/README.md
+++ b/sample_example/README.md
@@ -5,13 +5,7 @@ We run:
 1) `make_prg from_msa` to create PRGs from MSAs;
 2) `make_prg update` to update PRGs with denovo paths;
 
-# Dependencies
-
-* `mafft` in `PATH`. Can be installed:
-  1. from source: https://mafft.cbrc.jp/alignment/software/;
-  2. using `conda`: `conda install -c bioconda mafft`;
-
-There is no need to have `make_prg` itself installed.
+Note: there is **no need** to have `make_prg` itself installed.
 The test script downloads the precompiled binary of the latest release.
 
 ## Input data description
diff --git a/scripts/build_precompiled_binary/build_precompiled_binary.sh b/scripts/build_precompiled_binary/build_precompiled_binary.sh
index aff3ff6..f4a4924 100755
--- a/scripts/build_precompiled_binary/build_precompiled_binary.sh
+++ b/scripts/build_precompiled_binary/build_precompiled_binary.sh
@@ -25,4 +25,5 @@ docker run --rm -v "$(pwd)":/make_prg make_prg:${version} /bin/bash -c \
   --specpath precompiled_binary/spec \
   --name make_prg_${version} \
   --hidden-import=\"sklearn.utils._weight_vector\" \
+  --add-data ../../make_prg/utils/mafft-linux64:make_prg/utils/mafft-linux64 \
   make_prg/__main__.py"


Test patch:
diff --git a/tests/integration_tests/test_from_msa.py b/tests/integration_tests/test_from_msa.py
index 47fd35e..e121092 100644
--- a/tests/integration_tests/test_from_msa.py
+++ b/tests/integration_tests/test_from_msa.py
@@ -27,7 +27,6 @@ def prepare_options(self, test_name):
             min_match_length=7,
             output_type=output_type.OutputType("a"),
             force=False,
-            output_graphs=False,
             threads=1,
             verbose=False,
         )
@@ -232,7 +231,6 @@ def test___several_alignments(self):
             log=None,
             max_nesting=5,
             min_match_length=7,
-            output_graphs=False,
             force=False,
             output_type=output_type.OutputType("a"),
             threads=1,
@@ -261,7 +259,6 @@ def test___several_alignments___one_empty_MSA___raises_EmptyMSAError(self):
             log=None,
             max_nesting=5,
             min_match_length=7,
-            output_graphs=False,
             force=False,
             output_type=output_type.OutputType("a"),
             threads=1,
@@ -287,7 +284,6 @@ def test___input_dir_has_no_files___raises_FileNotFoundError(self):
             log=None,
             max_nesting=5,
             min_match_length=7,
-            output_graphs=False,
             threads=1,
             verbose=False,
         )
@@ -307,7 +303,6 @@ def test___output_files_already_exist(self):
             log=None,
             max_nesting=5,
             min_match_length=7,
-            output_graphs=False,
             output_type=output_type.OutputType("a"),
             force=False,
             threads=1,
@@ -341,7 +336,6 @@ def test___output_files_already_exist___force_overwrite(self):
             log=None,
             max_nesting=5,
             min_match_length=7,
-            output_graphs=False,
             output_type=output_type.OutputType("a"),
             force=True,
             threads=1,
@@ -380,7 +374,6 @@ def test___match___produce_only_PRGs___output_files_already_exist(self):
             log=None,
             max_nesting=5,
             min_match_length=7,
-            output_graphs=False,
             output_type=output_type.OutputType("p"),
             force=False,
             threads=1,
@@ -414,7 +407,6 @@ def test___match___produce_only_GFAs___output_files_already_exist(self):
             log=None,
             max_nesting=5,
             min_match_length=7,
-            output_graphs=False,
             output_type=output_type.OutputType("g"),
             force=False,
             threads=1,
@@ -448,7 +440,6 @@ def test___match___produce_only_binary___output_files_already_exist(self):
             log=None,
             max_nesting=5,
             min_match_length=7,
-            output_graphs=False,
             output_type=output_type.OutputType("b"),
             force=False,
             threads=1,
@@ -474,7 +465,6 @@ def test___match___compressed_input_file(self):
             min_match_length=7,
             output_type=output_type.OutputType("a"),
             force=False,
-            output_graphs=False,
             threads=1,
             verbose=False,
         )
@@ -501,7 +491,6 @@ def test___several___compressed_and_uncompressed_input_files(self):
             log=None,
             max_nesting=5,
             min_match_length=7,
-            output_graphs=False,
             force=False,
             output_type=output_type.OutputType("a"),
             threads=1,
diff --git a/tests/integration_tests/test_update.py b/tests/integration_tests/test_update.py
index 7b2e186..61eedc2 100644
--- a/tests/integration_tests/test_update.py
+++ b/tests/integration_tests/test_update.py
@@ -10,7 +10,6 @@
 data_dir = Path("tests/integration_tests/data")
 
 
-# NOTE: for these tests we need mafft in $PATH
 @pytest.mark.forked
 class Test_Update_Integration_Full_Builds(TestCase):
     def prepare_options(self, test_name: str, update_DS: Path):
@@ -23,11 +22,9 @@ def prepare_options(self, test_name: str, update_DS: Path):
             update_DS=update_DS,
             output_prefix=output_prefix,
             long_deletion_threshold=1000000,
-            mafft="mafft",
             log=None,
             output_type=output_type.OutputType("a"),
             force=False,
-            output_graphs=False,
             threads=1,
             verbose=False,
         )
@@ -136,11 +133,9 @@ def test___update___output_files_already_exist(self):
             denovo_paths=str(data_dir / "match_update_simple" / "denovo_paths.txt"),
             update_DS=data_dir / "truth_output/match/match.update_DS.zip",
             output_prefix=output_prefix,
-            mafft="mafft",
             log=None,
             output_type=output_type.OutputType("a"),
             force=False,
-            output_graphs=False,
             threads=1,
             verbose=False,
         )
@@ -160,11 +155,9 @@ def test___update___output_files_already_exist___force_overwrite(self):
             update_DS=data_dir / "truth_output/match/match.update_DS.zip",
             output_prefix=output_prefix,
             long_deletion_threshold=1000000,
-            mafft="mafft",
             log=None,
             output_type=output_type.OutputType("a"),
             force=True,
-            output_graphs=False,
             threads=1,
             verbose=False,
         )
diff --git a/tests/utils/test_msa_aligner.py b/tests/utils/test_msa_aligner.py
index ddaeb59..a4cfba3 100644
--- a/tests/utils/test_msa_aligner.py
+++ b/tests/utils/test_msa_aligner.py
@@ -7,43 +7,52 @@
 
 from Bio import SeqIO
 
+from make_prg.utils.misc import equal_msas
 from make_prg.utils.msa_aligner import MAFFT, ExecutionError, NotAValidExecutableError
 from tests.test_helpers import make_alignment
 
 
 class TestMAFFT(TestCase):
     def setUp(self) -> None:
-        self.executable = "fake_exec"
         self.tmpdir = Path("fake_path")
+        make_prg_dir = Path(os.path.dirname(os.path.abspath(__file__))).parent.parent
+        self.mafft_path = str(
+            make_prg_dir / "make_prg" / "utils" / "mafft-linux64" / "mafft.bat"
+        )
 
-    @patch("shutil.which", return_value=None)
-    def test___constructor___invalid_executable(self, shutil_which_mock):
-        with self.assertRaises(NotAValidExecutableError):
-            MAFFT(self.executable)
-
-        shutil_which_mock.assert_called_once_with(self.executable, mode=os.X_OK)
-
-    @patch("shutil.which", return_value=1)
     @patch.object(Path, Path.mkdir.__name__)
-    def test___constructor___valid(self, mkdir_mock, shutil_which_mock):
-        mafft = MAFFT(self.executable, self.tmpdir)
+    def test___default_constructor(self, mkdir_mock):
+        mafft = MAFFT()
+        self.assertEqual(mafft._executable, self.mafft_path)
+        self.assertEqual(mafft._tmpdir, Path(".."))
+        mkdir_mock.assert_called_once_with(parents=True, exist_ok=True)
 
-        self.assertEqual(self.executable, mafft._executable)
-        self.assertEqual(self.tmpdir, mafft._tmpdir)
+    @patch.object(Path, Path.mkdir.__name__)
+    def test___non_default_constructor(self, mkdir_mock):
+        mafft = MAFFT(self.tmpdir)
+        self.assertEqual(mafft._executable, self.mafft_path)
+        self.assertEqual(mafft._tmpdir, self.tmpdir)
         mkdir_mock.assert_called_once_with(parents=True, exist_ok=True)
-        shutil_which_mock.assert_called_once_with(self.executable, mode=os.X_OK)
 
-    @patch("shutil.which", return_value=1)
+    @patch("shutil.which", return_value=None)
+    def test___constructor___invalid_executable___NotAValidExecutableError_is_raised(
+        self, shutil_which_mock
+    ):
+        # the mocking will simulate the MAFFT executable not working for some reason
+        with self.assertRaises(NotAValidExecutableError):
+            MAFFT()
+        shutil_which_mock.assert_called_once_with(self.mafft_path, mode=os.X_OK)
+
     @patch.object(Path, Path.mkdir.__name__)
     @patch("subprocess.Popen")
-    def test___run_aligner___ok_run(self, popen_mock, *uninteresting_mocks):
+    def test___run_aligner___mocked_ok_run(self, popen_mock, *uninteresting_mocks):
         wait_mock = Mock()
         wait_mock.wait.return_value = 0
         popen_mock.return_value = wait_mock
         args = "fake_arg_1 fake_arg_2 fake_arg_3"
         env = {"fake_key_1": "fake_value_1", "fake_key_2": "fake_value_2"}
 
-        mafft = MAFFT(self.executable, self.tmpdir)
+        mafft = MAFFT(self.tmpdir)
         mafft._run_aligner(args, env)
 
         popen_mock.assert_called_once_with(
@@ -51,10 +60,9 @@ def test___run_aligner___ok_run(self, popen_mock, *uninteresting_mocks):
         )
         wait_mock.wait.assert_called_once_with()
 
-    @patch("shutil.which", return_value=1)
     @patch.object(Path, Path.mkdir.__name__)
     @patch("subprocess.Popen")
-    def test___run_aligner___fail_run(self, popen_mock, *uninteresting_mocks):
+    def test___run_aligner___mocked_fail_run(self, popen_mock, *uninteresting_mocks):
         wait_mock = Mock()
         wait_mock.wait.return_value = (
             1  # this mocks an exit code of 1 (i.e. fail) when invoking MAFFT
@@ -63,7 +71,7 @@ def test___run_aligner___fail_run(self, popen_mock, *uninteresting_mocks):
         args = "fake_arg_1 fake_arg_2 fake_arg_3"
         env = {"fake_key_1": "fake_value_1", "fake_key_2": "fake_value_2"}
 
-        mafft = MAFFT(self.executable, self.tmpdir)
+        mafft = MAFFT(self.tmpdir)
         with self.assertRaises(ExecutionError):
             mafft._run_aligner(args, env)
 
@@ -72,13 +80,12 @@ def test___run_aligner___fail_run(self, popen_mock, *uninteresting_mocks):
         )
         wait_mock.wait.assert_called_once_with()
 
-    @patch("shutil.which", return_value=1)
     @patch.object(Path, Path.mkdir.__name__)
     def test___create_new_sequences_file(self, *uninteresting_mocks):
         directory = Path("tests/data/utils/create_new_sequences_file")
         new_sequences = {"ACGT", "AAAA", "TTTT"}
 
-        mafft = MAFFT(self.executable, self.tmpdir)
+        mafft = MAFFT(self.tmpdir)
         mafft._create_new_sequences_file(directory, new_sequences)
 
         self.assertTrue(
@@ -87,28 +94,25 @@ def test___create_new_sequences_file(self, *uninteresting_mocks):
             )
         )
 
-    @patch("shutil.which", return_value=1)
     @patch.object(Path, Path.mkdir.__name__)
     def test___get_aligner_name(self, *uninteresting_mocks):
-        mafft = MAFFT(self.executable, self.tmpdir)
+        mafft = MAFFT(self.tmpdir)
 
         expected = "MAFFT"
         actual = mafft.get_aligner_name()
 
         self.assertEqual(expected, actual)
 
-    @patch("shutil.which", return_value=1)
     @patch.object(Path, Path.mkdir.__name__)
     @patch("shutil.rmtree")
     def test___cleanup_run(self, shutil_rmtree_mock, *uninteresting_mocks):
         run_tmpdir = Path("run_tmpdir")
 
-        mafft = MAFFT(self.executable, self.tmpdir)
+        mafft = MAFFT(self.tmpdir)
         mafft._cleanup_run(run_tmpdir)
 
         shutil_rmtree_mock.assert_called_once_with(run_tmpdir)
 
-    @patch("shutil.which", return_value=1)
     @patch.object(
         MAFFT,
         MAFFT._create_new_sequences_file.__name__,
@@ -127,7 +131,7 @@ def test___cleanup_run(self, shutil_rmtree_mock, *uninteresting_mocks):
         return_value="updated_alignment",
     )
     @patch.object(MAFFT, MAFFT._cleanup_run.__name__)
-    def test___get_updated_alignment(
+    def test___get_updated_alignment___mocked(
         self,
         cleanup_run_mock,
         load_alignment_file_mock,
@@ -135,9 +139,9 @@ def test___get_updated_alignment(
         write_mock,
         open_mock,
         create_temp_dir_mock,
-        *uninteresting_mocks
+        *uninteresting_mocks,
     ):
-        mafft = MAFFT(self.executable, self.tmpdir)
+        mafft = MAFFT(self.tmpdir)
         alignment = make_alignment(
             [
                 "AAAA",
@@ -164,10 +168,34 @@ def test___get_updated_alignment(
         self.assertEqual("fasta", write_mock.call_args[0][2])
 
         run_aligner_mock.assert_called_once_with(
-            "fake_exec --auto --quiet --thread 1 --add _create_new_sequences_file fake_tmp_dir/previous_msa.fa > fake_tmp_dir/updated_msa.fa",
+            f"{self.mafft_path} --auto --quiet --thread 1 --add _create_new_sequences_file fake_tmp_dir/previous_msa.fa > fake_tmp_dir/updated_msa.fa",
             {"fake_key_1": "fake_value_1", "TMPDIR": "fake_tmp_dir"},
         )
         load_alignment_file_mock.assert_called_once_with(
             "fake_tmp_dir/updated_msa.fa", "fasta"
         )
         cleanup_run_mock.assert_called_once_with(Path("fake_tmp_dir"))
+
+    def test___get_updated_alignment(self):
+        mafft = MAFFT(
+            Path("tests/integration_tests/data/test___get_updated_alignment___tmpdir")
+        )
+        actual_updated_alignment = mafft.get_updated_alignment(
+            current_alignment=make_alignment(
+                [
+                    "AAAAAAA",
+                    "AAACAAA",
+                    "AAAGAAA",
+                    "AAA-AAA",
+                ]
+            ),
+            new_sequences={"AAATAAA"},
+        )
+        expected_updated_alignment = make_alignment(
+            seqs=["AAAAAAA", "AAACAAA", "AAAGAAA", "AAA-AAA", "AAATAAA"],
+            ids=["s0", "s1", "s2", "s3", "Denovo_path_0"],
+        )
+
+        self.assertTrue(
+            equal_msas(actual_updated_alignment, expected_updated_alignment)
+        )