diff --git a/bioinformaticsProject/BioinformaticsProject.sh b/bioinformaticsProject/BioinformaticsProject.sh
new file mode 100644
index 0000000..c50e581
--- /dev/null
+++ b/bioinformaticsProject/BioinformaticsProject.sh
@@ -0,0 +1,38 @@
+#Searches set of proteomes for the mcrA and hsp70 genes, and outputs results into a table, in a file titled "Summary.csv". Produces a file "Candidates.txt" that contains a list of proteomes that are candidates for the growth experiments.
+#Note: The code is dependent on where tools and files are located in a system, so could vary for users.
+#Usage: bash BioinformaticsProject.sh
+
+#Align reference sequences
+cd ref_sequences
+cat mcrAgene_**.fasta > mcrAgene.fasta
+cat hsp70gene_**.fasta > hsp70gene.fasta
+../muscle -in mcrAgene.fasta -out mcrAgene_muscle.fasta
+../muscle -in hsp70gene.fasta -out hsp70gene_muscle.fasta
+
+#Build a profile for the mcrA and hsp70 genes
+../bin/hmmbuild --amino mcrAgene_hmm.txt mcrAgene_muscle.fasta
+../bin/hmmbuild --amino hsp70gene_hmm.txt hsp70gene_muscle.fasta
+
+#Search the proteomes for mcrA gene, identifies methanogens
+cd ../proteomes
+for number in proteome_**.fasta
+do
+name=$(echo $number | cut -d_ -f 2 | cut -d. -f 1)
+../bin/hmmsearch --tblout ${name}resultsmcrAgene_match ../ref_sequences/mcrAgene_hmm.txt $number
+../bin/hmmsearch --tblout ${name}resultshsp70gene_match ../ref_sequences/hsp70gene_hmm.txt $number
+done
+
+#Produce a table with proteome number, mcrA match, number of hsp70 matches
+for n in {01..50}
+do
+column2=$(cat "$n"resultsmcrAgene_match | grep -v '#' | wc -l)
+column3=$(cat "$n"resultshsp70gene_match | grep -v '#' | wc -l)
+echo "Proteome $n" "$column2" "$column3" >> ../Summary.csv
+done
+
+#Provide a list of candidate pH-resistant methanogens
+#Based on the results, the cutoff for sufficient pH resistance was 1 copy of hsp70. While the average number of copies was 2.62 across the proteomes, only 14/50 were methanogens. Considering pH resistance to be just one copy of hsp70 allows you to proceed with a larger sample for the growht experiments.
+#Note: Average was calculated by awk '{ total += $3; count++ } END { print total/count }' Summary.csv
+cd ..
+grep -e '1 [1-9]' Summary.csv > Candidates.txt
+
diff --git a/bioinformaticsProject/Candidates.txt b/bioinformaticsProject/Candidates.txt
new file mode 100644
index 0000000..eb348c0
--- /dev/null
+++ b/bioinformaticsProject/Candidates.txt
@@ -0,0 +1,13 @@
+Proteome 03 1 3
+Proteome 05 1 2
+Proteome 07 1 2
+Proteome 15 1 1
+Proteome 16 1 1
+Proteome 24 1 2
+Proteome 38 1 1
+Proteome 39 1 1
+Proteome 42 1 3
+Proteome 44 1 1
+Proteome 45 1 3
+Proteome 48 1 1
+Proteome 50 1 3
diff --git a/bioinformaticsProject/Summary.csv b/bioinformaticsProject/Summary.csv
new file mode 100644
index 0000000..d27c368
--- /dev/null
+++ b/bioinformaticsProject/Summary.csv
@@ -0,0 +1,50 @@
+Proteome 01 0 4
+Proteome 02 0 2
+Proteome 03 1 3
+Proteome 04 0 4
+Proteome 05 1 2
+Proteome 06 0 0
+Proteome 07 1 2
+Proteome 08 0 5
+Proteome 09 0 1
+Proteome 10 0 3
+Proteome 11 0 6
+Proteome 12 0 6
+Proteome 13 0 3
+Proteome 14 0 2
+Proteome 15 1 1
+Proteome 16 1 1
+Proteome 17 0 4
+Proteome 18 0 8
+Proteome 19 2 1
+Proteome 20 0 3
+Proteome 21 0 5
+Proteome 22 0 9
+Proteome 23 2 2
+Proteome 24 1 2
+Proteome 25 0 5
+Proteome 26 0 1
+Proteome 27 0 1
+Proteome 28 0 1
+Proteome 29 1 0
+Proteome 30 0 1
+Proteome 31 0 7
+Proteome 32 0 4
+Proteome 33 0 0
+Proteome 34 0 2
+Proteome 35 0 1
+Proteome 36 0 3
+Proteome 37 0 1
+Proteome 38 1 1
+Proteome 39 1 1
+Proteome 40 0 2
+Proteome 41 0 1
+Proteome 42 1 3
+Proteome 43 0 3
+Proteome 44 1 1
+Proteome 45 1 3
+Proteome 46 0 2
+Proteome 47 0 1
+Proteome 48 1 1
+Proteome 49 0 3
+Proteome 50 1 3
diff --git a/bioinformaticsProject/bin/alimask b/bioinformaticsProject/bin/alimask
new file mode 100755
index 0000000..dcb30d6
Binary files /dev/null and b/bioinformaticsProject/bin/alimask differ
diff --git a/bioinformaticsProject/bin/hmmalign b/bioinformaticsProject/bin/hmmalign
new file mode 100755
index 0000000..4f87bc5
Binary files /dev/null and b/bioinformaticsProject/bin/hmmalign differ
diff --git a/bioinformaticsProject/bin/hmmbuild b/bioinformaticsProject/bin/hmmbuild
new file mode 100755
index 0000000..dd86a8c
Binary files /dev/null and b/bioinformaticsProject/bin/hmmbuild differ
diff --git a/bioinformaticsProject/bin/hmmconvert b/bioinformaticsProject/bin/hmmconvert
new file mode 100755
index 0000000..425fbf3
Binary files /dev/null and b/bioinformaticsProject/bin/hmmconvert differ
diff --git a/bioinformaticsProject/bin/hmmemit b/bioinformaticsProject/bin/hmmemit
new file mode 100755
index 0000000..beca368
Binary files /dev/null and b/bioinformaticsProject/bin/hmmemit differ
diff --git a/bioinformaticsProject/bin/hmmfetch b/bioinformaticsProject/bin/hmmfetch
new file mode 100755
index 0000000..cef6083
Binary files /dev/null and b/bioinformaticsProject/bin/hmmfetch differ
diff --git a/bioinformaticsProject/bin/hmmlogo b/bioinformaticsProject/bin/hmmlogo
new file mode 100755
index 0000000..6a1d0b8
Binary files /dev/null and b/bioinformaticsProject/bin/hmmlogo differ
diff --git a/bioinformaticsProject/bin/hmmpgmd b/bioinformaticsProject/bin/hmmpgmd
new file mode 100755
index 0000000..5260293
Binary files /dev/null and b/bioinformaticsProject/bin/hmmpgmd differ
diff --git a/bioinformaticsProject/bin/hmmpgmd_shard b/bioinformaticsProject/bin/hmmpgmd_shard
new file mode 100755
index 0000000..7f306ba
Binary files /dev/null and b/bioinformaticsProject/bin/hmmpgmd_shard differ
diff --git a/bioinformaticsProject/bin/hmmpress b/bioinformaticsProject/bin/hmmpress
new file mode 100755
index 0000000..e374ce2
Binary files /dev/null and b/bioinformaticsProject/bin/hmmpress differ
diff --git a/bioinformaticsProject/bin/hmmscan b/bioinformaticsProject/bin/hmmscan
new file mode 100755
index 0000000..abfdd7f
Binary files /dev/null and b/bioinformaticsProject/bin/hmmscan differ
diff --git a/bioinformaticsProject/bin/hmmsearch b/bioinformaticsProject/bin/hmmsearch
new file mode 100755
index 0000000..4b3218a
Binary files /dev/null and b/bioinformaticsProject/bin/hmmsearch differ
diff --git a/bioinformaticsProject/bin/hmmsim b/bioinformaticsProject/bin/hmmsim
new file mode 100755
index 0000000..8d2c80d
Binary files /dev/null and b/bioinformaticsProject/bin/hmmsim differ
diff --git a/bioinformaticsProject/bin/hmmstat b/bioinformaticsProject/bin/hmmstat
new file mode 100755
index 0000000..9f20319
Binary files /dev/null and b/bioinformaticsProject/bin/hmmstat differ
diff --git a/bioinformaticsProject/bin/jackhmmer b/bioinformaticsProject/bin/jackhmmer
new file mode 100755
index 0000000..6fa9681
Binary files /dev/null and b/bioinformaticsProject/bin/jackhmmer differ
diff --git a/bioinformaticsProject/bin/makehmmerdb b/bioinformaticsProject/bin/makehmmerdb
new file mode 100755
index 0000000..42c3eaf
Binary files /dev/null and b/bioinformaticsProject/bin/makehmmerdb differ
diff --git a/bioinformaticsProject/bin/nhmmer b/bioinformaticsProject/bin/nhmmer
new file mode 100755
index 0000000..68fe397
Binary files /dev/null and b/bioinformaticsProject/bin/nhmmer differ
diff --git a/bioinformaticsProject/bin/nhmmscan b/bioinformaticsProject/bin/nhmmscan
new file mode 100755
index 0000000..bea5226
Binary files /dev/null and b/bioinformaticsProject/bin/nhmmscan differ
diff --git a/bioinformaticsProject/bin/phmmer b/bioinformaticsProject/bin/phmmer
new file mode 100755
index 0000000..5be4bd7
Binary files /dev/null and b/bioinformaticsProject/bin/phmmer differ
diff --git a/bioinformaticsProject/hmmer/.gitignore b/bioinformaticsProject/hmmer/.gitignore
new file mode 100644
index 0000000..a774a2d
--- /dev/null
+++ b/bioinformaticsProject/hmmer/.gitignore
@@ -0,0 +1,48 @@
+configure
+config.log
+config.status
+Makefile
+easel
+*.o
+*.dSYM
+*.stamp
+src/*_example
+src/*_example?
+src/*_utest
+src/*_benchmark
+src/*_stats
+src/impl
+src/impl*/*_example
+src/impl*/*_utest
+src/impl*/*_benchmark
+documentation/userguide/copyright.tex
+documentation/userguide/titlepage.tex
+documentation/man/*.man
+libdivsufsort/divsufsort.h
+libdivsufsort/libdivsufsort.a
+src/libhmmer.a
+src/p7_config.h
+profmark/create-profmark
+profmark/rocplot
+src/alimask
+src/hmmalign
+src/hmmbuild
+src/hmmc2
+src/hmmconvert
+src/hmmemit
+src/hmmerfm-exactmatch
+src/hmmfetch
+src/hmmlogo
+src/hmmpgmd
+src/hmmpgmd_shard
+src/hmmpress
+src/hmmscan
+src/hmmsearch
+src/hmmsim
+src/hmmstat
+src/itest_brute
+src/jackhmmer
+src/makehmmerdb
+src/nhmmer
+src/nhmmscan
+src/phmmer
diff --git a/bioinformaticsProject/hmmer/.travis.yml b/bioinformaticsProject/hmmer/.travis.yml
new file mode 100644
index 0000000..f84f0f0
--- /dev/null
+++ b/bioinformaticsProject/hmmer/.travis.yml
@@ -0,0 +1,14 @@
+language: c
+
+env:
+ - SQC_NONZERO_EXIT=1
+
+script:
+ - git clone -b develop https://github.com/${TRAVIS_REPO_SLUG/hmmer/easel}.git
+ - ln -s easel/aclocal.m4 aclocal.m4
+ - autoconf
+ - ./configure
+ - make
+ - make dev
+ - make check
+
diff --git a/bioinformaticsProject/hmmer/INSTALL b/bioinformaticsProject/hmmer/INSTALL
new file mode 100644
index 0000000..05a43bc
--- /dev/null
+++ b/bioinformaticsProject/hmmer/INSTALL
@@ -0,0 +1,20 @@
+Brief installation instructions
+HMMER 3.3.2 (Nov 2020)
+
+Starting from a source distribution, hmmer-3.3.2.tar.gz:
+ uncompress hmmer-3.3.2.tar.gz
+ tar xf hmmer-3.3.2.tar
+ cd hmmer-3.3.2
+ ./configure
+ make
+ make check # optional: automated tests
+ make install # optional: install HMMER programs and man pages
+ (cd easel; make install) # optional: install Easel tools too
+
+For more details including customization, supported platforms, and
+troubleshooting, see the Installation chapter in the HMMER User's
+Guide (Userguide.pdf).
+
+
+
+
diff --git a/bioinformaticsProject/hmmer/LICENSE b/bioinformaticsProject/hmmer/LICENSE
new file mode 100644
index 0000000..663d4f5
--- /dev/null
+++ b/bioinformaticsProject/hmmer/LICENSE
@@ -0,0 +1,93 @@
+HMMER - Biological sequence analysis with profile hidden Markov models
+Copyright (C) 1992-2020 Sean R. Eddy
+Copyright (C) 2000-2020 Howard Hughes Medical Institute
+Copyright (C) 2015-2020 President and Fellows of Harvard College
+Copyright (C) 1992-2004 Washington University School of Medicine
+Copyright (C) 1992-1994 MRC Laboratory of Molecular Biology
+-----------------------------------------------------------------------
+
+The code includes contributions and input from current and past
+members of the HMMER development team, as well as other colleagues and
+sources, including:
+
+ Bill Arndt
+ Jeremy Buhler
+ Tyler Camp
+ Nick Carter
+ Sergi Castellano
+ Goran Ceric
+ Michael Farrar
+ Rob Finn
+ Ian Holmes
+ Bjarne Knudsen
+ Diana Kolbe
+ Erik Lindahl
+ Graeme Mitchison
+ Eric Nawrocki
+ Lee Newberg
+ Elena Rivas
+ Walt Shands
+ Travis Wheeler
+
+HMMER also includes copyrighted and licensed code that has been
+incorporated from other sources, including:
+
+ Yuta Mori (libdivsufsort-lite)
+ Apple Computer
+ Free Software Foundation, Inc.
+ IBM TJ Watson Research Center
+ X Consortium
+
+HMMER uses the Easel software library, which has its own license and
+copyright information. See easel/LICENSE.
+
+HMMER includes patent-pending SIMD technology under a nonexclusive
+license from the estate of Michael Farrar. You are sublicensed to use
+this technology specifically for the use, modification, and
+redistribution of HMMER.
+
+HMMER development is supported in part by the National Human Genome
+Research Institute of the US National Institutes of Health under grant
+number R01HG009116. The content is solely the responsibility of the
+authors and does not necessarily represent the official views of the
+National Institutes of Health.
+
+HMMER source code is distributed as open source under the terms of the
+BSD three-clause license:
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. 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.
+
+ 3. Neither the name of any copyright holder nor the names of
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "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
+ COPYRIGHT HOLDER OR CONTRIBUTORS 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/bioinformaticsProject/hmmer/Makefile.in b/bioinformaticsProject/hmmer/Makefile.in
new file mode 100644
index 0000000..d0f2b18
--- /dev/null
+++ b/bioinformaticsProject/hmmer/Makefile.in
@@ -0,0 +1,189 @@
+# Top level Makefile for HMMER3
+#
+# On most systems, to build H3 you should only need:
+# % ./configure; make
+#
+# Optionally, you can run a test suite:
+# % make check
+#
+# Optionally, you can install programs and man pages more permanently:
+# % make install
+#
+# Optionally, you can install some small tools ("miniapps") from our Easel library:
+# % (cd easel; make install)
+#
+# For more information, see the Installation section in the User's Guide.
+#
+
+
+# VPATH and shell configuration
+#
+top_srcdir = @top_srcdir@
+srcdir = @srcdir@
+VPATH = @srcdir@
+SHELL = /bin/sh
+
+# location of easel
+ESLDIR = @HMMER_ESLDIR@
+
+# location of libdivsufsort for suffix array creation
+SADIR = @HMMER_SADIR@
+
+
+# Package information
+#
+PACKAGE = @PACKAGE_NAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+
+# Installation targets
+#
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+bindir = @bindir@
+libdir = @libdir@
+includedir = @includedir@
+mandir = @mandir@
+docdir = @docdir@
+pdfdir = @pdfdir@
+mandir = @mandir@
+man1dir = ${mandir}/man1
+man1ext = .1
+
+# Compiler configuration
+#
+CC = @CC@
+CFLAGS = @CFLAGS@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+SSE_CFLAGS = @SSE_CFLAGS@
+VMX_CFLAGS = @VMX_CFLAGS@
+LDFLAGS = -static @LDFLAGS@
+CPPFLAGS = @CPPFLAGS@
+
+# Other tools
+#
+AR = @AR@
+RANLIB = @RANLIB@
+INSTALL = @INSTALL@
+
+# beautification magic stolen from git
+#
+QUIET_SUBDIR0 = +${MAKE} -C #space separator after -c
+QUIET_SUBDIR1 =
+ifndef V
+ QUIET = @
+ QUIET_CC = @echo ' ' CC $@;
+ QUIET_GEN = @echo ' ' GEN $@;
+ QUIET_AR = @echo ' ' AR $@;
+ QUIET_SUBDIR0 = +@subdir=
+ QUIET_SUBDIR1 = ; echo ' ' SUBDIR $$subdir; \
+ ${MAKE} -s -C $$subdir
+endif
+
+.PHONY: all dev check pdf install install-strip uninstall clean distclean TAGS
+
+# all: Compile all documented executables.
+# (Excludes test programs.)
+#
+all:
+ ${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} all
+ ${QUIET_SUBDIR0}${SADIR} ${QUIET_SUBDIR1} all
+ ${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} all
+ ${QUIET_SUBDIR0}profmark ${QUIET_SUBDIR1} all
+
+# dev: compile all executables, including drivers.
+#
+dev:
+ ${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} dev
+ ${QUIET_SUBDIR0}${SADIR} ${QUIET_SUBDIR1} all
+ ${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} dev
+ ${QUIET_SUBDIR0}profmark ${QUIET_SUBDIR1} dev
+
+# tests: compile all test drivers for 'make check'
+#
+tests:
+ ${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} tests
+ ${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} tests
+
+# check: Run test suites.
+#
+check:
+ @command -v python3 >/dev/null 2>&1 || { echo >&2 "python3 is required for 'make check', but is not in your PATH. Aborting."; exit 1; }
+ ${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} tests
+ ${QUIET_SUBDIR0}${SADIR} ${QUIET_SUBDIR1} all
+ ${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} tests
+ ${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} check
+ ${QUIET_SUBDIR0}testsuite ${QUIET_SUBDIR1} check
+
+# pdf: compile the User Guides.
+#
+pdf:
+ ${QUIET_SUBDIR0}documentation ${QUIET_SUBDIR1} pdf
+
+# install: binaries in ${bindir}/, man pages in ${man1dir}/
+# Creates these directories if they don't exist.
+#
+# Prefix paths with optional ${DESTDIR}, which
+# downstream packagers may set on make command line when
+# building packages.
+#
+# Does not use quiet beautification magic; always verbose.
+install: all
+ ${INSTALL} -d ${DESTDIR}${bindir}
+ ${INSTALL} -d ${DESTDIR}${man1dir}
+ ${MAKE} -C src install
+ ${MAKE} -C documentation install
+
+# install-strip: same as install, but strip binaries
+#
+install-strip: all
+ ${INSTALL} -d ${DESTDIR}${bindir}
+ ${INSTALL} -d ${DESTDIR}${man1dir}
+ ${MAKE} -C src install-strip
+ ${MAKE} -C documentation install
+
+# uninstall: reverses the steps of "make install".
+#
+uninstall:
+ ${MAKE} -C src uninstall
+ ${MAKE} -C documentation uninstall
+
+# "make clean" removes almost everything except configuration files.
+#
+clean:
+ ${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} clean
+ ${QUIET_SUBDIR0}profmark ${QUIET_SUBDIR1} clean
+ ${QUIET_SUBDIR0}testsuite ${QUIET_SUBDIR1} clean
+ ${QUIET_SUBDIR0}documentation ${QUIET_SUBDIR1} clean
+ ${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} clean
+ ${QUIET_SUBDIR0}${SADIR} ${QUIET_SUBDIR1} clean
+ ${QUIET}-rm -f *.o *~ Makefile.bak core TAGS TAGS.part gmon.out
+ifndef V
+ @echo ' ' CLEAN hmmer
+endif
+
+# "make distclean" leaves a pristine source distribution.
+#
+distclean:
+ ${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} distclean
+ ${QUIET_SUBDIR0}profmark ${QUIET_SUBDIR1} distclean
+ ${QUIET_SUBDIR0}testsuite ${QUIET_SUBDIR1} distclean
+ ${QUIET_SUBDIR0}documentation ${QUIET_SUBDIR1} distclean
+ ${QUIET_SUBDIR0}${ESLDIR} ${QUIET_SUBDIR1} distclean
+ ${QUIET_SUBDIR0}${SADIR} ${QUIET_SUBDIR1} distclean
+ ${QUIET}-rm config.log config.status
+ ${QUIET}-rm -rf autom4te.cache
+ ${QUIET}-rm -f *.o *~ Makefile.bak core TAGS TAGS.part gmon.out
+ ${QUIET}-rm -f cscope.po.out cscope.out cscope.in.out cscope.files
+ ${QUIET}-rm -f src/impl
+ ${QUIET}-rm Makefile
+ifndef V
+ @echo ' ' CLEAN hmmer
+endif
+
+TAGS:
+ ./makeTAGS.sh
+
+
+
diff --git a/bioinformaticsProject/hmmer/README.md b/bioinformaticsProject/hmmer/README.md
new file mode 100644
index 0000000..d62e107
--- /dev/null
+++ b/bioinformaticsProject/hmmer/README.md
@@ -0,0 +1,89 @@
+## HMMER - biological sequence analysis using profile HMMs
+
+[](https://travis-ci.org/EddyRivasLab/hmmer)
+
+
+[HMMER](http://hmmer.org) searches biological sequence databases for
+homologous sequences, using either single sequences or multiple
+sequence alignments as queries. HMMER implements a technology called
+"profile hidden Markov models" (profile HMMs). HMMER is used by many
+protein family domain databases and large-scale annotation pipelines,
+including [Pfam](http://pfam.xfam.org) and other members of the
+[InterPro Consortium](http://www.ebi.ac.uk/interpro/).
+
+To obtain HMMER releases, please visit [hmmer.org](http://hmmer.org).
+
+To participate in HMMER development, visit us at
+[github](https://github.com/EddyRivasLab/hmmer). HMMER development
+depends on the Easel library, also at
+[github](https://github.com/EddyRivasLab/easel).
+
+
+### to download and build the current source code release:
+
+```
+ % wget http://eddylab.org/software/hmmer/hmmer.tar.gz
+ % tar zxf hmmer.tar.gz
+ % cd hmmer-3.3.2
+ % ./configure --prefix /your/install/path
+ % make
+ % make check # optional: run automated tests
+ % make install # optional: install HMMER programs, man pages
+ % (cd easel; make install) # optional: install Easel tools
+```
+
+Executable programs will be installed in `/your/install/path/bin`. If
+you leave this optional `./configure` argument off, the default prefix
+is `/usr/local`.
+
+Files to read in the source directory:
+
+ * INSTALL - brief installation instructions.
+ * Userguide.pdf - the HMMER User's Guide.
+
+To get started after installation, see the Tutorial section in the
+HMMER User's Guide (Userguide.pdf).
+
+
+
+### to clone a copy of HMMER3 source from github:
+
+The tarball way, above, is a better way to install HMMER (it includes
+a precompiled Userguide.pdf, for example), but you can also clone our
+github repo. You need to clone both the HMMER and Easel repositories,
+as follows:
+
+```
+ % git clone https://github.com/EddyRivasLab/hmmer
+ % cd hmmer
+ % git clone https://github.com/EddyRivasLab/easel
+ % autoconf
+```
+
+and to build:
+
+```bash
+ % ./configure
+ % make
+```
+
+Our [git workflow](https://github.com/EddyRivasLab/hmmer/wiki/Git-workflow)
+includes three main branches:
+
+ * **master** is the stable branch for HMMER3 releases (including when
+ H3 is released as a library inside Infernal)
+ * **develop** is the HMMER3 development branch
+ * **h4-develop** is the HMMER4 development branch.
+
+To build the most recent official release, leave both HMMER and Easel
+on their default **master** branch. To contribute to HMMER3
+development, you want to be on the **develop** branches. If you want
+to send us a pull request on GitHub, please base your changes on our
+**develop** branches.
+
+
+### to report a problem:
+
+Visit our
+[issues tracking page at github](https://github.com/EddyRivasLab/hmmer/issues).
+
diff --git a/bioinformaticsProject/hmmer/RELEASE-3.3.2.md b/bioinformaticsProject/hmmer/RELEASE-3.3.2.md
new file mode 100644
index 0000000..48635e4
--- /dev/null
+++ b/bioinformaticsProject/hmmer/RELEASE-3.3.2.md
@@ -0,0 +1,36 @@
+# HMMER 3.3.2 release notes (Nov 2020)
+
+
+## bug fixes:
+
+* Fixed a recently introduced bug that could cause hmmsearch (and
+ presumably hmmscan) to segfault on rare comparisons involving highly
+ biased sequences. In domain postprocessing
+ (p7_domaindef.c::rescore_isolated_domain()), when p7_Decoding()
+ returns an eslERANGE error on garbage sequences in long_target mode,
+ nhmmer needs to reset its background model, which it modifies on the
+ fly. This was in the fix for iss #198, which we added in the 3.3.1
+ release. However, that fix failed to check for long_target mode,
+ which introduced this new bug for hmmsearch/hmmscan.
+
+* ./configure --enable-PIC wasn't setting -fPIC option in impl-sse,
+ impl-vmx Makefiles.
+ (Thanks to Martin Larralde.)
+
+* fixed an uninitialized ptr in makehmmerdb, in the fm_data
+ structure, which could cause makehmmerdb to crash.
+ (Thanks to Augustin Zidek.)
+
+
+
+## new thingies:
+
+* added a `make install-strip` target.
+ (Thanks to Sebastien Jaenicke.)
+
+
+
+For more information, you can peruse the
+[git log for our master (stable release) branch](https://github.com/EddyRivasLab/hmmer/commits/master).
+
+
diff --git a/bioinformaticsProject/hmmer/Userguide.pdf b/bioinformaticsProject/hmmer/Userguide.pdf
new file mode 100644
index 0000000..893d0b9
Binary files /dev/null and b/bioinformaticsProject/hmmer/Userguide.pdf differ
diff --git a/bioinformaticsProject/hmmer/config.guess b/bioinformaticsProject/hmmer/config.guess
new file mode 100644
index 0000000..256083a
--- /dev/null
+++ b/bioinformaticsProject/hmmer/config.guess
@@ -0,0 +1,1476 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright 1992-2018 Free Software Foundation, Inc.
+
+timestamp='2018-03-08'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see .
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+#
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
+#
+# You can get the latest version of this script from:
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+#
+# Please send patches to .
+
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Options:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to ."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright 1992-2018 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > "$dummy.c" ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+case "$UNAME_SYSTEM" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval "$set_cc_for_build"
+ cat <<-EOF > "$dummy.c"
+ #include
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+
+ # If ldd exists, use it to detect musl libc.
+ if command -v ldd >/dev/null && \
+ ldd --version 2>&1 | grep -q ^musl
+ then
+ LIBC=musl
+ fi
+ ;;
+esac
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ "/sbin/$sysctl" 2>/dev/null || \
+ "/usr/sbin/$sysctl" 2>/dev/null || \
+ echo unknown)`
+ case "$UNAME_MACHINE_ARCH" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ earmv*)
+ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine="${arch}${endian}"-unknown
+ ;;
+ *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently (or will in the future) and ABI.
+ case "$UNAME_MACHINE_ARCH" in
+ earm*)
+ os=netbsdelf
+ ;;
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval "$set_cc_for_build"
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # Determine ABI tags.
+ case "$UNAME_MACHINE_ARCH" in
+ earm*)
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "$UNAME_VERSION" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "$machine-${os}${release}${abi}"
+ exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
+ exit ;;
+ *:LibertyBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+ echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
+ exit ;;
+ *:MidnightBSD:*:*)
+ echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
+ exit ;;
+ *:SolidBSD:*:*)
+ echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
+ exit ;;
+ *:MirBSD:*:*)
+ echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
+ exit ;;
+ *:Sortix:*:*)
+ echo "$UNAME_MACHINE"-unknown-sortix
+ exit ;;
+ *:Redox:*:*)
+ echo "$UNAME_MACHINE"-unknown-redox
+ exit ;;
+ mips:OSF1:*.*)
+ echo mips-dec-osf1
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE=alpha ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE=alpha ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE=alpha ;;
+ "EV5 (21164)")
+ UNAME_MACHINE=alphaev5 ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE=alphaev56 ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE=alphapca56 ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE=alphapca57 ;;
+ "EV6 (21264)")
+ UNAME_MACHINE=alphaev6 ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE=alphaev67 ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE=alphaev68 ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE=alphaev68 ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE=alphaev68 ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE=alphaev69 ;;
+ "EV7 (21364)")
+ UNAME_MACHINE=alphaev7 ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE=alphaev79 ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo "$UNAME_MACHINE"-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo "$UNAME_MACHINE"-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix"$UNAME_RELEASE"
+ exit ;;
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
+ exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux"$UNAME_RELEASE"
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval "$set_cc_for_build"
+ SUN_ARCH=i386
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH=x86_64
+ fi
+ fi
+ echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos"$UNAME_RELEASE"
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos"$UNAME_RELEASE"
+ ;;
+ sun4)
+ echo sparc-sun-sunos"$UNAME_RELEASE"
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos"$UNAME_RELEASE"
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint"$UNAME_RELEASE"
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint"$UNAME_RELEASE"
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint"$UNAME_RELEASE"
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint"$UNAME_RELEASE"
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint"$UNAME_RELEASE"
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint"$UNAME_RELEASE"
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten"$UNAME_RELEASE"
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten"$UNAME_RELEASE"
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix"$UNAME_RELEASE"
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix"$UNAME_RELEASE"
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix"$UNAME_RELEASE"
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
+#ifdef __cplusplus
+#include /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos"$UNAME_RELEASE"
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
+ then
+ if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
+ [ "$TARGET_BINARY_INTERFACE"x = x ]
+ then
+ echo m88k-dg-dgux"$UNAME_RELEASE"
+ else
+ echo m88k-dg-dguxbcs"$UNAME_RELEASE"
+ fi
+ else
+ echo i586-dg-dgux"$UNAME_RELEASE"
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
+ fi
+ echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
+ #include
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[4567])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/lslpp ] ; then
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
+ else
+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
+ fi
+ echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+ case "$UNAME_MACHINE" in
+ 9000/31?) HP_ARCH=m68000 ;;
+ 9000/[34]??) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "$sc_cpu_version" in
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "$sc_kernel_bits" in
+ 32) HP_ARCH=hppa2.0n ;;
+ 64) HP_ARCH=hppa2.0w ;;
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "$HP_ARCH" = "" ]; then
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
+
+ #define _HPUX_SOURCE
+ #include
+ #include
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ "$HP_ARCH" = hppa2.0w ]
+ then
+ eval "$set_cc_for_build"
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH=hppa2.0w
+ else
+ HP_ARCH=hppa64
+ fi
+ fi
+ echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux"$HPUX_REV"
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
+ #include
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo "$UNAME_MACHINE"-unknown-osf1mk
+ else
+ echo "$UNAME_MACHINE"-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi"$UNAME_RELEASE"
+ exit ;;
+ *:BSD/OS:*:*)
+ echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
+ exit ;;
+ *:FreeBSD:*:*)
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ case "$UNAME_PROCESSOR" in
+ amd64)
+ UNAME_PROCESSOR=x86_64 ;;
+ i386)
+ UNAME_PROCESSOR=i586 ;;
+ esac
+ echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
+ exit ;;
+ i*:CYGWIN*:*)
+ echo "$UNAME_MACHINE"-pc-cygwin
+ exit ;;
+ *:MINGW64*:*)
+ echo "$UNAME_MACHINE"-pc-mingw64
+ exit ;;
+ *:MINGW*:*)
+ echo "$UNAME_MACHINE"-pc-mingw32
+ exit ;;
+ *:MSYS*:*)
+ echo "$UNAME_MACHINE"-pc-msys
+ exit ;;
+ i*:PW*:*)
+ echo "$UNAME_MACHINE"-pc-pw32
+ exit ;;
+ *:Interix*:*)
+ case "$UNAME_MACHINE" in
+ x86)
+ echo i586-pc-interix"$UNAME_RELEASE"
+ exit ;;
+ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix"$UNAME_RELEASE"
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix"$UNAME_RELEASE"
+ exit ;;
+ esac ;;
+ i*:UWIN*:*)
+ echo "$UNAME_MACHINE"-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
+ exit ;;
+ i*86:Minix:*:*)
+ echo "$UNAME_MACHINE"-pc-minix
+ exit ;;
+ aarch64:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ arm*:Linux:*:*)
+ eval "$set_cc_for_build"
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ else
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
+ else
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
+ fi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ cris:Linux:*:*)
+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
+ exit ;;
+ crisv32:Linux:*:*)
+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
+ exit ;;
+ e2k:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ frv:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ hexagon:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ i*86:Linux:*:*)
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
+ exit ;;
+ ia64:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ k1om:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ m32r*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ m68*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
+ test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
+ ;;
+ mips64el:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-"$LIBC"
+ exit ;;
+ or32:Linux:*:* | or1k*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-"$LIBC"
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-"$LIBC"
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
+ PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
+ *) echo hppa-unknown-linux-"$LIBC" ;;
+ esac
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-"$LIBC"
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-"$LIBC"
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-"$LIBC"
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-"$LIBC"
+ exit ;;
+ riscv32:Linux:*:* | riscv64:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
+ exit ;;
+ sh64*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ sh*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ tile*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ vax:Linux:*:*)
+ echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
+ exit ;;
+ x86_64:Linux:*:*)
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo "$UNAME_MACHINE"-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo "$UNAME_MACHINE"-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo "$UNAME_MACHINE"-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo "$UNAME_MACHINE"-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos"$UNAME_RELEASE"
+ exit ;;
+ i*86:*DOS:*:*)
+ echo "$UNAME_MACHINE"-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:*)
+ UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
+ else
+ echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
+ else
+ echo "$UNAME_MACHINE"-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configure will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos"$UNAME_RELEASE"
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos"$UNAME_RELEASE"
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos"$UNAME_RELEASE"
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos"$UNAME_RELEASE"
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv"$UNAME_RELEASE"
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo "$UNAME_MACHINE"-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes .
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo "$UNAME_MACHINE"-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux"$UNAME_RELEASE"
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv"$UNAME_RELEASE"
+ else
+ echo mips-unknown-sysv"$UNAME_RELEASE"
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ SX-ACE:SUPER-UX:*:*)
+ echo sxace-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody"$UNAME_RELEASE"
+ exit ;;
+ *:Rhapsody:*:*)
+ echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ eval "$set_cc_for_build"
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+ if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_PPC >/dev/null
+ then
+ UNAME_PROCESSOR=powerpc
+ fi
+ fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
+ fi
+ echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = x86; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NEO-*:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ NSE-*:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ NSR-*:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ NSV-*:NONSTOP_KERNEL:*:*)
+ echo nsv-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ NSX-*:NONSTOP_KERNEL:*:*)
+ echo nsx-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = 386; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo "$UNAME_MACHINE"-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux"$UNAME_RELEASE"
+ exit ;;
+ *:DragonFly:*:*)
+ echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "$UNAME_MACHINE" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
+ exit ;;
+ i*86:rdos:*:*)
+ echo "$UNAME_MACHINE"-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo "$UNAME_MACHINE"-pc-aros
+ exit ;;
+ x86_64:VMkernel:*:*)
+ echo "$UNAME_MACHINE"-unknown-esx
+ exit ;;
+ amd64:Isilon\ OneFS:*:*)
+ echo x86_64-unknown-onefs
+ exit ;;
+esac
+
+echo "$0: unable to guess system type" >&2
+
+case "$UNAME_MACHINE:$UNAME_SYSTEM" in
+ mips:Linux | mips64:Linux)
+ # If we got here on MIPS GNU/Linux, output extra information.
+ cat >&2 <&2 </dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/bioinformaticsProject/hmmer/config.sub b/bioinformaticsProject/hmmer/config.sub
new file mode 100644
index 0000000..9ccf09a
--- /dev/null
+++ b/bioinformaticsProject/hmmer/config.sub
@@ -0,0 +1,1801 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright 1992-2018 Free Software Foundation, Inc.
+
+timestamp='2018-03-08'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see .
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches to .
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
+
+Canonicalize a configuration name.
+
+Options:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to ."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2018 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo "$1"
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+ kopensolaris*-gnu* | cloudabi*-eabi* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
+ *)
+ basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
+ if [ "$basic_machine" != "$1" ]
+ then os=`echo "$1" | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray | -microblaze*)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | ba \
+ | be32 | be64 \
+ | bfin \
+ | c4x | c8051 | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | e2k | epiphany \
+ | fido | fr30 | frv | ft32 \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i860 | i960 | ia16 | ia64 \
+ | ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nios | nios2 | nios2eb | nios2el \
+ | ns16k | ns32k \
+ | open8 | or1k | or1knd | or32 \
+ | pdp10 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pru \
+ | pyramid \
+ | riscv32 | riscv64 \
+ | rl78 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | visium \
+ | wasm32 \
+ | x86 | xc16x | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | aarch64-* | aarch64_be-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | ba-* \
+ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | e2k-* | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
+ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | k1om-* \
+ | le32-* | le64-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
+ | or1k*-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pru-* \
+ | pyramid-* \
+ | riscv32-* | riscv64-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
+ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
+ | visium-* \
+ | wasm32-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-pc
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c54x-*)
+ basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16 | cr16-*)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2*)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ e500v[12])
+ basic_machine=powerpc-unknown
+ os=$os"spe"
+ ;;
+ e500v[12]-*)
+ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=$os"spe"
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+ i*86v32)
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ microblaze*)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
+ mingw32)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
+ ;;
+ msys)
+ basic_machine=i686-pc
+ os=-msys
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next)
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ nsv-tandem)
+ basic_machine=nsv-tandem
+ ;;
+ nsx-tandem)
+ basic_machine=nsx-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc | ppcbe) basic_machine=powerpc-unknown
+ ;;
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tile*)
+ basic_machine=$basic_machine-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ x64)
+ basic_machine=x86_64-pc
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases that might get confused
+ # with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # es1800 is here to avoid being matched by es* (a different OS)
+ -es1800*)
+ os=-ose
+ ;;
+ # Now accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST end in a * to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* | -plan9* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \
+ | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
+ | -midnightbsd*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -xray | -os68k* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo "$os" | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2)
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -pikeos*)
+ # Until real need of OS specific support for
+ # particular features comes up, bare metal
+ # configurations are quite functional.
+ case $basic_machine in
+ arm*)
+ os=-eabi
+ ;;
+ *)
+ os=-elf
+ ;;
+ esac
+ ;;
+ -nacl*)
+ ;;
+ -ios)
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ c8051-*)
+ os=-elf
+ ;;
+ hexagon-*)
+ os=-elf
+ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ pru-*)
+ os=-elf
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next)
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo "$basic_machine$os"
+exit
+
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/bioinformaticsProject/hmmer/configure.ac b/bioinformaticsProject/hmmer/configure.ac
new file mode 100644
index 0000000..d4881a9
--- /dev/null
+++ b/bioinformaticsProject/hmmer/configure.ac
@@ -0,0 +1,704 @@
+# Process this file with autoconf to produce the HMMER3 configure script.
+#
+# HMMER configures Easel in addition to itself, so this is
+# synchronized with Easel's configure script. Saves having to do a
+# separate ./configure in Easel, but everything in Easel's configure
+# script must also appear here.
+#
+# reminders to save re-reading autoconf manual for the n'th time:
+# output variables:
+# - defined here as normal shell variables, e.g. FOO="my string"
+# - made into output variables by calling AC_SUBST(FOO)
+# - @FOO@ in an output file is substituted
+# - output files assigned w/ AC_CONFIG_FILES; e.g. Makefile.in
+#
+# C preprocessor symbols:
+# - defined here by calling AC_DEFINE(FOO) or AC_DEFINE(FOO, [42])
+# - #undef FOO in a config file becomes #define FOO or #define FOO 42
+# - config files assigned w/ AC_CONFIG_HEADERS; e.g. p7_config.h.in
+#
+# shell variables:
+# - defined as usual, e.g. esl_var=no
+# - use within scope of the ./configure script
+#
+# Contents:
+# 1. autoconf requirements
+# 2. AC_INIT
+# 3. info on the package
+# 4. process ./configure command line
+# 5. checks for programs, including ${CC}, ${CFLAGS}
+# 6. checks for libraries
+# 7. checks for header files
+# 8. checks for types
+# 9. checks for structures
+# 10. checks for compiler characteristics
+# 11. checks for library functions
+# 12. checks for system services
+# 13. AC_CONFIG_FILES
+# 14. AC_OUTPUT
+#
+# This obeys "standard configure.ac layout" according to autoconf manual.
+#
+# To update config.guess and config.sub from GNU:
+# wget -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
+# wget -O config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'
+#
+# Use full 3-arg form of AC_DEFINE() macros. autoheader chokes if you
+# don't. We don't use autoheader (we only use autoconf, out of the
+# GNU build tools, to limit complexity) but some packagers do, such
+# as Debian.
+
+
+
+################################################################
+# 1. autoconf requirements
+################################################################
+# Autoconf 2.61 (circa 2006) has a bug in AC_FUNC_FSEEKO; don't use it.
+# 2.63 was released in 2008.
+AC_PREREQ(2.63)
+
+# Our extra macros are with Easel, in easel/m4.
+# It's sort of standard to expect them in m4/, don't
+# be confused that they're down in easel.
+#
+m4_include([easel/m4/ax_gcc_func_attribute.m4])
+
+m4_include([easel/m4/esl_sse.m4])
+m4_include([easel/m4/esl_vmx.m4])
+
+m4_include([easel/m4/ax_prog_cc_mpi.m4])
+m4_include([easel/m4/ax_pthread.m4])
+
+m4_include([easel/m4/esl_pic_flags.m4])
+
+################################################################
+# 2. AC_INIT
+################################################################
+
+AC_INIT(HMMER, 3.3.2, sean@eddylab.org, hmmer)
+AC_MSG_NOTICE([Configuring HMMER3 for your system.])
+
+# remember if the user is overriding CFLAGS
+esl_cflags_env_set=no
+if test x"$CFLAGS" != x; then
+ esl_cflags_env_set=yes
+fi
+
+################################################################
+# 3. Info on the package
+################################################################
+#
+# AC_INIT args set these output variables and preprocessor symbols:
+# PACKAGE_NAME e.g. "HMMER"
+# PACKAGE_VERSION e.g. "3.2"
+# PACKAGE_BUGREPORT e.g. "sean@eddylab.org"
+# PACKAGE_TARNAME e.g. "hmmer"
+# From them, AC_INIT automatically derives one more:
+# PACKAGE_STRING , e.g. "HMMER 3.2"
+# and we define additional output variables of our own:
+# HMMER_DATE release date: e.g. "August 2017"
+# HMMER_COPYRIGHT one-line copyright string
+# HMMER_LICENSE one-line license string
+# HMMER_VERSION copy of version code, e.g. "3.2"
+# HMMER_URL URL home for HMMER.
+# And we have to define the relevant package variables for Easel as well.
+#
+# We avoid using AC_INIT's PACKAGE_ variables anywhere, because we want to be able
+# to use HMMER as a library inside other packages, with no name clashes.
+################################################################
+
+HMMER_DATE="Nov 2020"
+HMMER_COPYRIGHT="Copyright (C) 2020 Howard Hughes Medical Institute."
+HMMER_LICENSE="Freely distributed under the BSD open source license."
+HMMER_VERSION=$PACKAGE_VERSION
+HMMER_URL="http://hmmer.org/"
+
+HMMER_ESLDIR="easel"
+HMMER_SADIR="libdivsufsort"
+
+EASEL_DATE="Nov 2020"
+EASEL_COPYRIGHT="Copyright (C) 2020 Howard Hughes Medical Institute."
+EASEL_LICENSE="Freely distributed under the BSD open source license."
+EASEL_VERSION="0.48"
+EASEL_URL="http://bioeasel.org/"
+
+AC_SUBST(HMMER_DATE)
+AC_SUBST(HMMER_COPYRIGHT)
+AC_SUBST(HMMER_LICENSE)
+AC_SUBST(HMMER_VERSION)
+AC_SUBST(HMMER_URL)
+
+AC_SUBST(HMMER_ESLDIR)
+AC_SUBST(HMMER_SADIR)
+
+AC_SUBST(EASEL_DATE)
+AC_SUBST(EASEL_COPYRIGHT)
+AC_SUBST(EASEL_LICENSE)
+AC_SUBST(EASEL_VERSION)
+AC_SUBST(EASEL_URL)
+
+AC_DEFINE_UNQUOTED([HMMER_DATE], ["$HMMER_DATE"], [Release date])
+AC_DEFINE_UNQUOTED([HMMER_COPYRIGHT], ["$HMMER_COPYRIGHT"], [Brief copyright statement])
+AC_DEFINE_UNQUOTED([HMMER_LICENSE], ["$HMMER_LICENSE"], [Brief license statement])
+AC_DEFINE_UNQUOTED([HMMER_VERSION], ["$HMMER_VERSION"], [Version number])
+AC_DEFINE_UNQUOTED([HMMER_URL], ["$HMMER_URL"], [HMMER web site])
+
+AC_DEFINE_UNQUOTED([EASEL_DATE], ["$EASEL_DATE"], [Easel release date])
+AC_DEFINE_UNQUOTED([EASEL_COPYRIGHT], ["$EASEL_COPYRIGHT"], [Easel copyright])
+AC_DEFINE_UNQUOTED([EASEL_LICENSE], ["$EASEL_LICENSE"], [Easel license])
+AC_DEFINE_UNQUOTED([EASEL_VERSION], ["$EASEL_VERSION"], [Easel version])
+AC_DEFINE_UNQUOTED([EASEL_URL], ["$EASEL_URL"], [Easel web URL])
+
+
+# Figure out what host we're compiling on.
+# Three GNU scripts must be included in the distro:
+# install.sh, config.guess, config.sub
+# This sets four shell variables:
+# host example: i686-pc-linux-gnu
+# host_cpu example: i686
+# host_vendor example: pc
+# host_os example: linux-gnu
+AC_CANONICAL_HOST
+
+
+
+
+################################################################
+# 4. Process the ./configure command line
+################################################################
+
+# --enable-debugging - set basic debugging (level 0)
+# --enable-debugging=x - set debugging level to (1-3)
+#
+# At all levels, including 0, replaces CFLAGS w/ "-g -Wall" (so it assumes gcc).
+# Sets eslDEBUGLEVEL preprocessor symbol, which compiles in debugging support, to 0..3.
+#
+AC_ARG_ENABLE(debugging,
+ [
+ AS_HELP_STRING([--enable-debugging],[include debugging code])
+ AS_HELP_STRING([--enable-debugging=x],[also set diagnostics verbosity level to (1-3)])
+ ],
+ enable_debugging=$enableval,
+ enable_debugging=no)
+
+case $enable_debugging in
+ yes) AC_DEFINE(eslDEBUGLEVEL, 1, [debugging on (low verbosity)]);;
+ 1) AC_DEFINE(eslDEBUGLEVEL, 1, [debugging on (low verbosity)]);;
+ 2) AC_DEFINE(eslDEBUGLEVEL, 2, [debugging on (moderate verbosity)]);;
+ 3) AC_DEFINE(eslDEBUGLEVEL, 3, [debugging on (high verbosity)]);;
+ no) AC_DEFINE(eslDEBUGLEVEL, 0, [debugging off]);;
+ *) AC_MSG_ERROR([Unknown argument to --enable-debugging: $enable_debugging]);;
+esac
+
+
+AC_ARG_ENABLE(gcov, [AS_HELP_STRING([--enable-gcov], [compile for code coverage testing])], enable_gcov=$enableval, enable_gcov=no)
+AC_ARG_ENABLE(gprof, [AS_HELP_STRING([--enable-gprof], [compile for gcc code profiling])], enable_gprof=$enableval, enable_gprof=no)
+
+AC_ARG_ENABLE(sse, [AS_HELP_STRING([--enable-sse], [enable our SSE vector code])], enable_sse=$enableval, enable_sse=check)
+AC_ARG_ENABLE(vmx, [AS_HELP_STRING([--enable-vmx], [enable our Altivec/VMX vector code])], enable_vmx=$enableval, enable_vmx=check)
+
+AC_ARG_ENABLE(threads, [AS_HELP_STRING([--enable-threads], [enable POSIX threads parallelization])], enable_threads=$enableval, enable_threads=check)
+AC_ARG_ENABLE(mpi, [AS_HELP_STRING([--enable-mpi], [enable MPI parallelization])], enable_mpi=$enableval, enable_mpi=no)
+
+AC_ARG_ENABLE(pic, [AS_HELP_STRING([--enable-pic], [enable position-independent code])], enable_pic=$enableval, enable_pic=no)
+
+AC_ARG_WITH(gsl, [AS_HELP_STRING([--with-gsl], [use the GSL, GNU Scientific Library])], with_gsl=$withval, with_gsl=no)
+
+
+
+
+# If a vector implementation is force-selected, make sure only one is,
+# and turn off checking for the others.
+vecsel=0
+if test "$enable_sse" = "yes"; then vecsel=$((vecsel+1)); fi
+if test "$enable_vmx" = "yes"; then vecsel=$((vecsel+1)); fi
+if [[ $vecsel -gt 1 ]]; then
+ AC_MSG_ERROR([Select only one implementation: sse or vmx])
+elif [[ $vecsel -eq 1 ]]; then
+ if test "$enable_sse" = "check"; then enable_sse="no"; fi
+ if test "$enable_vmx" = "check"; then enable_vmx="no"; fi
+fi
+
+
+################################################################
+# 5. Checks for programs, including ${CC} and ${CFLAGS}.
+################################################################
+
+# Choose our compiler - which might be mpicc, if enable_mpi is "yes".
+# AX_PROG_CC_MPI will call AC_PROG_CC if enable_mpi is "no".
+#
+AX_PROG_CC_MPI([test x"$enable_mpi" = xyes],
+ [AC_DEFINE(HAVE_MPI, 1, [Use MPI parallelization])
+ AC_DEFINE(HMMER_MPI, 1, [Use MPI parallelization])
+ AC_SUBST([MPI_UTESTS], ["mpi_utest"])
+ AC_SUBST([MPI_BENCHMARKS], ["mpi_benchmark"])],
+ [ if test x"$enable_mpi" = xyes; then
+ AC_MSG_ERROR([MPI library not found for --enable-mpi]);
+ fi])
+AC_PROG_CC_STDC
+AC_PROG_CPP
+AC_PROG_INSTALL
+AC_CHECK_TOOL([STRIP],[strip])
+AC_PROG_RANLIB
+AC_PATH_PROG([AR], [ar], [:], [$PATH:/usr/ccs/bin:/usr/xpg4/bin])
+AC_PROG_LN_S
+
+# Select our default optimization flags in CFLAGS.
+# --enable-gcov, --enable-gprof, and --enable-debugging are mutually exclusive.
+#
+if test "$enable_gcov" = "yes"; then
+ if test "$esl_cflags_env_set" = "yes"; then
+ AC_MSG_ERROR([--enable-gcov overrides CFLAGS, so don't set CFLAGS])
+ fi
+ CFLAGS="-g -Wall -fprofile-arcs -ftest-coverage"
+elif test "$enable_gprof" = "yes"; then
+ if test "$esl_cflags_env_set" = "yes"; then
+ AC_MSG_ERROR([--enable-gprof overrides CFLAGS, so don't set CFLAGS])
+ fi
+ CFLAGS="-O -g -pg"
+elif test "$enable_debugging" != "no"; then
+ if test "$GCC" = "yes"; then
+ CFLAGS="-g -Wall"
+ fi
+elif test "$esl_cflags_env_set" != "yes"; then
+ CFLAGS="-O3"
+fi
+
+
+# PIC (position-independent code) for shared library support
+#
+if test "$enable_pic" = "yes"; then
+ ESL_PIC_FLAGS
+fi
+
+
+# Support for POSIX multithreading (we should generally have this)
+#
+if test "$enable_threads" != "no"; then
+ AX_PTHREAD([
+ AC_DEFINE(HAVE_PTHREAD, 1, [Use POSIX threads])
+ AC_DEFINE(HMMER_THREADS, 1, [Use POSIX threads])
+ AC_SUBST(PTHREAD_LIBS)
+ AC_SUBST(PTHREAD_CFLAGS)
+ ],[
+ if test "$enable_threads" = "yes"; then
+ AC_MSG_FAILURE([Unable to compile with POSIX multithreading.])
+ fi
+ enable_threads=no
+ ])
+fi
+
+
+
+
+# Support for vector implementations
+#
+# If we were explicitly told to enable one ($enable_foo="yes") and we
+# can't, fail with an error.
+#
+# If we're autodetecting ($enable_foo="check"), set $enable_foo to the
+# result ("yes" or "no").
+#
+# If vector support "foo" is enabled:
+# - define preprocessor symbol eslENABLE_FOO (esl_config.h.in, p7_config.h.in)
+# - set output variable FOO_CFLAGS, if needed (Makefile.in)
+# - set shell variable $enable_foo to "yes"
+# - set shell variable $impl_choice to "foo"
+# and if vector support is available (regardless of whether we
+# decide to enable it), the autoconf macros:
+# - set shell variable $esl_have_foo to "yes"
+# - set shell var $esl_foo_cflags to any necessary compiler flags
+#
+if test "$enable_vmx" = "yes" || test "$enable_vmx" = "check"; then
+ ESL_VMX([
+ AC_DEFINE(eslENABLE_VMX, 1, [Enable Altivec/VMX vector implementation])
+ AC_SUBST([HMMERIMPLLIB], ["impl_vmx/libhmmerimpl.a"])
+ VMX_CFLAGS=$esl_vmx_cflags
+ AC_SUBST(VMX_CFLAGS)
+ enable_vmx=yes
+ impl_choice=vmx
+ ],[
+ if test "$enable_vmx" = "yes"; then
+ AC_MSG_FAILURE([Unable to compile our Altivec/VMX implementations. Try another compiler?])
+ fi
+ enable_vmx=no
+ ])
+fi
+
+if test "$enable_sse" = "yes" || test "$enable_sse" = "check"; then
+ ESL_SSE([
+ AC_DEFINE(eslENABLE_SSE, 1, [Enable SSE vector implementation])
+ AC_SUBST([HMMERIMPLLIB], ["impl_sse/libhmmerimpl.a"])
+ SSE_CFLAGS=$esl_sse_cflags
+ AC_SUBST(SSE_CFLAGS)
+ enable_sse=yes
+ impl_choice=sse
+ ],[
+ if test "$enable_sse" = "yes"; then
+ AC_MSG_FAILURE([Unable to compile our SSE implementations. Try another compiler?])
+ fi
+ enable_sse=no
+ ])
+fi
+
+# If we didn't choose an implementation, die.
+case "$impl_choice" in
+sse) AC_MSG_NOTICE([Activating Intel/AMD SSE vector DP implementation])
+ ;;
+vmx) AC_MSG_NOTICE([Activating Altivec/VMX vector DP implementation])
+ ;;
+*) AC_MSG_NOTICE([::::::::::--- no vector instruction set ---::::::::::])
+ AC_MSG_NOTICE([HMMER3 requires SSE or VMX vector instructions.])
+ AC_MSG_NOTICE([Supported platforms are x86 (Intel/AMD) and PowerPC.])
+ AC_MSG_ERROR([No supported vectorization found for your machine.])
+ ;;
+esac
+IMPL_CHOICE=$impl_choice
+AC_SUBST(IMPL_CHOICE)
+
+
+
+# Easel has additional vector implementations that HMMER3 does not
+# support. Provide blank config for those CFLAGS.
+AC_SUBST(SSE4_CFLAGS)
+AC_SUBST(AVX_CFLAGS)
+AC_SUBST(AVX512_CFLAGS)
+AC_SUBST(NEON_CFLAGS)
+
+
+# For x86 processors check if the flush to zero macro is available
+# in order to avoid the performance penalty dealing with sub-normal
+# values in the floating point calculations.
+if test "$impl_choice" = "sse"; then
+ AC_MSG_CHECKING([whether _MM_SET_FLUSH_ZERO_MODE is supported])
+ esl_save_cflags="$CFLAGS"
+ CFLAGS="$CFLAGS $SSE_CFLAGS"
+ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include ]],
+ [[_MM_SET_FLUSH_ZERO_MODE (_MM_FLUSH_ZERO_ON);
+ ]])],
+ [ AC_MSG_RESULT([yes])
+ AC_DEFINE([HAVE_FLUSH_ZERO_MODE], 1, [Processor supports flush-to-zero mode])],
+ [ AC_MSG_RESULT([no])]
+ )
+ CFLAGS="$esl_save_cflags"
+fi
+
+# Check if the linker supports library groups for recursive libraries
+AS_IF([test "x$impl_choice" != xno],
+ [AC_MSG_CHECKING([compiler support --start-group])
+ LDFLAGS_save=$LDFLAGS
+ LDFLAGS="-Wl,--start-group -Wl,--end-group $LDFLAGS"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AC_MSG_RESULT([yes])
+ AC_SUBST([GROUPHMMERLIBS], ["-Wl,--start-group -lhmmer -lhmmerimpl -Wl,--end-group"])],
+ [AC_MSG_RESULT([no])
+ AC_SUBST([GROUPHMMERLIBS], ["-lhmmer -lhmmerimpl"])])
+ LDFLAGS=$LDFLAGS_save],
+ [AC_SUBST([GROUPHMMERLIBS], ["-lhmmer"])])
+
+# Define HAVE_GZIP if gzip is in $PATH (or if HAVE_GZIP is already set)
+AC_PATH_PROG(HAVE_GZIP, "gzip", "no")
+if test "${HAVE_GZIP}" = "no"; then
+ AC_MSG_WARN([gzip not found])
+else
+ AC_DEFINE(HAVE_GZIP, 1, [Support external gzip decompression])
+fi
+
+# We need python 3 for 'make check' and some dev tools. sqc checks
+# too, as does the Makefile, but we also check in ./configure, so we
+# don't recommend 'make check' to the user if they can't use it.
+#
+AC_CHECK_PROG(HAVE_PYTHON3, python3, yes)
+
+
+################################################################
+# 6. Checks for libraries
+#################################################################
+LIBGSL=
+AS_IF([test "x$with_gsl" != xno],
+ [AC_CHECK_LIB([gsl], [gsl_expm1],
+ [AC_SUBST([LIBGSL], ["-lgsl -lgslcblas"])
+ AC_DEFINE([HAVE_LIBGSL], [1], [Define if you have libgsl])
+ ],
+ [if test "x$with_gsl" != xcheck; then
+ AC_MSG_FAILURE(
+ [--with-gsl was given, but GSL library was not found])
+ fi
+ ],
+ [-lgslcblas]
+ )])
+
+# Easel stopwatch high-res timer may try to use clock_gettime,
+# which may be in librt
+AC_SEARCH_LIBS(clock_gettime, [rt posix4])
+
+
+################################################################
+# 7. Checks for headers
+#################################################################
+
+# Defines HAVE_SYS_TYPES_H, HAVE_STDINT_H, etc.
+AC_CHECK_HEADERS([ \
+ endian.h\
+ inttypes.h\
+ stdint.h\
+ unistd.h\
+ sys/types.h\
+ netinet/in.h
+])
+
+# Check for sysctl.h separately. On OpenBSD, it requires
+# and autoconf needs special logic to deal w. this as
+# follows.
+AC_CHECK_HEADERS([sys/param.h])
+AC_CHECK_HEADERS([sys/sysctl.h], [], [],
+[[#ifdef HAVE_SYS_PARAM_H
+#include
+#endif
+]])
+
+
+# altivec.h requires the simd cflags
+# For reasons I don't understand, this needs to come after any other CHECK_HEADERS().
+if test "$impl_choice" = "vmx"; then
+ esl_save_CFLAGS="$CFLAGS"
+ esl_save_CPPFLAGS="$CPPFLAGS"
+ CFLAGS="$CFLAGS $VMX_CFLAGS"
+ CPPFLAGS="$CPPFLAGS $VMX_CFLAGS"
+ AC_CHECK_HEADERS([altivec.h])
+ CFLAGS="$esl_save_CFLAGS"
+ CPPFLAGS="$esl_save_CPPFLAGS"
+fi
+
+################################################################
+# 8. Checks for types
+#################################################################
+AC_TYPE_UINT8_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+AC_TYPE_UINT64_T
+AC_TYPE_OFF_T
+
+
+################################################################
+# 9. Checks for structures - currently none
+################################################################
+
+
+################################################################
+# 10. Checks for compiler characteristics
+################################################################
+
+AC_C_BIGENDIAN([
+ AC_DEFINE(WORDS_BIGENDIAN, 1, [Set autoconf's default WORDS_BIGENDIAN flag])
+ ],[
+ if test "$enable_vmx" = "yes"; then
+ AC_MSG_NOTICE([::::::::::--- no vector instruction set ---::::::::::])
+ AC_MSG_NOTICE([HMMER3 Altivec/VMX only supports bigendian platforms: e.g. ppc64 not ppc64le])
+ AC_MSG_ERROR([No supported vectorization found for your machine.])
+ fi
+ ],[
+ AC_MSG_NOTICE([::::::::::--- no vector instruction set ---::::::::::])
+ AC_MSG_NOTICE([Couldn't determine byte order for your platform.])
+ AC_MSG_NOTICE([HMMER3 vector code is sensitive to byte order.])
+ AC_MSG_ERROR([No supported vectorization found for your machine.])
+ ])
+
+# __attribute__() tags on function declarations
+# HAVE_FUNC_ATTRIBUTE_NORETURN
+#
+# The clang static analyzer can't figure out that some of our
+# varargs-dependent fatal error handlers (esl_fatal(), for example)
+# cannot return. To tell it so, we take advantage of __attribute__
+# tags on function declarations, a non-ISO gcc extension, when
+# available. gcc, clang, and other gcc-like compilers support this.
+#
+# This gets set in the Easel esl_config.h.
+#
+AX_GCC_FUNC_ATTRIBUTE(noreturn)
+
+# HAVE_FUNC_ATTRIBUTE_FORMAT
+#
+# We have some printf()-style functions that use varargs.
+# Apparently when you do something like
+# int64_t bigint;
+# my_printf("%d", bigint);
+# a compiler can't normally detect the size mismatch between the
+# specifier (%d) and the argument (bigint). Usually this isn't a
+# problem (apparently most platforms cast appropriately) but we had
+# problems on ARM. gcc-like compilers allow declaring an attribute
+# of format(printf, , ), enabling the
+# compiler to typecheck printf()-like arguments, and warn appropriately.
+# We only need or use this in development.
+#
+# This gets set in the Easel esl_config.h.
+AX_GCC_FUNC_ATTRIBUTE(format)
+
+
+
+################################################################
+# 11. Checks for functions, defining HAVE_FOO when foo is found
+################################################################
+
+AC_CHECK_FUNCS(mkstemp)
+AC_CHECK_FUNCS(popen)
+AC_CHECK_FUNCS(putenv)
+AC_CHECK_FUNCS(strcasecmp)
+AC_CHECK_FUNCS(strsep)
+AC_CHECK_FUNCS(times)
+AC_CHECK_FUNCS(getpid)
+AC_CHECK_FUNCS(sysctl)
+AC_CHECK_FUNCS(sysconf)
+AC_CHECK_FUNCS(getcwd)
+AC_CHECK_FUNCS(chmod)
+AC_CHECK_FUNCS(stat)
+AC_CHECK_FUNCS(fstat)
+AC_CHECK_FUNCS(erfc)
+
+AC_SEARCH_LIBS(ntohs, socket)
+AC_SEARCH_LIBS(ntohl, socket)
+AC_SEARCH_LIBS(htons, socket)
+AC_SEARCH_LIBS(htonl, socket)
+AC_SEARCH_LIBS(socket, socket)
+AC_SEARCH_LIBS(inet_pton, nsl)
+
+AC_FUNC_FSEEKO
+
+
+#################################################################
+# 12. System services
+#################################################################
+AC_SYS_LARGEFILE
+
+
+
+################################################################
+# 13. Config subdirs and files
+################################################################
+
+# HMMER Makefiles.
+AC_CONFIG_FILES([ \
+ Makefile \
+ src/Makefile \
+ testsuite/Makefile \
+ profmark/Makefile \
+ src/impl_${impl_choice}/Makefile \
+ documentation/Makefile \
+ documentation/man/Makefile \
+ documentation/userguide/Makefile \
+ documentation/userguide/inclusions/Makefile \
+ libdivsufsort/Makefile \
+ ])
+
+# Easel Makefiles.
+AC_CONFIG_FILES([ \
+ easel/Makefile \
+ easel/miniapps/Makefile \
+ easel/testsuite/Makefile \
+ easel/documentation/Makefile \
+ ])
+
+# Substitutions in Userguide .tex files
+# HMMER_VERSION, HMMER_DATE, HMMER_COPYRIGHT
+AC_CONFIG_FILES([ \
+ documentation/userguide/titlepage.tex \
+ documentation/userguide/titlepage_daemon.tex \
+ documentation/userguide/copyright.tex \
+ ])
+
+# Substitutions in HMMER man pages:
+# HMMER_VERSION, HMMER_DATE, HMMER_COPYRIGHT, HMMER_LICENSE, HMMER_URL
+AC_CONFIG_FILES([ \
+ documentation/man/alimask.man \
+ documentation/man/hmmalign.man \
+ documentation/man/hmmbuild.man \
+ documentation/man/hmmc2.man \
+ documentation/man/hmmconvert.man \
+ documentation/man/hmmemit.man \
+ documentation/man/hmmer.man \
+ documentation/man/hmmfetch.man \
+ documentation/man/hmmlogo.man \
+ documentation/man/hmmpgmd.man \
+ documentation/man/hmmpgmd_shard.man \
+ documentation/man/hmmpress.man \
+ documentation/man/hmmscan.man \
+ documentation/man/hmmsearch.man \
+ documentation/man/hmmsim.man \
+ documentation/man/hmmstat.man \
+ documentation/man/jackhmmer.man \
+ documentation/man/makehmmerdb.man \
+ documentation/man/nhmmer.man \
+ documentation/man/nhmmscan.man \
+ documentation/man/phmmer.man \
+ ])
+
+# Substitutions in Easel man pages:
+# EASEL_VERSION, EASEL_DATE, EASEL_COPYRIGHT, EASEL_LICENSE, EASEL_URL
+AC_CONFIG_FILES([ \
+ easel/miniapps/esl-afetch.man \
+ easel/miniapps/esl-alimanip.man \
+ easel/miniapps/esl-alimap.man \
+ easel/miniapps/esl-alimask.man \
+ easel/miniapps/esl-alimerge.man \
+ easel/miniapps/esl-alipid.man \
+ easel/miniapps/esl-alirev.man \
+ easel/miniapps/esl-alistat.man \
+ easel/miniapps/esl-compalign.man \
+ easel/miniapps/esl-compstruct.man \
+ easel/miniapps/esl-construct.man \
+ easel/miniapps/esl-histplot.man \
+ easel/miniapps/esl-mask.man \
+ easel/miniapps/esl-mixdchlet.man \
+ easel/miniapps/esl-reformat.man \
+ easel/miniapps/esl-selectn.man \
+ easel/miniapps/esl-seqrange.man \
+ easel/miniapps/esl-seqstat.man \
+ easel/miniapps/esl-sfetch.man \
+ easel/miniapps/esl-shuffle.man \
+ easel/miniapps/esl-ssdraw.man \
+ easel/miniapps/esl-translate.man \
+ easel/miniapps/esl-weight.man \
+ ])
+
+AC_CONFIG_HEADERS([easel/decoy_config.h]) # Put this first to keep gnu 'autoheader' from overwriting a real config file.
+AC_CONFIG_HEADERS([src/p7_config.h])
+AC_CONFIG_HEADERS([easel/esl_config.h])
+AC_CONFIG_HEADERS([libdivsufsort/divsufsort.h])
+
+# the following incantation establishes a symlink of
+# src/impl_{whatever} to src/impl in the *build* directory.
+# Testsuite sqc tests rely on it.
+AC_CONFIG_LINKS([src/impl:${ac_top_build_prefix}src/impl_${impl_choice}])
+
+
+
+################################################################
+# 14. AC_OUTPUT
+################################################################
+AC_OUTPUT
+
+echo "
+
+HMMER configuration:
+ compiler: ${CC} ${CFLAGS} ${SSE_CFLAGS} ${VMX_CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS}
+ host: $host
+ linker: ${LDFLAGS}
+ libraries: ${LIBS} ${LIBGSL} ${PTHREAD_LIBS}
+ DP implementation: ${impl_choice}"
+
+
+if test x"$HAVE_PYTHON3" = x"yes"; then echo "
+Now do 'make' to build HMMER, and optionally:
+ 'make check' to run self tests,
+ 'make install' to install programs and man pages,
+ '(cd easel; make install)' to install Easel tools.
+";
+else echo "
+ (No python3 found, so 'make check' is disabled.)
+
+Now do 'make' to build HMMER, and optionally:
+ 'make install' to install programs and man pages,
+ '(cd easel; make install)' to install Easel tools.
+";
+fi
+
diff --git a/bioinformaticsProject/hmmer/documentation/Makefile.in b/bioinformaticsProject/hmmer/documentation/Makefile.in
new file mode 100644
index 0000000..e6fdd3c
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/Makefile.in
@@ -0,0 +1,42 @@
+top_srcdir = @top_srcdir@
+srcdir = @srcdir@
+VPATH = @srcdir@
+
+QUIET_SUBDIR0 = +${MAKE} -C #space separator after -c
+QUIET_SUBDIR1 =
+ifndef V
+ QUIET_SUBDIR0 = +@subdir=
+ QUIET_SUBDIR1 = ; echo ' ' SUBDIR $$subdir; \
+ ${MAKE} -s -C $$subdir
+endif
+
+
+.PHONY: pdf install uninstall clean distclean
+
+pdf:
+ ${QUIET_SUBDIR0}userguide ${QUIET_SUBDIR1} pdf
+
+# install, uninstall are always verbose; do not use quiet beautification
+install:
+ ${MAKE} -C man install
+
+uninstall:
+ ${MAKE} -C man uninstall
+
+clean:
+ ${QUIET_SUBDIR0}userguide ${QUIET_SUBDIR1} clean
+ ${QUIET_SUBDIR0}man ${QUIET_SUBDIR1} clean
+ -rm -f *~
+ifndef V
+ @echo ' ' CLEAN documentation
+endif
+
+
+distclean:
+ ${QUIET_SUBDIR0}userguide ${QUIET_SUBDIR1} distclean
+ ${QUIET_SUBDIR0}man ${QUIET_SUBDIR1} distclean
+ -rm -f *~
+ -rm -f Makefile
+ifndef V
+ @echo ' ' CLEAN documentation
+endif
diff --git a/bioinformaticsProject/hmmer/documentation/man/Makefile.in b/bioinformaticsProject/hmmer/documentation/man/Makefile.in
new file mode 100644
index 0000000..158b3ec
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/Makefile.in
@@ -0,0 +1,67 @@
+top_srcdir = @top_srcdir@
+srcdir = @srcdir@
+VPATH = @srcdir@
+SHELL = /bin/sh
+
+# Installation targets
+#
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+bindir = @bindir@
+libdir = @libdir@
+includedir = @includedir@
+mandir = @mandir@
+docdir = @docdir@
+pdfdir = @pdfdir@
+mandir = @mandir@
+man1dir = ${mandir}/man1
+man1ext = .1
+
+INSTALL = @INSTALL@
+
+MANS = hmmer\
+ hmmalign\
+ hmmbuild\
+ hmmc2\
+ hmmconvert\
+ hmmemit\
+ hmmfetch\
+ hmmlogo\
+ hmmpgmd\
+ hmmpgmd_shard\
+ hmmpress\
+ hmmscan\
+ hmmsearch\
+ hmmsim\
+ hmmstat\
+ jackhmmer\
+ makehmmerdb\
+ phmmer\
+ nhmmer\
+ nhmmscan\
+ alimask
+
+.PHONY: install uninstall clean distclean
+
+install:
+ for file in ${MANS}; do \
+ ${INSTALL} -m 0664 $$file.man ${DESTDIR}${man1dir}/$${file}${man1ext} ;\
+ done
+
+uninstall:
+ for file in ${MANS}; do \
+ rm ${DESTDIR}${man1dir}/$${file}${man1ext} ;\
+ done
+
+clean:
+ -rm -f *~
+ifndef V
+ @echo ' ' CLEAN man
+endif
+
+distclean:
+ -rm -f *~
+ -rm -f *.man
+ -rm -f Makefile
+
diff --git a/bioinformaticsProject/hmmer/documentation/man/alimask.man.in b/bioinformaticsProject/hmmer/documentation/man/alimask.man.in
new file mode 100644
index 0000000..a134677
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/alimask.man.in
@@ -0,0 +1,340 @@
+.TH "alimask" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+alimask \- calculate and add column mask to a multiple sequence alignment
+
+.SH SYNOPSIS
+.B alimask
+[\fIoptions\fR]
+.I msafile
+.I postmsafile
+
+
+.SH DESCRIPTION
+
+.PP
+.B alimask
+is used to apply a mask line to a multiple sequence
+alignment, based on provided alignment or model coordinates.
+When
+.B hmmbuild
+receives a masked alignment as input, it produces a profile
+model in which the emission probabilities at masked positions
+are set to match the background frequency, rather than being
+set based on observed frequencies in the alignment.
+Position-specific insertion and deletion rates are not
+altered, even in masked regions.
+.B alimask
+autodetects input format, and produces masked alignments
+in Stockholm format.
+.I msafile
+may contain only one sequence alignment.
+
+.PP
+A common motivation for masking a region in an alignment is
+that the region contains a simple tandem repeat that is
+observed to cause an unacceptably high rate of false positive
+hits.
+
+.PP
+In the simplest case, a mask range is given in coordinates
+relative to the input alignment, using
+.BI \-\-alirange " ".
+However it is more often the case that the region to be
+masked has been identified in coordinates relative to
+the profile model (e.g. based on recognizing a simple
+repeat pattern in false hit alignments or in the HMM logo).
+Not all alignment columns are converted to match state
+positions in the profile (see the
+.B \-\-symfrac
+flag for
+.B hmmbuild
+for discussion), so model positions do not necessarily match
+up to alignment column positions.
+To remove the burden of converting model positions to
+alignment positions,
+.B alimask
+accepts the mask range input in model coordinates as well,
+using
+.BI \-\-modelrange " ".
+When using this flag,
+.I alimask
+determines which alignment positions would be identified by
+.B hmmbuild
+as match states, a process that requires that all
+.B hmmbuild
+flags impacting that decision be supplied to
+.BR alimask .
+It is for this reason that many of the
+.B hmmbuild
+flags are also used by
+.BR alimask .
+
+
+
+.SH OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+.TP
+.BI \-o " "
+Direct the summary output to file
+.IR ,
+rather than to stdout.
+
+
+.SH OPTIONS FOR SPECIFYING MASK RANGE
+
+A single mask range is given as a dash-separated pair, like
+.B "\-\-modelrange 10\-20"
+and multiple ranges may be submitted as a comma-separated list,
+.BR "\-\-modelrange 10\-20,30\-42" .
+
+
+.TP
+.BI \-\-modelrange " "
+Supply the given range(s) in model coordinates.
+
+.TP
+.BI \-\-alirange " "
+Supply the given range(s) in alignment coordinates.
+
+.TP
+.B \-\-apendmask
+Add to the existing mask found with the alignment.
+The default is to overwrite any existing mask.
+
+.TP
+.BI \-\-model2ali " "
+Rather than actually produce the masked alignment, simply
+print model range(s) corresponding to input alignment
+range(s).
+
+.TP
+.BI \-\-ali2model " "
+Rather than actually produce the masked alignment, simply
+print alignment range(s) corresponding to input model
+range(s).
+
+
+.SH OPTIONS FOR SPECIFYING THE ALPHABET
+
+.TP
+.B \-\-amino
+Assert that sequences in
+.I msafile
+are protein, bypassing alphabet autodetection.
+
+.TP
+.B \-\-dna
+Assert that sequences in
+.I msafile
+are DNA, bypassing alphabet autodetection.
+
+.TP
+.B \-\-rna
+Assert that sequences in
+.I msafile
+are RNA, bypassing alphabet autodetection.
+
+
+
+.SH OPTIONS CONTROLLING PROFILE CONSTRUCTION
+
+These options control how consensus columns are defined in an alignment.
+
+.TP
+.B \-\-fast
+Define consensus columns as those that have a fraction >=
+.B symfrac
+of residues as opposed to gaps. (See below for the
+.B \-\-symfrac
+option.) This is the default.
+
+.TP
+.B \-\-hand
+Define consensus columns in next profile using reference annotation to
+the multiple alignment.
+This allows you to define any consensus columns you like.
+
+.TP
+.BI \-\-symfrac " "
+Define the residue fraction threshold necessary to define a
+consensus column when using the
+.B \-\-fast
+option. The default is 0.5. The symbol fraction in each column
+is calculated after taking relative sequence weighting into account,
+and ignoring gap characters corresponding to ends of sequence
+fragments
+(as opposed to internal insertions/deletions).
+Setting this to 0.0 means that every alignment column will be assigned
+as consensus, which may be useful in some cases. Setting it to 1.0
+means that only columns that include 0 gaps (internal
+insertions/deletions) will be assigned as consensus.
+
+.TP
+.BI \-\-fragthresh " "
+We only want to count terminal gaps as deletions if the aligned
+sequence is known to be full-length, not if it is a fragment (for
+instance, because only part of it was sequenced). HMMER uses a simple
+rule to infer fragments: if the sequence length L is less than
+or equal to a fraction
+.I
+times the alignment length in columns,
+then the sequence is handled as a fragment. The default is 0.5.
+Setting
+.B \-\-fragthresh 0
+will define no (nonempty) sequence as a fragment; you might want to do
+this if you know you've got a carefully curated alignment of full-length
+sequences.
+Setting
+.B \-\-fragthresh 1
+will define all sequences as fragments; you might want to do this if
+you know your alignment is entirely composed of fragments, such as
+translated short reads in metagenomic shotgun data.
+
+
+.SH OPTIONS CONTROLLING RELATIVE WEIGHTS
+
+HMMER uses an ad hoc sequence weighting algorithm to downweight
+closely related sequences and upweight distantly related ones. This
+has the effect of making models less biased by uneven phylogenetic
+representation. For example, two identical sequences would typically
+each receive half the weight that one sequence would. These options
+control which algorithm gets used.
+
+.TP
+.B \-\-wpb
+Use the Henikoff position-based sequence weighting scheme [Henikoff
+and Henikoff, J. Mol. Biol. 243:574, 1994]. This is the default.
+
+.TP
+.B \-\-wgsc
+Use the Gerstein/Sonnhammer/Chothia weighting algorithm [Gerstein et
+al, J. Mol. Biol. 235:1067, 1994].
+
+.TP
+.B \-\-wblosum
+Use the same clustering scheme that was used to weight data in
+calculating BLOSUM subsitution matrices [Henikoff and Henikoff,
+Proc. Natl. Acad. Sci 89:10915, 1992]. Sequences are single-linkage
+clustered at an identity threshold (default 0.62; see
+.BR \-\-wid )
+and within each cluster of c sequences, each sequence gets relative
+weight 1/c.
+
+.TP
+.B \-\-wnone
+No relative weights. All sequences are assigned uniform weight.
+
+.TP
+.BI \-\-wid " "
+Sets the identity threshold used by single-linkage clustering when
+using
+.BR \-\-wblosum .
+Invalid with any other weighting scheme. Default is 0.62.
+
+
+
+
+
+.SH OTHER OPTIONS
+
+.TP
+.BI \-\-informat " "
+Assert that input
+.I msafile
+is in alignment format
+.IR ,
+bypassing format autodetection.
+Common choices for
+.I
+include:
+.BR stockholm ,
+.BR a2m ,
+.BR afa ,
+.BR psiblast ,
+.BR clustal ,
+.BR phylip .
+For more information, and for codes for some less common formats,
+see main documentation.
+The string
+.I
+is case-insensitive (\fBa2m\fR or \fBA2M\fR both work).
+
+
+.TP
+.BI \-\-outformat " "
+Write the output
+.I postmsafile
+in alignment format
+.IR .
+Common choices for
+.I
+include:
+.BR stockholm ,
+.BR a2m ,
+.BR afa ,
+.BR psiblast ,
+.BR clustal ,
+.BR phylip .
+The string
+.I
+is case-insensitive (\fBa2m\fR or \fBA2M\fR both work).
+Default is
+.BR stockholm .
+
+
+.TP
+.BI \-\-seed " "
+Seed the random number generator with
+.IR ,
+an integer >= 0.
+If
+.I
+is nonzero, any stochastic simulations will be reproducible; the same
+command will give the same results.
+If
+.I
+is 0, the random number generator is seeded arbitrarily, and
+stochastic simulations will vary from run to run of the same command.
+The default seed is 42.
+
+
+
+.SH SEE ALSO
+
+See
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
+
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmalign.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmalign.man.in
new file mode 100644
index 0000000..4d72e86
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmalign.man.in
@@ -0,0 +1,185 @@
+.TH "hmmalign" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmalign \- align sequences to a profile
+
+.SH SYNOPSIS
+.B hmmalign
+[\fIoptions\fR]
+.I hmmfile
+.I seqfile
+
+.SH DESCRIPTION
+
+.PP
+Perform a multiple sequence alignment of all the sequences in
+.I seqfile
+by aligning them individually to the profile HMM in
+.I hmmfile.
+The new alignment is output to stdout.
+
+.PP
+The
+.I hmmfile
+should contain only a single profile. If it contains more, only the
+first profile in the file will be used.
+
+.PP
+Either
+.I hmmfile
+or
+.I seqfile
+(but not both) may be '\-' (dash), which
+means reading this input from stdin rather than a file.
+
+.PP
+The sequences in
+.I seqfile
+are aligned in unihit local alignment mode. Therefore they should
+already be known to contain only a single domain (or a fragment of one).
+The optimal alignment
+may assign some residues as nonhomologous (N and C states), in which
+case these residues are still included in the resulting alignment, but
+shoved to the outer edges. To trim these unaligned nonhomologous residues from
+the result, see the
+.B \-\-trim
+option.
+
+
+.SH OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+.TP
+.BI \-o " "
+Direct the output alignment to file
+.I ,
+rather than to stdout.
+
+.TP
+.BI \-\-mapali " "
+Merge the existing alignment in file
+.I
+into the result, where
+.I
+is exactly the same alignment that was used to build the model in
+.I hmmfile.
+This is done using a map of alignment columns to consensus
+profile positions that is stored in the
+.I hmmfile.
+The multiple alignment in
+.I
+will be exactly reproduced in its consensus columns (as defined by the
+profile), but the displayed alignment in insert columns may be
+altered, because insertions relative to a profile are considered by
+convention to be unaligned data.
+
+
+.TP
+.B \-\-trim
+Trim nonhomologous residues (assigned to N and C states in the optimal
+alignments) from the resulting multiple alignment output.
+
+.TP
+.B \-\-amino
+Assert that sequences in
+.I seqfile
+are protein, bypassing alphabet autodetection.
+
+.TP
+.B \-\-dna
+Assert that sequences in
+.I seqfile
+are DNA, bypassing alphabet autodetection.
+
+.TP
+.B \-\-rna
+Assert that sequences in
+.I seqfile
+are RNA, bypassing alphabet autodetection.
+
+
+.TP
+.BI \-\-informat " "
+Assert that input
+.I seqfile
+is in format
+.IR ,
+bypassing format autodetection.
+Common choices for
+.I
+include:
+.BR fasta ,
+.BR embl ,
+.BR genbank.
+Alignment formats also work;
+common choices include:
+.BR stockholm ,
+.BR a2m ,
+.BR afa ,
+.BR psiblast ,
+.BR clustal ,
+.BR phylip .
+For more information, and for codes for some less common formats,
+see main documentation.
+The string
+.I
+is case-insensitive (\fBfasta\fR or \fBFASTA\fR both work).
+
+.TP
+.BI \-\-outformat " "
+Write the output alignment
+in format
+.IR .
+Common choices for
+.I
+include:
+.BR stockholm ,
+.BR a2m ,
+.BR afa ,
+.BR psiblast ,
+.BR clustal ,
+.BR phylip .
+The string
+.I
+is case-insensitive (\fBa2m\fR or \fBA2M\fR both work).
+Default is
+.BR stockholm .
+
+
+
+.SH SEE ALSO
+
+See
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmbuild.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmbuild.man.in
new file mode 100644
index 0000000..7a14d86
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmbuild.man.in
@@ -0,0 +1,556 @@
+.TH "hmmbuild" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmbuild \- construct profiles from multiple sequence alignments
+
+.SH SYNOPSIS
+.B hmmbuild
+[\fIoptions\fR]
+.I hmmfile
+.I msafile
+
+
+.SH DESCRIPTION
+
+For each multiple sequence alignment in
+.I msafile
+build a profile HMM
+and save it to a new file
+.IR hmmfile .
+
+
+.PP
+.I msafile
+may be '\-' (dash), which means
+reading this input from stdin rather than a file.
+
+
+.PP
+.I hmmfile
+may not be '\-' (stdout), because sending the HMM file to stdout would
+conflict with the other text output of the program.
+
+
+
+
+.SH OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+.TP
+.BI \-n " "
+Name the new profile
+.IR .
+The default is to use the name of the alignment (if one is present in
+the
+.IR msafile ,
+or, failing that, the name of the
+.IR hmmfile .
+If
+.I msafile
+contains more than one alignment,
+.B \-n
+doesn't work, and every alignment must have a name
+annotated in the
+.I msafile
+(as in Stockholm #=GF ID annotation).
+
+
+.TP
+.BI \-o " "
+Direct the summary output to file
+.IR ,
+rather than to stdout.
+
+.TP
+.BI \-O " "
+After each model is constructed, resave annotated, possibly modified
+source alignments to a file
+.I
+in Stockholm format.
+The alignments are annotated with a reference annotation line
+indicating which columns were assigned as consensus, and sequences are
+annotated with what relative sequence weights were assigned. Some
+residues of the alignment may have been shifted to accommodate
+restrictions of the Plan7 profile architecture, which disallows
+transitions between insert and delete states.
+
+
+.SH OPTIONS FOR SPECIFYING THE ALPHABET
+
+.TP
+.B \-\-amino
+Assert that sequences in
+.I msafile
+are protein, bypassing alphabet autodetection.
+
+.TP
+.B \-\-dna
+Assert that sequences in
+.I msafile
+are DNA, bypassing alphabet autodetection.
+
+.TP
+.B \-\-rna
+Assert that sequences in
+.I msafile
+are RNA, bypassing alphabet autodetection.
+
+.SH OPTIONS CONTROLLING PROFILE CONSTRUCTION
+
+These options control how consensus columns are defined in an alignment.
+
+.TP
+.B \-\-fast
+Define consensus columns as those that have a fraction >=
+.B symfrac
+of residues as opposed to gaps. (See below for the
+.B \-\-symfrac
+option.) This is the default.
+
+.TP
+.B \-\-hand
+Define consensus columns in next profile using reference annotation to
+the multiple alignment.
+This allows you to define any consensus columns you like.
+
+.TP
+.BI \-\-symfrac " "
+Define the residue fraction threshold necessary to define a
+consensus column when using the
+.B \-\-fast
+option. The default is 0.5. The symbol fraction in each column
+is calculated after taking relative sequence weighting into account,
+and ignoring gap characters corresponding to ends of sequence
+fragments
+(as opposed to internal insertions/deletions).
+Setting this to 0.0 means that every alignment column will be assigned
+as consensus, which may be useful in some cases. Setting it to 1.0
+means that only columns that include 0 gaps (internal
+insertions/deletions) will be assigned as consensus.
+
+.TP
+.BI \-\-fragthresh " "
+We only want to count terminal gaps as deletions if the aligned
+sequence is known to be full-length, not if it is a fragment (for
+instance, because only part of it was sequenced). HMMER uses a simple
+rule to infer fragments: if the range of a sequence in the alignment
+(the number of alignment columns between the first and last positions
+of the sequence) is less than or equal to a fraction
+.I
+times the alignment length in columns,
+then the sequence is handled as a fragment. The default is 0.5.
+Setting
+.B \-\-fragthresh 0
+will define no (nonempty) sequence as a fragment; you might want to do
+this if you know you've got a carefully curated alignment of full\-length
+sequences.
+Setting
+.B \-\-fragthresh 1
+will define all sequences as fragments; you might want to do this if
+you know your alignment is entirely composed of fragments, such as
+translated short reads in metagenomic shotgun data.
+
+
+.SH OPTIONS CONTROLLING RELATIVE WEIGHTS
+
+HMMER uses an ad hoc sequence weighting algorithm to downweight
+closely related sequences and upweight distantly related ones. This
+has the effect of making models less biased by uneven phylogenetic
+representation. For example, two identical sequences would typically
+each receive half the weight that one sequence would. These options
+control which algorithm gets used.
+
+.TP
+.B \-\-wpb
+Use the Henikoff position-based sequence weighting scheme [Henikoff
+and Henikoff, J. Mol. Biol. 243:574, 1994]. This is the default.
+
+.TP
+.B \-\-wgsc
+Use the Gerstein/Sonnhammer/Chothia weighting algorithm [Gerstein et
+al, J. Mol. Biol. 235:1067, 1994].
+
+.TP
+.B \-\-wblosum
+Use the same clustering scheme that was used to weight data in
+calculating BLOSUM subsitution matrices [Henikoff and Henikoff,
+Proc. Natl. Acad. Sci 89:10915, 1992]. Sequences are single-linkage
+clustered at an identity threshold (default 0.62; see
+.BR \-\-wid )
+and within each cluster of c sequences, each sequence gets relative
+weight 1/c.
+
+.TP
+.B \-\-wnone
+No relative weights. All sequences are assigned uniform weight.
+
+.TP
+.BI \-\-wid " "
+Sets the identity threshold used by single-linkage clustering when
+using
+.BR \-\-wblosum .
+Invalid with any other weighting scheme. Default is 0.62.
+
+
+
+
+.SH OPTIONS CONTROLLING EFFECTIVE SEQUENCE NUMBER
+
+After relative weights are determined, they are normalized to sum to a
+total effective sequence number,
+.IR eff_nseq .
+This number may be the actual number of sequences in the alignment,
+but it is almost always smaller than that.
+The default entropy weighting method
+(\fB\-\-eent\fR)
+reduces the effective sequence
+number to reduce the information content (relative entropy, or average
+expected score on true homologs) per consensus position. The target
+relative entropy is controlled by a two-parameter function, where the
+two parameters are settable with
+.B \-\-ere
+and
+.BR \-\-esigma .
+
+.TP
+.B \-\-eent
+Adjust effective sequence number to achieve a specific relative entropy
+per position (see
+.BR \-\-ere ).
+This is the default.
+
+.TP
+.B \-\-eclust
+Set effective sequence number to the number of single-linkage clusters
+at a specific identity threshold (see
+.BR \-\-eid ).
+This option is not recommended; it's for experiments evaluating
+how much better
+.B \-\-eent
+is.
+
+.TP
+.B \-\-enone
+Turn off effective sequence number determination and just use the
+actual number of sequences. One reason you might want to do this is
+to try to maximize the relative entropy/position of your model, which
+may be useful for short models.
+
+.TP
+.BI \-\-eset " "
+Explicitly set the effective sequence number for all models to
+.IR .
+
+.TP
+.BI \-\-ere " "
+Set the minimum relative entropy/position target to
+.IR .
+Requires
+.BR \-\-eent .
+Default depends on the sequence alphabet. For protein
+sequences, it is 0.59 bits/position; for nucleotide
+sequences, it is 0.45 bits/position.
+
+.TP
+.BI \-\-esigma " "
+Sets the minimum relative entropy contributed by an entire
+model alignment, over its whole length. This has the effect
+of making short models have
+higher relative entropy per position than
+.B \-\-ere
+alone would give. The default is 45.0 bits.
+
+.TP
+.BI \-\-eid " "
+Sets the fractional pairwise identity cutoff used by
+single linkage clustering with the
+.B \-\-eclust
+option. The default is 0.62.
+
+
+.SH OPTIONS CONTROLLING PRIORS
+
+By default, weighted counts are converted to mean posterior
+probability parameter estimates using mixture Dirichlet priors.
+Default mixture Dirichlet prior parameters for protein models and for
+nucleic acid (RNA and DNA) models are built in. The following options
+allow you to override the default priors.
+
+.TP
+.B \-\-pnone
+Don't use any priors. Probability parameters will simply be the
+observed frequencies, after relative sequence weighting.
+
+.TP
+.B \-\-plaplace
+Use a Laplace +1 prior in place of the default mixture Dirichlet
+prior.
+
+
+
+
+.SH OPTIONS CONTROLLING SINGLE SEQUENCE SCORING
+
+By default, if a query is a single sequence from a file in
+.IR fasta
+format,
+.B hmmbuild
+constructs a search model from that sequence and a standard
+20x20 substitution matrix for residue probabilities, along with two
+additional parameters for position-independent gap open and gap extend
+probabilities. These options allow the default single-sequence scoring
+parameters to be changed, and for single-sequence scoring options to
+be applied to a single sequence coming from an aligned format.
+
+.TP
+.BI \-\-singlemx
+If a single sequence query comes from a multiple sequence alignment file,
+such as in
+.IR stockholm
+format, the search model is by default constructed as is typically done
+for multiple sequence alignments. This option forces
+.B hmmbuild
+to use the single-sequence method with substitution score matrix.
+
+.TP
+.BI \-\-mx " "
+Obtain residue alignment probabilities from the built-in
+substitution matrix named
+.IR .
+Several standard matrices are built-in, and do not need to be
+read from files.
+The matrix name
+.I
+can be
+PAM30, PAM70, PAM120, PAM240, BLOSUM45, BLOSUM50, BLOSUM62, BLOSUM80,
+BLOSUM90, or DNA1.
+Only one of the
+.B \-\-mx
+and
+.B \-\-mxfile
+options may be used.
+
+.TP
+.BI \-\-mxfile " "
+Obtain residue alignment probabilities from the substitution matrix
+in file
+.IR .
+The default score matrix is BLOSUM62 for protein sequences, and
+DNA1 for nucleotide sequences (these matrices are internal to
+HMMER and do not need to be available as a file).
+The format of a substitution matrix
+.I
+is the standard format accepted by BLAST, FASTA, and other sequence
+analysis software.
+See ftp.ncbi.nlm.nih.gov/blast/matrices/ for example files. (The only
+exception: we require matrices to be square, so for DNA, use files
+like NCBI's NUC.4.4, not NUC.4.2.)
+
+.TP
+.BI \-\-popen " "
+Set the gap open probability for a single sequence query model to
+.IR .
+The default is 0.02.
+.I
+must be >= 0 and < 0.5.
+
+.TP
+.BI \-\-pextend " "
+Set the gap extend probability for a single sequence query model to
+.IR .
+The default is 0.4.
+.I
+must be >= 0 and < 1.0.
+
+
+.SH OPTIONS CONTROLLING E-VALUE CALIBRATION
+
+The location parameters for the expected score distributions for MSV
+filter scores, Viterbi filter scores, and Forward scores require three
+short random sequence simulations.
+
+.TP
+.BI \-\-EmL " "
+Sets the sequence length in simulation that estimates the location
+parameter mu for MSV filter E-values. Default is 200.
+
+.TP
+.BI \-\-EmN " "
+Sets the number of sequences in simulation that estimates the location
+parameter mu for MSV filter E-values. Default is 200.
+
+.TP
+.BI \-\-EvL " "
+Sets the sequence length in simulation that estimates the location
+parameter mu for Viterbi filter E-values. Default is 200.
+
+.TP
+.BI \-\-EvN " "
+Sets the number of sequences in simulation that estimates the location
+parameter mu for Viterbi filter E-values. Default is 200.
+
+.TP
+.BI \-\-EfL " "
+Sets the sequence length in simulation that estimates the location
+parameter tau for Forward E-values. Default is 100.
+
+.TP
+.BI \-\-EfN " "
+Sets the number of sequences in simulation that estimates the location
+parameter tau for Forward E-values. Default is 200.
+
+.TP
+.BI \-\-Eft " "
+Sets the tail mass fraction to fit in the simulation that estimates
+the location parameter tau for Forward evalues. Default is 0.04.
+
+
+.SH OTHER OPTIONS
+
+.TP
+.BI \-\-cpu " "
+Set the number of parallel worker threads to
+.IR .
+On multicore machines, the default is 2.
+You can also control this number by setting an environment variable,
+.IR HMMER_NCPU .
+There is also a master thread, so the actual number of threads that
+HMMER spawns is
+.IR +1.
+
+This option is not available if HMMER was compiled with POSIX threads
+support turned off.
+
+
+
+.TP
+.BI \-\-informat " "
+Assert that input
+.I msafile
+is in alignment format
+.IR ,
+bypassing format autodetection.
+Common choices for
+.I
+include:
+.BR stockholm ,
+.BR a2m ,
+.BR afa ,
+.BR psiblast ,
+.BR clustal ,
+.BR phylip .
+For more information, and for codes for some less common formats,
+see main documentation.
+The string
+.I
+is case-insensitive (\fBa2m\fR or \fBA2M\fR both work).
+
+
+.TP
+.BI \-\-seed " "
+Seed the random number generator with
+.IR ,
+an integer >= 0.
+If
+.I
+is nonzero, any stochastic simulations will be reproducible; the same
+command will give the same results.
+If
+.I
+is 0, the random number generator is seeded arbitrarily, and
+stochastic simulations will vary from run to run of the same command.
+The default seed is 42.
+
+
+.TP
+.BI \-\-w_beta " "
+Window length tail mass.
+The upper bound,
+.IR W ,
+on the length at which nhmmer expects to find an instance of the
+model is set such that the fraction of all sequences generated
+by the model with length
+.I ">= W"
+is less than
+.IR .
+The default is 1e-7.
+
+
+
+.TP
+.BI \-\-w_length " "
+Override the model instance length upper bound,
+.IR W ,
+which is otherwise controlled by
+.BR \-\-w_beta .
+It should be larger than the model length. The value of
+.I W
+is used deep in the acceleration pipeline, and modest changes
+are not expected to impact results (though larger values of
+.I W
+do lead to longer run time).
+
+
+.TP
+.B \-\-mpi
+Run as a parallel MPI program. Each alignment is assigned to a MPI
+worker node for construction. (Therefore, the maximum parallelization
+cannot exceed the number of alignments in the input
+.IR msafile .)
+This is useful when building large profile libraries. This option is
+only available if optional MPI capability was enabled at compile-time.
+
+
+.TP
+.B \-\-stall
+For debugging MPI parallelization: arrest program execution
+immediately after start, and wait for a debugger to attach to the
+running process and release the arrest.
+
+
+.TP
+.BI \-\-maxinsertlen " "
+Restrict insert length parameterization such that the expected
+insert length at each position of the model is no more than
+.IR .
+
+
+
+
+.SH SEE ALSO
+
+See
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
+
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmc2.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmc2.man.in
new file mode 100644
index 0000000..473659b
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmc2.man.in
@@ -0,0 +1,78 @@
+.TH "hmmc2" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmc2 \- example client for the HMMER daemon
+
+
+.SH SYNOPSIS
+.B hmmc2
+[\fIoptions\fR]
+
+
+.SH DESCRIPTION
+
+.PP
+.B Hmmc2
+is a text client for the hmmpgmd or hmmpgmd_shard daemons. When run, it opens a connection to a daemon at the specified
+IP address and port, and then enters an interactive loop waiting for the user to input commands to be sent to the daemon.
+See the User's Guide for the HMMER Daemon for a discussion of hmmpgmd's command format.
+
+
+.SH OPTIONS
+
+.TP
+.B \-i
+Specify the IP address of the daemon that hmmc2 should connect to. Defaults to 127.0.0.1 if not provided
+
+
+.TP
+.B \-p
+Specify the port number that the daemon is listening on. Defaults to 51371 if not provided
+
+
+.TP
+.B \-S
+Print the scores of any hits found during searches.
+
+
+.TP
+.B \-A
+Print the alignment of any hits found during searches. This is a superset of the "-S" flag, so providing both is redundant.
+
+
+
+.SH SEE ALSO
+
+See
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
+
+
+
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmconvert.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmconvert.man.in
new file mode 100644
index 0000000..468b92e
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmconvert.man.in
@@ -0,0 +1,106 @@
+.TH "hmmconvert" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmconvert \- convert profile file to various formats
+
+
+.SH SYNOPSIS
+.B hmmconvert
+[\fIoptions\fR]
+.I hmmfile
+
+
+.SH DESCRIPTION
+
+.PP
+The
+.B hmmconvert
+utility
+converts an input profile file to different HMMER formats.
+
+.PP
+By default, the input profile can be in any HMMER format, including
+old/obsolete formats from HMMER2, ASCII or binary; the output profile
+is a current HMMER3 ASCII format.
+
+.PP
+.I hmmfile
+may be '\-' (dash), which means reading this input from stdin rather
+than a file.
+
+
+.SH OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+.TP
+.B \-a
+Output profiles in ASCII text format. This is the default.
+
+.TP
+.B \-b
+Output profiles in binary format.
+
+.TP
+.B \-2
+Output in legacy HMMER2 ASCII text format, in ls (glocal) mode. This
+allows HMMER3 models to be converted back to a close approximation of
+HMMER2, for comparative studies.
+
+.TP
+.BI \-\-outfmt " "
+Output in a HMMER3 ASCII text format other then the most current one.
+Valid choices for
+.I
+are
+.B "3/a"
+through
+.BR "3/f" .
+The current format is
+.BR 3/f ,
+and this is the default. The format
+.B 3/b
+was used in the official HMMER3 release, and the others were used in
+the various testing versions.
+
+
+.SH SEE ALSO
+
+See
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
+
+
+
+"
+
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmemit.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmemit.man.in
new file mode 100644
index 0000000..4f3d83e
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmemit.man.in
@@ -0,0 +1,250 @@
+.TH "hmmemit" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmemit \- sample sequences from a profile
+
+.SH SYNOPSIS
+.B hmmemit
+[\fIoptions\fR]
+.I hmmfile
+
+
+.SH DESCRIPTION
+
+.PP
+The
+.B hmmemit
+program
+samples (emits) sequences from the profile HMM(s) in
+.IR hmmfile ,
+and writes them to output.
+Sampling sequences may be useful for a variety of purposes, including
+creating synthetic true positives for benchmarks or tests.
+
+.PP
+The default is to sample one unaligned sequence from the core
+probability model, which means that each sequence consists of one
+full-length domain. Alternatively, with the
+.B \-c
+option, you can emit a simple majority-rule consensus sequence;
+or with the
+.B \-a
+option, you can emit an alignment (in which case, you probably
+also want to set
+.B \-N
+to something other than its default of 1 sequence per model).
+
+.PP
+As another option, with the
+.B \-p
+option you can sample a sequence from a fully configured HMMER search
+profile. This means sampling a `homologous sequence' by HMMER's
+definition, including nonhomologous flanking sequences, local
+alignments, and multiple domains per sequence, depending on the length
+model and alignment mode chosen for the profile.
+
+.PP
+The
+.I hmmfile
+may contain a library of HMMs, in which case
+each HMM will be used in turn.
+
+.PP
+.I hmmfile
+may be '\-' (dash), which
+means reading this input from stdin rather than a file.
+
+
+.SH COMMON OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+
+.TP
+.BI \-o " "
+Direct the output sequences to file
+.IR ,
+rather than to stdout.
+
+.TP
+.BI \-N " "
+Sample
+.I
+sequences per model, rather than just one.
+
+
+
+.SH OPTIONS CONTROLLING WHAT TO EMIT
+
+The default is to sample
+.B N
+sequences from the core model. Alternatively,
+you may choose one (and only one) of the following alternatives.
+
+
+.TP
+.B \-a
+Emit an alignment for each HMM in the
+.I hmmfile
+rather than sampling unaligned sequences one at a time.
+
+.TP
+.B \-c
+Emit a plurality-rule consensus sequence, instead of sampling a
+sequence from the profile HMM's probability distribution. The
+consensus sequence is formed by selecting the maximum probability
+residue at each match state.
+
+.TP
+.B \-C
+Emit a fancier plurality-rule consensus sequence than the
+.B \-c
+option. If the maximum probability residue has p <
+.B minl
+show it as a lower case 'any' residue (n or x); if p >=
+.B minl
+and <
+.B minu
+show it as a lower case residue; and if p >=
+.B minu
+show it as an upper case residue.
+The default settings of
+.B minu
+and
+.B minl
+are both 0.0, which means
+.B \-C
+gives the same output as
+.B \-c
+unless you also set
+.B minu
+and
+.B minl
+to what you want.
+
+.TP
+.B \-p
+Sample unaligned sequences from the implicit search profile, not from
+the core model. The core model consists only of the homologous states
+(between the begin and end states of a HMMER Plan7 model). The profile
+includes the nonhomologous N, C, and J states, local/glocal and
+uni/multihit algorithm configuration, and the target length model.
+Therefore sequences sampled from a profile may include nonhomologous
+as well as homologous sequences, and may contain more than one
+homologous sequence segment. By default, the profile is in multihit
+local mode, and the target sequence length is configured for L=400.
+
+
+
+
+.SH OPTIONS CONTROLLING EMISSION FROM PROFILES
+
+These options require that you have set the
+.B \-p
+option.
+
+.TP
+.BI \-L " "
+Configure the profile's target sequence length model to generate a
+mean length of approximately rather than the default of 400.
+
+.TP
+.B \-\-local
+Configure the profile for multihit local alignment.
+
+.TP
+.B \-\-unilocal
+Configure the profile for unihit local alignment (Smith/Waterman).
+
+.TP
+.B \-\-glocal
+Configure the profile for multihit glocal alignment.
+
+.TP
+.B \-\-uniglocal
+Configure the profile for unihit glocal alignment.
+
+
+.SH OPTIONS CONTROLLING FANCY CONSENSUS EMISSION
+
+These options require that you have set the
+.B \-C
+option.
+
+.TP
+.BI \-\-minl " "
+Sets the
+.B minl
+threshold for showing weakly conserved residues as lower case.
+(0 <= x <= 1)
+
+.TP
+.BI \-\-minu " "
+Sets the
+.B minu
+threshold for showing strongly conserved residues as upper case.
+(0 <= x <= 1)
+
+
+
+.SH OTHER OPTIONS
+
+.TP
+.BI \-\-seed " "
+Seed the random number generator with
+.IR ,
+an integer >= 0.
+If
+.I
+is nonzero, any stochastic simulations will be reproducible; the same
+command will give the same results.
+If
+.I
+is 0, the random number generator is seeded arbitrarily, and
+stochastic simulations will vary from run to run of the same command.
+The default is 0: use an arbitrary seed, so different
+.B hmmemit
+runs will generate different samples.
+
+
+
+
+
+.SH SEE ALSO
+
+See
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
+
+
+
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmer.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmer.man.in
new file mode 100644
index 0000000..6ab6542
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmer.man.in
@@ -0,0 +1,199 @@
+.TH "HMMER" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+
+HMMER \- profile HMMs for biological sequence analysis
+
+.SH SYNOPSIS
+
+.nf
+.B hmmalign
+ Align sequences to a profile
+
+.B hmmbuild
+ Construct profiles from multiple sequence alignments
+
+.B hmmconvert
+ Convert profile file to various formats
+
+.B hmmemit
+ Sample sequences from a profile
+
+.B hmmfetch
+ Retrieve profiles from a file
+
+.B hmmlogo
+ Produce a conservation logo graphic from a profile
+
+.B hmmpgmd
+ Daemon for database search web services
+
+.B hmmpress
+ Prepare a profile database for hmmscan
+
+.B hmmscan
+ Search sequence(s) against a profile database
+
+.B hmmsearch
+ Search profile(s) against a sequence database
+
+.B hmmsim
+ Collect profile score distributions on random sequences
+
+.B hmmstat
+ Summary statistics for a profile file
+
+.B jackhmmer
+ Iteratively search sequence(s) against a sequence database
+
+.B makehmmerdb
+ build nhmmer database from a sequence file
+
+.B nhmmer
+ Search DNA/RNA queries against a DNA/RNA sequence database
+
+.B nhmmscan
+ Search DNA/RNA sequence(s) against a DNA/RNA profile database
+
+.B phmmer
+ Search protein sequence(s) against a protein sequence database
+
+.B alimask
+ Calculate and add column mask to a multiple sequence alignment
+.fi
+
+.SH DESCRIPTION
+
+HMMER is a suite of several programs for biological sequence alignment
+and database homology search. It uses probabilistic models called
+"profile hidden Markov models" (profile HMMs) to represent the likely
+evolutionary homologs of a single sequence or a multiple alignment of
+a sequence family. A main avenue of research is to improve the
+evolutionary predictive models in HMMER to be able to recognize and
+accurately align increasingly remote homologs, distant in time.
+
+HMMER is also used as an organizational tool, to group the
+exponentially growing number of biological sequences into a vastly
+smaller set of well-annotated sequence families. New sequences can be
+annotated by comparison against curated sequence family databases of
+prebuilt HMMER profiles, in addition or instead of comparison to the
+entire sequence database. Databases such as Pfam, SMART, and
+TIGRfams, among others, are based on this principle.
+
+HMMER is used in three main modes: to search a sequence database for
+new homologs of a sequence or a sequence family; to search a profile
+database (like Pfam) to find what known family a query sequence
+belongs to, or what domains it has; and to automatically construct
+large multiple alignments (i.e. with an effectively unlimited number
+of sequences) using a profile representative of a sequence family.
+
+
+Suppose you have a multiple sequence alignment of a sequence family of
+interest, and you want to search a sequence database for additional
+homologs. The
+.B hmmbuild
+program builds profile(s) from multiple alignment(s).
+The
+.B hmmsearch
+program searches protein profile(s) against a protein sequence database,
+and
+.B nhmmer
+searches nucleotide profile(s) against a nucleotide sequence database.
+
+Suppose you have a single sequence of interest, and you want to search
+a sequence database for additional homologs. The
+.B phmmer
+program searches a single protein sequence against a protein sequence
+database. The
+.B jackhmmer
+program does the same thing but iteratively -- homologs detected in a
+previous round are incorporated into a new profile, and the new
+profile is searched again.
+.B phmmer
+is used like BLASTP, and
+.B jackhmmer
+is used like a protein PSI-BLAST. The
+.B nhmmer
+program searches a single nucleotide sequence against a nucleotide sequence.
+
+Suppose you have sequence(s) that you want to analyze using a
+HMMER-based profile HMM database like Pfam (http://pfam.sanger.ac.uk).
+The
+.B hmmpress
+program formats a profile HMM flatfile (such as the file you
+would download from Pfam) into a HMMER binary database.
+The
+.B hmmscan
+program searches protein sequence(s) against that database.
+The
+.B nhmmscan
+program can similarly search nucleotide sequence(s) against
+a pressed database of nucleotide profiles, such as from
+Dfam (http://dfam.janelia.org).
+
+
+Suppose you want to align lots of sequences. You can construct a
+manageably small alignment of a representative set of sequences,
+build a profile with
+.BR hmmbuild ,
+and use the
+.B hmmalign
+program to align any number of sequences to that profile.
+
+HMMER also includes some auxiliary tools for working with large
+profile databases.
+.B hmmfetch
+fetches one or more profiles from a database.
+.B hmmstat
+prints summary statistics about a profile file.
+
+For compatibility with other profile software and previous versions of
+HMMER, the
+.B hmmconvert
+program converts profiles to a few other formats. We intend to add
+more support for other formats over time.
+
+The
+.B hmmemit
+program generates (simulates) "homologous" sequences by sampling from
+a profile. It can also generate a "consensus" sequence.
+
+The
+.B hmmsim
+program is a simulator used for collecting statistics about score
+distributions on random sequences.
+
+Each program has its own man page.
+
+
+.SH SEE ALSO
+
+This is a summary man page for the entire HMMER3 package.
+See individual man pages
+[\fBhmmbuild\fR(1),
+for example] for usage, options, and description of each program in the package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmfetch.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmfetch.man.in
new file mode 100644
index 0000000..e621892
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmfetch.man.in
@@ -0,0 +1,195 @@
+.TH "hmmfetch" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmfetch \- retrieve profiles from a file
+
+.SH SYNOPSIS
+
+.nf
+\fBhmmfetch\fR [\fIoptions\fR] \fIhmmfile key\fR
+ (retrieve HMM named \fIkey\fR)
+
+\fBhmmfetch \-f \fR[\fIoptions\fR] \fIhmmfile keyfile\fR
+ (retrieve all HMMs listed in \fIkeyfile\fR)
+
+\fBhmmfetch \-\-index \fR[\fIoptions\fR] \fIhmmfile\fR
+ (index \fIhmmfile\fR for fetching)
+.fi
+
+.SH DESCRIPTION
+
+.PP
+Quickly retrieves one or more profile HMMs from an
+.I hmmfile
+(a large Pfam database, for example).
+
+.PP
+For maximum speed, the
+.I hmmfile
+should be indexed first, using
+.BR "hmmfetch \-\-index" .
+The index is a binary file named
+.IR hmmfile .ssi.
+However, this is optional, and retrieval will still
+work from unindexed files, albeit much more slowly.
+
+.PP
+The default mode is to retrieve a single profile by name or
+accession, called the
+.IR key .
+For example:
+
+.nf
+ \fB% hmmfetch Pfam-A.hmm Caudal_act\fR
+ \fB% hmmfetch Pfam-A.hmm PF00045\fR
+.fi
+
+.PP
+With the
+.B \-f
+option, a
+.I keyfile
+containing a list of one or more keys is read instead.
+The first whitespace-delimited field on each non-blank non-comment
+line of the
+.I keyfile
+is used as a
+.IR key ,
+and any remaining data on the line is ignored. This allows
+a variety of whitespace delimited datafiles to be used
+as a
+.IR keyfile .
+
+.PP
+When using
+.B \-f
+and a
+.IR keyfile ,
+if
+.B hmmfile
+has been indexed, the keys are retrieved in the order
+they occur in the
+.IR keyfile ,
+but if
+.B hmmfile
+isn't indexed, keys are retrieved in the order they occur
+in the
+.BR hmmfile .
+This is a side effect of an implementation that allows
+multiple keys to be retrieved even if the
+.B hmmfile
+is a nonrewindable stream, like a standard input pipe.
+
+.PP
+In normal use
+(without
+.B \-\-index
+or
+.B \-f
+options),
+.I hmmfile
+may be '\-' (dash), which
+means reading input from stdin rather than a file.
+With the
+.B \-\-index
+option,
+.I hmmfile
+may not be '\-'; it does not make sense
+to index a standard input stream.
+With the
+.B \-f
+option,
+either
+.I hmmfile
+or
+.I keyfile
+(but not both) may be '\-'.
+It is often particularly useful to read
+.I keyfile
+from standard input, because this allows
+use to use arbitrary command line invocations to
+create a list of HMM names or accessions, then fetch them all
+to a new file, just with one command.
+
+.PP
+By default, fetched HMMs are printed to standard output in HMMER3 format.
+
+
+.SH OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+.TP
+.B \-f
+The second commandline argument is a
+.I keyfile
+instead of a single
+.IR key .
+The first field on each line of the
+.I keyfile
+is used as a retrieval
+.I key
+(an HMM name or accession).
+Blank lines and comment lines (that start with
+a # character) are ignored.
+
+.TP
+.BI \-o " "
+Output HMM(s) to file
+.I
+instead of to standard output.
+
+.TP
+.B \-O
+Output HMM(s) to individual file(s) named
+.I key
+instead of standard output.
+
+.TP
+.B \-\-index
+Instead of retrieving one or more profiles from
+.IR hmmfile ,
+index the
+.I hmmfile
+for future retrievals.
+This creates a
+.IR hmmfile .ssi
+binary index file.
+
+
+
+.SH SEE ALSO
+
+See
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmlogo.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmlogo.man.in
new file mode 100644
index 0000000..4162856
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmlogo.man.in
@@ -0,0 +1,99 @@
+.TH "hmmlogo" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmlogo \- produce a conservation logo graphic from a profile
+
+
+.SH SYNOPSIS
+.B hmmlogo
+[\fIoptions\fR]
+.I hmmfile
+
+
+.SH DESCRIPTION
+
+.PP
+.B hmmlogo
+computes letter height and indel parameters that can be used to
+produce a profile HMM logo. This tool is essentially a
+command-line interface for much of the data underlying the Skylign
+logo server (skylign.org).
+
+By default,
+.B hmmlogo
+prints out a table of per-position letter heights (dependent on the
+requested height method), then prints a table of per-position gap
+probabilities.
+
+In a typical logo, the total height of a stack of letters for one
+position depends on the information content of the position, and
+that stack height is subdivided according to the emission
+probabilities of the letters of the alphabet.
+
+
+.SH OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+
+.TP
+.B \-\-height_relent_all
+Total height = relative entropy (aka information content); all letters
+are given a positive height. (default)
+
+.TP
+.B \-\-height_relent_abovebg
+Total height = relative entropy (aka information content); only letters
+with above-background probability are given positive height.
+
+.TP
+.B \-\-height_score
+Total height = sums of scores of positive-scoring letters; letter
+height depends on the score of that letter at that position. Only
+letters with above-background probability (positive score) are
+given positive height. (Note that only letter height is meaningful -
+stack height has no inherent meaning).
+
+.TP
+.B \-\-no_indel
+Don't print out the indel probability table.
+
+
+.SH SEE ALSO
+
+See
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
+
+
+
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmpgmd.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmpgmd.man.in
new file mode 100644
index 0000000..185ab8b
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmpgmd.man.in
@@ -0,0 +1,219 @@
+.TH "hmmpgmd" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmpgmd \- daemon for database search web services
+
+
+.SH SYNOPSIS
+.B hmmpgmd
+[\fIoptions\fR]
+
+
+.SH DESCRIPTION
+
+.PP
+The
+.B hmmpgmd
+program is the daemon that we use internally for the hmmer.org web server.
+It essentially stands in front of the search programs
+.BR phmmer ,
+.BR hmmsearch ,
+and
+.BR hmmscan .
+
+.PP
+To use
+.BR hmmpgmd ,
+first an instance must be started up as a
+master
+server, and provided with at least one
+sequence database
+(using the
+.B \-\-seqdb
+flag)
+and/or an
+HMM database
+(using the
+.B \-\-hmmdb
+flag).
+A sequence database must be in hmmpgmd format, which may be
+produced using
+.BR esl-reformat .
+An HMM database is of the form produced by
+.BR hmmbuild .
+The input database(s) will be loaded into memory by the
+master. When the master has finished loading the database(s), it
+prints the line:
+"Data loaded into memory. Master is ready."
+
+
+.PP
+After the master is ready, one or more instances of hmmpgmd may
+be started as workers. These workers may be (and typically are) on
+different machines from the master, but must have access to the
+same database file(s) provided to the master, with the same path. As
+with the master, each worker loads the database(s) into memory, and
+indicates completion by printing: "Data loaded into memory. Worker is ready."
+
+
+.PP
+The master process and workers are expected to remain running.
+One or more clients then connect to the master and submit possibly
+many queries. The master distributes the work of a query among the
+workers, collects results, and merges them before responding to the
+client. Two example client programs are included in the HMMER src
+directory - the C program
+.B hmmc2
+and the perl script
+.BR hmmpgmd_client_example.pl .
+These are intended as examples only, and should be extended as
+necessary to meet your needs.
+
+.PP
+A query is submitted to the master from the client as a character
+string. Queries may be the sort that would normally be handled
+by
+.B phmmer
+(protein sequence vs protein database),
+.B hmmsearch
+(protein HMM query vs protein database), or
+.B hmmscan
+(protein query vs protein HMM database).
+
+
+The general form of a client query is to start with a single line
+of the form
+.BR "@[options]" ,
+followed by multiple lines of text representing either the query HMM
+or fasta-formatted sequence. The final line of each query is the separator
+.BR "//" .
+
+
+.PP
+For example, to perform a
+.B phmmer
+type search of a sequence against a sequence database
+file, the first line is of the form
+.BR "@\-\-seqdb 1" ,
+then the fasta-formatted query sequence starting with the header line
+.BR >sequence-name ,
+followed by one or more lines of sequence, and finally the closing
+.BR "//" .
+
+.PP
+To perform an
+.B hmmsearch
+type search, the query sequence is replaced by the full
+text of a HMMER-format query HMM.
+
+.PP
+To perform an
+.B hmmscan
+type search, the text matches that of the
+.B phmmer
+type search, except that the first line changes to
+.BR "@\-\-hmmdb 1" .
+
+.PP
+In the hmmpgmd-formatted sequence database file, each sequence
+can be associated with one or more sub-databases. The
+.B \-\-seqdb
+flag indicates which of these sub-databases will be queried.
+The HMM database format does not support sub-databases.
+
+
+
+
+.SH OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+.TP
+.BI \-\-master
+Run as the master server.
+
+.TP
+.BI \-\-worker " "
+Run as a worker, connecting to the master server that is running on IP
+address
+.IR .
+
+.TP
+.BI \-\-cport " "
+Port to use for communication between clients and the master server.
+The default is 51371.
+
+.TP
+.BI \-\-wport " "
+Port to use for communication between workers and the master server.
+The default is 51372.
+
+.TP
+.BI \-\-ccncts " "
+Maximum number of client connections to accept. The default is 16.
+
+.TP
+.BI \-\-wcncts " "
+Maximum number of worker connections to accept. The default is 32.
+
+.TP
+.BI \-\-pid " "
+Name of file into which the process id will be written.
+
+.TP
+.BI \-\-seqdb " "
+Name of the file (in
+.B hmmpgmd
+format) containing protein sequences.
+The contents of this file will be cached for searches.
+
+.TP
+.BI \-\-hmmdb " "
+Name of the file containing protein HMMs. The contents of this file
+will be cached for searches.
+
+.TP
+.BI \-\-cpu " "
+Number of parallel threads to use (for
+.B \-\-worker
+).
+
+
+.SH SEE ALSO
+
+See
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
+
+
+
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmpgmd_shard.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmpgmd_shard.man.in
new file mode 100644
index 0000000..87630e9
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmpgmd_shard.man.in
@@ -0,0 +1,162 @@
+.TH "hmmpgmd_shard" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmpgmd_shard \- sharded daemon for database search web services
+
+
+.SH SYNOPSIS
+.B hmmpgmd_shard
+[\fIoptions\fR]
+
+
+.SH DESCRIPTION
+
+.PP
+The
+.B hmmpgmd_shard
+program provides a sharded version of the
+.B hmmpgmd
+program that we use internally to implement high-performance HMMER services that can be accessed via the internet. See the
+.B hmmpgmd
+man page for a discussion of how the base
+.B hmmpgmd
+program is used. This man page discusses differences between
+.B hmmpgmd_shard
+and
+.B hmmpgmd.
+The base
+.B hmmpgmd
+program loads the entirety of its database file into RAM on every worker node, in spite of the fact that each worker node searches a predictable fraction of the database(s) contained in that file when performing searches. This wastes RAM, particularly when many worker nodes are used to accelerate searches of large databases.
+
+.PP
+.B Hmmpgmd_shard
+addresses this by dividing protein sequence database files into shards. Each worker node loads only 1/Nth of the database file, where N is the number of worker nodes attached to the master. HMM database files are not sharded, meaning that every worker node will load the entire database file into RAM. Current HMM databases are much smaller than current protein sequence databases, and easily fit into the RAM of modern servers even without sharding.
+
+.PP
+.B Hmmpgmd_shard
+is used in the same manner as
+.B hmmpgmd
+, except that it takes one additional argument:
+.BI \-\-num_shards " "
+, which specifies the number of shards that protein databases will be divided into, and defaults to 1 if unspecified. This argument is only valid for the master node of a
+.B hmmpgmd
+system (i.e., when
+.BI \-\-master
+is passed to the
+.B hmmpgmd
+program), and must be equal to the number of worker nodes that will connect to the master node.
+.B Hmmpgmd_shard
+will signal an error if more than
+.BI num_shards
+worker nodes attempt to connect to the master node or if a search is started when fewer than
+.BI num_shards
+workers are connected to the master.
+
+.SH OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+.TP
+.BI \-\-master
+Run as the master server.
+
+.TP
+.BI \-\-worker " "
+Run as a worker, connecting to the master server that is running on IP
+address
+.IR .
+
+.TP
+.BI \-\-cport " "
+Port to use for communication between clients and the master server.
+The default is 51371.
+
+.TP
+.BI \-\-wport " "
+Port to use for communication between workers and the master server.
+The default is 51372.
+
+.TP
+.BI \-\-ccncts " "
+Maximum number of client connections to accept. The default is 16.
+
+.TP
+.BI \-\-wcncts " "
+Maximum number of worker connections to accept. The default is 32.
+
+.TP
+.BI \-\-pid " "
+Name of file into which the process id will be written.
+
+.TP
+.BI \-\-seqdb " "
+Name of the file (in
+.B hmmpgmd
+format) containing protein sequences.
+The contents of this file will be cached for searches.
+
+.TP
+.BI \-\-hmmdb " "
+Name of the file containing protein HMMs. The contents of this file
+will be cached for searches.
+
+.TP
+.BI \-\-cpu " "
+Number of parallel threads to use (for
+.B \-\-worker
+).
+
+.TP
+.BI \-\-num_shards " "
+Number of shards to divide cached sequence database(s) into. HMM databases are not sharded, due to their small size.
+This option is only valid when the
+.B \-\-master
+option is present, and defaults to 1 if not specified.
+.B Hmmpgmd_shard
+requires that the number of shards be equal to the number of worker nodes, and will give errors if more than
+.BI num_shards
+workers attempt to connect to the master node or if a search is started with fewer than
+.BI num_shards
+workers connected to the master.
+
+.SH SEE ALSO
+
+See
+.BR hmmmpgmd (1)
+for a description of the base hmmpgmd command and how the daemon should be used.
+
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
+
+
+
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmpress.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmpress.man.in
new file mode 100644
index 0000000..d4387ad
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmpress.man.in
@@ -0,0 +1,106 @@
+.TH "hmmpress" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmpress \- prepare a profile database for hmmscan
+
+.SH SYNOPSIS
+
+.B hmmpress
+[\fIoptions\fR]
+.I hmmfile
+
+
+.SH DESCRIPTION
+
+.PP
+Constructs binary compressed datafiles for
+.BR hmmscan ,
+starting from a profile database
+.I hmmfile
+in standard HMMER3 format.
+The
+.B hmmpress
+step is required for
+.B hmmscan
+to work.
+
+.PP
+Four files are created:
+.IB hmmfile .h3m,
+.IB hmmfile .h3i,
+.IB hmmfile .h3f,
+and
+.IB hmmfile .h3p.
+The
+.IB hmmfile .h3m
+file contains the profile HMMs and their annotation in a binary
+format.
+The
+.IB hmmfile .h3i
+file is an SSI index for the
+.IB hmmfile .h3m
+file.
+The
+.IB hmmfile .h3f
+file contains precomputed data structures
+for the fast heuristic filter (the MSV filter).
+The
+.IB hmmfile .h3p
+file contains precomputed data structures
+for the rest of each profile.
+
+.PP
+.I hmmfile
+may not be '\-' (dash); running
+.B hmmpress
+on a standard input stream rather than a file
+is not allowed.
+
+
+.SH OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+.TP
+.B \-f
+Force; overwrites any previous hmmpress'ed datafiles. The default is
+to bitch about any existing files and ask you to delete them first.
+
+
+
+
+.SH SEE ALSO
+
+See
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmscan.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmscan.man.in
new file mode 100644
index 0000000..28cc9b7
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmscan.man.in
@@ -0,0 +1,466 @@
+.TH "hmmscan" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmscan \- search sequence(s) against a profile database
+
+
+.SH SYNOPSIS
+.B hmmscan
+[\fIoptions\fR]
+.I hmmdb
+.I seqfile
+
+
+
+.SH DESCRIPTION
+
+.PP
+.B hmmscan
+is used to search protein sequences against collections
+of protein profiles. For each sequence in
+.IR seqfile ,
+use that query sequence to search the target database of
+profiles in
+.IR hmmdb ,
+and output ranked lists of the profiles with the
+most significant matches to the sequence.
+
+.PP
+The
+.I seqfile
+may contain more than one query sequence. Each will be searched
+in turn against
+.I hmmdb.
+
+.PP
+The
+.I hmmdb
+needs to be press'ed using
+.B hmmpress
+before it can be searched with
+.BR hmmscan .
+This creates four binary files,
+suffixed
+.BR .h3{fimp} .
+
+.PP
+The query
+.I seqfile
+may be '\-' (a dash character), in which case
+the query sequences are read from a
+stdin
+pipe instead of from a file.
+The
+.I hmmdb
+cannot be read from a
+stdin
+stream, because it needs to have
+those four auxiliary binary files generated by
+.BR hmmpress .
+
+.PP
+The output format is designed to be human-readable, but is often so
+voluminous that reading it is impractical, and parsing it is a pain. The
+.B \-\-tblout
+and
+.B \-\-domtblout
+options save output in simple tabular formats that are concise and
+easier to parse.
+The
+.B \-o
+option allows redirecting the main output, including throwing it away
+in /dev/null.
+
+
+
+.SH OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+
+
+.SH OPTIONS FOR CONTROLLING OUTPUT
+
+.TP
+.BI \-o " "
+Direct the main human-readable output to a file
+.I
+instead of the default stdout.
+
+.TP
+.BI \-\-tblout " "
+Save a simple tabular (space-delimited) file summarizing the
+per-target output, with one data line per homologous target model
+found.
+
+.TP
+.BI \-\-domtblout " "
+Save a simple tabular (space-delimited) file summarizing the
+per-domain output, with one data line per homologous domain
+detected in a query sequence for each homologous model.
+
+.TP
+.BI \-\-pfamtblout " "
+Save an especially succinct tabular (space-delimited) file
+summarizing the per-target output, with one data line per
+homologous target model found.
+
+
+.TP
+.B \-\-acc
+Use accessions instead of names in the main output, where available
+for profiles and/or sequences.
+
+.TP
+.B \-\-noali
+Omit the alignment section from the main output. This can greatly
+reduce the output volume.
+
+.TP
+.B \-\-notextw
+Unlimit the length of each line in the main output. The default
+is a limit of 120 characters per line, which helps in displaying
+the output cleanly on terminals and in editors, but can truncate
+target profile description lines.
+
+.TP
+.BI \-\-textw " "
+Set the main output's line length limit to
+.I
+characters per line. The default is 120.
+
+
+
+.SH OPTIONS FOR REPORTING THRESHOLDS
+
+Reporting thresholds control which hits are reported in output files
+(the main output,
+.BR \-\-tblout ,
+and
+.BR \-\-domtblout ).
+
+.TP
+.BI \-E " "
+In the per-target output, report target profiles with an E-value of <=
+.IR .
+The default is 10.0, meaning that on average, about 10 false positives
+will be reported per query, so you can see the top of the noise
+and decide for yourself if it's really noise.
+
+.TP
+.BI \-T " "
+Instead of thresholding per-profile output on E-value, instead
+report target profiles with a bit score of >=
+.IR .
+
+.TP
+.BI \-\-domE " "
+In the per-domain output, for target profiles that have already satisfied
+the per-profile reporting threshold, report individual domains
+with a conditional E-value of <=
+.IR .
+The default is 10.0.
+A conditional E-value means the expected number of additional false
+positive domains in the smaller search space of those comparisons that
+already satisfied the per-profile reporting threshold (and thus must
+have at least one homologous domain already).
+
+
+.TP
+.BI \-\-domT " "
+Instead of thresholding per-domain output on E-value, instead
+report domains with a bit score of >=
+.IR .
+
+
+
+
+.SH OPTIONS FOR INCLUSION THRESHOLDS
+
+Inclusion thresholds are stricter than reporting thresholds.
+Inclusion thresholds control which hits are considered to be
+reliable enough
+to be included in an output alignment or a subsequent search round.
+In
+.BR hmmscan ,
+which does not have any alignment output (like
+.B hmmsearch
+or
+.BR phmmer )
+nor any iterative search steps (like
+.BR jackhmmer ),
+inclusion thresholds have little effect. They only affect what domains
+get marked as significant (!) or questionable (?) in domain
+output.
+
+.TP
+.BI \-\-incE " "
+Use an E-value of <=
+.I
+as the per-target inclusion threshold.
+The default is 0.01, meaning that on average, about 1 false positive
+would be expected in every 100 searches with different query
+sequences.
+
+.TP
+.BI \-\-incT " "
+Instead of using E-values for setting the inclusion threshold, instead
+use a bit score of >=
+.I
+as the per-target inclusion threshold.
+It would be unusual to use bit score thresholds with
+.IR hmmscan ,
+because you don't expect a single score threshold to work for
+different profiles; different profiles have slightly different
+expected score distributions.
+
+.TP
+.BI \-\-incdomE " "
+Use a conditional E-value of <=
+.I
+as the per-domain inclusion threshold, in targets that have already
+satisfied the overall per-target inclusion threshold.
+The default is 0.01.
+
+.TP
+.BI \-\-incdomT " "
+Instead of using E-values,
+instead use a bit score of >=
+.I
+as the per-domain inclusion threshold.
+As with
+.B \-\-incT
+above,
+it would be unusual to use a single bit score threshold in
+.BR hmmscan .
+
+
+
+.SH OPTIONS FOR MODEL-SPECIFIC SCORE THRESHOLDING
+
+Curated profile databases may define specific bit score thresholds for
+each profile, superseding any thresholding based on statistical
+significance alone.
+
+To use these options, the profile must contain the appropriate (GA,
+TC, and/or NC) optional score threshold annotation; this is picked up
+by
+.B hmmbuild
+from Stockholm format alignment files. Each thresholding option has
+two scores: the per-sequence threshold
+.I
+and the per-domain threshold
+.IR .
+These act as if
+.BI \-T " "
+.BI \-\-incT " "
+.BI \-\-domT " "
+.BI \-\-incdomT " "
+has been applied specifically using each model's curated thresholds.
+
+.TP
+.B \-\-cut_ga
+Use the GA (gathering) bit scores in the model to set
+per-sequence (GA1) and per-domain (GA2) reporting and inclusion
+thresholds. GA thresholds are generally considered to be the
+reliable curated thresholds defining family membership; for example,
+in Pfam, these thresholds define what gets included in Pfam Full
+alignments based on searches with Pfam Seed models.
+
+.TP
+.B \-\-cut_nc
+Use the NC (noise cutoff) bit score thresholds in the model to set
+per-sequence (NC1) and per-domain (NC2) reporting and inclusion
+thresholds. NC thresholds are generally considered to be the score of
+the highest-scoring known false positive.
+
+.TP
+.B \-\-cut_tc
+Use the NC (trusted cutoff) bit score thresholds in the model to set
+per-sequence (TC1) and per-domain (TC2) reporting and inclusion
+thresholds. TC thresholds are generally considered to be the score of
+the lowest-scoring known true positive that is above all known false
+positives.
+
+
+
+
+.SH CONTROL OF THE ACCELERATION PIPELINE
+
+HMMER3 searches are accelerated in a three-step filter pipeline: the
+MSV filter, the Viterbi filter, and the Forward filter. The first
+filter is the fastest and most approximate; the last is the full
+Forward scoring algorithm. There is also a bias filter step between
+MSV and Viterbi. Targets that pass all the steps in the acceleration
+pipeline are then subjected to postprocessing -- domain
+identification and scoring using the Forward/Backward algorithm.
+
+Changing filter thresholds only removes or includes targets from
+consideration; changing filter thresholds does not alter bit scores,
+E-values, or alignments, all of which are determined solely in
+postprocessing.
+
+.TP
+.B \-\-max
+Turn off all filters, including the bias filter, and run full
+Forward/Backward postprocessing on every target. This increases
+sensitivity somewhat, at a large cost in speed.
+
+.TP
+.BI \-\-F1 " "
+Set the P-value threshold for the MSV filter step. The default is
+0.02, meaning that roughly 2% of the highest scoring nonhomologous
+targets are expected to pass the filter.
+
+.TP
+.BI \-\-F2 " "
+Set the P-value threshold for the Viterbi filter step.
+The default is 0.001.
+
+.TP
+.BI \-\-F3 " "
+Set the P-value threshold for the Forward filter step.
+The default is 1e-5.
+
+.TP
+.B \-\-nobias
+Turn off the bias filter. This increases sensitivity somewhat, but can
+come at a high cost in speed, especially if the query has biased
+residue composition (such as a repetitive sequence region, or if it is
+a membrane protein with large regions of hydrophobicity). Without the
+bias filter, too many sequences may pass the filter with biased
+queries, leading to slower than expected performance as the
+computationally intensive Forward/Backward algorithms shoulder an
+abnormally heavy load.
+
+
+
+.SH OTHER OPTIONS
+
+.TP
+.B \-\-nonull2
+Turn off the null2 score corrections for biased composition.
+
+.TP
+.BI \-Z " "
+Assert that the total number of targets in your searches is
+.IR ,
+for the purposes of per-sequence E-value calculations,
+rather than the actual number of targets seen.
+
+.TP
+.BI \-\-domZ " "
+Assert that the total number of targets in your searches is
+.IR ,
+for the purposes of per-domain conditional E-value calculations,
+rather than the number of targets that passed the reporting thresholds.
+
+.TP
+.BI \-\-seed " "
+Set the random number seed to
+.IR .
+Some steps in postprocessing require Monte Carlo simulation. The
+default is to use a fixed seed (42), so that results are exactly
+reproducible. Any other positive integer will give different (but also
+reproducible) results. A choice of 0 uses an arbitrarily chosen seed.
+
+.TP
+.BI \-\-qformat " "
+Assert that input
+.I seqfile
+is in format
+.IR ,
+bypassing format autodetection.
+Common choices for
+.I
+include:
+.BR fasta ,
+.BR embl ,
+.BR genbank.
+Alignment formats also work;
+common choices include:
+.BR stockholm ,
+.BR a2m ,
+.BR afa ,
+.BR psiblast ,
+.BR clustal ,
+.BR phylip .
+For more information, and for codes for some less common formats,
+see main documentation.
+The string
+.I
+is case-insensitive (\fBfasta\fR or \fBFASTA\fR both work).
+
+
+
+.TP
+.BI \-\-cpu " "
+Set the number of parallel worker threads to
+.IR .
+On multicore machines, the default is 2.
+You can also control this number by setting an environment variable,
+.IR HMMER_NCPU .
+There is also a master thread, so the actual number of threads that
+HMMER spawns is
+.IR +1.
+
+This option is not available if HMMER was compiled with POSIX threads
+support turned off.
+
+
+.TP
+.BI \-\-stall
+For debugging the MPI master/worker version: pause after start, to
+enable the developer to attach debuggers to the running master and
+worker(s) processes. Send SIGCONT signal to release the pause.
+(Under gdb:
+.BR "(gdb) signal SIGCONT" )
+
+(Only available if optional MPI support was enabled at compile-time.)
+
+.TP
+.B \-\-mpi
+Run under MPI control with master/worker parallelization (using
+.BR mpirun ,
+for example, or equivalent). Only available if optional MPI support
+was enabled at compile-time.
+
+
+
+
+.SH SEE ALSO
+
+See
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
+
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmsearch.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmsearch.man.in
new file mode 100644
index 0000000..7294235
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmsearch.man.in
@@ -0,0 +1,444 @@
+.TH "hmmsearch" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmsearch \- search profile(s) against a sequence database
+
+
+.SH SYNOPSIS
+.B hmmsearch
+[\fIoptions\fR]
+.I hmmfile
+.I seqdb
+
+
+.SH DESCRIPTION
+
+.PP
+.B hmmsearch
+is used to search one or more profiles against a sequence database.
+For each profile in
+.IR hmmfile ,
+use that query profile to search the target database of sequences in
+.IR seqdb ,
+and output ranked lists of the sequences with the most significant
+matches to the profile.
+To build profiles from multiple alignments, see
+.BR hmmbuild .
+
+.PP
+Either the query
+.I hmmfile
+or the target
+.I seqdb
+may be '\-' (a dash character), in which case
+the query profile or target database input will be read from a
+stdin
+pipe instead of from a
+file. Only one input source can come through
+stdin,
+not both.
+An exception is that if the
+.I hmmfile
+contains more than one profile query, then
+.I seqdb
+cannot come from stdin, because we can't rewind the
+streaming target database to search it with another profile.
+
+.PP
+The output format is designed to be human-readable, but is often so
+voluminous that reading it is impractical, and parsing it is a pain. The
+.B \-\-tblout
+and
+.B \-\-domtblout
+options save output in simple tabular formats that are concise and
+easier to parse.
+The
+.B \-o
+option allows redirecting the main output, including throwing it away
+in /dev/null.
+
+
+
+.SH OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+
+
+.SH OPTIONS FOR CONTROLLING OUTPUT
+
+.TP
+.BI \-o " "
+Direct the main human-readable output to a file
+.I
+instead of the default stdout.
+
+.TP
+.BI \-A " "
+Save a multiple alignment of all significant hits (those satisfying
+.IR "inclusion thresholds" )
+to the file
+.IR .
+
+.TP
+.BI \-\-tblout " "
+Save a simple tabular (space-delimited) file summarizing the
+per-target output, with one data line per homologous target sequence
+found.
+
+.TP
+.BI \-\-domtblout " "
+Save a simple tabular (space-delimited) file summarizing the
+per-domain output, with one data line per homologous domain
+detected in a query sequence for each homologous model.
+
+.TP
+.B \-\-acc
+Use accessions instead of names in the main output, where available
+for profiles and/or sequences.
+
+.TP
+.B \-\-noali
+Omit the alignment section from the main output. This can greatly
+reduce the output volume.
+
+.TP
+.B \-\-notextw
+Unlimit the length of each line in the main output. The default
+is a limit of 120 characters per line, which helps in displaying
+the output cleanly on terminals and in editors, but can truncate
+target profile description lines.
+
+.TP
+.BI \-\-textw " "
+Set the main output's line length limit to
+.I
+characters per line. The default is 120.
+
+
+
+.SH OPTIONS CONTROLLING REPORTING THRESHOLDS
+
+Reporting thresholds control which hits are reported in output files
+(the main output,
+.BR \-\-tblout ,
+and
+.BR \-\-domtblout ).
+Sequence hits and domain hits are ranked by statistical significance
+(E-value) and output is generated in two sections called per-target
+and per-domain output. In per-target output, by default, all
+sequence hits with an E-value <= 10 are reported. In the per-domain
+output, for each target that has passed per-target reporting
+thresholds, all domains satisfying per-domain reporting thresholds are
+reported. By default, these are domains with conditional E-values of
+<= 10. The following options allow you to change the default
+E-value reporting thresholds, or to use bit score thresholds instead.
+
+
+.TP
+.BI \-E " "
+In the per-target output, report target sequences with an E-value of <=
+.IR .
+The default is 10.0, meaning that on average, about 10 false positives
+will be reported per query, so you can see the top of the noise
+and decide for yourself if it's really noise.
+
+.TP
+.BI \-T " "
+Instead of thresholding per-profile output on E-value, instead
+report target sequences with a bit score of >=
+.IR .
+
+.TP
+.BI \-\-domE " "
+In the per-domain output, for target sequences that have already satisfied
+the per-profile reporting threshold, report individual domains
+with a conditional E-value of <=
+.IR .
+The default is 10.0.
+A conditional E-value means the expected number of additional false
+positive domains in the smaller search space of those comparisons that
+already satisfied the per-target reporting threshold (and thus must
+have at least one homologous domain already).
+
+
+.TP
+.BI \-\-domT " "
+Instead of thresholding per-domain output on E-value, instead
+report domains with a bit score of >=
+.IR .
+
+
+
+
+.SH OPTIONS FOR INCLUSION THRESHOLDS
+
+Inclusion thresholds are stricter than reporting thresholds.
+Inclusion thresholds control which hits are considered to be reliable
+enough to be included in an output alignment or a subsequent search
+round, or marked as significant ("!") as opposed to questionable ("?")
+in domain output.
+
+.TP
+.BI \-\-incE " "
+Use an E-value of <=
+.I
+as the per-target inclusion threshold.
+The default is 0.01, meaning that on average, about 1 false positive
+would be expected in every 100 searches with different query
+sequences.
+
+.TP
+.BI \-\-incT " "
+Instead of using E-values for setting the inclusion threshold, instead
+use a bit score of >=
+.I
+as the per-target inclusion threshold.
+By default this option is unset.
+
+.TP
+.BI \-\-incdomE " "
+Use a conditional E-value of <=
+.I
+as the per-domain inclusion threshold, in targets that have already
+satisfied the overall per-target inclusion threshold.
+The default is 0.01.
+
+.TP
+.BI \-\-incdomT " "
+Instead of using E-values,
+use a bit score of >=
+.I
+as the per-domain inclusion threshold.
+
+
+
+.SH OPTIONS FOR MODEL-SPECIFIC SCORE THRESHOLDING
+
+Curated profile databases may define specific bit score thresholds for
+each profile, superseding any thresholding based on statistical
+significance alone.
+
+To use these options, the profile must contain the appropriate (GA,
+TC, and/or NC) optional score threshold annotation; this is picked up
+by
+.B hmmbuild
+from Stockholm format alignment files. Each thresholding option has
+two scores: the per-sequence threshold and the per-domain
+threshold
+These act as if
+.BI \-T " "
+.BI \-\-incT " "
+.BI \-\-domT " "
+.BI \-\-incdomT " "
+has been applied specifically using each model's curated thresholds.
+
+.TP
+.B \-\-cut_ga
+Use the GA (gathering) bit scores in the model to set
+per-sequence (GA1) and per-domain (GA2) reporting and inclusion
+thresholds. GA thresholds are generally considered to be the
+reliable curated thresholds defining family membership; for example,
+in Pfam, these thresholds define what gets included in Pfam Full
+alignments based on searches with Pfam Seed models.
+
+.TP
+.B \-\-cut_nc
+Use the NC (noise cutoff) bit score thresholds in the model to set
+per-sequence (NC1) and per-domain (NC2) reporting and inclusion
+thresholds. NC thresholds are generally considered to be the score of
+the highest-scoring known false positive.
+
+.TP
+.B \-\-cut_tc
+Use the TC (trusted cutoff) bit score thresholds in the model to set
+per-sequence (TC1) and per-domain (TC2) reporting and inclusion
+thresholds. TC thresholds are generally considered to be the score of
+the lowest-scoring known true positive that is above all known false
+positives.
+
+
+
+
+.SH OPTIONS CONTROLLING THE ACCELERATION PIPELINE
+
+HMMER3 searches are accelerated in a three-step filter pipeline: the
+MSV filter, the Viterbi filter, and the Forward filter. The first
+filter is the fastest and most approximate; the last is the full
+Forward scoring algorithm. There is also a bias filter step between
+MSV and Viterbi. Targets that pass all the steps in the acceleration
+pipeline are then subjected to postprocessing -- domain
+identification and scoring using the Forward/Backward algorithm.
+
+Changing filter thresholds only removes or includes targets from
+consideration; changing filter thresholds does not alter bit scores,
+E-values, or alignments, all of which are determined solely in
+postprocessing.
+
+.TP
+.B \-\-max
+Turn off all filters, including the bias filter, and run full
+Forward/Backward postprocessing on every target. This increases
+sensitivity somewhat, at a large cost in speed.
+
+.TP
+.BI \-\-F1 " "
+Set the P-value threshold for the MSV filter step. The default is
+0.02, meaning that roughly 2% of the highest scoring nonhomologous
+targets are expected to pass the filter.
+
+.TP
+.BI \-\-F2 " "
+Set the P-value threshold for the Viterbi filter step.
+The default is 0.001.
+
+.TP
+.BI \-\-F3 " "
+Set the P-value threshold for the Forward filter step.
+The default is 1e-5.
+
+.TP
+.B \-\-nobias
+Turn off the bias filter. This increases sensitivity somewhat, but can
+come at a high cost in speed, especially if the query has biased
+residue composition (such as a repetitive sequence region, or if it is
+a membrane protein with large regions of hydrophobicity). Without the
+bias filter, too many sequences may pass the filter with biased
+queries, leading to slower than expected performance as the
+computationally intensive Forward/Backward algorithms shoulder an
+abnormally heavy load.
+
+
+
+.SH OTHER OPTIONS
+
+.TP
+.B \-\-nonull2
+Turn off the null2 score corrections for biased composition.
+
+.TP
+.BI \-Z " "
+Assert that the total number of targets in your searches is
+.IR ,
+for the purposes of per-sequence E-value calculations,
+rather than the actual number of targets seen.
+
+.TP
+.BI \-\-domZ " "
+Assert that the total number of targets in your searches is
+.IR ,
+for the purposes of per-domain conditional E-value calculations,
+rather than the number of targets that passed the reporting thresholds.
+
+.TP
+.BI \-\-seed " "
+Set the random number seed to
+.IR .
+Some steps in postprocessing require Monte Carlo simulation. The
+default is to use a fixed seed (42), so that results are exactly
+reproducible. Any other positive integer will give different (but also
+reproducible) results. A choice of 0 uses a randomly chosen seed.
+
+.TP
+.BI \-\-tformat " "
+Assert that target sequence file
+.I seqfile
+is in format
+.IR ,
+bypassing format autodetection.
+Common choices for
+.I
+include:
+.BR fasta ,
+.BR embl ,
+.BR genbank.
+Alignment formats also work;
+common choices include:
+.BR stockholm ,
+.BR a2m ,
+.BR afa ,
+.BR psiblast ,
+.BR clustal ,
+.BR phylip .
+For more information, and for codes for some less common formats,
+see main documentation.
+The string
+.I
+is case-insensitive (\fBfasta\fR or \fBFASTA\fR both work).
+
+.TP
+.BI \-\-cpu " "
+Set the number of parallel worker threads to
+.IR .
+On multicore machines, the default is 2.
+You can also control this number by setting an environment variable,
+.IR HMMER_NCPU .
+There is also a master thread, so the actual number of threads that
+HMMER spawns is
+.IR +1.
+
+This option is not available if HMMER was compiled with POSIX threads
+support turned off.
+
+
+.TP
+.BI \-\-stall
+For debugging the MPI master/worker version: pause after start, to
+enable the developer to attach debuggers to the running master and
+worker(s) processes. Send SIGCONT signal to release the pause.
+(Under gdb:
+.BR "(gdb) signal SIGCONT" )
+(Only available if optional MPI support was enabled at compile-time.)
+
+
+
+.TP
+.B \-\-mpi
+Run under MPI control with master/worker parallelization (using
+.BR mpirun ,
+for example, or equivalent). Only available if optional MPI support
+was enabled at compile-time.
+
+
+
+
+
+
+.SH SEE ALSO
+
+See
+.BR hmmer (1)
+for a master man page with a list of all the individual man pages
+for programs in the HMMER package.
+
+.PP
+For complete documentation, see the user guide that came with your
+HMMER distribution (Userguide.pdf); or see the HMMER web page
+(@HMMER_URL@).
+
+
+
+.SH COPYRIGHT
+
+.nf
+@HMMER_COPYRIGHT@
+@HMMER_LICENSE@
+.fi
+
+For additional information on copyright and licensing, see the file
+called COPYRIGHT in your HMMER source distribution, or see the HMMER
+web page
+(@HMMER_URL@).
+
+
+.SH AUTHOR
+
+.nf
+http://eddylab.org
+.fi
+
+
+
diff --git a/bioinformaticsProject/hmmer/documentation/man/hmmsim.man.in b/bioinformaticsProject/hmmer/documentation/man/hmmsim.man.in
new file mode 100644
index 0000000..b8516b8
--- /dev/null
+++ b/bioinformaticsProject/hmmer/documentation/man/hmmsim.man.in
@@ -0,0 +1,515 @@
+.TH "hmmsim" 1 "@HMMER_DATE@" "HMMER @HMMER_VERSION@" "HMMER Manual"
+
+.SH NAME
+hmmsim \- collect profile score distributions on random sequences
+
+.SH SYNOPSIS
+.B hmmsim
+[\fIoptions\fR]
+.I hmmfile
+
+
+.SH DESCRIPTION
+
+.PP
+The
+.B hmmsim
+program generates random sequences, scores them with the model(s) in
+.IR hmmfile ,
+and outputs various sorts of histograms, plots, and fitted
+distributions for the resulting scores.
+
+.PP
+.B hmmsim
+is not a mainstream part of the HMMER package and most users would have
+no reason to use it. It is used to develop and test the statistical
+methods used to determine P-values and E-values in HMMER3. For
+example, it was used to generate most of the results in a 2008 paper
+on H3's local alignment statistics (PLoS Comp Bio 4:e1000069, 2008;
+http://www.ploscompbiol.org/doi/pcbi.1000069).
+
+.PP
+Because it is a research testbed, you should not expect it to be as
+robust as other programs in the package. For example, options may
+interact in weird ways; we haven't tested nor tried to anticipate all
+different possible combinations.
+
+.PP
+The main task is to fit a maximum likelihood Gumbel distribution to
+Viterbi scores or an maximum likelihood exponential tail to
+high-scoring Forward scores, and to test that these fitted
+distributions obey the conjecture that lambda ~ log_2 for both the
+Viterbi Gumbel and the Forward exponential tail.
+
+.PP
+The output is a table of numbers, one row for each model. Four
+different parametric fits to the score data are tested: (1) maximum
+likelihood fits to both location (mu/tau) and slope (lambda)
+parameters; (2) assuming lambda=log_2, maximum likelihood fit to the
+location parameter only; (3) same but assuming an edge-corrected
+lambda, using current procedures in H3 [Eddy, 2008]; and (4) using
+both parameters determined by H3's current procedures. The standard
+simple, quick and dirty statistic for goodness-of-fit is 'E@10', the
+calculated E-value of the 10th ranked top hit, which we expect to be
+about 10.
+
+.PP
+In detail, the columns of the output are:
+
+.TP
+.B name
+Name of the model.
+
+.TP
+.B tailp
+Fraction of the highest scores used to fit the distribution. For
+Viterbi, MSV, and Hybrid scores, this defaults to 1.0 (a Gumbel
+distribution is fitted to all the data). For Forward scores, this
+defaults to 0.02 (an exponential tail is fitted to the highest 2%
+scores).
+
+.TP
+.B mu/tau
+Location parameter for the maximum likelihood fit to the data.
+
+.TP
+.B lambda
+Slope parameter for the maximum likelihood fit to the data.
+
+.TP
+.B E@10
+The E-value calculated for the 10th ranked high score ('E@10') using the ML
+mu/tau and lambda. By definition, this expected to be about 10, if
+E-value estimation were accurate.
+
+.TP
+.B mufix
+Location parameter, for a maximum likelihood fit with a known (fixed)
+slope parameter lambda of log_2 (0.693).
+
+.TP
+.B E@10fix
+The E-value calculated for the 10th ranked score using mufix and the
+expected lambda = log_2 = 0.693.
+
+
+.TP
+.B mufix2
+Location parameter, for a maximum likelihood fit with an
+edge-effect-corrected lambda.
+
+.TP
+.B E@10fix2
+The E-value calculated for the 10th ranked score using mufix2 and the
+edge-effect-corrected lambda.
+
+.TP
+.B pmu
+Location parameter as determined by H3's estimation procedures.
+
+.TP
+.B plambda
+Slope parameter as determined by H3's estimation procedures.
+
+.TP
+.B pE@10
+The E-value calculated for the 10th ranked score using pmu, plambda.
+
+
+.PP
+At the end of this table, one more line is printed, starting with #
+and summarizing the overall CPU time used by the simulations.
+
+.PP
+Some of the optional output files are in xmgrace xy format. xmgrace is
+powerful and freely available graph-plotting software.
+
+
+.SH OPTIONS
+
+.TP
+.B \-h
+Help; print a brief reminder of command line usage and all available
+options.
+
+.TP
+.B \-a
+Collect expected Viterbi alignment length statistics from each
+simulated sequence. This only works with Viterbi scores (the default;
+see
+.BR \-\-vit ).
+Two additional fields are printed in the output table for
+each model: the mean length of Viterbi alignments, and the standard
+deviation.
+
+.TP
+.B \-v
+(Verbose). Print the scores too, one score per line.
+
+.TP
+.BI \-L " "
+Set the length of the randomly sampled (nonhomologous) sequences to
+.IR .
+The default is 100.
+
+
+.TP
+.BI \-N " "
+Set the number of randomly sampled sequences to
+.IR .
+The default is 1000.
+
+.TP
+.B \-\-mpi
+Run under MPI control with master/worker parallelization (using
+.BR mpirun ,
+for example, or equivalent). Only available if optional MPI support
+was enabled at compile-time.
+
+It is parallelized at the level of sending one profile at a time to an
+MPI worker process, so parallelization only helps if you have more
+than one profile in the
+.IR hmmfile ,
+and you want to have at least as many profiles as MPI worker
+processes.
+
+
+
+
+.SH OPTIONS CONTROLLING OUTPUT
+
+.TP
+.BI \-o " "
+Save the main output table to a file
+.I
+rather than sending it to stdout.
+
+.TP
+.BI \-\-afile " "
+When collecting Viterbi alignment statistics (the
+.B \-a
+option), for each sampled sequence, output two fields per
+line to a file
+.IR