[med-svn] [bppsuite] 01/10: Import Upstream version 0.6.2

Andreas Tille tille at debian.org
Wed Jun 14 11:36:58 UTC 2017


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository bppsuite.

commit 249a6dfc8f9493d5f892411b47a7285ace908503
Author: Andreas Tille <tille at debian.org>
Date:   Wed Jun 14 13:23:21 2017 +0200

    Import Upstream version 0.6.2
---
 AUTHORS.txt                                        |   19 +
 CMakeLists.txt                                     |  267 +++
 COPYING.txt                                        |  506 +++++
 ChangeLog                                          |  161 ++
 Examples/ConsensusTree/Consense.bpp                |   15 +
 Examples/Data/LSU.dnd                              |    1 +
 Examples/Data/LSU.phy                              | 1976 ++++++++++++++++++++
 Examples/Data/LSUrooted.dnd                        |    1 +
 Examples/Data/Myo.dnd                              |    1 +
 Examples/Data/Myo.mase                             |  901 +++++++++
 Examples/Data/OutGroup.txt                         |    2 +
 Examples/Data/lysozymeLarge.dnd                    |   12 +
 Examples/Data/lysozymeLarge.fasta                  |  172 ++
 Examples/Data/treeList.dnd                         |   99 +
 Examples/Data/treeList2.dnd                        |   11 +
 Examples/Distance/Dist.bpp                         |   59 +
 Examples/Drawing/TreeDraw.bpp                      |    9 +
 .../MaximumLikelihood/Codons/BranchModel/ML.bpp    |  163 ++
 .../Nucleotides/Homogeneous/Ancestor.bpp           |   60 +
 .../Nucleotides/Homogeneous/ML.bpp                 |  155 ++
 .../Nucleotides/NonHomogeneousGG/MLNHGG.bpp        |  125 ++
 .../Nucleotides/NonHomogeneousGeneral/Ancestor.bpp |   60 +
 .../Nucleotides/NonHomogeneousGeneral/MLNH.bpp     |  130 ++
 .../Proteins/Homogeneous/Ancestor.bpp              |   63 +
 .../MaximumLikelihood/Proteins/Homogeneous/ML.bpp  |  155 ++
 Examples/Parsimony/Pars.bpp                        |   34 +
 Examples/PhylogeneticSampling/PhySamp.bpp          |   48 +
 Examples/README                                    |   28 +
 Examples/ReRooting/ReRoot.bpp                      |    9 +
 Examples/SequenceManipulation/SeqMan.bpp           |   32 +
 Examples/SequenceSimulation/SeqGen.bpp             |   39 +
 .../SequenceSimulation/SeqGenHomogeneousModel.bpp  |    9 +
 .../SeqGenNonHomogeneousModel.bpp                  |   22 +
 Examples/tree.dnd                                  |    1 +
 INSTALL.txt                                        |   12 +
 NEWS                                               |    0
 bppSuite.spec                                      |   95 +
 bppSuite/CMakeLists.txt                            |   57 +
 bppSuite/bppAncestor.cpp                           |  481 +++++
 bppSuite/bppConsense.cpp                           |  133 ++
 bppSuite/bppDist.cpp                               |  346 ++++
 bppSuite/bppML.cpp                                 |  702 +++++++
 bppSuite/bppPars.cpp                               |  208 +++
 bppSuite/bppPhyloSampler.cpp                       |  273 +++
 bppSuite/bppReRoot.cpp                             |  329 ++++
 bppSuite/bppSeqGen.cpp                             |  356 ++++
 bppSuite/bppSeqMan.cpp                             |  417 +++++
 bppSuite/bppTreeDraw.cpp                           |  209 +++
 debian/bppsuite.manpages                           |   10 +
 debian/changelog                                   |   49 +
 debian/compat                                      |    1 +
 debian/control                                     |   24 +
 debian/copyright                                   |   62 +
 debian/docs                                        |    0
 debian/rules                                       |  147 ++
 debian/source/format                               |    1 +
 doc/CMakeLists.txt                                 |    7 +
 doc/bppsuite.texi                                  | 1908 +++++++++++++++++++
 doc/version.texi                                   |    2 +
 man/CMakeLists.txt                                 |   16 +
 man/bppancestor.1.txt                              |   37 +
 man/bppconsense.1.txt                              |   37 +
 man/bppdist.1.txt                                  |   37 +
 man/bppml.1.txt                                    |   37 +
 man/bpppars.1.txt                                  |   37 +
 man/bppphysamp.1.txt                               |   37 +
 man/bppreroot.1.txt                                |   37 +
 man/bppseqgen.1.txt                                |   37 +
 man/bppseqman.1.txt                                |   37 +
 man/bpptreedraw.1.txt                              |   37 +
 70 files changed, 11560 insertions(+)

diff --git a/AUTHORS.txt b/AUTHORS.txt
new file mode 100644
index 0000000..cf13973
--- /dev/null
+++ b/AUTHORS.txt
@@ -0,0 +1,19 @@
+Julien Dutheil     <julien.dutheil at univ-montp2.fr>
+Céline Scornavacca <celine.scornavacca at lirmm.fr>
+Bastien Boussau    <boussau at biomserv.univ-lyon1.fr>
+Laurent Guéguen    <gueguen at biomserv.univ-lyon1.fr>
+
+Contributed code to Bio++ was enabled thanks to the following institutions and resources:
+
+2002 - 2006 Laboratoire GPIA - UMR CNRS 5171 Université Montpellier 2 (Eric Bazin, Khalid Belkhir, Guillaume Deuchst, Julien Dutheil, Sylvain Gaillard, Nicolas Galtier, Sylvain Glémin)
+2005 -      ISE-M UMR CNRS 5554 Université Montpellier 2 (Vincent Ranwez, Céline Scornavacca)
+2006 -      ISE-M UMR CNRS 5554 Université Montpellier 2 (Khalid Belkhir, Nicolas Galtier, Sylvain Glémin)
+2006 - 2007 ISE-M UMR CNRS 5554 Université Montpellier 2 (Julien Dutheil)
+2007 - 2010 Bioinformatics Research Center, University of Aarhus (Julien Dutheil).
+            Funded by European research Area on Plant Genomics (ERA-PG) ARelatives.
+2010 -      ISE-M UMR CNRS 5554 Université Montpellier 2 (Julien Dutheil)
+2007 -      Genetics and Horticulture UMR INRA 1259 Angers-Nantes INRA Center (Sylvain Gaillard)
+2008 - 2009 Laboratoire BBE - UMR CNRS 5558 Université Lyon 1 (Bastien Boussau)
+2009 - 2010 Berkeley University (Bastien Boussau)
+2010 -      Laboratoire BBE - UMR CNRS 5558 Université Lyon 1 (Bastien Boussau)   
+2008 -      Laboratoire BBE - UMR CNRS 5558 Université Lyon 1 (Laurent Guéguen)
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..a638765
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,267 @@
+# CMake script for Bio++ Program Suite
+# Author: Julien Dutheil
+# Created: 22/08/2009
+
+# Global parameters
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
+PROJECT(bppsuite CXX)
+
+IF(NOT CMAKE_BUILD_TYPE)
+  SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
+      "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
+      FORCE)
+ENDIF()
+
+SET(CMAKE_CXX_FLAGS "-Wall -Weffc++ -Wshadow")
+IF(NOT NO_VIRTUAL_COV)
+  SET(NO_VIRTUAL_COV FALSE CACHE BOOL
+      "Disable covariant return type with virtual inheritance, for compilers that do not support it."
+      FORCE)
+ENDIF()
+
+IF(NO_VIRTUAL_COV)
+  MESSAGE("-- Covariant return with virtual inheritance disabled.")
+  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNO_VIRTUAL_COV=1")
+ENDIF()
+
+IF(NOT NO_DEP_CHECK)
+  SET(NO_DEP_CHECK FALSE CACHE BOOL
+      "Disable dependencies check for building distribution only."
+      FORCE)
+ENDIF(NOT NO_DEP_CHECK)
+
+IF(NO_DEP_CHECK)
+  MESSAGE("-- Dependencies checking disabled. Only distribution can be built.")
+ELSE(NO_DEP_CHECK)
+
+#static linkage?
+IF(NOT BUILD_STATIC)
+  SET(BUILD_STATIC FALSE CACHE BOOL
+      "Enable static linkage."
+      FORCE)
+ENDIF()
+IF(BUILD_STATIC)
+  MESSAGE("-- Static linkage requested.")
+  SET(CMAKE_CXX_FLAGS "-static -static-libgcc ${CMAKE_CXX_FLAGS}")
+ENDIF()
+
+#build info?
+IF(NOT DEFINED INFO)
+  SET(INFO UNIX)
+ENDIF(NOT DEFINED INFO)
+
+#build man pages?
+IF(NOT DEFINED MAN)
+  SET(MAN UNIX)
+ENDIF(NOT DEFINED MAN)
+
+#find executables for documentation
+FIND_PROGRAM(MAKEINFO_EXE NAMES makeinfo)
+FIND_PROGRAM(PDFTEX_EXE NAMES pdftex)
+FIND_PROGRAM(NROFF_EXE NAMES nroff)
+
+#here is a useful function:
+MACRO(IMPROVED_FIND_LIBRARY OUTPUT_LIBS lib_name include_to_find)
+  #start:
+  FIND_PATH(${lib_name}_INCLUDE_DIR ${include_to_find})
+  INCLUDE_DIRECTORIES(${${lib_name}_INCLUDE_DIR})
+
+  IF(BUILD_STATIC)
+    SET(${lib_name}_STATIC_NAMES lib${lib_name}.a)
+    FIND_LIBRARY(${lib_name}_STATIC_LIBRARY NAMES ${${lib_name}_STATIC_NAMES} PATH_SUFFIXES lib${LIB_SUFFIX})
+    IF(${lib_name}_STATIC_LIBRARY)
+      MESSAGE("-- Library ${lib_name} found here:")
+      MESSAGE("   includes: ${${lib_name}_INCLUDE_DIR}")
+      MESSAGE("   static libraries: ${${lib_name}_STATIC_LIBRARY}")
+    ELSE()
+      MESSAGE(FATAL_ERROR "${lib_name} required but not found.")
+    ENDIF()
+    #add the dependency:
+    SET(${OUTPUT_LIBS} ${${OUTPUT_LIBS}} ${${lib_name}_STATIC_LIBRARY})
+  ELSE()
+    SET(${lib_name}_NAMES ${lib_name} ${lib_name}.lib ${lib_name}.dll)
+    FIND_LIBRARY(${lib_name}_LIBRARY NAMES ${${lib_name}_NAMES} PATH_SUFFIXES lib${LIB_SUFFIX})
+    IF(${lib_name}_LIBRARY)
+      MESSAGE("-- Library ${lib_name} found here:")
+      MESSAGE("   includes: ${${lib_name}_INCLUDE_DIR}")
+      MESSAGE("   dynamic libraries: ${${lib_name}_LIBRARY}")
+    ELSE()
+      MESSAGE(FATAL_ERROR "${lib_name} required but not found.")
+    ENDIF()
+    #add the dependency:
+    SET(${OUTPUT_LIBS} ${${OUTPUT_LIBS}} ${${lib_name}_LIBRARY})
+  ENDIF()
+  
+ENDMACRO(IMPROVED_FIND_LIBRARY)
+
+# Set the CMAKE_PREFIX_PATH for the find_library fonction when using non
+# standard install location
+IF(CMAKE_INSTALL_PREFIX)
+  SET(CMAKE_PREFIX_PATH "${CMAKE_INSTALL_PREFIX}" ${CMAKE_PREFIX_PATH})
+ENDIF(CMAKE_INSTALL_PREFIX)
+
+#Find the libraries. The order is very important for static linkage, it won't
+#link if you change it!
+IMPROVED_FIND_LIBRARY(LIBS bpp-phyl Bpp/Phyl/Tree.h)
+IMPROVED_FIND_LIBRARY(LIBS bpp-seq Bpp/Seq/Alphabet/Alphabet.h)
+IMPROVED_FIND_LIBRARY(LIBS bpp-core Bpp/Clonable.h)
+
+IF(MAKEINFO_EXE)
+  MESSAGE("-- Found makeinfo here: ${MAKEINFO_EXE}")
+  MESSAGE("   Adding targets: info, html")
+
+  IF(INFO)
+    SET(ADD_INFO_TO "ALL")
+    MESSAGE("   Adding target info to target all")
+  ENDIF(INFO)
+
+  ADD_CUSTOM_TARGET(info
+    ${ADD_INFO_TO}
+    COMMAND ${MAKEINFO_EXE} bppsuite.texi
+    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/doc
+    )
+
+  ADD_CUSTOM_TARGET(html
+    COMMAND ${MAKEINFO_EXE} --html --css-ref=http://www.w3.org/StyleSheets/Core/Steely bppsuite.texi
+    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/doc
+    )
+ENDIF(MAKEINFO_EXE)
+
+IF(PDFTEX_EXE)
+  MESSAGE("-- Found pdftex here: ${PDFTEX_EXE}")
+  MESSAGE("   Adding target: pdf")
+
+  ADD_CUSTOM_TARGET(pdf
+    COMMAND ${PDFTEX_EXE} bppsuite.texi
+    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/doc
+    )
+  SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "doc/bppsuite.pdf;doc/bppsuite.aux;doc/bppsuite.cp;doc/bppsuite.fn;doc/bppsuite.info;doc/bppsuite.ky;doc/bppsuite.log;doc/bppsuite.pg;doc/bppsuite.toc;doc/bppsuite.tp;doc/bppsuite.vr")
+ENDIF(PDFTEX_EXE)
+
+IF(NROFF_EXE)
+  MESSAGE("-- Found nroff here: ${NROFF_EXE}")
+  MESSAGE("   Adding targets: man")
+
+  ADD_CUSTOM_TARGET(man
+    ALL
+    COMMAND cp bppml.1.txt bppml.1
+    COMMAND gzip -f bppml.1
+    COMMAND cp bppseqgen.1.txt bppseqgen.1
+    COMMAND gzip -f bppseqgen.1
+    COMMAND cp bppdist.1.txt bppdist.1
+    COMMAND gzip -f bppdist.1
+    COMMAND cp bpppars.1.txt bpppars.1
+    COMMAND gzip -f bpppars.1
+    COMMAND cp bppseqman.1.txt bppseqman.1
+    COMMAND gzip -f bppseqman.1
+    COMMAND cp bppconsense.1.txt bppconsense.1
+    COMMAND gzip -f bppconsense.1
+    COMMAND cp bppancestor.1.txt bppancestor.1
+    COMMAND gzip -f bppancestor.1
+    COMMAND cp bppreroot.1.txt bppreroot.1
+    COMMAND gzip -f bppreroot.1
+    COMMAND cp bppphysamp.1.txt bppphysamp.1
+    COMMAND gzip -f bppphysamp.1
+    COMMAND cp bpptreedraw.1.txt bpptreedraw.1
+    COMMAND gzip -f bpptreedraw.1
+    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/man
+    )
+  SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "man/bppml.1.gz;man/bppseqgen.1.gz;man/bppdist.1.gz;man/bpppars.1.gz;man/bppseqman.1.gz;man/bppconsense.1.gz;man/bppancestor.1.gz;man/bppreroot.1.gz;man/bppphysamp.1.gz;man/bpptreedraw.1.gz")
+ENDIF(NROFF_EXE)
+
+# Subdirectories
+ADD_SUBDIRECTORY(bppSuite)
+ADD_SUBDIRECTORY(doc)
+ADD_SUBDIRECTORY(man)
+
+ENDIF(NO_DEP_CHECK)
+
+# Packager
+SET(CPACK_PACKAGE_NAME "bppsuite")
+SET(CPACK_PACKAGE_VENDOR "Bio++ Development Team")
+SET(CPACK_PACKAGE_VERSION "0.6.2")
+SET(CPACK_PACKAGE_VERSION_MAJOR "0")
+SET(CPACK_PACKAGE_VERSION_MINOR "6")
+SET(CPACK_PACKAGE_VERSION_PATCH "2")
+SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The Bio++ Program Suite")
+SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING.txt")
+SET(CPACK_RESOURCE_FILE_AUTHORS "${CMAKE_SOURCE_DIR}/AUTHORS.txt")
+SET(CPACK_RESOURCE_FILE_INSTALL "${CMAKE_SOURCE_DIR}/INSTALL.txt")
+SET(CPACK_SOURCE_GENERATOR "TGZ")
+SET(CPACK_SOURCE_IGNORE_FILES
+ "CMakeFiles"
+ "Makefile"
+ "_CPack_Packages"
+ "CMakeCache.txt"
+ ".*\\\\.cmake"
+ ".*\\\\.svn"
+ ".*\\\\.gz"
+ ".*\\\\.zip"
+ ".*\\\\.deb"
+ ".*\\\\.rpm"
+ ".*\\\\.dmg"
+ ".*\\\\.sh"
+ ".*\\\\..*\\\\.swp"
+ ".*stamp"
+ "\\\\.sh"
+ "bppSuite/\\\\..*"
+ "bppSuite/bppancestor"
+ "bppSuite/bppml"
+ "bppSuite/bppphysamp"
+ "bppSuite/bppseqman"
+ "bppSuite/bppconsense"
+ "bppSuite/bppreroot"
+ "bppSuite/bpppars"
+ "bppSuite/bpptreedraw"
+ "bppSuite/bppdist"
+ "bppSuite/bppseqgen"
+ "doc/bppsuite/"
+ "doc/bppsuite\\\\.info"
+ "doc/bppsuite\\\\.toc"
+ "doc/bppsuite\\\\.vr"
+ "doc/bppsuite\\\\.tp"
+ "doc/bppsuite\\\\.log"
+ "doc/bppsuite\\\\.fn"
+ "doc/bppsuite\\\\.ky"
+ "doc/bppsuite\\\\.cp"
+ "doc/bppsuite\\\\.pg"
+ "doc/bppsuite\\\\.aux"
+ "doc/bppsuite\\\\.pdf"
+ "man/.*\\\\.1.gz"
+ "debian/tmp"
+ "debian/bppsuite/"
+ "debian/bppsuite\\\\.substvars"
+ "debian/bppsuite\\\\.debhelper"
+ "debian/debhelper\\\\.log"
+ "install_manifest.txt"
+ "DartConfiguration.tcl"
+ ${CPACK_SOURCE_IGNORE_FILES}
+)
+IF (MACOS)
+  SET(CPACK_GENERATOR "Bundle")
+ENDIF()
+
+SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
+INCLUDE(CPack)
+
+#This adds the 'dist' target
+add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
+
+IF(NOT NO_DEP_CHECK)
+IF (UNIX)
+#This creates deb packages:
+ADD_CUSTOM_TARGET(origdist COMMAND cp ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz ../${CPACK_DEBSOURCE_PACKAGE_FILE_NAME}.tar.gz)
+ADD_DEPENDENCIES(origdist dist)
+ADD_CUSTOM_TARGET(deb dpkg-buildpackage -uc -us -i${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz)
+ADD_DEPENDENCIES(deb origdist)
+ADD_DEPENDENCIES(deb info man)
+
+#This creates rpm packages:
+ADD_CUSTOM_TARGET(rpm rpmbuild -ta ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz)
+ADD_DEPENDENCIES(rpm dist info man)
+
+#ADD_DEPENDENCIES(info install)
+
+ENDIF(UNIX)
+
+ENDIF(NOT NO_DEP_CHECK)
diff --git a/COPYING.txt b/COPYING.txt
new file mode 100644
index 0000000..d424827
--- /dev/null
+++ b/COPYING.txt
@@ -0,0 +1,506 @@
+CeCILL FREE SOFTWARE LICENSE AGREEMENT
+
+
+    Notice
+
+This Agreement is a Free Software license agreement that is the result
+of discussions between its authors in order to ensure compliance with
+the two main principles guiding its drafting:
+
+    * firstly, compliance with the principles governing the distribution
+      of Free Software: access to source code, broad rights granted to
+      users,
+    * secondly, the election of a governing law, French law, with which
+      it is conformant, both as regards the law of torts and
+      intellectual property law, and the protection that it offers to
+      both authors and holders of the economic rights over software.
+
+The authors of the CeCILL (for Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre])
+license are:
+
+Commissariat à l'Energie Atomique - CEA, a public scientific, technical
+and industrial research establishment, having its principal place of
+business at 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris, France.
+
+Centre National de la Recherche Scientifique - CNRS, a public scientific
+and technological establishment, having its principal place of business
+at 3 rue Michel-Ange, 75794 Paris cedex 16, France.
+
+Institut National de Recherche en Informatique et en Automatique -
+INRIA, a public scientific and technological establishment, having its
+principal place of business at Domaine de Voluceau, Rocquencourt, BP
+105, 78153 Le Chesnay cedex, France.
+
+
+    Preamble
+
+The purpose of this Free Software license agreement is to grant users
+the right to modify and redistribute the software governed by this
+license within the framework of an open source distribution model.
+
+The exercising of these rights is conditional upon certain obligations
+for users so as to preserve this status for all subsequent redistributions.
+
+In consideration of access to the source code and the rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty and the software's author, the holder of the
+economic rights, and the successive licensors only have limited liability.
+
+In this respect, the risks associated with loading, using, modifying
+and/or developing or reproducing the software by the user are brought to
+the user's attention, given its Free Software status, which may make it
+complicated to use, with the result that its use is reserved for
+developers and experienced professionals having in-depth computer
+knowledge. Users are therefore encouraged to load and test the
+suitability of the software as regards their requirements in conditions
+enabling the security of their systems and/or data to be ensured and,
+more generally, to use and operate it in the same conditions of
+security. This Agreement may be freely reproduced and published,
+provided it is not altered, and that no provisions are either added or
+removed herefrom.
+
+This Agreement may apply to any or all software for which the holder of
+the economic rights decides to submit the use thereof to its provisions.
+
+
+    Article 1 - DEFINITIONS
+
+For the purpose of this Agreement, when the following expressions
+commence with a capital letter, they shall have the following meaning:
+
+Agreement: means this license agreement, and its possible subsequent
+versions and annexes.
+
+Software: means the software in its Object Code and/or Source Code form
+and, where applicable, its documentation, "as is" when the Licensee
+accepts the Agreement.
+
+Initial Software: means the Software in its Source Code and possibly its
+Object Code form and, where applicable, its documentation, "as is" when
+it is first distributed under the terms and conditions of the Agreement.
+
+Modified Software: means the Software modified by at least one
+Contribution.
+
+Source Code: means all the Software's instructions and program lines to
+which access is required so as to modify the Software.
+
+Object Code: means the binary files originating from the compilation of
+the Source Code.
+
+Holder: means the holder(s) of the economic rights over the Initial
+Software.
+
+Licensee: means the Software user(s) having accepted the Agreement.
+
+Contributor: means a Licensee having made at least one Contribution.
+
+Licensor: means the Holder, or any other individual or legal entity, who
+distributes the Software under the Agreement.
+
+Contribution: means any or all modifications, corrections, translations,
+adaptations and/or new functions integrated into the Software by any or
+all Contributors, as well as any or all Internal Modules.
+
+Module: means a set of sources files including their documentation that
+enables supplementary functions or services in addition to those offered
+by the Software.
+
+External Module: means any or all Modules, not derived from the
+Software, so that this Module and the Software run in separate address
+spaces, with one calling the other when they are run.
+
+Internal Module: means any or all Module, connected to the Software so
+that they both execute in the same address space.
+
+GNU GPL: means the GNU General Public License version 2 or any
+subsequent version, as published by the Free Software Foundation Inc.
+
+Parties: mean both the Licensee and the Licensor.
+
+These expressions may be used both in singular and plural form.
+
+
+    Article 2 - PURPOSE
+
+The purpose of the Agreement is the grant by the Licensor to the
+Licensee of a non-exclusive, transferable and worldwide license for the
+Software as set forth in Article 5 hereinafter for the whole term of the
+protection granted by the rights over said Software. 
+
+
+    Article 3 - ACCEPTANCE
+
+3.1 The Licensee shall be deemed as having accepted the terms and
+conditions of this Agreement upon the occurrence of the first of the
+following events:
+
+    * (i) loading the Software by any or all means, notably, by
+      downloading from a remote server, or by loading from a physical
+      medium;
+    * (ii) the first time the Licensee exercises any of the rights
+      granted hereunder.
+
+3.2 One copy of the Agreement, containing a notice relating to the
+characteristics of the Software, to the limited warranty, and to the
+fact that its use is restricted to experienced users has been provided
+to the Licensee prior to its acceptance as set forth in Article 3.1
+hereinabove, and the Licensee hereby acknowledges that it has read and
+understood it.
+
+
+    Article 4 - EFFECTIVE DATE AND TERM
+
+
+      4.1 EFFECTIVE DATE
+
+The Agreement shall become effective on the date when it is accepted by
+the Licensee as set forth in Article 3.1.
+
+
+      4.2 TERM
+
+The Agreement shall remain in force for the entire legal term of
+protection of the economic rights over the Software.
+
+
+    Article 5 - SCOPE OF RIGHTS GRANTED
+
+The Licensor hereby grants to the Licensee, who accepts, the following
+rights over the Software for any or all use, and for the term of the
+Agreement, on the basis of the terms and conditions set forth hereinafter.
+
+Besides, if the Licensor owns or comes to own one or more patents
+protecting all or part of the functions of the Software or of its
+components, the Licensor undertakes not to enforce the rights granted by
+these patents against successive Licensees using, exploiting or
+modifying the Software. If these patents are transferred, the Licensor
+undertakes to have the transferees subscribe to the obligations set
+forth in this paragraph.
+
+
+      5.1 RIGHT OF USE
+
+The Licensee is authorized to use the Software, without any limitation
+as to its fields of application, with it being hereinafter specified
+that this comprises:
+
+   1. permanent or temporary reproduction of all or part of the Software
+      by any or all means and in any or all form.
+
+   2. loading, displaying, running, or storing the Software on any or
+      all medium.
+
+   3. entitlement to observe, study or test its operation so as to
+      determine the ideas and principles behind any or all constituent
+      elements of said Software. This shall apply when the Licensee
+      carries out any or all loading, displaying, running, transmission
+      or storage operation as regards the Software, that it is entitled
+      to carry out hereunder.
+
+
+      5.2 ENTITLEMENT TO MAKE CONTRIBUTIONS
+
+The right to make Contributions includes the right to translate, adapt,
+arrange, or make any or all modifications to the Software, and the right
+to reproduce the resulting software.
+
+The Licensee is authorized to make any or all Contributions to the
+Software provided that it includes an explicit notice that it is the
+author of said Contribution and indicates the date of the creation thereof.
+
+
+      5.3 RIGHT OF DISTRIBUTION
+
+In particular, the right of distribution includes the right to publish,
+transmit and communicate the Software to the general public on any or
+all medium, and by any or all means, and the right to market, either in
+consideration of a fee, or free of charge, one or more copies of the
+Software by any means.
+
+The Licensee is further authorized to distribute copies of the modified
+or unmodified Software to third parties according to the terms and
+conditions set forth hereinafter.
+
+
+        5.3.1 DISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION
+
+The Licensee is authorized to distribute true copies of the Software in
+Source Code or Object Code form, provided that said distribution
+complies with all the provisions of the Agreement and is accompanied by:
+
+   1. a copy of the Agreement,
+
+   2. a notice relating to the limitation of both the Licensor's
+      warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Object Code of the Software is
+redistributed, the Licensee allows future Licensees unhindered access to
+the full Source Code of the Software by indicating how to access it, it
+being understood that the additional cost of acquiring the Source Code
+shall not exceed the cost of transferring the data.
+
+
+        5.3.2 DISTRIBUTION OF MODIFIED SOFTWARE
+
+When the Licensee makes a Contribution to the Software, the terms and
+conditions for the distribution of the resulting Modified Software
+become subject to all the provisions of this Agreement.
+
+The Licensee is authorized to distribute the Modified Software, in
+source code or object code form, provided that said distribution
+complies with all the provisions of the Agreement and is accompanied by:
+
+   1. a copy of the Agreement,
+
+   2. a notice relating to the limitation of both the Licensor's
+      warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the object code of the Modified
+Software is redistributed, the Licensee allows future Licensees
+unhindered access to the full source code of the Modified Software by
+indicating how to access it, it being understood that the additional
+cost of acquiring the source code shall not exceed the cost of
+transferring the data.
+
+
+        5.3.3 DISTRIBUTION OF EXTERNAL MODULES
+
+When the Licensee has developed an External Module, the terms and
+conditions of this Agreement do not apply to said External Module, that
+may be distributed under a separate license agreement.
+
+
+        5.3.4 COMPATIBILITY WITH THE GNU GPL
+
+The Licensee can include a code that is subject to the provisions of one
+of the versions of the GNU GPL in the Modified or unmodified Software,
+and distribute that entire code under the terms of the same version of
+the GNU GPL.
+
+The Licensee can include the Modified or unmodified Software in a code
+that is subject to the provisions of one of the versions of the GNU GPL,
+and distribute that entire code under the terms of the same version of
+the GNU GPL.
+
+
+    Article 6 - INTELLECTUAL PROPERTY
+
+
+      6.1 OVER THE INITIAL SOFTWARE
+
+The Holder owns the economic rights over the Initial Software. Any or
+all use of the Initial Software is subject to compliance with the terms
+and conditions under which the Holder has elected to distribute its work
+and no one shall be entitled to modify the terms and conditions for the
+distribution of said Initial Software.
+
+The Holder undertakes that the Initial Software will remain ruled at
+least by this Agreement, for the duration set forth in Article 4.2.
+
+
+      6.2 OVER THE CONTRIBUTIONS
+
+The Licensee who develops a Contribution is the owner of the
+intellectual property rights over this Contribution as defined by
+applicable law.
+
+
+      6.3 OVER THE EXTERNAL MODULES
+
+The Licensee who develops an External Module is the owner of the
+intellectual property rights over this External Module as defined by
+applicable law and is free to choose the type of agreement that shall
+govern its distribution.
+
+
+      6.4 JOINT PROVISIONS
+
+The Licensee expressly undertakes:
+
+   1. not to remove, or modify, in any manner, the intellectual property
+      notices attached to the Software;
+
+   2. to reproduce said notices, in an identical manner, in the copies
+      of the Software modified or not.
+
+The Licensee undertakes not to directly or indirectly infringe the
+intellectual property rights of the Holder and/or Contributors on the
+Software and to take, where applicable, vis-à-vis its staff, any and all
+measures required to ensure respect of said intellectual property rights
+of the Holder and/or Contributors.
+
+
+    Article 7 - RELATED SERVICES
+
+7.1 Under no circumstances shall the Agreement oblige the Licensor to
+provide technical assistance or maintenance services for the Software.
+
+However, the Licensor is entitled to offer this type of services. The
+terms and conditions of such technical assistance, and/or such
+maintenance, shall be set forth in a separate instrument. Only the
+Licensor offering said maintenance and/or technical assistance services
+shall incur liability therefor.
+
+7.2 Similarly, any Licensor is entitled to offer to its licensees, under
+its sole responsibility, a warranty, that shall only be binding upon
+itself, for the redistribution of the Software and/or the Modified
+Software, under terms and conditions that it is free to decide. Said
+warranty, and the financial terms and conditions of its application,
+shall be subject of a separate instrument executed between the Licensor
+and the Licensee.
+
+
+    Article 8 - LIABILITY
+
+8.1 Subject to the provisions of Article 8.2, the Licensee shall be
+entitled to claim compensation for any direct loss it may have suffered
+from the Software as a result of a fault on the part of the relevant
+Licensor, subject to providing evidence thereof.
+
+8.2 The Licensor's liability is limited to the commitments made under
+this Agreement and shall not be incurred as a result of in particular:
+(i) loss due the Licensee's total or partial failure to fulfill its
+obligations, (ii) direct or consequential loss that is suffered by the
+Licensee due to the use or performance of the Software, and (iii) more
+generally, any consequential loss. In particular the Parties expressly
+agree that any or all pecuniary or business loss (i.e. loss of data,
+loss of profits, operating loss, loss of customers or orders,
+opportunity cost, any disturbance to business activities) or any or all
+legal proceedings instituted against the Licensee by a third party,
+shall constitute consequential loss and shall not provide entitlement to
+any or all compensation from the Licensor.
+
+
+    Article 9 - WARRANTY
+
+9.1 The Licensee acknowledges that the scientific and technical
+state-of-the-art when the Software was distributed did not enable all
+possible uses to be tested and verified, nor for the presence of
+possible defects to be detected. In this respect, the Licensee's
+attention has been drawn to the risks associated with loading, using,
+modifying and/or developing and reproducing the Software which are
+reserved for experienced users.
+
+The Licensee shall be responsible for verifying, by any or all means,
+the suitability of the product for its requirements, its good working
+order, and for ensuring that it shall not cause damage to either persons
+or properties.
+
+9.2 The Licensor hereby represents, in good faith, that it is entitled
+to grant all the rights over the Software (including in particular the
+rights set forth in Article 5).
+
+9.3 The Licensee acknowledges that the Software is supplied "as is" by
+the Licensor without any other express or tacit warranty, other than
+that provided for in Article 9.2 and, in particular, without any warranty 
+as to its commercial value, its secured, safe, innovative or relevant
+nature.
+
+Specifically, the Licensor does not warrant that the Software is free
+from any error, that it will operate without interruption, that it will
+be compatible with the Licensee's own equipment and software
+configuration, nor that it will meet the Licensee's requirements.
+
+9.4 The Licensor does not either expressly or tacitly warrant that the
+Software does not infringe any third party intellectual property right
+relating to a patent, software or any other property right. Therefore,
+the Licensor disclaims any and all liability towards the Licensee
+arising out of any or all proceedings for infringement that may be
+instituted in respect of the use, modification and redistribution of the
+Software. Nevertheless, should such proceedings be instituted against
+the Licensee, the Licensor shall provide it with technical and legal
+assistance for its defense. Such technical and legal assistance shall be
+decided on a case-by-case basis between the relevant Licensor and the
+Licensee pursuant to a memorandum of understanding. The Licensor
+disclaims any and all liability as regards the Licensee's use of the
+name of the Software. No warranty is given as regards the existence of
+prior rights over the name of the Software or as regards the existence
+of a trademark.
+
+
+    Article 10 - TERMINATION
+
+10.1 In the event of a breach by the Licensee of its obligations
+hereunder, the Licensor may automatically terminate this Agreement
+thirty (30) days after notice has been sent to the Licensee and has
+remained ineffective.
+
+10.2 A Licensee whose Agreement is terminated shall no longer be
+authorized to use, modify or distribute the Software. However, any
+licenses that it may have granted prior to termination of the Agreement
+shall remain valid subject to their having been granted in compliance
+with the terms and conditions hereof.
+
+
+    Article 11 - MISCELLANEOUS
+
+
+      11.1 EXCUSABLE EVENTS
+
+Neither Party shall be liable for any or all delay, or failure to
+perform the Agreement, that may be attributable to an event of force
+majeure, an act of God or an outside cause, such as defective
+functioning or interruptions of the electricity or telecommunications
+networks, network paralysis following a virus attack, intervention by
+government authorities, natural disasters, water damage, earthquakes,
+fire, explosions, strikes and labor unrest, war, etc.
+
+11.2 Any failure by either Party, on one or more occasions, to invoke
+one or more of the provisions hereof, shall under no circumstances be
+interpreted as being a waiver by the interested Party of its right to
+invoke said provision(s) subsequently.
+
+11.3 The Agreement cancels and replaces any or all previous agreements,
+whether written or oral, between the Parties and having the same
+purpose, and constitutes the entirety of the agreement between said
+Parties concerning said purpose. No supplement or modification to the
+terms and conditions hereof shall be effective as between the Parties
+unless it is made in writing and signed by their duly authorized
+representatives.
+
+11.4 In the event that one or more of the provisions hereof were to
+conflict with a current or future applicable act or legislative text,
+said act or legislative text shall prevail, and the Parties shall make
+the necessary amendments so as to comply with said act or legislative
+text. All other provisions shall remain effective. Similarly, invalidity
+of a provision of the Agreement, for any reason whatsoever, shall not
+cause the Agreement as a whole to be invalid.
+
+
+      11.5 LANGUAGE
+
+The Agreement is drafted in both French and English and both versions
+are deemed authentic.
+
+
+    Article 12 - NEW VERSIONS OF THE AGREEMENT
+
+12.1 Any person is authorized to duplicate and distribute copies of this
+Agreement.
+
+12.2 So as to ensure coherence, the wording of this Agreement is
+protected and may only be modified by the authors of the License, who
+reserve the right to periodically publish updates or new versions of the
+Agreement, each with a separate number. These subsequent versions may
+address new issues encountered by Free Software.
+
+12.3 Any Software distributed under a given version of the Agreement may
+only be subsequently distributed under the same version of the Agreement
+or a subsequent version, subject to the provisions of Article 5.3.4.
+
+
+    Article 13 - GOVERNING LAW AND JURISDICTION
+
+13.1 The Agreement is governed by French law. The Parties agree to
+endeavor to seek an amicable solution to any disagreements or disputes
+that may arise during the performance of the Agreement.
+
+13.2 Failing an amicable solution within two (2) months as from their
+occurrence, and unless emergency proceedings are necessary, the
+disagreements or disputes shall be referred to the Paris Courts having
+jurisdiction, by the more diligent Party.
+
+
+Version 2.0 dated 2006-09-05.
+
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..3aa35c2
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,161 @@
+11/06/11 -*- Version 0.6.2 -*-
+* Small bug fixed + new packages.
+
+03/06/10 -*- Version 0.6.0 -*-
+* Compatibility with Bio++ 2.0.0.
+
+03/06/10 Julien Dutheil
+* New method in bppPhySamp + new, faster, implementation.
+
+25/03/10 -*- Version 0.5.0 -*-
+
+22/08/09 Julien Dutheil
+* Added CMake configuration files, with twick for building the manual (assumes
+		texinfo is installed).
+
+22/07/09 Julien Dutheil
+* Added program bppTreeDraw.
+
+30/06/09 Julien Dutheil
+* BppAncestor: now output expected ancestral states frequencies.
+* BppAncestor: new method to compute EB estimates of ancestral states frequencies.
+
+10/06/09 -*- Version 0.4.0 -*-
+
+22/05/09 Julien Dutheil
+* Keyval syntax for sequence format description.
+* Documentation and example update.
+* SeqMan now uses the SequenceApplicationTools method.
+
+15/05/09 Julien Dutheil
+* Compatibility update with the libs, new keyval syntax for model
+specification.
+* Documentation up to date.
+
+02/02/09 Julien Dutheil
+* bppConsense now outputs the number of leaves of the input tree.
+* New progress bar in bppConsense.
+
+08/01/09 Julien Dutheil
+* Added texinfo documentation.
+* More bootstrap options in BppDist (the same as in BppML).
+
+25/09/08 -*- Version 0.3.1 -*-
+
+07/12/08 Bastien Boussau & Julien Dutheil
+* Bug removed in non-homogeneous models with covarions.
+
+09/10/08 Julien Dutheil
+* New action 'invert' in bppSeqMan.
+
+25/09/08 -*- Version 0.3.0 -*-
+
+20/09/08 Julien Dutheil
+* New program bppAncestor to reconstruct acestral states and rates.
+* New +F models from PhylLib. 
+
+02/07/08 Laurent Guegen
+* Bug fixed in bppML: frequencies can be computed from the data with
+non-homogeneous models.
+
+19/06/08 Julien Dutheil
+* Shell variables are now 'global' in option files.
+
+24/04/08 -*- Version 0.2.3 -*-
+* This version requires the CVS version of Bio++ to be built.
+
+03/03/08 Julien Dutheil
+* Bug fixed in keep_complete method of BppSeqMan.
+
+27/03/08 Julien Dutheil
+* Bug fixed when printing parameters of non-homogeneous models in bppML.
+
+22/01/08 -*- Version 0.2.2 -*-
+
+28/02/08 Celine Scronavacca
+* Bug fixed in ReRoot.
+
+22/01/08 -*- Version 0.2.1 -*-
+
+06/02/08 Celine Scornavacca
+* Bug fixed in ReRoot + correction of version number in bppSeqGen.
+
+22/01/08 -*- Version 0.2.0 -*-
+
+13/01/08 Julien Dutheil
+* More options in bppml: possibility to chose between simple and double
+recursion and data compression method.
+* Simple recursion method improved.
+
+11/01/08 Julien Dutheil
+* Compatibility update
+* bppML now output more handy parameter values.
+
+31/12/07 Julien Dutheil
+* New program Phylo Sampler.
+
+07/11/07 Julien Dutheil
+* Compatibility update with Bio++ cvs.
+* Bug fixed in BppSeqGen.
+* BppSeqGen can now simulate datas from a set of trees (ancestral
+  recombination graph).
+
+25/10/07 Julien Dutheil
+* Several bug fixed in BppML and BppSeqGen with non-homogeneous models.
+* Examples updated + new example option files for non-homogeneous models.
+
+05/10/07 Bastien Boussau & Julien Dutheil
+* Non-homogenous sequence simulation in BppSeqGen.
+* Model options in files have changed to suit the non-homogeneous case.
+  The covarion option now is fully part of the model options, following the
+	new syntax 'model=modelname+covarionname', eg 'T92+G2001'.
+
+03/10/07 Julien Dutheil
+* New program Bio++ Sequence Manipulator
+
+21/09/07 Julien Dutheil
+* Bug fixed in BppDist: branch length are indeed not estimated when parameters
+  to ignore contains "BrLen".
+* Stop condition when using iterations is now based on topological distance
+  instead of likelihood comparisons (phyllib).
+* New option optimization.topology_nni.method = [fast|better|phyml]
+
+17/06/07 -*- Version 0.1.0 -*-
+
+16/07/06 Julien Dutheil
+* New option bootstrap.verbose for bppML.
+* Bug fixed in bootstrap computation.
+
+06/06/06 Julien Dutheil
+* New program bppConsense.
+
+05/05/07 Julien Dutheil
+* First alpha release of bppsuite.
+
+-*- Old bppML ChangeLog -*-
+
+23/04/07 Julien Dutheil
+- Optimization with a global clock.
+- Possibility to set branch lengths before ML optimization, with different
+  methods.
+
+25/01/07 Julien Dutheil
+* Version 1.0.0
+- Topology search for ML
+- User input tree may be random, nj or bionj.
+- Possibility to make a parsimony search before ML estimation.
+
+28/08/06 Julien Dutheil
+* Version 0.2.0
+- Covarion models
+- New optimization methods.
+
+30/05/06 Julien Dutheil
+* option --enable-static in configure.
+
+19/04/06 Julien Dutheil
+* Version 0.1.2
+* Update for library compatibility
+* Check for 0 branch lengths leading to 0 likelihood before optimization.
+* New output.estimates options to get the final parameter values after optimization.
+
diff --git a/Examples/ConsensusTree/Consense.bpp b/Examples/ConsensusTree/Consense.bpp
new file mode 100644
index 0000000..185c3dc
--- /dev/null
+++ b/Examples/ConsensusTree/Consense.bpp
@@ -0,0 +1,15 @@
+input.trees.file = ../Data/treeList.dnd
+input.trees.format = Newick
+# [input|consensus]
+tree = Input
+input.tree.file = boot.nx #../Data/tree.dnd
+input.tree.format = Nexus #Newick
+# Alternatively:
+# tree = Consensus(threshold=0.5)
+# 0 = fully resolved
+# 0.5 = majority rule
+# 1 = strict
+# or any intermediate value...
+output.tree.file = boot.nx
+output.tree.format = Nexus
+
diff --git a/Examples/Data/LSU.dnd b/Examples/Data/LSU.dnd
new file mode 100644
index 0000000..0b3975d
--- /dev/null
+++ b/Examples/Data/LSU.dnd
@@ -0,0 +1 @@
+((((((((Leptospira:0.211857,((((Thermus:0.146936,(Thermotoga:0.107931,Aquifex:0.260721):0.0337762):0.0847738,Synechocystis:0.238263):0.0184171,((((Mycobacterium at smegma:0.0152015,(Mycobacterium:0.00677954,Mycobacterium at leprae:0.0189232):0.0143038):0.0519384,Rhodococcus at erythrop:0.0241529):0.0377471,(Frankia at sp:0.0326741,(((Thermomonospora:0.0376728,Microbispora:0.0431383):0.0171155,Thermomonospora at chro:0.0276944):0.0409298,((Streptomyces at coelico:0.012891,Streptomyces at griseus:0.0125734):0. [...]
diff --git a/Examples/Data/LSU.phy b/Examples/Data/LSU.phy
new file mode 100644
index 0000000..64ce928
--- /dev/null
+++ b/Examples/Data/LSU.phy
@@ -0,0 +1,1976 @@
+79 2353
+Bradyrhizobium        TGCTTAAGGTGTTCGGTGGATGCCTTGGCGCTGAGGCGATGAAGGACGTGCTACCTGCGATAAGCCGTGGGGAGCTGCGAAAAGCTTGATCCATGGATTT
+                      CCGAATGGAGACATCAGCAACCCAGGGACTGAAACATCTAAGTACCTGGGGAAAGGACATCAACGAGACTCCGTTAGTAGTGGCGAGCGAACGCGGACCA
+                      GGCCATAACAATCGGAACCGGTAGGAAACCGGGCCCAGAGGTGAAGCCCCGTAGAAATCCAGAGTAGGCGGGACACGTGAAATCCTGTCTGAACGCGGGG
+                      GGACCACCCTCCAAGCCTAAGTACTCTCAGCGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGACTGAAACCGGACACCT
+                      ACAACAGATGGAGCCCCGGGTGACATGTACCTTTTGTATTATGGGCCAGCGACTTAATTTAACGAGCAGCTTAAGATGGTAGGCGCACGGAGCGGTCTGA
+                      ATAGGGCGAAGTTCGTTGTATTAGACCCAAACCAGTGATCTAGCCATGAGCAGTTGAAGGTGAGTAACACTCACTGGAGGACCGAAGGTGCCTGTTGAAA
+                      AAGGCCCGATGACTGTGTTAGGGGTGAAAGGCCAATCAAACTGGAAATAGCTGGTCTCCGCGAAAGATATTTAGGTAGCGCCTCGGATACCTCAGGGGTA
+                      GAGCACTGGATGGGCTAGGGATCTCTAAACCCAACCAAACTCCGAATACCTGTATCCGGGAGTCACACGCGGGTGCTAACGTCCGTCGTGGAGAGGGAAA
+                      CAACCCGGACCTACAGCTAAGCCCCTAATCTGGCTAAGTGGAAAGGATGTGAAATCCCAAAACAACCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAACAGCTCACTGGTCTAGGGTTTCCCGAAGATGTCGGCTAAGCCACGAGCCGAAGCTTAGGGTCAGCGGTAGCGGAGCGTTCTGTACCTGCAAGGGG
+                      ACTCGTGAAGCGCCTGGAGGTATCAGAAGTGCGAATGTGGCATGAGTAACGAAACACTGTGAAAGACAGTGTCGCCGAAAGTCCAAGGTTCCTGCGTAAG
+                      TTAATCTTCGCAGGGTTAGCCGGTCCCTAAGGCGAGGCCGAACGTAGTCGATGGGAATGCAGGAATATTTGCAGCGTGACGAATCCCGTGGTTGTCGACA
+                      CTGGTTGCTTCGGTTCCAGGAAATACACCGTACCAAACCGACACAGGTGGACGGTAGAGTATACCAAGGCGTTGAGAGAACTATGTTGAAGGAACTCGGC
+                      AATTTACCTCCGTAACTTCGGGATAAGGAGGCCCATCAATGGGGCACAGACCGGGGGGGAACTGTTTAACAAAAACACAGGCTCTGCGAAATCGCAAGAT
+                      ACGTATAGGGTCTGACGCCTGCCCGGTGCCGGAAGGTTAAGAGGAGAGGTCAAGCTTGAATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAATGACTTCCCCGCTGTCTCCAACATAGACTCAGTGAAATTGAATTCCC
+                      CGTGAAGATCGGGGTTCCTGCGGTCAGACGGAAGACCCCGGCACCTTTACTGTAGCTTTGCGCTGGTATTCGTGACTGTTTGTGTAGAATAGGTGGTAGG
+                      CTTTGAAGCCGTGGCGCCAGCCATGGTGGAGCCAAATGAAATACCACCCTAATGGTTATGATATCTAACCGCGAGACCGGGACAGCGCATGGTGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCCAAAGAGTAACGGAGGCGTGCGAAGGTAGGCTCAGAACGGTCGGAAATCGTTCGTCGAGTATAATGGCATAAGCCTGCC
+                      TGACTGCGAGATCTACGATGAGCAGAGACGAAAGGGTCATAGTGATCCGGTGGTCCCGGTGGATGGGCCATCGCTCAACGGATAAAGGTACGCCGGGATA
+                      ACAGGCTGATGACGCCCAAGAGTCCATATCGACGGCGTGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGGAGAAGGTCCAAGGGTTCGCTG
+                      TTCGCCGATAAAGTGGTACGTGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGTGTTGGAATTTGAGAGGATTGCCCCTAGTA
+                      CGAGAGGACCGGGGTGAACGTACTCTGGTGGAGCTGTTGTCGCGCCAGCGCATGCAGCATAGCTATGTCGGCGGGATAACCGCTGAAACATCTAAGCGGA
+                      AACCCCCTAAAAGAGCATTCCCAGAACCGTGGAAGACCACACGTGATGGCCGG
+
+Bacillus at licheniform  TTAGAAAGGCGCACGGTGGATGCCTTGGCACTAAGCCGATGAAGGACGGGACGACACCGATATGCTTCGGGGAGCTGTAAGAAGCTTGATCCGGAGATTT
+                      CCGAATGTCCTCATGAGCAACCCGGGGACTGAAACATCTAAGTACCCGGGGAAGAGAAAGCAAAGCGATTCCCTGAGTAGCGGCGAGCAAAACGGGAACA
+                      GCCCGGAGGTAGATGAAGGGTCTGGAAAGCCCGCCTAGGGGTAAAGCCCTGTATCAACCCTGAGTCGGCGGAACACGTGAAATTCCGTCGGAATCCGGGA
+                      GGACCATCTCCCAAGGCTAAATACTCCTAGTGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGTCTGAAACCGTGTGCCT
+                      ACAATAGTCAGAGCCCAGGGTGATGGGTGCCTTTTGTAGAATGAACCGGCGAGTTACGATCCCGTGCAGGTTAAGAAAGGAGCCGCAGCGAGCGGTCTGA
+                      ATAGGGCGGAGTACGTGGTCGTAGACCCAAACCGGTGATCTACCCATGTCCAGGTGAAGTTCAGTAACACTGAATGGAGGCCCGAACACGCACGTTGAAA
+                      AGTGCGGGATGAGTGTGGTAGGGGTGAAATGCCAATCGAACCTGAGATAGCTGGTCTCTCCGAAATAGCTTTAGGGCTAGCCTCAAGAGATCTTGAGGTA
+                      GAGCACTGATTGGACTAGGCCTCGGTAAATTCAGTCAAACTCCGAATGCCAATACTTGGGAGTCAGACGCGAGTGATAAGATCCGTAGTCGAAAGGGAAA
+                      CAGCCCAGACCGCCAGCTAAGTCCCAAAGAACGTTAAGTGGAAAGGATGTGAGTTGCTTAGACAACCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAGTG
+                      CGTAATAGCTCACTGGTCGAGTGACTCCCGAAAATGTCGGCTAAACGTATCACCGAAGCTGCGGACTGGTGGTAGGAGAGCGTTCTAAGGCTGTAAGCGA
+                      GACCGGAAGACTCGTGGAGCGCTTAGAAGTGAGAATGCGGTATGAGTAGCGAAGAGGGGTGAGAATCCCCTCCACCGAATGCCTAAGGTTCCTGAGGAAG
+                      CTCGTCCGCTCAGGGTTAGTCGGGACCTAAGCCGAGGCCGAACGTAGGCGATGGACAACAGGTGATATTCTGTACGGGACGCAGAGGATAGGGTACGCGT
+                      TGGCGCGTCCTCCTGCCAAGAAAAGCCCCGTACCAAACCGACACAGGTAGGCAGGAGAGAATCCTAAGGTGTCGAGAGAACTCTCGTTAAGGAACTCGGC
+                      AAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTCTCAGGGCCGCAGTGAATGGCCCAGGACTGTTTAGCAAAAACACAGGCTCTGCGAAGCCGTAAGGC
+                      AAGTATAGGGGCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGCGCTTAAGTGCGAATTGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGCAACGATCTGGGCACTGTCTCAACGAGAGACTCGGTGAAATTATAGTACC
+                      TGTGAAGATCAGGTTACCCGCGACAGGACGGAAGACCCCGGGAGCTTTACTGCAGCCTGATATTGAATGTTGGTACAGCTTGTACAGGATAGGTAGGAGC
+                      CTTGGAAACCGGAGCGCCAGCTTCGGTGGAGGCTCGTGGGATACTACCCTGGCTGTATTGCCTTCTAACCCGCATAGGGAGACAGTGTCAGGTGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAAGGTAACGGAGGCGCCCAAAGGTTCCCTCAGAATGGTTGGAAATCATTCGCAGAGTGTAAAGGCACAAGGGAGCT
+                      TGACTGCGAGACCTACAGTGAGCAGGGACGAAAGGGGCTTAGTGATCCGGTGGTTCCGATGGAAGGGCCATCGCTCAACGGATAAAGCTACCCCGGGATA
+                      ACAGGCTTATCTCCCCCAAGAGTCCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGTAGTCGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCGTCGCGGGCGCAGGAAATTGAGAGGACTGTCCTTAGTA
+                      CGAGAGGACCGGGATGGACGCACGCTGGTGTACCAGTTGTTCTGCCAAGGCACGCTGGGTAGCTATGTCGGCGGGATAAGTGCTGAAACATCTAAGCATA
+                      AGCCCCCTAAGAGAGATTTCCCAGATCCCTGAAAGATGATAGGTGATGGTCTG
+
+Rickettsia            TAAATAAGGCATTTGGTGGATGCCTTGGCACTAAGGCGATGAAGGACGTGATACCTGCGATAAGCTTCGGGGAGTTGCGAAAAACTTGATCCGAAGATTT
+                      CCGAATATTGACATGAGCAACCCAGCGACTGAAATATCTAAGTAGCTGGGGAAAGGACATCAACGAGACTCCGTTAGTAGTGACGAGCGAACGCGGATCA
+                      GGCCGCTATAACTAAAACAACATGGAAAGTTGACCTAGAGGTGAAGTCCCGTAAGAAACCTGAGTAGGCGGGACACGTGAAATCCTGTTTGAACATAGGG
+                      GGACCACCCTCTAAGCCTAAGTACTCCTAGTGACCGATAGTGAAAAGTACCGTGAGGAAAGGTGAAAAGTCCGGAGTGAAAAGACTGAAACCAAATGCTT
+                      ACAACAGTCGGAGCAAATTGTGACGGGTACCTTTTGTATAATGGGTCAGCGACTTAGTTTATCTAGCAGCTTAAGTTGGTAGGCGTAGCGAGCGGTCTGA
+                      ATAGGGCGTAGTTAGATGAATTAGACCCAAACCGGTGATCTAGCCATGGCCAGTTGAAAGCGGATAAAATCCACTGAAGGACCGAACACTACTGTTGAAA
+                      AAGTAGGGATGAGTGTGTTAGGGGTGAAAGGCCAATCAAACTCGATATAGCTGGTCTCCGCGAAATCTATTTAGGTAGAGCGTTATATACCATCGAGGTA
+                      GAGCACTGAATGAGCTAGGGTCCACTAAACTCAATCAAACTCCGAATGTCGGTACATAGCAGACAGACATGGGTGCTAAGGTCCATAGTCGAGAGGGAAA
+                      AAGCCCAGATCGCCATCTAAGTCCCTAAACTGACTAAGTGTAAAGGATGTAGAAGACCAAAACAACTAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTAGTCTAGTTTTCTCCAACAATGTCGGCTAAGTCATGTACCGAAGATGCGGGTTTATGGTAGCGGAGCGTTCCGTACCTGCAAGGTG
+                      AACCGTAAGTTTGCTGGAGGTATCGGAAGTGAGAATGTGACATAAGTAGCGAAAGAATGTGAGAAACATTCTCGCCGAAAGTCCAAGGTTCTTGCGTAAG
+                      TTAATCTGCGCAAGGTTAGTCGGCCCCTAAGATGAGGCTGAACGTAATCGATGGGAATCAGGTAATATTCTGAACGTGACGAAAATAGTAATTGTCAGTA
+                      TTGATTGCGGTTTTTCCAGGAAATACACCGTACCAAACCGACACAGGTGGACGGTAGAGTATACCAAGGCGTTGAGAGAACGATGCTGAAGGAACTAGGC
+                      AAATTGCATCTGTAACTTCGGAAGAAAGATGACCTGCAGAGTGGCACAAGCTGGGGGAGGACTGTTTATTAAAAACACAGGCTCTGCAAAGTCAATAGAC
+                      ATGTATAGGGTCTGACGCCTGCCCAGTGCTGGAAGATTAAAAGGAGGGGTCAAGTCTGAATTGAAGTCCCAGTGAACGGCGGCCGTAACTATGACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAATGGCGTAACGATTTCCCCACTGTCTCCAGTATCGACTCAGCGAAATTGAATTCTC
+                      CGTGAAGATCGGAGTTCCCGCGGTCAGACGGAAGACCCCGGAACCTTTACTATAGCTTTGCACTGGTGTTAGGAATCAGATGTGCAGGATAGGTGGGAGA
+                      CTACGAAGCGAAGGCGTCAGCCTTTGTGGAGTCCCCTGAGATACCACCCTTTTGGTGCTTACATCTAACCGAGATTCCGAGACAATGCATGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCCAAAGAGTAACGGAGGCGCGCGATGGTTAGCTCAGGTTGGTCGGAAATCAACTTTAGAGTGCAATGGCATAAGCTAGCC
+                      TGACTGCGAGTCTGACAGAGAGCAGAGACGAAAGGGTCATAGTGATCCGGTGGTTCCGGTGGAAGGGCCATCGCTCAACGAATAAAGGTACTCCGGGATA
+                      ACAGGCTGATGATTTCCAAGCGTCCATAGCGACGAAATGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGGAGAAGGTCCAAGGGTTCGCTG
+                      TTCGCCGATAAAGTGGTACGTGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGTGTAGGAAGTTGAGAGGACTGCCTTTAGTA
+                      CGAGAGGACCGAGGTGGACGTACCCTGGTGGACCAGTTGTCGTGCCAACGCAAGCTGGGTAGCTAAGTCGGAGGGATAACTGCTGAATCATCTAAGCAGA
+                      AACCCCCTAAAATAGACTTCCCAGAGCCGTGGAAGACCACACGTGATGGTCGG
+
+Lactobacillus         TAGAAAAGGCGCACGGTGAATGCCTAGGCACTAAGCCGATGAAGGACGTAACGACTGCGAAAAGCTTCGGGGAGCTGTAAGAAGCTAGATCCGGAGATGT
+                      CCGAATGTTGGTTAAAGAAACGCAGCGACTGAAACATCTAAGTAGCTGCGGAAGAGAAAGAAAATCGATTTCCTTAGTAGCGGCGAGCGAAGAGGAAAGA
+                      GCCTGGAGATAGCAGAACTACCTGGGAAGTAGGCCGAGAGGTGAAGCCCCGTAGCAATCCTGAGTGGGCGGAACACGAGGAATTCCGTTTGAATCCGCGA
+                      GGACCATCTCGCAAGGCTAAATACTACTAGTGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGACCGGAGTGAAAAGACTGAAACCGTGTGCCT
+                      ACAATAGTCAGAGCACAGTGTAATGGGTGCCTTTTGTAGAATGAACCGGCGAGTTATGCTGTGCAGCGGGTTAAGAAAGGAGCCGGAGCGAGCGGTCTGA
+                      AGAGGGCGAAGTTGTGCGGTGTAGACCCAAACCAGTGACCTACCCATGACCAGTTGAAGGTGCGTAAAACGCACTGGAGGACCGAACACGTAAGTTAAAA
+                      ATTGCGGGATGAGTGTGGTAGCGGTGAAATTCCAAACGAACTTGAGATAGCTGGTCTCTCCGAAATAGCTTTAGGGCTAGCCTCGTGAGGTAATGAGGTA
+                      GAGCTCTGTTTGGACAAGGCCGCGGTAAATCCAGATAAACTGCGAATTCCAGCACACGGGAGTCAGACGCGAGTGATAAGATCCGTAGTCGAAAGGGAAA
+                      CAGCCCAGATCACCAGTTAAGTCCCCAAACATGCTAAGTGGAAAGGATGTGAGTTGCGTAGACAACTAGGACGTTGCTCAGAAGCAGCCTTCAAAGAGTG
+                      CGTAATAGCTCACTAGTCGAGTGGCTCCCGAAAATTTCGGCTAAGCATAGTACCGAAACTGTGGACAAGTGGTAGGAGAGCGTTCTAAGGCGGAAAGTCT
+                      GATCGAGAGACAGATGGAGCGCTTAGAAGTGAGAATGCGGTATGAGTAGCGAAGATAGGTAAGAATCCTATCCGCCGGAAGACTAAGGTTCCTGGGGCAG
+                      CTCGTCCGCCCAGGGTAAGTCGGGACCTAAGGCAAGGCCGAACGTAACCGATGGATAACAGGAGAGATTCTGTACGGGACGCAGAGGCGAAGCACCATGC
+                      TGGCATGTGCACCTGCCAAGAAAAGCCCCGTACCAAACCGACACAGGTAGTCAGTGGAGAACACTAAGGTGGCGAGAGAACTCTCGTTAAGGAACTCGGC
+                      AAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTGAAGACGCCGCAGAGAATGGCCCAAAACTGTTTATCAAAAACACAGGCTCTGCAAAGTCGTAAGAC
+                      ACGTATAGGGGCTGACACCTGCCCGGTGCTGGAAGGTTAAGAGGAGTGCTTCGGTACGAATTTAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAAAGGTGTAATGATTTGGGCACTGTCTCAACGAGAGACTCGGTGAAATTATAATACC
+                      CGTGAAGATCGGGTTACCCGCGACAGGACGGAAGACCCCAGGAGCTTCACTGTAGCTTGATATTGAGTATCTGTTAAACATGTACAGGATAGGTAGGAGC
+                      CAGAGAAGGTAGGACGCTAGTCTTACTGGAGGCATGTGGGATACTACCCTTGTTTGATGGTGCTCTAACCTAGAGCAGGGGACAGTGTCAGGTAGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGTGTAACGGAGGCGCTCAAAGGTTCCCTCAGAATGGTTGGAAATCATTCGCAGAGTGTAAAGGTATAAGGGAGCT
+                      TGACTGCGAGAGAGACACTGAGCAGGGACGAAAGGGACTTAGTGATCTGGTGGTACCGATGGAAGGGCCATCACTCAACGGATAAAGCTACCCTGGGATA
+                      ACAGGCTTATCTCCCCCAAGAGTTCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGAAGTTGGTCCAAGGGTTGGATG
+                      TTCGCCCATAAAGCGGCACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCGTCGTGGGCGCAGGAAATTGAGAGGACTGTCCTTAGTA
+                      CGAGAGGACCGGGATGGACGCACGCTGGTGTACCAGTTGTCTTGCCAAAGCACGCTGGGTAGCTATGTCGGAGGGATAAGCGCTGAAACATCTAAGTGCA
+                      AGCCCCCTAAGAGAGATTTCCAAGACACCTCAGAGACGATAGGTGATGGCTGG
+
+Aquifex               TTAGTAAGGCCCGGGGTGGATGCCTCGGCTCCCAGCCGATGAAGGGCGTGCAAACTGCGATAAGCCGGGTGGAGGCGCAAGAGCCGTGAGGCCCGGATGC
+                      CCGAATGTCCTTCGGAGGGACCGGCCGAGCAAAACCTTTTAGTAGGCCGGGAAAGGAAATCAATGAGACGCCCTGAGTAGCGGCGAGCGAAAGGGGCTCA
+                      GCCCGGACCTAGCCGAAGTCCCTGGAATGGGCGCCTAGAGGTGAAGCCCCGTAGCAAGCCCAAGTCCGCGGCCCACGTGAAAGGTCGCGGGAATCCGGGG
+                      GGACCACCCTCCAAGGCTAAGTACTCCGGGAGACCGATAGCGCATAGTACCGTGAGGAAAGGTGAAAAGACCTGAGTGAAAAGACTGAAACCCCGGGTCC
+                      ACAACAGTGGAAGGGGTCCCCGACTGGTGCCTTTTGCAGAATGAGCCGGGGAGTTGTCCTCAGGGGCGGGCTAAGTCGGAAGCCGTAGCGAGCGGTCCGA
+                      ATAGGGCGAAGTCCCTGGGGGCAGACGCAAGCCGGCGATCTACCCTTGCCCTGGTGAAGGCCGGTAACACCGGCTGGAGGCCCTAAGGTCGGTGCTGCAA
+                      AACCGCCCGTGAGTGAGGTAGCGGTGAAAAGCCAATCGCGCCCGGGATAGCTCGTCTCCCCGAAATGCATCGAAGTGCAGCGTCGCCCCTTCCCGAGGTA
+                      GAGCACTGCTGGGGCTAGCCCGAGGGAAACCCCGGCAAACTCCGAATGCCGGAGGGCGGCAGTGAGTCTCGGGGGATAAGCTCCGAGGACAAGAGGGAAA
+                      CAGCCCAGACCGCCGGCTAAGCCCCAAAGCGGGCTAAGTGGAAAGGAAGTCCCGTCCTAAGACAGCCGGGAGGTTGCTTAGAGGCAGCCTTTAAACAGTG
+                      CGTAACAGCTGACCGGTCGAGGGCGGGCCGAAAATTTCGGCTAAGCCCGGCGCCGAAGCCGCGGGTCCGCGGTAGGGGAGCGTTCCCAGGCGCTAAGCCA
+                      AGCCGTGAGCAGGGTGGAGCGCTGGGAAGTGAGAATCCGGCATGAGTAGGAGAGGCAGGTGAGAAACCTGCCCGCCGGAAGCCCAAGGTTCGGCGGCAAG
+                      GAAATCAGCCGCCGGTTAGCCGGGCCCTAAGGCGAGGCCGAGCGTAGCCGATGGGAAGCGGGCAACATTCCGCGCGTGACGCAGAGGCTAGGCCGGCCCA
+                      TGGGGGTGGCCCCTGCCAAGAAACACCCCGTACCAAACCGACACAGGTGGGCGGGTTAGGAGCCTAAGGCGTCGGGGGAACTCCCCTCAAGGAACTCGGC
+                      AAGTTGGCCCCGTACCTTCGGAAGAAGGGGTGCCCGCGGGGTCGCAGTGACAGGCGGGCGACTGTTTACCAAAAACACAGGCTACGCAAACCCGAAAGGG
+                      ATGTATGTGGTCTGAAGCCTGGCCAGTGCCCGAAGGTGAAGGCCCCCGGTATGGTGGGGGCTGAAGCCCGGGTAAACGCCGGCCGTAACTATGACGGTCC
+                      TAAGGTAGCGAAATTCCTTGCCGGGTAAGTTCCGGCCTGCATGAATGGCCCAACGAGTGCCGCACTGTCTCGAGGGGAGTCCCGCCGAAATTGTAATGCC
+                      GGTCAAGATCCGGCTACCCGCGGCAGGACGGAAGACCCCGGAAGCTTCACTGCAGCCTGGCATTGGGCTCTGGCCTGTCCTGCGCAGGATAGGTGGGAGC
+                      CTGGGAAGCCCCCGCTCCGGCGGGGGTGGAGGCCCGTGAGATACCACCCTGGACAGGCTGGGTCCTAACCCAGATGCGGGGACAGTGCTAGGTGGGCAGT
+                      TTAGCTGGGGCGGCTGCCTCCTAAAGAGTAACGGAGGCGCCCAAAGGTCCCCTCAGGCGGGTCGGAAATCCGCCGTAGAGTGCAAGGGCATAAGGGGGCC
+                      TGACTGTGAGGCCGACGGCGAGCAGCCGCGAAAGGGGCCTAGTGACCCACCCGCTCCAGTGGGAGGGCGGGTGATCAGCGGATAAAGCTACTCCGGGATA
+                      ACAGGCTAATCGCCCCCGAGAGCCCACATCGACGGGGCGTTTGGTACCTCGATGTCGGCTCCCCCCATCCTGGGGCTGAAGCAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGGGGGACGCGAGCTGGGTTCAGAACGTGCGAGACAGTTCGGTCCCTATCCGCCGCGGGCGCAGGAGCTTGAGGGGGCCGTCCCTAGTA
+                      CGAGAGGACCGGGACGGGGCAGGACTGGTGTACCGGTTGTCCCTGGAGGGCACGCCGGGTAGCCATCCGCTCGGGATAAGCGCTGAAACATCTAAGCGCA
+                      AGCCCCCCAAGAAAGGGCTCCCAGGGCCCCGGGAGACTACGGGTGATGGCCGC
+
+Haemophilus           TGACTAAGGTACAAGGTGGATGCCTTGGCAATCAGGCGAAGAAGGACGTGCTAACTGCGAAAAGCTTGGATGAGTCGATAAAGGCTTTAATCCAAGATAT
+                      CCGAATGTCATCATGAGCAACCGGGAGACTGAAACATCTAAGTACCCCGGGAAAAGAAATCAACGAGATTTCGTCAGTAGCGGCGAGCGAAAGCGAAAGA
+                      GCCAAAGGTGAGGAGAATGTGTTGGGAACACAATCAAGAGGTGAAATCCCGTACTAAACGAAAGTGGGCGGGACACGTGATATCCTGTTTGAAGAAGGGG
+                      GGCCCATCCTCCAAGGCTAAATACTCTGATTGACCGATAGTGAACAGTACTGTGAAGAAAGGCGAAAAGACCGGAGTGAAAAGACTGAAACCTTGTACGT
+                      ACAACAGTGGGAGCGAATTGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTATATTTTGTAGCGGGTTAACAAGGGAGCCGAAGGGACCGGTCTTA
+                      ACTGGGCGTAGTTGCAAGGTATAGACCCAAACCGGTGATCTAGCCATGGGCAGTTGAAGGTTGGTAACACTAACTGGAGGACCGAAGACTAATGTTGAAA
+                      AATTACGGATGACTGTGCTGGGGGTGAAAGGCCAATCAAACCGGAGATAGCTGGTCTCCCCGAAATCTATTTAGGTAGAGCCTTGAGCACCTTTGGGGTA
+                      GAGCACTGTTTCGGCTAGGGCTCGCTAACCCGATGCAAACTACGAATACCAATGCTCAGGAGACACACGCGGGTGCTAACGTCCGTCGTGGAGAGGGAAA
+                      CAACCCAGACCGCCAGCTAAGTCCCCAAGCATATTAAGTGGAAACGAAGTGGAAGGCTTAGACAGCTAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTAGTCGAGTCGGCCCGGAAGATGTCGGCTAAATATAGCACCGAAGCTGCGGCATTTGGGTAGGGGAGCGTTGTGTACGGAAAAGGTT
+                      CATCGAGAGTGGGCTGGACGTATCACAAGTGCGAATGTGACATAAGTAACGAAAACGGGTGAAAAACCCGTTCGCCGGAAGACCAAGGTTCCTGTCCAAG
+                      TTAATCGGGGCAGGGTGAGTCGGCTCCTAAGGCGAGGCTGAACGTAGTCGATGGGAAACAGGTAATATTCTGTACGGGACGGAGAGGTTAGGTTACGCAT
+                      TGGTGCGAACTCCTTCCAGGAAAAGCACCGTACTAAACCGACACAGGTGGTCGGTAGAGAATACTCAGGCGTTGAGAGAACTCGGGTGAAGGAACTAGGC
+                      AAAATAGCACCGTAACTTCGGGAGAAGGTGCGCCGGTAACGTCGAAGATACCGCTGGTGAACTGTTTATTAAAAACACAGCCTCTGCAAACACGAAAGTG
+                      ACGTATAGGGTGTGATGCCTGCCCGGTGCTGGAAGGTTAATTGATGGTGTAAAGACCTGATCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCATAATGATGGCCAGGCTGTCTCCACCCGAGACTCAGTGAAATTGAAATCGC
+                      CGTGAAGATCGGTGTACCCGCGGCTAGACGGAAGACCCCGGAACCTTTACTATAGCTTGACACTGAACATTGAATTTTGATGTGTAGGATAGGTGGGAGC
+                      CTTTGAAGCAGTGACGCCAGTCATTGTGGAGGCACCTGAAATACCACCCTTTAACGTTTGTGTTCTAACGAAGAATCTCGGACAGTGTCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGCGTAACGGAGGAGCACGAAGGTTTGCTAATCACGGTCGGACATCGTGAGGTTAGTGCAATGGTATAAGCAAGCT
+                      TAACTGCGAGACAGACAGTGAGCAGGTACGAAAGGGTCATAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGTAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGTAGGATGTTGATTGGGCTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGCATACTGGTGTTCCGGTTGTGTCGCCAGACCATGCCGGGTAGCTAAATCGGAGAGATAAGTGCTGAAACATCTAAGCACA
+                      AACTTCCAGAGAGAGTCATCCCAGGGTTGTTGTAGACTACACGTGATGGTTGG
+
+Escherichia at coli      CGACTAAGGTACACGGTGGATGCCCTGGCAGTCAGGCGATGAAGGACGTGCTAACTGCGATAAGCGTCGGTAAGGTGATATAACCTTTAACCGGCGATTT
+                      CCGAATGTCACCATGAGCGACCGGGGGACTGAAACATCTAAGTACCCCGGGAAAAGAAATCAACGAGATTCCCCCAGTAGCGGCGAGCGAACGGGGAGCA
+                      GCCCAGCGTTAGTGGAAGCGTCTGGAAAGCGCGCGTACAGGTGAAGCCCCGTAACAAAGATGAGTGGGCGGGACACGTGGTATCCTGTCTGAATATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTGACTGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCGGAGTGAAAAGACTGAAACCGTGTACGT
+                      ACAACAGTGGGAGCACAGTGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTATATTCTGTAGCAGGTTAACAAGGGAGCCGAAGGGACCGGTCTTA
+                      ACTGGGCGAAGTTGCAGGGTATAGACCCAAACCGGTGATCTAGCCATGGGCAGTTGAAGGTTGGTAACACTAACTGGAGGACCGAAGACTAATGTTGAAA
+                      AATTACGGATGACTGTGCTGGGGGTGAAAGGCCAATCAAACCGGAGATAGCTGGTCTCCCCGAAAGCTATTTAGGTAGCGCCTCGTGCATCTCCGGGGTA
+                      GAGCACTGTTTCGGCAAGGGTTCACTAACCCGATGCAAACTGCGAATACCGGTGCACGGGAGACACACGCGGGTGCTAACGTCCGTCGTGAAGAGGGAAA
+                      CAACCCAGACCGCCAGCTAAGTCCCAAAGCTGGTTAAGTGGAAACGATGTGGAAGGCCCAGACAGCCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGGTCGAGTCGGCCCGGAAGATGTCGGCTAAACCATGCACCGAAGCTGCGGCATATGGGTAGGGGAGCGTTCTGTACCTGCAAGGTG
+                      TGCTGTGAGCATGCTGGAGGTATCAGAAGTGCGAATGTGACATAAGTAACGAAAGCGGGTGAAAAGCCCGCTCGCCGGAAGACCAAGGTTCCTGTCCAAG
+                      TTAATCGGGGCAGGGTGAGTCGACCCCTAAGGCGAGGCCGAACGTAGTCGATGGGAAACAGGTAATATTCTGTACGGGACGGAGAGGCTATGTTGCCGGA
+                      CGGCCGGAACACCTTCCAGGAAAAGCATCGTACCAAACCGACACAGGTGGTCGGTAGAGAATACCAAGGCGTTGAGAGAACTCGGGTGAAGGAACTAGGC
+                      AAAATGGTGCCGTAACTTCGGGAGAAGGCACGCTGATTACGTCGAAGATACCGCTGGTGAACTGTTTATTAAAAACACAGCCTGTGCAAACACGAAAGTG
+                      ACGTATACGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAATTGATGGGGTCAAGTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAATGATGGCCAGGCTGTCTCCACCCGAGACTCAGTGAAATTGAACTCGC
+                      TGTGAAGATCAGTGTACCCGCGGCAAGACGGAAGACCCCGGAACCTTTACTATAGCTTGACACTGAACATTGAGCCTTGATGTGTAGGATAGGTGGGAGG
+                      CTTAGAAGTGTGGACGCCAGTCTGCATGGAGCCACCTGAAATACCACCCTTTAATGTTTGTGTTCTAACGTTGATTTGCGGACAGTGTCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCTAAAGAGTAACGGAGGAGCACGAAGGTTGGCTAATCCTGGTCGGACATCAGGAGGTTAGTGCAATGGCATAAGCCAGCT
+                      TGACTGCGAGCGTGACGCGGAGCAGGTGCGAAAGGGTCATAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGTAGGCCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGCTGGAGACTGAGGGGGCTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGCATACTGGTGTTCGGGTTGTCATGCCAATGCATGCCCGGTAGCTAAATCGGAGAGATAAGTGCTGAAACATCTAAGCACA
+                      AACTTCCCGAGAGAGTTCTCCCAGGAACGTTGAAGACGACACGTGATGGCCGG
+
+Ralstonia at solanacear  CGAATAAGGCATGTGGTGGATGCCTTGGCGATCAGGCGATGAAGGACGCAGTAGTTGCGAAAAGCTGCGGGGAGCTGCAAAGAGCTTGATCCGCAGATGT
+                      CCGAATGTCTTCATGAGCGACGCAGTGACTGAAACATCTAAGTAGCTGCGGAAAAGAAATCAACGAGATTCCCAAAGTAGTGGCGAGCGAAATGGGATCA
+                      GCCTGTAGTTAGCAAAACGGAATGGAAATCCGGCCTAGTGGTGAAGCCCCGTAGCAAACGAAAGTGGGCGGGACACGTGAAATCCTGTCTGAAGATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTGATCGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCGGAGTGAAAAGTCTGAAACCGCATGCAT
+                      ACAACAGTCGGAGCCTAGGGTGACGGGTACCTTTTGTATAATGGGTCAGCGACTTACATTCAGTGGCAGCTTAACATGGAAGGCGTAGCGAGCGGTCCGA
+                      ATAGGGCGCAGTCGCTGGGTGTAGACCCAAACCAGTGATCTATCCATGGCCAGTTGAAGGTGCGTAACACGTACTGGAGGACCGAACACTAACGTTGAAA
+                      AGTTAGGGATGAGTGTGATAGGGGTGAAAGGCTAAACAAACTTGAAATAGCTGGTCTCTCCGAAAACTATTTAGGTAGTGCCTCGTGCACCTTCGGGGTA
+                      GAGCACTGTCATGGTTGGGGTTGATTACGCCATAGCAAACTCCGAATACCGATGCACGGGAGACAGACTCGGGTGCTAACGTCCGGTGTCAAGAGGGAAA
+                      CAACCCAGACCGCCAGCTAAGTCCCTAAGATGGCTAAGTGGAAACGAAGTGGAAGGCTAAAACAGTCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGATCGAGTCGTCCCGGAAGATGTCGGCTAAGCCAGTCACCGAAGCTGCGGATTAATGGTAGGAGAGCGTTCTGTACCTGTAAGGTG
+                      TCTTGTGAGGATGCTGGAGGTATCAGAAGTGCGAATGTGACATGAGTAGCGAAAGGGGGTGAAAGGCCCCCTCGCCGTAAGCCCAAGGTTCCTACGCAAG
+                      TTCATCGGCGTAGGGTGAGTCGGCCCCTAAGGCGAGGCAGAACGTAGCTGATGGGAAGCAGGTAATATTCTGCACGGGACGGATGCGGAAGGTTGCCGGT
+                      TGGCCGGAATTAGTTCCAAGAAAAGCACCGTACCAAACCGACACAGGTGGGCAGATGAGTATTCTAAGGCGTTGAGAGAACTCGGGAGAAGGAACTCGGC
+                      AAATTGGTACCGTAACTTCGGGATAAGGTACGCCCTCGAGGTTGCAATAAAAGGTGGTGGACTGTTTAATAAAAACACAGCCTCTGCAAACACGAAAGTG
+                      ACGTATAGGGTGTGACGCCTGCCCGGTGCCGGAAGATTAAATGATGGGGTCAAGTCTTGATTGAAGTCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGATGGCCACACTGTCTCCTCCCGAGACTCAGCGAAGTTGAAGTGTT
+                      TGTGATGATCAATCTCCCCGCGGCTAGACGGAAGACCCCAGAACCTTTACTGTAGCTTTGCATTGGACTTTGAACCGATCTGTGTAGGATAGGTGGGAGG
+                      CTTTGAAACCGGGACGCTAGTTTCGGTGGAGCCTCCTGAAATACCACCCTGGTTTGTTTGGGTTCTAACCTTGATTCGGGGACAGTGCATGGTAGGCAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGTGTAACGGAGGAGTTCGAAGGTACGCTTGGTACGGTCGGACATCGTACCTAAAGTGCAATGGCAAAAGCGTGCT
+                      TAACTGCGAGACCGACAGTGAGCAGGTGCGAAAGGGACATAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCTGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCTCATCCTGGGGCTGTAGCCGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGAGGTACGTGAGCTGGGTTTAAAACGTGTGAGACAGTTTGGTCCCTATCTGCCGTGGGCGTTGGAATTTGACGGGGCTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGTACGCTGGTGTACCTGTTGTCTCGCCAGAGCACGCAGGGTAGCTATGTCGGAGAGATAACCGCTGAAACATCTAAGCGGA
+                      AACTCCCTAAGAGAGGATTCCCAGGGTCGTTCGAGACCAGACGTGATGGCTGG
+
+Frankia at sp            TTAGTAAGGCGCACGGTGGATGCCTTGGCACCAAGCCGATGAAGGACGTGGGAGCTGCGATATGCCTCGGGGAGCTGCAACGAGCTGGATCCGAGGATTT
+                      CCGAATGCCCACATGGGGGACGCGGGGAGTGAAACATCTCATTACCCGCGGAAGAGAAAACAACGTGATTCCGCGAGTAGTGGTGAGCGAAAGCGGATGA
+                      GGCTGGAGTTAGGCGAAGGTCATGCGAAGGGCGCCTAGAGGTAAAGCCCTGTACTAAACCCAAGTGCACGGAGCCCGTGAAATTCCGTGTGAATCTGGCG
+                      GGACCACCCGCTAAGCCTAAATACTCCTGGTGACCGATAGCGGATAGTACCGTGAGGAAAGGTGAAAAGTCCGGAGTGAAAAGACTGAAACCGTGTGCCT
+                      ACAACCGTGGGAGCTGCTGGTGACCGGTGCCTTTTGAAGAATGAGCCTGCGAGTTTGGATGTGTGGCGGGTTAACTGGGTAGCCGTAGCGAGCGGTCCGA
+                      AGAGGGCGGAGTCGCATGTCCAAGACCCAAGCCAGTGATCTACCCATGGCCAGTTGAAGCGCGGTAAGACCGTGTGGAGGACCGAACACCAGGGTTGAAA
+                      ACCTGGGGATGAGTGTGGTAGGGGTGAAAGGCCAATCAAACTCGTGATAGCTGGTCTCCCCGAAATGCATTTAGGTGCAGCGTCGCATTCTGCCGAGGTA
+                      GAGCACTGGATGGCCTAGGGCCCGCTAAAGTCAGCCAAACTCCGAATGCCGGAATGCGGCAGTGAGACGCGGGGGATAAGCTTCGTAGTCGAGAGGGAAA
+                      CAGCCCAGATCGCCAGCTAAGCCCCTAAGGGCGCTAAGTGGAAAGGATGTGAGTCGCATAGACAACCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGTGATTCCCGACAATGTCGGCTAAGCGCACCGCCGAAGCTGCGGCATTTGGGTAGGGGAGCGTCGTGTGCGTGTAAGCGG
+                      CGGGGTGACTGTCGTGGATGCCATACGAGTGAGAATGAGGCATGAGTAGCGATGACGGGTGAGAAACCCGTCCGCCGGATGACCAAGGTTCCTGGGGCAG
+                      CTAATCCGCCCAGGGTGAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGACAACGGGTGATATTCCGTACGTGACGCAGAGGGTAGTCCACCAGG
+                      TGGCTGGGGATCCTGCCGAGAAAAGCCCCGTACCAAACCGACACAGGTGGTCGGTAGAGAATACCGAGGCGTCGAGTGAACTGTGGTTAAGGAACTCGGC
+                      AAAATGCCCCCGTAACTTCGGGAGAAGGGGGGCCGTTTATGCCGCAGAGACCGGGGAAGGACTGTTTACTAAAAACATAGCCCGTGCTAAGTCGTAAGAC
+                      ATGTATACGGAGTGACGCCTGCCCGGTGCTGGAACGTTAAGGGGACGGGTTCGGTCAGAACTTAAGCGCCAGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTTCCCACTGTCTCAACCACAGACTCGGCGAAATTGCATTACG
+                      AGTAAAGATCTCGTTACGCGCGGCAGGACGGAAGACCCCGGGACCTTTACTATAGCTTGATATTGGTGTTCGGTTCGGCTTGTGTAGGATAGGTGGGAGA
+                      CTGTGAAGCTGGGACGCCAGTTCTGGTGGAGTCTTGTGAAATACCACTCTGGTCGTACTGATGTCTAACCTCGATTCAGGGACAGTGTCTGGTGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCTAAAGAGTAACGGAGGCGCCCAAAGGTTCCCTCAGCCTGGTTGGCAATCAGGTGTTGAGTGCAAGTGCACAAGGGAGCT
+                      TGACTGTGAGACAGACAGTGAGCAGGTGCGAAAGGGGACTAGTGATCCGGCGGTGGCTGTGGAAGCGCCGTCGCTCAACGGATAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTTGCCCAAGAGTCCATATCGACGGCAAGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGGAGTAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCCGCCGCGCGCGCAGGAGATTGAGAAGGCTGTCCCTAGTA
+                      CGAGAGGACCGGGACGGACGAACTCTGGTGTGCCAGTTGTTCTGCCAAGGCAGGCTGGTTGGCTACGTCGGAGGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCTCTTGAGAGAGGTCTCCCAGGCCCCCGATAGATGATGGGTGATGGCCGG
+
+Rhodopseudomonas at pal  TGCTTAAGGTGTTCGACGGATGCCTTGGCGCTGAGGCGATGAAGGACGTGCTACCTGCGATAAGCCATGGGGAGCTGCGAAAAGCTTGATCCGTGGATTT
+                      CCGAATGGAGACATCAGCGACCCAGGGACTGAAACATCTAAGTACCTGGGGAAAGGACATCAACGAGACTCCGCTAGTAGTGGCGAGCGAACGCGTACCA
+                      GGCCATCACAATTGGAATCTGTAGGAAACAGAGCCTAGAGGTGAAGCCCCGTAAAAATGCTGAGTAGGCGGGACACGTGAAATCCTGTCTGAACATGGGG
+                      GGACCACCCTCCAAGCCTAAGTACTCTCAGCGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGTCTGAAATCGGACACCT
+                      ACAACAGACGGAGCCCCGGGTGACGTGTACCTTTTGTATTATGGGCCAGCGACTTAATTTAACGAGCAGCTTAAGGTGGTAGGCGCAGCGAGCGGTCTGA
+                      ATAGGGCGAAGTTCGTTGGATTAGACCCAAACCAGTGATCTAGCCATGAGCAGTTGAAGGTGAGTAACACTCACTGGAGGACCGAAGGTGCCTGTTGAAA
+                      AAGGCCCGATGACTGTGTTAGGGGTGAAAGGCCAATCAAACTGGAAATAGCTGGTCTCCGCGAAAGATATTTAGGTATCGCCTCGGATACCTCAGGGGTA
+                      GAGCACTGGATGGGCTAGGGATCTCTAAACCCAACCAAACTCCGAATACCTGTATCCGGGAGTCACACGCGGGTGCTAACGTCCGTCGTGGAGAGGGAAA
+                      CAACCCTGACCTACAGCTAAGCCCCCAATCTGGCTAAGTGGAAAGGATGTGAAATCCCAAAACAACCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAACAGCTCACTGGTCTAGGGTTTCCCGAAGATGTCGGCTAAGCCACGAGCCGAAGCTTAGGGTCAGCGGTAGCGGAGCGTTCTGTACCTGCAAGGGG
+                      ACCCGTGAGGCGCCTGGAGGTATCAGAAGTGCGAATGTGGCATGAGTAACGAAACACTGTGAAAGACAGTGTCGCCGAAAGTCCAAGGTTCCTGCGTAAG
+                      TTAATCTTCGCAGGGTTAGCCGGTCCCTAAGGCGAGGCCGAACGTAGTCGATGGGAATCACGGAATATTGTGAGCGTGACGAATCCCTTAGTTGTCGACA
+                      CTGGTCGCCTCGGTTCCAGGAAATACACCGTACCAAACCGACACAGGTGGACGGTAGAGTATACCAAGGCGTTGAGAGAACTATGTTGAAGGAACTCGGC
+                      AATTTACCTCCGTAACTTCGGGATAAGGAGGCCTTCCAAGGGGGCACAGACCGGGGGGGAACTGTTTAACAAAAACACAGGCTCTGCGAAATCGCAAGAT
+                      ACGTATAGGGTCTGACGCCTGCCCGGTGCCGGAAGGTTAAGAGGAGGAGTCAAGTCTGAATTGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAATGACTTCCCCGCTGTCTCCAACATAGACTCAGTGAAATTGAATTCCC
+                      CGTGAAGATCGGGGTTCCTGCGGTCAGACGGAAGACCCCGGCACCTTTACTGTAGCTTTGCGCTGGTATTCGTGACTGTTTGTGTAGAATAGGTGGTAGG
+                      CTTTGAAGCTCGGGCGCCAGCTCGGGTGGAGCCCAATGAAATACCACCCTAATGGTTATGATATCTAACCGCGATTCCGGGACAGCGCATGGTGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCCAAAGAGTAACGGAGGCGTGCGACGGTAGGCTCAGAACGGTCGGAAATCGTTCGTCGAGTACAATGGCATAAGCCTGCC
+                      TGACTGCGAGACCAACAGTGAGCAGAGACGAAAGGGTCATAGTGATCCGGTGGTCCCGGTGGATGGGCCATCGCTCAACGGATAAAGGTACGCCGGGATA
+                      ACAGGCTGATGACGCCCAAGAGTCCATATCGACGGCGTGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGGAGAAGGTCCAAGGGTTCGCTG
+                      TTCGCCGATAAAGTGGTACGTGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGTGTTGGAATTTGAGAGGATTGCCCCTAGTA
+                      CGAGAGGACCGGGGTGAACGTACTCTGGTGGAGCTGTTGTCGCGCCAGCGCATGCAGCATAGCTATGTCGGCGGGATAACCGCTGAAACATCTAAGCGGA
+                      AACCCCCTAAAAGAGCATTCCCAGAACCGTGGAAGACCACACGTGATGGCCGG
+
+Chlamydia at muridarum   TTGATAAGGCTATTGGTGGATGCCTTGGCATTGAGGCGATGAAGGACGCGAATACTGCGAAAAGCTCCGGCGAGCTGGTAAAAGCAAGACCCGGAGGTGT
+                      CCGAATGTTGACATAAGCAACCTGCTGACTGAAACATCTTAGTAAGCAGGGAAAAGAAATCGAAGAGATTCCCTGTGTAGCGGCGAGCGAAAGGGGAAGA
+                      GCCTGGACCTAGTTGAACCATCTGGAAAGTGGATGAACAGGTGAAGTCCCGTAACAAGCCTGAGTGGGCTAGACACGTGAAACCTAGTCTGAATCTGGGG
+                      AGACCACTCTCCAAGGCTAAATACTATCAATGACCGATAGTGAACAGTACTGTGAAGAAAGGCGAAAAGACTTGAGTGAAAAGACTGAAACCAGTAGCTT
+                      ACAACGGTCGAAGACCAGGTTGACGGGTGCCTTTTGCATGATGAGCCAGGGAGTTAAGCTAAACGGCGGGTTAAGTACGGAGCCGAAGCGAGCGGTTTTA
+                      AAAGAGCGTAGTCGTTTGGTTTAGACACAAACCAGTGAGCTATTTATGACCAGTTGAAGCATGGTAAAACTATGTGGAGGACCGAAAGTACCTGTTGAAA
+                      AAGGTTGGATGAGTGTAATAGGGGTGAAAGGCCAATCAAACTTGAGATATCTTGTCTCTCCGAAATAACTATAGGGTTAGCCTCGGAAATTTTTGGGGTA
+                      GAGCACTGAATTCTAGCGGGCTCGCTAACGGAAATCAAACTCCGAATACCAAGATCCGGGAGATAGACGCGGGGGCTAAGCTTCGTTGTCGAGAGGGGAA
+                      CAGCCCAGACCGCCGATTAAGTCCCTAATTATGCTAAGTGATAAGGAAGTATGATTCTAAGACAGTTGGAATGTTGCTTAGAGGCAGCATTTAAAGAGTG
+                      CGTAACAGCTCACCAATCGAGAATCATCCGATAATAACGGCTAAGCATAAAACCGACATCGCGGGTTTGCGGTAGGAGAGCGTAGTATTGCAGTAAGGTG
+                      TACCGGAAGAGCGCTGGAGCGGATACTAGTGAAGATCTGGCATAAGTAACGAAAGGGAGTGAAAATCTCCCTCGCCGTAAGCCCAAGGTTCCAGGGTCAG
+                      CTCGTCTTCCCTGGGTTAGTCGGCCCCTAAGTCGAGGCGTACCGTAGACGATGGACAGCAGGTAATATTCTGCACATGACGGAGAAGTTAAGCACCGGAT
+                      TGGTCCGGTGTCCTTTCAAGAAATATACCGTACCAAACCGACACAGGTGGGCAGATGAGTATTCTAAGGCGGCGAGATAACTTTCGTTAAGGAACTCGGC
+                      AAATTATCCCCGTAACTTCGGAATAAGGGGAGCCTTGAGGGCCGCAGAGAAAGGCCCGGGACTGTTTAGCAAAAACACAGCCTATGCAAACCTCTAAGGG
+                      AAGTATATGGTGTGACGCCTGCCCAATGCCAAAAGGTTAAAGGGATATGTCAAGATTGAACCTAAGCCCTGGTGAATGGCCGCCGTAACTATAACGGTGC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGTGTAACGATCTGGGCACTGTCTCAACGAAAGACTCGGTGAAATTGTAGTAGC
+                      AGTGAAGATCTGTTTACCCGCGAAAGGACGAAAGACCCCGGAACCTTTACTGTACTTTGGTATTGATTTTTGGTTTGTTATGTGTAGGATAGCCAGGAGA
+                      CTAAGAACACCCTTCGTCAGGAGGGTGGGAGTCACGTGAAATACTGGTCTTAACAAGCTGGAATCTAACATTAATAGATGGACATTGCCAGACGGGCAGT
+                      TTTACTGGGGCGGTATCCTCCTAAAAAGTAACGGAGGAGCCCAAAGCTTATTTCATCGTGGTTGGCAATCACGAGTAGAGCGTAAAGGTATAAGATAGGT
+                      TGACTGCAAGACCAACAGTGAGCAGAGACGAAAGGGGCTTAGTGATCCGGCGGTGGAAGTGGAATCGCCGTCGCTTAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATCGCCACCAAGAGTTCATATCGACGTGGCGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGGAGAAGGTCCAAGGGTTTGCTG
+                      TTCGCCAATAAAGCGGTACGCGAGCTGGGTTCAAAACGTGTGAGACAGTTTGGTCTCTATCCTTCGTGGGCGCAGGATATTGAGAGGACTGTTCCTAGTA
+                      CGAGAGGACCGGAATGGACGAACAATGGTGTGTCGGTTGTTTTGCCAAGACAAGCCGAGTAGCTAAGTCGGAAGGATAAGCATTGAAACATCTAAATGCA
+                      AGCCTCCTAAGAAAGGTATCCCAGACTCCATGTAGACTACTGGTGATGGTTGG
+
+Leuconostoc at lactis    TTAATAAGGCGCGTGGTGGATGCCTTGGCACTAAGCCGATGAAGGACGTGACTAACACGATAAGCTTTGGTGAGCGGTAAGACGCTAGACCCAGAGATTT
+                      CCGAATGTCAACATGAGAAACGCTGTGACTGAAACATCTCATTAGCAGCGGAGAAGAAAGAAAATCGATTCCCTAAGTAGCGGCGAGCGAACGGGGAAGA
+                      GCCCGGATATAGCAGAACAAGTTGGGAACTTGGCTTAGAGGTGAAGCCCCGTAGCAATCCTGAGTCGGCCGGACACGTGAAATCCGGTCGGAATCTGCGG
+                      GGACCATCCCGTAAGGCTAAATACTCCTAGTGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGTCTGAAACCAGACGCCT
+                      ACAAAAGTCAGAGCCCAGGGTGATGGGTGCCTTTTGTAGAATGAACCGGCGAGTTACGGTATCGTGCGGGTTAAGAACGGAGCCGCAGCGAGCGGTGTGA
+                      ATAGCGCGTAGTACGATGCTGTAGACCCAAACCAGTGACCTACCCATGGTCAGATGAAGGTGAGTAAAACTTACTGGAGGTCCGAAGGTGCATGTTAAAA
+                      AATGCCGGATGAATGTGGTAGCGGTGAAATTCCAAACGAACTTGAGATAGCTGGTCTCTCCGAAATAGCTTTAGGGCTAGCCTCGTAAGGTACTGAGGTA
+                      GAGCTCTGTTTGGACTAGGCCTAGGTAAATTCAGATAAACTCCGAATTCCAGCACACGGGAGTCAGACGCGAGTGATAAGATCCGCAGTCGAAAGGGAAA
+                      CAGCCCAGATCACCAGTTAAGTCCCAAAAAATGCTAAGTGGAAAGGATGTGAGTTGCGCAGACAACTAGGATGTTGCTTAGAAGCAGCCTTCAAAGAGTG
+                      CGTAATAGCTCACTAGTCGAGTGACGCCCGAAAATTTCGGCTAAGCATATTACCGAAACTGTGGGTTAGCGATAGGAGAGCGTTGTAAGGCGATAAGGGA
+                      GATCGTAAGACTGCTGGAGCGCTTACAAGTGAGAATGCGGTATGAGTAGCGAAGACAGGTGAGAATCCTGTCCACCGAATGACTAAGGTTCCTGGGGAAG
+                      CTCGTCCACCCAGGGTTAGTCGGGACCTAAGGCGAGGCTGAACGTAGTCGACGGATAACAGGTGAGATTCTGTACGGGACGCAGAGGCTACCAGACGCAA
+                      TGGTGCGCTGCCCTGCCGAGAAAAGCCCCGTACCAAACCGACACAGGTAGTCAGTGGAGAACACTAAGGTGGCGAGAGAACCCTCGTTAAGGAACTCGGC
+                      AAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTCACATAGCCGCAGTGAATGGCCCAGGACTGTTTATCAAAAACACAGGTTCTGCAAAATCGTAAGAT
+                      AAGTATAGGGGCTGACGCCTGCCCGGTGCTGGAAGGTTAAAAGGAGTGCTTCGGTACGAATTGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAACGATCTGGGCACTGTCTCAACGAGGGACTCGGTGAAATTTAAATACC
+                      CGTGAAGATCGGGTTACCCGCGACAGGACGGAAGACCCCAGGAGCTTTACTGTAGCTTGATATTGAATGTTTGTGCTGCTTGTACAGAATAGGTAGGAGA
+                      CGAAGAAATTTGGACGCCAGTCTAGACGGAGTCAATTGGGATACTACCCTCGTTGTATGACATTCTAACACTGATTCGTGGACAGTGTCTGGCGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAAGGTAACGGAGGCGCTCAAAGGTTTGCTCAGAATGGTTGGAAATCATTCGTAGCGTGTAAAGGCATAAGCAAGCT
+                      TGACTGCGAGAGTTACACTGAGCAGGTACGAAAGGGACTTAGTGATCCGGTGGTTCCGATGGAAGGGCCATCGCTCAACGGATAAAGCTACCCTGGGATA
+                      ACAGGCACATCTCCCCCAAGAGTCCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGTAGTCGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACCCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCGTCGCGGGCGCAGGAAATTGAGAGGACTGTCCTTAGTA
+                      CGAGAGGACCGGGATGGACATACGCTGGTGTACCAGTTGTTCCGCCAGGACATGCTGGGTAGCTATGTTGGTGAGATAAACGCTGAAACATCTAAGTGTA
+                      AACTCCCTGAGAGAGATTTCCCAGACCCCTTAGAGATGATAGGTGATGGCTAG
+
+Micrococcus           TTTCCAAGGCGCATGGTGGATGCCTTGGCAACAAGCCGAAGAAGGACGTGGGAACTGCGATAAGCCTGGTGGAGTCGTAACGGACGTGAGACCAGGATTT
+                      CCGAATGCCCACATGGGGGACGTGGGGACTGAAACATCTCAGTACCCACGGAAGAGAAAACAAAGTGATTCCGTTAGTAGTGGCGAGCGAACGCGGATGG
+                      GGCTGGCTATAGACGAACCAGTGTGGATCTGGACCTAGAGGTGAAGTCCCGTATCAATCCCGAGTGCACGGGGCCCGAGGAATCCCGTGTGAATCTGCCA
+                      GGACCACCTGGTAAGCCTGAATACTACTGTTGACCGATAGCGGACAGTACCGTGAGGAATGGTGAAAAGTCCGGAGTGAAAAGACTGAAACCATGTGCCT
+                      ACAACCGTTGGAGCCTTGGGTGACAGGTGCCTTTTGAAGAATGAGCCTGCGAGTTAGGATACGTGGCGGGTTAACTGGGAAGCCGTAGCGAGCGGTCTGA
+                      ATAGGGCGGAGTCGCGTGTCCTAGACCCAAGCGAGTGATCTACCCATGGCCAGTTGAAGCGCGTTAAGAACGCGTGGAGGACCGAACACTTCAGTTGAAA
+                      ATGGAGGGATGAGTGTGGTAGGGGTGAAAGGCCAATCAAACTCGTGATAGCTGGTCTCCCCGAAATGCATTTAGGTGCAGCGTCACGTTCTCCCGAGGTA
+                      GAGCACTGGATGGACGAGGCCTCGGCAACTTCAGCCAAACTCCGAATGCCGGAGCGTGGCAGTGAGACGTGGGGGATAAGCTTCATAGTCGAGAGGGAAA
+                      CAGCCCAGACCACCGGTTAAGCCCCTAAGGGTGCTAAGTGGAAAGGATGTGAGTTGCTGAGACAACCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGTGATTCCCGACAATGTCGGCTAAGTACACCGCCGAAACCGTGGCATTTGGGTAGGGGAGCGTCGTTCAGAGGTAAGCCA
+                      GCGGGTAATTCTGGTGGATTGTGGACGAGTGAGAATGAGGCATGAGTAGCGAAGACGGGTGAGAAACCCGTCCGCCGGATGACTAAGGTTCCAGGGTCAG
+                      CTAATCTGCCCTGGGTAAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGACAACGGGTGATATTCCGTACGTGACGCAGAAGGTAGCCGGCCGGA
+                      TGGCTGGCGGTTCTGCCTAGAAAAGCCCCGTACCAAACCGACACAGGTGGTCGGTCGAGAATACTAAGGCGTCGAGAGAATCATGGTTAAGGAACTCGGC
+                      AAAATGCCCCCGTAACTTCGGGAGAAGGGGGGCCCCGTCGGCCGCAGAGACCGGGGGAGGACTGTTTATCAAAAACACAGGCCATGCGAAGTCGTAAGAC
+                      ATGTATATGGACTGACTCCTGCCCGGTGCTGGAAGGTTAAGGGGACCCGTTCGGGGAGAACTTAAGCCCCAGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGAGTAACGACTTCCCCGCTGTCTCAACCATGAACTCGGCGAAATTGCATTACG
+                      AGTAAAGATCTCGTTACGCGCAGAAGGACGGAAGACCCCGTGACCTTTACTATAGTTTGGTATTGGTGTTCGGTGTGGCTTGTGTAGGATAGGTGGGAGA
+                      CTGTGAAGCGGGCACGCCAGTGTTCGTGGAGTCTCGTGAAATACCACTCTGGTCACTCTGATATCTAACTTCGATTCAGGGACAGTGCCTGATGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCTAAAATGTAACGGAGGCGCCCAAAGGTTCCCTCAGCCTGGTTGGTAATCAGGTGTCGAGTGCAAGTGCACAAGGGAGCT
+                      TGACTGTGAGAGTGGCACTGAGCAGGGACGAAAGGGGACTAGTGATCCGGCGGCTCGTGTGGAACGGCCGTCGCTCAACGGATAAAGGTACCTCGGGATA
+                      ACAGGCTGATCTTGCCCAAGAGTCCATATCGACGGCATGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGGAGTAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCTCTGCGCGCGTTGGAAATTGAGAAGGCTGTCCCTAGTA
+                      CGAGAGGACCGGGACGGACGAACTCTGGTATGTCAGTTGTACCGCCAGGTCAGGCTGATTAGCTACGTCGGATGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCGCTTGAGAGAGATTTCCTAGGCCCCCAGTAGAACACGGGTGATGGCTGG
+
+Treponema             CGAATAGTGTTTACGGTGGATGTCTTGGAGTTGAGGCGATGAAGGTCGTGATAACTGCGAAAAGCCTCGGGGAGGAGCACAGTCCTGGATCCGGGGATGA
+                      CCGAATGTTGGAATAACGAACTGGGTGACTGAACCATCTAAGTAACTTGGGAAAAGAAATCAAGGAGATTCCGAAAGTAGTGGCGAGCGAAATTGGAGGA
+                      GCCTGGGTATAGCAGAAAGGTTTGGGAAGCCTGACGAGAGGTGAATCCCCGTAGCAATCCTGAGTCGGCGGGACACGAGGAATCCTGTCGGAATCTGGGT
+                      CGACCACGATCTAAGGCTAAATACTCACAACTACCGATAGTGGAAAGTACCGTGAGGAAAGATGAAAAGACCGGAGTGAAAAGACTGAAACCGTAAACCA
+                      ACAAATGTTACAGCCTGGGGTGGTAGGTGCCTTTTGTAGAATGAGCCTGCGAGTTACGGTGTGCAGCAGGTTAAGGGCGGAGCCGGAGGGACCGGTCTTA
+                      AAAGGGCGGAGTTGTACGTCGTAGACCCAAGCCGGTGATCTAGTTATGAGCAGTTGAAACAGGGTGAAGCCTTGTGGAGGACCGAAATAATCTGTTAAAA
+                      AAGGTTGGATGACTGTACTAGGAGTGAAAGGCTAAACAAACCTGAGATAGCTGGTCTCCCCGAAATGCCTTTAGGGACAGCCTTATAAACTGTCGAGGTA
+                      AAGCACTGGATGGGCTAGGGTTAGCCAAACCCAATCAAACTCTGAATGCCGGTCTGTGGGAGTGAGACGCGTGCGACAAGGTTCGTAGTCGAGAGGGAAA
+                      CAGCCCAGACCGTCAGCTAAGTCCCGAAAACGCTTGAGTGTAAATGAAGTTGGGTACCTGGACAGCCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCGAGTACGCACAGATAATGTCGGCTAAGCGGTATACCGAAGCTACGGGTTTGCGGTAGGGGAGCATTCCATGCTGATAAGGAT
+                      ATCCGGGAGAGTTCTGGAGGGGATGGAAGAGAGAATGAGGTATAAGTAACGAAGGAGGGTGAGATTCCTTCCCGCCGAAAACCTAAGGTTCCTGGGTGAG
+                      GTCATCTGCTCAGGGTAAGTCGGCCCCTAAGGCGAGGACGAGCGTAGTCGATGGGAATCCGGTTATATTCGGAACAGGACGCGTAGGTGAAGCCCGCCAT
+                      TGGTTGGAGGTCGCGACGGGAAATATACCGTACCAAACCGACACAGGTAGGTGGATGAGTAATCTAAGGCGTCGAGAGAACTCGCGTCAAGGAACTCGGC
+                      AAAATACACACGTAACCTCGGGAGAAGTGTGACCCTTTGGGTGGCAGAAAGCGGTCCGGGACTGTTTATCAAAAACATAGCATCTGCAAATCAGTAATGA
+                      ACGTATAGGTGGTGACACCTGCCCGGTGCTGGAAGGTTAAGAGGAGAGGTTAAGTTTGAATTGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAATGGTGTAACGACTCTGGAACTGTCTCGACGCGAGACTCGGTGAAATTTATGTACC
+                      GGTAAAGAACCGGTTACCCATAGTTAGACGGAAGACCCCGGAACCTTCACCGTAGCTTACTATTGGAACTTGGTTTACCATGTGTAGTATAGGTGGGAGA
+                      CAGAGAAGCTTGGCCGTCAGGTTAGGCGGAGTCACATGAAATACCACCCTTGGTACGTCAGTTTCTAACCTTTGAAAAGGGACCGTGGTAGGTGGGCGGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAAGGTAACGGAGGTGCGCGAAGGTCTCCTCACACCGGTTGGAAATCGGTGCGCGAGTGTAAAGGCACAAGGAGGCT
+                      TAACTGCGAGACCGACAGTGAGCAGATACGAAAGGGTCTTAGTGATCTGGCGGTAGCGGTGGAAGCGCCGTCACTTAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATTTTCCCCAAGAGTTCACATCGACGGGAAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGAAGCAGGTCCAAGGGTTTGCTG
+                      TTCGCCAATAAAGCGGTACGTGAGCTGGGTTCAGAACGTGCGAGACAGTTCGGTCCCTATCTGCTATGGGCGTTGGATAGTGAGAGGACTGCTTTTAGTA
+                      CGAGAGGACCGAAGTGGACGAACTCTGGTGTACCAGTTATCCTGCCAAGGTATGCTGGGTAGCTATGTCGGAGGGATAACCGCTGAAGCATCTAAGTGGA
+                      AGCCCCCTAAGATACATATCCCAGACTCCTTGCACACTACAGGTGATGGCTGG
+
+Zoogloea              TGCGTAAGGCAATTGGTGGATGCCTTGGCATGCAGGCGATGAAGGACGTGATACCTGCGATAAGCCGTGGGGAGCTGCGAAGAGCTTGATCCATGGATTT
+                      CCGAATGTCTACATGAGCGACGCAGGGACTGAAACATCTAAGTACCTGCGGAAAGGACATCAACGAGACTCCGCAAGTAGTGGCGAGCGAACGCGGACCA
+                      GGCCGCATAAAGTGGAACGGAATGGAAATCCGGCCTAGCGGTGAAGCCCCGTAACAGACCTGAGTGGGCGGGACACGTGAAATCCTGTCTGAACATGGGG
+                      AGACCACTCTCCAAGCCTAAGTACTCTGCATGACCGATAGCGAAAAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGACTGAAACCGGTTGCCT
+                      ACAACAGTCGGAGGCCAGGCTGACGGGTACCTTTTGTATAATGGGTCAACGACTTAGTGTAACTAGCAGCTTAAGGTGGTAGGCGCAGCGAGCGGTCTGA
+                      ACAGGGCGCAGTTAGTTGCATTAGACCCAAACCAGTGATCTAGCCATGAGCAGTTGAAGGTTGGTAACACCAACTGGAGGACCGAACGCATCTGTTGCAA
+                      TAGATGGGATGACTGTGCTAGGGGTGAAAGGCCAATCAAACTCGAGATAGCTGGTCTCCGCGAAATCTATTTAGGTAGAGCGTCGACTACCCTCGGGGTA
+                      GAGCACTGGATGGGCTAGGGACCTCTAATCCTAACCAAACTCCGAATACCGATAGTCGGCAGACACACGCGGGTGCTAACGTCCGTCGTGAAAAGGGCAA
+                      CAACCCTGACCTCCAGCTAAGTCCCCAAGCTGGCTAAGTGGAAAGGATGTAGACTCCCAAAACAACCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAACAGCTCACTGGTCTAGGGGTTTCCGAAAATGTCGGCTAAGCCATGCACCGAAGCTGAGGATCAGTGGTAGCGGAGCGTTCCGTACCTGCAAGGAG
+                      GACCCGTGGGCCTCTGGAGGTATCGGAAGTGCGAATGTGACATGAGTAACGAAAGGGAGTGAGAGACTCCCTCGCCGAAAGACCAAGGTTCCTGCTTAAG
+                      TTAATCTGAGCAGGGTTAGCCGGCCCCTAAGACGAGGCGGAACGTAGTCGATGGGAACCACGTAATATTGTGGGCGTGACGGATTGCGTACTTGTCATCA
+                      TTGGGTGCAGGGGTTCCAGGAAATACACCGTACCAAACCGACACAGGTGGTCGGTAGAGCATACCAAGGCGTTGAGAGAACTGCGTTGAAGGAACTCGGC
+                      AAATTGCACGCGTAACTTCGGAAGAAGCGTGACCCCCATGGTGGCACAGACCGGGGGAGGACTGTTTATCAAAAACACAGGCTCTGCGAAGTCGCAAGAC
+                      ACGTATAGGGTCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGAGGTCAAGTTTGAATCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCCCCGCTGTCTCCAACGCAGACTCAGTGAAATTGAATTCCC
+                      CGTGAAGATCGGGGTTCCTGCGGTTAGACGGAAGACCCCGGCACCTTTACTATAGCTTTACACTGGCATTCGTGTCGGCATGTGTAGGATAGGTGGTAGG
+                      CTTTGAAGCAGGGACGCCAGTTTCTGTGGAGCCTCCTGAAATACCACCCTTATCGTCATGATGTCTAACCGCGATTCCGGGACCGTGTATGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCGAAAGAGTAACGGAGGCGCGCGATGGTGGGCTCAGACCGGTCGGAAATCGGTCGTCGAGTGCAATGGCATAAGCCCGCC
+                      TGACTGCGAGACTGACAGTGAGCAGAGACGAAAGGGTCATAGTGATCCGGTGGTCCCGGTGGAAGGGCCATCGCTCAACGGATAAAGGTACGCCGGGATA
+                      ACAGGCTGATGACCCCCAAGAGTCCATATCGACGGGGTGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGGAGCAGGTCCAAGGGTTTGCTG
+                      TTCGCCAATAAAGCGGTACGTGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGTGTAGGAATTTGACAGGACTGTCCCTAGTA
+                      CGAGAGGACCGGGATGGACATATTCTGGTGGACCTGTTGTCCTGCCAAGGCAAGCAGGGTAGCTATATTGGATGGATAACCGCTGAAGCATCTAAGCGGA
+                      AACCACCTAAAACGAGTATTCCAGAGCCGTGGAAGACGACACGTGATGGCCGG
+
+Renibacterium         TTTTTAAGGCACACGGTGAATGCCTTGGCATTAAGCCGAAGAAGGACGTAGGAACTGCGATAAGCCTCGGGGAGTTGTAACGAACACGATCCGAGGATGT
+                      CCGAATGCCCACATGGGGGACGTGGGGACTGAAACATCTCAGTACCCACGGAAGAGAAAACAATGTGATTCCGTAAGTAGTGGCGAGCGAACGCGGAACA
+                      GGCTGGACATAGGTGAACGGTCTTGAAAGCCGGCCGAGAGGTGTAGCCCCGTACTAATCCCAAGTGCACGGGGCCCGAGAAATCCCGTGCGAATCTGTCA
+                      GGACCACCTGATAAGCCTAAATACTCCTAATGACCGATAGCGGAAAGTACCGTGAGGAAAGGTGAAAAGTCCGGAGTGAAAAGACTGAAACCGTGTGCTT
+                      ACAACCGTCGGAGCAGTCTGTGACGGGTGCCTTTTGAAGAATGAGCCTGCGAGTTAGGCTCAGTGGCGGGTTAACTGGGCAGCCGTAGCGAGCGGTCTGA
+                      ATAGGGCGGAGTCGCTGGGTCTAGACCCAAGCGAGTGATCTACCCATGGCCAGTTGAAGCGACGTAAGACGTCGTGGAGGACCGAACACTTCAGTTGAAA
+                      ATGGAGGGATGAGTGTGGTAGGGGTGAAAGGCCAATCAAACTCGTGATAGCTGGTCTCCCCGAAATGCATTTAGGTGCAGCGTTGCGTTCTACTGAGGTA
+                      GAGCACTGGATGGCCGAGGCCTCGGTAACGTCAGCCAAACTCCGAATGCCGGAGCGCAGCAGTGAGACGTGGGGGATAAGCTTCATAGTCGAGAGGGAAA
+                      CAGCCCAGACCACCAACTAAGTCCCTAAGGGTGCTAAGTGGAAAGGATGTGGATTGCTTAGACAACCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGTGATTCCCGACAATGTCGGCTAAGTACACCGCCGAAGTTGTGGATTCGTGGTAGGGGAGCGTCGTGTGGCAGTAAGTCG
+                      CGGTGTAACCGCGGTGGAGCCTACACGAGTGAGAATGAGGCATGAGTAGCGAAGACGGGTGAGAAACCCGTCCGCCGAATGATCAAGGTTCCAGGGTCAG
+                      CTAATCTGCCCTGGGTAAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGACAACGGGTGATATTCCGTACGTGACGCAGAAGGTAGCTGACCGGA
+                      TGGCCGGCAGTTCTGCCAAGAAAAGCCCCGTACCAAACCGACACAGGTGATCGGTAGAGAATACTAAGGCGTCGAGAGAATTATGGTTAAGGAACTCGGC
+                      AAAATGCCCCCGTAACTTCGGGAGAAGGGGGGCCCCTTAGGCCGCAGAGACCGGGGGAGGACTGTTTACTAAAAACACAGGCCGTGCGAAGTCGCAAGAC
+                      ATGTATACGGACTGACTCCTGCCCGGTGCTGGAAGGTTAAGAGGACCGGTTCGGTGAGAATTTAAGCCCCAGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGAGTAACGACTTCCCCGCTGTCTCAACCATAAACTCGGCGAAATTGCACTACG
+                      AGTAAAGATCTCGTTACGCGCAGCAGGACGGAAGACCCCGAGACCTTTACTATAGTTTGGTATTGGTGTTCTAAGTGGTTTGTGTAGGATAGGTGGGAGA
+                      CTTTGAAGCCCGGACGCCAGTTCGGGTGGAGTCTCGTGAAATACCACTCTGGCCACTTGGACTCCTAACTTCGATTCAGGGACAGTGCCTGATGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCTAAAGAGTAACGGAGGCGCCCAAAGGTTCCCTCAGCCTGGTTGGCAATCAGGTGTCGAGTGTAAGTGCACAAGGGAGCT
+                      TGACTGTGAGAGCGACACTGAGCAGGGACGAAAGGGGACTAGTGATCCGGCGGTACATGTGGAATGGCCGTCGCTCAACGGATAAAGGTACCTCGGGATA
+                      ACAGGCTGATCTTGCCCAAGAGTCCATATCGACGGCATGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGGAGTAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCCGCTGCGCGCGCAGGAAATTGAGAAGACTGTCCTTAGTA
+                      CGAGAGGACCGGGACGGACGAACTCTGGTGTGTCAGTTGTACTGCCAAGTCACGCTGATTAGCTACGTCGGAGGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCCCTTAAGAGAGATTTCCAAGGCCCCCAGCAGACCACGGGTGATGGCCGG
+
+Ruminobacter          TGAATAAGGTACATGGTGGATGCCTAGGCAATAAGGCGAAGAAGGACGTGCTAACTGCGAAAAGTCATGATGAGCTGGTAAAAGCCAAAGTCATGGATGT
+                      CCGAATGTCAGCAAGAGCGACCGGGAGAGTGAAACATCTCAGTACCCCGGGAAAAGAAATCAACGAGATTTCCTAAGTAGTGGCGAACGAACGGGAAGCA
+                      GCCCAAACATAGTTGAATTATCTGGAAAGTAAACGAAGAAGTGAAGTCTCGTAACAGTAAAGAGTGGACGGAACACGTGGAATTCTGTCTGAAGATAGGG
+                      GGACCATCCTCTAAGGCTAAATACTATTATTGACCGATAGTGAAAAGTACCGTGAGGAAAGGCGAAAAGACCTGAGTGAAAAGACTGAAACCGTGTACGT
+                      ACAACAGTGGGAGCACCGTGTGACTGGTACCTTTTGTATAATCGGTCAGCGAGTTACTTTCAGTGGCGGGTTAACCAGGGAGCCGAAGGGACCGGTTTTA
+                      ACTGAGCGGAGTCGCTGGGAGTAGACCCAAACCGATGATCTAGTCATGGGCAGATGAAGGCAAGTAACACTTGCTGGAGGGCCGAACACTAACGTTGCAA
+                      AGTTAGGGATGACTGTACTAGGGGTGAAAGGCCAATCAAATCAGTGATATCTGGTCTCCCCGAAAGCTATTTAGGTAGCGCCTCAAAAGTTATGGAGGTA
+                      GAGCACTGTTTCGATAAGGTCTCGATGAGTCGATGCAAACTCCGAATACTCAGATTTGGGAGACAGACGCGGGTGCTAAGGTCCGTTGTCGAGAGGGAAA
+                      GAGCCCAGACCGCCAGCTAAGTCCCGAAGTAGGTTAAGTGGAAACGATGTGGAAGGCATAGACAGCTAGGATGTTGCTTAGAAGCAGCCTTAAAAGAAAG
+                      CGTAATAGCTCACTAGTCGAGTCGGCCCGGAAGATGTCGGCTAAACCTTACACCGAAGCTGCGGAAAATTGGTAGGGGAGCGTTCTGTAGCTGTAAGGGC
+                      AACTGGAAGTTGACTGGAGCTATCAGAAGTGCGAATGTGACGTGAGTAACGAATATATGTGAAAAACATATACGCCGAAAGACCAAGGTTTCTGTCCAAG
+                      TTAATCGGGGCAGAGTGAGTCGGTACCTAATGTAAGGCTGAACGTAGACGATGGATATTCGGTAATATTCGAAACAGGACGGAGAGGCTAGTGCTCTTAT
+                      TGGTAAGGCATCCTTCCAGGAAAAGTGCCGTACCAAACCGACACAGGTGGTCGGTAGAGAATACCAAGGCGTTGAGAGAACTCGGGTGAAGGAACTAGGC
+                      AAAATAGTACCGTAACTTAGGGAGAAGGTATGCTGAGCACGTGACAGCAAAGGGTGGTGGACTGTTTAACAAAAACACAGCCACTGCGAACACGGAAGTG
+                      AAGTATAGTGTGTGACACCTGCCCGGTGCCGGAAGGTTAAATGATGAAGTCAAGTTCTGATTGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGCAAGTTCCGACCTGCACGAATGGTGTAACCATGGCCACGCTGTCTCCACCCGAGACTCAGTGAAATCGAAATCGC
+                      TGTGAAGATCAGTGTACCCGCGGCTAGACGGAAGACCCCGGAACCTTTACTATAGCTTGACACTGAACATTGAGTCTGTCTGTGTAGGATAGATGGGAGA
+                      CAGAGAAGCGAGTACGCCAGTATTCGTGGAGTCGCCTGAAATACCATTCTGGGAGACTTGTGTTCTAACCAAAAAAATGGGACAGTGTCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCTAAAGGGTAACGGAGGAGCACGAAGGTTGGCTAATCACGGTCGGACATCGTGAGGTTAGTGTAATGGTAGAAGCCAGCT
+                      TAACTGCGAGACAGACGGTGAGCAGGTGCGAAAGGGTCATAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCTGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGTTGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGCGAGCTGGGTTCAAAACGTGTGAGACAGTTTGGTCCCTATCTGCCGTGGGCGCTGGATGTTGAAGGGATTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGAACGAACGCTGGTGTATGGGTTGTCATGCCAATGCATGCCCGGTAGCTACGTCGGATCGATAACCGCTGAAACATCTAAGCGGA
+                      AGCGACCTAAGAAAGTCATCCCAGGGACGTTGGAGACTACACGTGATGGCTGG
+
+Stigmatella           CTACTAAGGCGTGTGGTGGATGCCTAGGTGCCAAGGCGATGAAGGACGTGGGTGCTGCGAAAAGCTCCGGGGAGTTGCAACGAACGTGAACCGGAGATGT
+                      CCGAATGCCCACATGGGCGACCAGGGGAGTGAAACATCTCAGTACCCTGGGAAAAGAAAACAATGTGATTCCCGTAGTAGCGGCGAGCGAACCGGGAACA
+                      GCCTGGTGCTAGCGGAAGCACTTGGAAAGTGCACCAAGACGTGAAGTCGCGTAGCAAGCCCAAGTCGGCGGGACACGTGCAATCCTGCCCGAATCTGCCG
+                      GGACCATCCGGTAAGGCTAAATACTATTGGCGACCGATAGTGAAAAGTACCGCGAGGAAAGGTGAAAAGACCGGAGTCCAAAGACTGAAACCACATGTCT
+                      ACAACAGTTCGAGCGCAGCGCGAGAGGTACCTTTTGCATCATGATTCGGCGACTTAATGTACGTAGCGGGCTAAGATGGGAGCCGGAGCGAGCGGTCCGA
+                      AATGGGCGGAGTTGCGTGTATTAAACCCAAGCGGGTGATCTACACATGGCCAGATGAAGTGCGGTAACACCGCATGGAGGTCCGAACATGAAAGTTGAAA
+                      ATTTCGGGATGAGTGTTGTAGGGGTGAAAGGCCAATCAAACTCGTGATAGCTGGTCTCCCCGAAAGATATTTAGGTATCGTCTCAGGCAGTACCGAGGTA
+                      GAGCACTGGAACGGCTAGGTCCCGATAAACCGTACCAAACTCCGAATGCCGGTGCCTGGGAAGCAGTCGTGGGTGATAACGTCCATTGGCAAGAGGGGAA
+                      TAACCCAGACCGACAGCTAAGCCCCCAAACAGTCTAAGTGACAAGGATGTGCAGGTCATTGACAACCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGGTCAAGACAGGCCCGAAAATGTCGGCTAAGACTAGTGCCGAAGCTTCGGGTCAGCGGTAGGGGAGCGTCCCAGTGCGGCAAGGTA
+                      GACCGAAAGGCTGCTGGAGCGACTGGGAGTGCTGATGCGAAATGAGTAGCGAAAGGGGGTGAGAAACCCCCTCGCCGTAAACCCAAGGTTCCTGGGTCAG
+                      TTAATCTTCCCAGGGTTAGCCGGAACCTAAGCTGAGGCCGAACGTAGGTGATGGAAAGCAGGTAATATTCTGCGCAGGACGGAGAGGCTAGACGACCGGG
+                      TGGCCGGCGTTCCTTCCAAGAAAAGTTCCGTACCAAACCGACACAGGTGGGTAGGAGAAAATCCTAAGGCGTTGAGAGAACTCTCCTCAAGGAACTAGGC
+                      AAATTTCCACCGTAACTTCGGAAGAAGGTGGGCCTCTAAAGTTGCAGAGAAAGGCGGAGGACTGTTTACCAAAAACACAGGCTCTGCGAAGGCGCAAGCC
+                      ACGTATAGGGTCTGACTCCTGCCCGGTGCTGGAAGGTTAAGGGGATTCGTCAAGGATGATCCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGAGTAACGACTTCCGCGCTGTCTCGGAGAGGGACTCAGCGAAATTGAAATAGC
+                      TGTGCCGATCAGTTTACCCGCAGCAAGACGGAAGACCCCGGAACCTTTACTACAACTTGACAGTGACACTAGGGATTGACTGTGTAGGATAGGTGGGAGC
+                      CTTTGAAGCCGGGCCGCTAGGTTCGGTGGAGGCACGTGAAATACCACCCTGTTGATTTCTGTGTCTAACCATGATATTGGGACACTGTCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCCAAAGAGTAACGGAGGCGCGCGATGGTTCCCTCAGCCCGATTGGAAACCGGGCGTCGAGTGCAATGGCATAAGGGAGCT
+                      TGACTGCGAGACAGACAGTGAGCAGGTGCGAAAGGGTCATAGTGATCCGGTGGTCCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTTATCTCCCCCAAGAGTTCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGGAGCAGGTCCAAGGGTTTGCTG
+                      TTCGCCAATAAAGCGGTACGCGAGCTGGGTTCAAAACGTGTGAGACAGTTTGGTCCCTATCTGCTGTGGGCGTAGGATATTGAGAGGCCTGACCTTAGTA
+                      CGAGAGGACCGGGTTGGAGACACTCTGGTGTACCAGTTATCACGCCAGTGTACGCTGGGTAGCCAAGTTCGTTGGATAACCGCTGAAACATCTAAGCGGA
+                      AACCGCCTAAGACAGGTATCCCAGAGCCGTCGAAGACTACACGTGATGGCCGG
+
+Paracoccus            CGGATAAGGCGTTTGGTGGATGCCTTGGCAGCAAGGCGATGAAGGACGTGATACCTGCGATAAGCCATGGGGAGCTGAGAAAAGCTTGATCCATGGATCT
+                      CCGAATGTTAACATAAGCGACCCGGGGACTGAAACATCTAAGTACCCGGGGAAAGGAAATCAACGATACTCCCCCAGTAGTGGCGAGCGAACGGGGACCA
+                      GCCGCCGATGACCAGAATGGCCTGGAAAGCCAGCCTAGCGGTGAAGCCCCGTAGGAGTATTAAGTGGGCGGGACACGTGAAATCCTGTCTGAAGATCGGG
+                      GGACCACCCTCGAAGGCTAAGTACTCTTGCTGACCGATAGCGAACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGTCTGAAACCGGACGCCT
+                      ACAACAGTCGGAGGGGTCCCTGACGGGTACCTTTTGTATAATGGGTCAACGACTTGGTCTATCTAGCAGCTTAAGTTGGTAGGCGCAGCGAGCGGTCTTA
+                      AAAGGGCGGAGTTAGATGGATCAGACCCAAACCGATGATCTAGGCATGAGCAGCTGAAGGTTGGTAACACCAACTGGAGGGCCGAACACACCTGTTGAAA
+                      AAGGTGGGATGACTGTCCTAGGGGTGAAAGGCCAATCAAATCTGAGATAGCTGGTCTCCGCGAAAGCTATTTAGGTAGCGCGTCAGATTCTCCCGGGGTA
+                      GAGCACTGCATGGATGAGGGGCCCCTAAGTCTAAGCAAACTCCGAATACCGGAATCTGGCAGACACACGCGGGTGCTAACGTCCGTCGTGGAGAGGGAAA
+                      CAACCCTGACCAACAGCTAAGCCCCCAATCTGGCTAAGTGGAAAGCATGTGGACTTCCAAAACAACCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGATAG
+                      CGTAACAGCTCACTGGTCAAGAGGTCTGCGAAGATGTCGGCTAAGCCACGAGCCGAAGCTTTGGGTTTGCGGTAGCGGAGCGTTCCGTGACTGTAAGCCG
+                      GGCCGTAAGCCCGGTGGAGTGATCGGAAGCGAGAATGTGACATGAGTAGCGAAACAGGGTGAGAGACCCTGTCGCCGAAAGTCCAAGGTTCCTGCTTAAG
+                      CTAATCTGAGCAGGGTAAGCCGGCCCCTAAGGCGAGGCCGAACGTAGTCGATGGGAACCAGGTAATATTCTGGGCGACGGATCGAGGTGTAGTTCCTCCA
+                      TCGGGAGGGCTGTTCCTGGAAATAGCACCGTACCAAACCGACACAGGTGGACGGTAGAGAATACCAAGGCGTTGAGAGAACCACATTTAAGGAACTCGGC
+                      AAAATACCTCCGTAAGTTCGCGAGAAGGAGGCCCCGCAGGGGGGCACAAACCGGGGGGGGACTGTTTACTAAAAACACAGGCTCTGCGAAGCCGTAAGGC
+                      ACGTATAGGGTCTGACGCCTGCCCGGTGCCGGAAGGTTAAAAGGAGAGGTCAAGCTTGAATTGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCCCCGCTGTCTCAAATGTGGACTCAGCGAAATTGAATTGTC
+                      TGTGAAGATCAGACTTCCCGCGGTTAGACGGAAGACCCCAGCACCTTTACTATAGCTTCGCACTGGCATCAGGATTGCGATGTGCAGGATAGGTGGTAGG
+                      CATCGAAGCGGGGACGCCAGTTCCCGTGGAGCCTCCTGAGATACCACCCTTCGCACTCTTATGTCTAACCGCGATTCCGGGACCCTGCGTGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCCAAAGAGTAACGGAGGCGCGCGAAGGTTGGCTCAGAGCGGTCGGAAATCGCTCGTCGAGTGCAATGGCAGAAGCCAGCC
+                      TGACTGCAAGACTGACAGTGAGCAGAGACGAAAGGGCCATAGTGATCCGGTGGTCCCGGTGGAAGGGCCATCGCTCAACGGATAAAGGTACGCTGGGATA
+                      ACAGGCTGATGATGCCCAAGAGTCCATATCGACGGCATGTTTGGCACCTCGATGTCGGCTCATCTCATCCTGGGGCTGGAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGAGGTACGTGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGTGTAGGATATTGAGAGGATTGCCCCTAGTA
+                      CGAGAGGACCGGGGTGAACGTTCACTGGTGGACCAGTTATCGTGCCAACGTATGCTGGGTAGCTATGACGGCAGGATAAACGCTGAAGCATCTAAGCGTA
+                      AGCCCCCTAAAAAAGGTATCCCAGAGCCGTGGAAGACCACACGTGATGGCCGG
+
+Thermotoga            GTACTAAGGCACGCGGTGGATGCCTTGGCGGCGAGGCGATGAAGGGCGTGGCAACTGCGATAAGCCCGGGGGAGCCGCAAGAGGCGTGATCCCGGGATTC
+                      CCGAATGGCCGAAAGTCGAACCGGGGGAGTGAAACATCTCAGTACCCCGGGAAAAGAAATCAACGAGATTCCCCTAGTAGCGGCGAGCGAACGGGGAGGA
+                      GCCCGGATCTAGCCGAACCACCTGGGAAGTGGGCCGAGAGGTGAAGCCCCGTAGCAAGCCCGAGTCCACGGGACACGTGGAATCCCGTGGGAAGCTGGGG
+                      GGACCACCCTCCAAGGCTAAATACTACCGCCGTCCGATAGCGCACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGACTGAAACCGCGTGCCT
+                      ACAAAAGTCGGAGCCCTGGGTGACGGGTGCCTTTTGATTAATGAGCCCGCGAGTTGCCGTCGGTGGCGGGTTAAGCGGGTAGCCGTAGCGAGCGGTCCGA
+                      ACAGGGCGCAGTCACCGGCGGCAGACCCAAGCCGGTGAGCTACCCCTGGGCAGGTGAAGGTGGGTAAAACCCACTGGAGGCCCGAAGGTGGACAGTGAAA
+                      AGTCCCGGATGACTGGGGTAGGAGTGAAAAGCTAACCGAACCCGTGATAGCTGGTCTCCCCGAAATGCATTGAGGTGCAGCCTCGGGCTGTGCAGGGGTA
+                      GAGCACTGATGGGGCTAGGGGGTCTCGAACCCCGTCAAACTCCGAATCCCTGACCCCGGGAGTGAGCCGCGGGGGATAAGCTCCGCGGACGAGAGGGGAA
+                      CAACCCAGACCGCCGGCTAAGGCCCGAAGGTGGCTAAGTGGAAAGGATGTGAGCGCCTAAGACAGCTGGGATGTTGCTTAGAAGCAGCCTTTAAAGAGTG
+                      CGTAACAGCTCACCAGCCGAGGCGCTCCCGAAAATGTCGGCTAAGCCACCCCCCGAAGCCGCGGGTCTGCGGTAGGGGAGCTTTCCGCTAGGGTAAGGCG
+                      ACCCGCGAGGCCGCTGGACGAGGCGGAAGTGAGAATGGGGCATGAGTAGCGAAGGAGGGTGAGAATCCCTCCCCCCGTAAGCCCAAGGTACCTGGGGAAG
+                      TTCGTCCGCCCAGGGTTAGCCGGGCCCTAAGGTGAACCCGAAGGTAGCCGAAGGGAAGCCGGTAATATTCGGCGCGTGACGCAGAGGGTAGGCGCGGGGG
+                      TGGCCCTCGCTCCTGCCGAGAAAAACCCCGTTCCAAACCGACACAGGTGGGCGGCTGAGAAGGCTCAGGGGGCGGGTTAACCCTCGCCAAGGAACTCGGC
+                      AAATTGGCCCCGTAACTTCGGGAGAAGGGGTGCCGCCAGCGTCGCAGTGACAGGCCCGGGACTGTTTACCAAAAACACAGGCTCTGCTAACTCGAAAGAG
+                      AAGTATAGGGACTGACGCCTGCCCAGTGCCGGAAGGTTAAGGGGAGGGGTTTGGTCCGACCCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCATGAATGGCGTAACGACTGGGGCACTGTCTCGGCGGGGGGCCCGGCGAAATTTCAGTCTG
+                      GGTGAAGATCCCAGTACCCGCGGCTAGACGGAAGACCCCGGGAGCTTTACTGCAGCCTGGTATTGGGCTCTGGTGCATCGTGTATAGCATAGGTGGGAGG
+                      CTGTGAAGCCGCCTCGCCAGGGGCGGTGGAGCCCCATGGAATACCACCCTCGGTGCACTGAGTCCTAACCTGAAGGTGGGGACAGTGCCAGGTGGGCAGT
+                      TTGACTGGGGCGGTCACCTCCTAAAAGGTAACGGAGGTGTGCAAAGGTCGGCTCAGGTGGGTTGGAAATCCACCGCAGAGTGCAAGGGCATAAGCCGGCC
+                      TGACTGCGAGGCCGACAGCGAGCAGGGGGGAAACGGCCCTAGTGACCCGGCGGTCCCGGTGGAAGGGCCGTCGATCAACGGATAAAGTTACCCCGGGATA
+                      ACAGGCTGGTCCCGCCCGAGAGTTCACATCGACGGCGGGTTCGGCACCTCGATGTCGGCTCATCCCATCCTGGGGCTGAAGCAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGGGGTACGTGAGCTGGGTTCAGACCGTGTGAGACAGGTCGGTCCCTATCTGCCGCGGGCGTAGGAGGTTGAGGGGGTCCTCCCTTGTA
+                      CGAGAGGACCGGGAGGAGGGGGCTCTGGTGTACCGGCTGTCGCGCCAGCGCACGCCGGGTAGCTACGCCCTAGCGATAACCGCTGAAACATCTAAGCGGA
+                      AGCGCCCCAAGATAGGCCTCCCAGGCCGGTCCGAGAAGAGACCTGATGGCCGG
+
+Vibrio at cholerae       TGACTAAGGTACACGGTGGATGCCTGGGCAGTCAGGCGATGAAGGACGTACTAATTGCGATAAGCGCAGATAAGGCAGTAAAGCCTTGAGTCTGCGATTT
+                      CCGAATGCTGACATAGGCAACCGGGGGACTGAAACATCTAAGTACCCCGGGAGAAGAAATCAACGAGATTCCGGTAGTAGCGGCGAGCGAACCTGGATTA
+                      GCCCTAAAGTAGGTGAACAAGCTGGAAACTTGGCGTACAGGTGAAGCCCCGTACCCGCATCGAGTGGGCGGGACACGTGATATCCTGTCTGAATATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTGACTGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCTGAGTGAAAAGACTGAAACCGTGTACGT
+                      ACAACAGTAGGAGCACGGTGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTATATTCAGTGGCAGGTTAACTAGGGAGCCGCAGCGAGCGGTCTTA
+                      ACTGGGCGCAGTCTCTGGATATAGACCCAAACCGGTGATCTAGCCATGGGCAGTTGAAGGTTGATAACATCAACTGGAGGACCGAAGACTAATGTTGAAA
+                      AATTACGGATGACTGTGCTAGGGGTGAAAGGCCAATCAAACTCGAGATAGCTGGTCTCCCCGAAAGCTATTTAGGTAGCGCCTACGATACTACTGGGGTA
+                      GAGCACTGTTAAGGCTAGGGTTCACTAACCCTTTGCAAACTCCGAATACCAGTATCCGGGAGACACACGCGGGTGCTAACGTCCGTCGTGGAGAGGGAAA
+                      CAACCCAGACCGACAGCTAAGTCCCAAAGTTTGCTAAGTGGAAACGATGTGGAAGGCTCACACAGCTAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTAGTCGAGTCGGTCCGGAAGATGTCGGCTAAGCAATACACCGAAGCTGCGGCATTTGGGTAGGGGAGCGTTCTGTACCGTTAAGGTG
+                      AATCGTAAGTTTGCTGGAGGTATCACAAGTGCGAATGTGACATGAGTAACGAAAGGGGGTGAAAAACCTCCTCGCCGGAAGACCAAGGTTCCTGTCCAAG
+                      TTAATCGGGGCAGGGTGAGTCGACCCCTAAGGTGAGGCCGAACGTAATCGATGGGAAACGGGTAATATTCCGTACGGGACGGAGAGGCTAGGTGGCCAGA
+                      CGGCTGGCATTCCTTTCAGGAAAAGCATCGTACCAAACCGACACAGGTGGTCGGTAGAGAATACCAAGGCGTTGAGAGAACTCGGGTGAAGGAACTAGGC
+                      AAAATGGTACCGTAACTTCGGGAGAAGGTACGCTCTTCGGGTCGCAGATACCGGTGGTGAACTGTTTATTAAAAACACAGCCTGTGCAAAATCGCAAGAT
+                      ACGTATACGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAATTGATGGGGTCAAGTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAATGATGGCCACGCTGTCTCCACCCGAGACTCAGTGAAATTGAAATCGC
+                      TGTGAAGATCAGTGTACCCGCGGCTAGACGGAAGACCCCGGAACCTTTACTACAGCTTGGCACTGAACATTGAACCTACATGTGTAGGATAGGTGGGAGG
+                      CTATGAAGACGTGACGCCAGTTGCGTTGGAGCCTCCTGAAATACCACCCTTGTATGTTTGTGTTCTAACTTAGATTTGAGGACAGTGCCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGAGTAACGGAGGAGCACGAAGGTGGGCTAATCACGGTTGGACATCGTGAGGTTAGTGCAATGGCATAAGCCCGCT
+                      TAACTGCGAGAATGACGTTGAGCAGGTGCGAAAGGGTCATAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGTCGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGTTGGAAGTTGAAGGGGCTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGAACTCTGGTGTTCGGGTTGTGTCGCCAGACCATGCCCGGTAGCTAAGTCGGATTGATAAGCGCTGAAACATCTAAGCGCA
+                      AGCGACCCGAGAGAGTCTTCCCAGGGTTGTTCGAGACTAGACGTGATGGCAGG
+
+Nannocystis           GTAGAAAGGCACACGGTGGATGCCTTGGCACCAAGGCGACGAAGGACGCGGCTACTGCGAAAAGCTACGGGGAACTGGAAGGAGTGTGATCCGTAGATGT
+                      CCGAATGTCCACATGAGCGACGGAGGGACTGAAACATCTAAGTACCTCCGGAGAAGAAATCAATGAGACTCCGCTAGTAGTGGCGAGCGAATGCGGATTA
+                      GCCCGGGGCTAGCAGAACGGCCTGGGAAGCCGGCCTAGAGGTGAAGCCCGGTAGCAAGCCCGAGTAGGCGGGACACGAGAAACCCTGTCTGAAGCTGGGA
+                      GGACCATCTTCCAAGGCTAAGTACTCTTGGTGACCGATAGCGTAGAGTACCGTGAGGAAAGGTGAAAAGACCTGAGTGAAAAGACTGAAACCGTGTGTTT
+                      ACAACAGTCGGAGAGCAGCTCGACGGGTACCTTTTGCATCATGAGCCAACGAGTTGTGGTCAGCGGCAGGTTAAGATGGAAGCCGAAGCGAGCAGTCTGA
+                      GAAGGGCGAAGTCGCTGGTTACAGACCCAAACTTGTGATCTATCCATGAGCAGCTGAAGCGCGGTAAGACTGCGTGGAGGGCCGAACACCACAGTTGAAA
+                      ATGTGGGGATGACTGTGATAGGAGTGAAAGGCTAATCAAACTGGAGATAGCTGGTCTCGCCGAAACATATTGAGGTATGGGGTCAGTTTGCATCGGGGTA
+                      GAGCACTGGATGGGCTAGGGACCTCTAAACCCAACCAAACTCCGAATACCGAAAGCTGGCACTCAGGCGTGAGAGCTAAGTTTCATTGCCGAGAGGGAAA
+                      GAACCCAGACCGGCAGCTAAGTCCCCAATCTCACTAAGTGGAAAGGATGTGGAGCACTCAGACAGCCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAACAGCTCACTGGTCGAGTGAACCCCGAAAATTCCGGCTAAGTGATGAACCGAAGCTCCGGGTAAGCGGTAGGCGAGTATTGTCTGGCGGTAATGCG
+                      TACGGAAAGAGCGTTGGAGTGCAGACAAGAGCTGATGTGGCATGAGTAGCGAAACCGGGTGAAAAACCCGGTCGCCGTAAACCCGAGGTTCCTGGGTAAG
+                      ATCATCTTCTCAGGGTTAGTCGGTCCCTAAGGCGAGGCAGAACGTAGTCGATGGGAAGCAGGGAACATTCTGCACGGGACGGAGAGGATAGCCGACGACT
+                      TGGGTCGCGGTCCTTCCAAGAAAAGCACCGTACCAAACCGACACAGGTGGGTGGGAGAACATCCCAAGGCGTTGAGAGAACTCGGGTTAAGGAACTCGGC
+                      AAATTGACACCGTAACTTCGGGAGAAGGTGTGCCCTTCGGGTTGCAGAGAATGGGGGAGGACTGTTTACCAAAAACACAGGCTCTGCGAAGTCGCAAGAC
+                      ACGTATAGGGTCTGACGCCTGCCCGGTGCCGGAAGGTTAACAGGAGATGTCAAGATCGAATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGGCGGGTAAGTTCCGTCCTGCACGAATGGCGTAACGACTTCCCCACTGTCTCGACCCGGGACTCAGCGAAATTGAAATCGG
+                      GGTGAAGATCCCCGTACCCGCGGCAAGACGGAAGACCCCGGAACCTTTACTGCAGCTTGGCACTGGTTTTCGGACTTGTCTGTGTAGGATAGGTGGGAGG
+                      CTATGATGTGGGGCCGCTAGGTTCCACGGAGCCACGTGAAATACCACCCTGAGAAGTCTGAAGCCTAACCGTGAGTCCGGGACACTGCCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCACCTCCGAAAGAGTAACGGAGGCGCGCAAAGGTTCCCTCAGGCTGATTGGAAACCAGCCGAAGAGTGTAAAGGCATAAGGGAGCT
+                      TGACTGCGACTCATACAGAGAGCAGGCACGAAAGGGCCTTAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTTATCACGCCCAAGAGTTCACATCGACGGCGTGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGTAGTAGGTCCAAGGGTTTGCTG
+                      TTCGCCAATAAAGCGGTACGCGAGCTGGGTTCAAAACGTGTGAGACAGTTTGGTCCCTATCTGCCGTGGGCGCAGGAATTTGAGTGGACTGTCCCTAGTA
+                      CGAGAGGACCGGGATGGACAGACCCTGGTGTTCCGGTTGTTTTGCCAAGACACGCCGGGTAGCCATGTTGGACGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCACCAAAGAGAGGATTCCCAGGTCCGTCGTAGACGACACGTAATGGCCGG
+
+Rhodobacter           CGGAGAAGGCGTTTGGTGGATGCCTTGGCAGCAAGGCGATGAAGGACGTGATACCTGCGATAAGTCATGGGGAGCTGAGAAAAGCTTGATCCATGAATTT
+                      CCGAATGTTTACATAGGCGACCCGGGGACTGAAACATCTAAGTACCCGGGGAAAGGAAATCAACGATACTCCGTTAGTAGTGGCGAGCGAACGCGGACCA
+                      GCCGGTGAACAGTGGAATGGTCTGGAAAGCCAGCGATATGGTGAAGCCCCGTAACAGTCATAAGTGGGCGGGACACGTGTAATCCTGTCTGAAGATCGGG
+                      GGACCACCCTCGAAGGCTAAGTACTCTTGCTGACCGATAGCGAACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGTCTGAAACCGGACGCCT
+                      ACAACAGTCGGAGCTTTAAGTGACGGGTACCTTTTGTATAATGGGTCAACGACTTGGTCTTACGAGCAGCTTAAGATGGTAGGCGCAGCGAGCGGTCTTA
+                      AAAGGGCGGAGTTCGTGGGATCAGACCCAAACCGATGATCTAGCCATGTCCAGATGAAGGTTGGTAACACCAACTGGAGGTCCGAAGACACCCGTTGAAA
+                      AGGGTCGGATGAGTGTGCTAGGGGTGAAAGGCCAATCAAATCTGAGATAGCTGGTCTCCGCGAAAGCTATTTAGGTAGCGCCTCGGATACCTGCGGGGTA
+                      GAGCACTACATGGATGAGGGGCCCCTAAGTCTAAGTAAACTCCGAATACCGCTATCCGGGAGACACACGCGGGTGCTAACGTCCGTCGTGAAGAGGGAAA
+                      CAACCCTGACCAACAGCTAAGCCCCCAATCTGGCTAAGTGGAAAGCATGTGGATTTCCAAAACAACCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGATAG
+                      CGTAACAGCTCACTGGTCTAGAGATCCGCGAAGATGTCGGCTAAGCCACGAGCCGAAGCTTTGGATAAGTGGTAGCGGAGCGTTCTGTGACTGTAAGCCG
+                      GCCTGTGAGGCCGGTGGAGTGATCAGAAGCGAGAATGTGACATGAGTAGCGAAAGAGGGTGAGAGACCCTCTCGCCGAAAGTCCAAGGTTCCTGCTTAAG
+                      CTAATCTGAGCAGGGTAAGCCGGCCCCTAAGGCGAGGCCGAACGTAGTCGATGGGAACCACGTAATATTGTGGGCGTGACGGATGCTCACGTTGTCGACA
+                      TCGGTCGCAGCTGTCCCAGGAAATACACCGTACCAAACCGACACAGGTGGACGGTAGAGTATACCAAGGCGTTGAGAGAACCACGTTTAAGGAACTCGGC
+                      AAAATGCCTCCGTAAGTTCGCGAGAAGGAGGCCCCACAGGGGGGGACAAACTGGGGGGGGACTGTTTACTTAAAACACAGGCTCTGCGAAGCCGTAAGGC
+                      ACGTATAGGGTCTGACGCCTGCCCGGTGCTGGAAGGTTAAAAGGAGGGGTCAAGTCCGAATTGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGATCTCCCCGCTGTCTCAAACGTGGACTCAGCGAAATTGAACTGTG
+                      TGTCAAGATCACACTACCCGCGGTTAGACGGAAGACCCCAGAACCTTTACTCCAGCTTTGCACTGGCATCAGGATTGTGATGTGCAGGATAGGTGGTAGC
+                      CTTTGAAACCGTGACGCCAGTTGCGGTGGAGGCCCCTGAGATACCACCCTTCGCACTCTTATGTCTAACCGCGATTCCGGGACCCTGCATGGTGGGGAGT
+                      TTGACTGGGGCGGTCGCCTCCCAAATCGTAACGGAGGCGCGCGAAGGTAGGCTCAGACCGGTCGGAAATCGGTCGTTGAGTGCAATGGCAAAAGCCTGCC
+                      TGACTGCAAGACTGACAGTGAGCAGAGACGAAAGGGTCATAGTGATCCGGTGGTCCCAGTGGGAGGGCCATCGCTCAACGGATAAAGGTACTCTGGGATA
+                      ACAGGCTGATGATGCCCAAGAGTCCATATCGACGGCATGTTTGGCACCTCGATGTCGGCTCATCTCATCCTGGGGCTGGAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGAGGTACGTGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGTGTAGGATATTGAGAGGATTGCCCCTAGTA
+                      CGAGAGGACCGGGGTGAACGTTCACTGGTGGACCAGTTATCGTGCCAACGTATGCTGGGTAGCTATGACGGCAGGATAAACGCTGAAGCATCTAAGCGTA
+                      AGCCCCCTAAAACAGGTATCCCAGGGCCGTGGAAGACCACACGTGATGGCCGG
+
+Streptomyces at coelico  TTTTTAAGGCGCACGGTGGATGCCTTGGCACCAAACCGATGAAGGACGTGGGAGCCACGATAGGCCCCGGGGAGTCGCAACAGGCTTGATCCGGGGGTGT
+                      CCGAATGCCCACATGGGGGACGCGGGGAGTGAAACATCTCAGTACCCGCGGAAGAGAAAACAACGTGATTCCGGGAGTAGTGGCGAGCGAAACCGGATGA
+                      GGCCGGATGTAGGCGAAGACATGCGAAAGTCCGGCTAGAGGTAAACCCCCGTATCAACCCCAAGTGCACGGGGCCCGAGAAATCCCGTGTGAATCTGGCG
+                      GGACCACCCGCTAAGCCTAAATATTCCTGGTGACCGATAGCGGATAGTACCGTGAGGAATGGTGAAAAGTGCGGAGTGAAAAGACTGAAACCGTGTGCCT
+                      ACAACCGTGGGAGCGTTTCGTGACTGGTGCCTTTTGAAGAATGAGCCTGCGAGTTTGGGTGTGTTGCGGGTTAACAGGGAAGCCGTAGCGAGCGGTCCGA
+                      ATAGGGCGTAGTAGCACGCTCAAGACCCAAGCGAGTGATCTAGCCATGGGCAGTTGAAGCGGCTTAAGAGGTCGTGGAGGACCGAACACCAGGGTTGAAA
+                      ACCTGGGGATGACTGTGTTAGGGGTGAAAGGCCAATCAAACTCGTGATAGCTGGTCTCCCCGAAATGCATTTAGGTGCAGCGTCGTGTTCTGCCGAGGTA
+                      GAGCACTGGATAGGCGAGGCCTCGGTAACCTTAGCCAAACTCCGAATGCCGGAGCGCGGCAGTGAGACGTGGGGGATAAGCTCCATGGTCGAGAGGGAAA
+                      CAGCCCAGAGCATCGACTAAGCCCCTAAGGACGCTAAGTGGAAAGGATGTGAGTCGCACAGACAACCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCTAGTGATTCCCGACAATGTCGGCTAAGCGTACCGCCGAAGTCGTGTCAAATGGGTAGGGGAGCGTCGTGTGCGGGTAAGCAG
+                      CCGCGGAACGGTTGTGGACGGTTCACGAGTGAGAATGAGGCATGAGTAGCGAACAAACGTGAGAAACGTTTGCGCCGATTGACTAAGGTTCCTGGGTCAG
+                      CTGATCTGCCCAGGGTAAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGATAACCGGTGATATTCGGTACGTGACGCAGAAGGTAGTCCACCCGG
+                      TGGCGGGGGATTCTGTCGAGAAAAGCCCCGTACCAAACCGACTCAGGTGGTCGGTAGAGAATACCGAGGCGTCGGGTGAACTATGGTTAAGGAACTCGGC
+                      AAAATGCCCCCGTAACTTCGGGAGAAGGGGGGCCACTTGTGCCGCAGAGACCGCGAGAGGACTGTTTACTAAAAACACAGGCCGTGCGAAGCCGTAAGGC
+                      ATGTATACGGACTGACGCCTGCCCGGTGCTGGAACGTTAAGGGGACCGGTTCGGTGAGAACTTAAGCGCCAGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCTCGACTGTCTCAACCATAGGCCCGGTGAAATTGCACTACG
+                      AGTAAAGATCTCGTTTCGCGCAGCAGGACGGAAGACCCCGGGACCTTTACTACAGTTTGATATTGGTGTTCGGTTCGGCTTGTGTAGGATAGCTGGGAGA
+                      CTTTGAAGCTCGCACGCCAGTGTGGGTGGAGTCTCGTGAAATACCAGTCTGGTCGTGCTGATGTCTAACCTGGATTCAGGGACAGTGTCTGATGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCTAAAGAGTAACGGAGGCGCCCAAAGGTTCCCTCAGCCTGGTTGGCAATCAGGTGTTGAGTGTAAGTGCACAAGGGAGCT
+                      TGACTGTGAGACCGACGGTGAGCAGGGACGAAAGGGGACTAGTGATCCGGCGGTGGCTGTGGAAGCGCCGTCGCTCAACGGATAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTTCCCCAAGAGTCCATATCGACGGGATGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGGAGTCGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCCGCTGTGCGCGTAGGAGTTTGAGAAGGCTGTCCCTAGTA
+                      CGAGAGGACCGGGACGGACGAACTCTGGTGTGCCAGTTGTCCTGCCAAGGCAGGCTGGTTGGCTACGTCGGAGGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCTCTTGAGAGAGGACTCCCAGGCTCCCAGTAGACGACGGGTGATGGCCGG
+
+Campylobacter at jejuni  CTACTAAGGCGAATGGTGGATGCCTTGACTGGTAGGCGATGAAGGACGTACTAGCTGCGATAAGCTACGGGGAGCTGTCAAAAGCTTGATCCGTAGATTT
+                      CCGAATGCCTATATGGGCGACGAGGGGATTGAAACATCTTAGTACCCTCGGAAAAGAAATCAATGAGATTGCGTCAGTAGCGGCGAGCGAAAGCGCAAGA
+                      GGGCGGATTTAGCAGAACATTCTGGAAATATAGCCTAGAGGTGAAGTCCCGTAGCAAACCTGAGTGGGCGGGACACGAGGAATCCTGTCTGAATCCGGGT
+                      CGACCACGATCCAACCCTAAATACTATACCAGATCGATAGTGCAAAGTACCGTGAGGAAAGGTGAAAAGAGAGAAGTGAAAAGACTGAAACCATTTGCTT
+                      ACAACATTCAGAGCACCGTGTGATGGCTGCCTTTTGCATAATGAGCCTGCGAGTTGTGGTGTCTGGCAGGTTAAGAAGGAAGCCGTAGCGAGCGGTCTGA
+                      ATAGGGCGTAGTCAGATGCTGCAGACCCAAACGAGTGATCTATCCATGAGCAGTTGAAGCTAGTTAAGAACTAGTGGAGGACTGAACATAGGCGTTGAAA
+                      AGCCCGGGATGACTGTGATAGGGGTGAAAGGCCAATCAAACTTGTGATAGCTGGTCTCTCCGAAATATATTTAGGTATAGCGTTGTGAATATAAGGGGTA
+                      GAGCACTGAATGGGCTAGCATCCATGAAACCCTATCAAACTCCGAATACCTTTGCACAGCAGTCAGGCGCGAGTGATAAAATCCGTCGTCAAGAGGGAAA
+                      CAACCCAGACTACCAGCTAAGTCCCTAAACTACTTAAGTGGAAACGATGTAAGTTACTTAAACAACCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGGTCTAGTGATTTCGGAAAATATCGGCTAAAGTAAGTACCGAAGCTGTAGACTTGTGGTAGGAGAGCGTTCTATTGCGTCAAGGTA
+                      TACCGTAAGAGTGCTGGAGCGAATAGAAGTGAGCATGAGGCATGAGTAGCGAATTAATGTGAGAATCATTAACGCCGTAAACCCAAGGTTCCTACGCGAG
+                      CTCGTCATCGTAGGGTTAGTCGGGTCCTAAGTCGAGTCCGAAGGTAGACGATGGCAAATTGGTAATATTCAATACAGGACGCTTGGGCTAAGGGGCTAGA
+                      TGGCTAGCCCTCGAGCCAAGAAAAGTCCCGTACCAAACCGACACAGGTGGGTGGGAGAGTATTCTAAGGCGGTGGAAGAACTCTCTTTAAGGAACTCTGC
+                      AAAATAGCACCGTATCTTCGGTATAAGGTGTGGTTATAAACTTACAACAAAGGTCCCCCGACTGTTTACCAAAAACACAGCCTCTGCTAACTCGTAAGAG
+                      ATGTATAGGGTGTGACGCCTGCCCGGTGCTCGAAGGTTAATTGATGGGGTTTAGTCTTGATCGAAGCCCGAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGTTAAATACCGACCTGCATGAATGGCGTAACGAGATGGGAGCTGTCTCAAAGAGGGATCCAGTGAAATTGTAGTGGA
+                      GGTGAAAATCCTCCTACCCGCGGCAAGACGGAAGACCCCGGGACCTTTACTACAGCTTGACACTGCTACTTGGATAAGAATGTGCAGGATAGGTGGGAGG
+                      CTTTGAGTATATGACGCCAGTTGTATATGAGCCTTGTGAGATACCACTCTTTCTTATTTGGTAGCTAACCAGCATAGTGGGACAATGTCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCCAAATAATAACGGAGGCTTACAAAGGTTGGCTCAGAACGGTTGGAAATCGTTCGTAGAGTATAAAGGTATAAGCCAGCT
+                      TAACTGCAAGACATACAGTAAGCAGAGACGAAAGGGTCTTAGTGATCCGGTGGTTCTGGTGGAAGGGCCATCGCTCAAAGGATAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTCCCCCAAGAGCTCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGGAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGCGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGTAAGAAGTTGAAGAGATTGACCCTAGTA
+                      CGAGAGGACCGGGTTGAACAAACACTGGTGTAGCTGTTGTTCTGCCAAGACACGCAGCGTAGCTAAGTTGGAAGGATAAACGCTGAAACATCTAAGCGTA
+                      AGCCACTCAAGAGAATCTTCTCAGCTCTCTAGAAGACTACAGTTGATGGCTGG
+
+Rhodobacter at sphaeroi  CGGAAAAGGCGTTTGGTGGATGCCTAGGCAGCAAGGCGATGAAGGACGTGATACCTGCGTTAAGCCATGGGGAGCCGGGAAGGGCTTGATCCATGGATGT
+                      CCGAATGCTTACATGAGCGACCCGGGGACTGAAACATCTAAGTACCCGGGGAAAGGAAATCAACGAGACTCCGCTAGTAGTGGCGAGCGAACGCGGACCA
+                      GCCGCTCAGTACTGGAATGGCCTGGAAAGCCAGCCCAGCGGTGAAGCCCCGTAAGAGCTATAAGTGGGCGGGACACGTGAAATCCTGTCTGAAGATCGGG
+                      GGACCACCCCCGAAGGCTAAGTACTCTTGCTGACCGATAGCGAACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGACTGAAACCGGACGCCT
+                      ACAACAGTCGGAGGGTTACCTGACGGGTACCTTTTGTATAATGGGTCAACGACTTGGTCTCACGAGCAGCTTAAGGTGGGAGGCGCAGCGAGCGGTCTTA
+                      AAAGGGCGGAGTTCGTGGGATCAGACCCAAACCGGTGATCTAGCCATGAGCAGATGAAGTCAGGTAACACCTGATGGAGGTCCGAAAACACCCGTTGAAA
+                      AGGGTTGGATGACTGTGCTAGGGGTGAAAGGCCAATCAAACCTGAGATAGCTGGTCTCCGCGAAAGCTATTTAGGTAGCGCCTCGGATACCTCGGGGGTA
+                      GAGCACTGCATGGATGAGGGGCCCCTAAGTCTAAGCAAACTCCGAATACCCGTATCCGGGAGACACACGCGGGTGCTAACGTCCGTCGTGAAGAGGGAAA
+                      CAACCCTGACCTGCAGCTAAGCCCCCAATCTGGCTAAGTGGAAAGCATGTGGACGGCCAAAACAACCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGATAG
+                      CGTAACAGCTCACTGGTCTAGCTGTCCGCGAAGATGTCGGCTAAGCCACGAGCCGAAGCTCAGGATCAGTGGTAGCGGAGCGTTCCGTGTCTGTAAGCCG
+                      GGCCGTAAGCCCGGTGGAGAGATCGGAAGCGAGAATGTGACATGAGTAGCGAAACAGGGTGAGAGACCCTGTCGCCGAAAGTCCAAGGTTCCTGCTTAAG
+                      CTAATCTGAGCAGGGTAAGCCGGCCCCTAAGGCGAGGCCGAACGTAGTCGATGGGAACCAGGTAATATTCTGGGCGTGACGGATCGCAGGGTAGTCGGTA
+                      TCGACCGCTGCGGTCCCTGGAAATACACCGTACCAAACCGACACAGGTGGACGGTAGAGAATACCAAGGCGTTGAGAGAACCACATCAAAGGAACTCGGC
+                      AAAATGCCTCCGTAAGTTCGCGAGAAGGAGGCCCCGCAGGGGGGCACAAACCGGGGGGGGACTGTTTACTTAAAACACAGGCTGTGCGAAGCCGCAAGGC
+                      ACGTATACAGTCTGACGCCTGCCCGGTGCTGGAAGGTTAAAAGGAGGAGTCAAGTCCGAATTGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGATCTCCCCGCTGTCTCTGATGTGGACTCAGCGAAATTGAACTGTG
+                      TGTCAAGATCACACTTCCCGCGGTTAGACGGAAGACCCCAGAACCTTTACTATAGCTTCGCACTGGCATCAGGATTGTGATGTGCAGGATAGGTGGTAGG
+                      CATCGAAGCGGGGACGCCAGTTCCCGTGGAGCCACCTGAGATACCACCCTTCGCCATCTTATGTCTAACCGCGATTCCGGGACCCTGCGTGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCCAAACAGTAACGGAGGCGCGCGATGGTGGGCTCAGACCGGTCGGAAATCGGTCGTCGAGTGCAATGGCAGAAGCCCGCC
+                      TGACTGCAAGACTGACAGTGAGCAGAGACGAAAGGGCCATAGTGATCCGGTGGTCCCGGTGGAAGGGCCATCGCTCAACGGATAAAGGTACTCTGGGATA
+                      ACAGGCTGATGATGCCCAAGAGTCCATATCGACGGCATGTTTGGCACCTCGATGTCGGCTCATCTCATCCTGGGGCTGGAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGAGGTACGTGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGTGTAGGAGATTGAGAAGATTGCCCCTAGTA
+                      CGAGAGGACCGGGGTGAACGATCACTGGTGGACCAGTTGTCGTGCCAACGCATGCTGGGTAGCTATGACGGCAGGATAACCGCTGAAGCATCTAAGCGGA
+                      AGCCCCTTAAAAAAGGTCTCCCAGGGCCGTGGAAGACCACACGTGATGGCCAG
+
+Zymomonas             TGGGTAAGGCATTTGGTGGATGCCTAGGCATACAGGCGATGAAGGACGTGGCACCTGCGATAAGCTACGGCGAGATGTGAGAATCTTGACCCGTAGATTT
+                      CCGAATGTACACATGAGCGACCCGGCGACTGAAACATCTAAGTACCCGGGGAAAAGACATCAACGAGATTCCGTTAGTAGTGGCGAGCGAACGCGGAGTA
+                      GGCCCCTGTTAGCAGAAGTCTTTGGAAAAGACACCTAGTGGTGAAGTCCCGTAGTAAATCTGAGTGGGCGGGGCACGTGAAACCTTGTCTGAACATGGGG
+                      GGACCACCCTCCAAGCCTAAATACTCTGTATGACCGATAGTGAAAAGTACCGTGAGGAAAGGTGAAAAGACCGGAGTGAAAAGTCTGAAACCGAATGCTT
+                      ACAACAGTAGGAGGGTAGCCTGACTGGTACCTCTTGCATAATGGGTCTGTGACTTAATGTATCAAGCAGCTTAAGATGGTAGGCGCAGCAAGCGGTCTGA
+                      ATAGGGCGTAGTTTGATGCATTAGACCCAAACCGGCGATCTAGGCATGGTCAGATGAAGGTAAGTAACACTTACTGGAGGTCCGAAGATTAACGTTGAAA
+                      AGTTACGGATGAATGTTTTAGGGGTGAAAGGCCAATCAAGCCGGAAATAGCTGGTCTCCGCGAAAACTATTGAGGTAGTGCCTCATGGACCGTTGGGGTA
+                      GAGCACTGGATGGATGCGGGTCGACCAAATCTAACCAAACTCCGAATACCAATTCATGGGAGACAGACGCGGGTGCTAAGGTCCGTCGTCGAGAGGGAAA
+                      CAGCCCTGACCTACAGCTAAGTCCCCAAGCTGTCTAAGTGGAAAGCTTGTAAGACCCCAAAACAACCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAACAGCTCACTGGTCTAGGGTCTTGCGAAGATGTCGGCTAAGACATGCACCGAAGCTTAGGATTTATGGTAGCGGAGCGTTCCGTACCTGTAAGCAG
+                      TCTGGTAAGGACTGTGGAGGTATCGGAAGTGCGAATGAGACATGAGTAGCGAAATAGGGTGAGATGCCCTATCGCCGAAAGTCCAAGGTTCCTGCGCAAG
+                      CTAATCCGCGCAGGGTGAGTCGGCCCCTAAGACGAGCCCGAAGGTAGTCGATGGGAAACAGGTAATATTCTGTACGTGACGGATCGTGTAATTGTTGTCA
+                      TCGGACACTCAGGTTCCAGGAAATACACCGTACCAAACCGACACAGGTGGACGGTAGAGTATACCAAGGCGTTGAGAGAAGGGTGTTGAAGGAACTCGGC
+                      AAATTGCCTCCGTACCTTCGGAAGAAGGAGGCCCTTCATAGGGGCACAGGCCGGGGGAGGACTGTTTAGCAAAAACACAGGCTCTGCAAAGTCGCAAGAC
+                      ACGTATAGGGCCTGACGCCTGCCCGGTGCTGGAAGGTTAAGTGGAGGAGTCAAGTCTGAAATGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCCCCACTGTCTCCAACACCTGCTCAGCGAAATTGAATTCTC
+                      CGTGAAGATCGGAGTACCCGCGGTTAGACGGAAGACCCCGGCACCTTTACTGCAGCTTCAGAGTGGCATTAGGAAAGAACTGTGTAGCATAGGTGGGAGG
+                      CTTTGAAACTTGAGCGCCAGCTTGAGTGGAGCCTAGTGAAATACCACCCTGTTGTTTTCTATGTCTAACCTAGAATCAGGGACCCTCTGTGGCGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGAGTAACGGAGGCGCGCGATGGTTGGCTCAGGCCGGTTGGAAACCGGCTCAAGAGTGCAATGGCATAAGCCAGCC
+                      TGACTGTGAGACTGACAGTGAACAGAGACGAAAGGGTCATAGTGATCCGGTGGTCCCTGTGGAAGGGCCATCGCTCAACGGATAAAGGTACGCCGGGATA
+                      ACAGGCTGATAACCCCCAAGAGCTCATATCGACGGGGTGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGGAGCAGGTCCAAGGGTTTGCTG
+                      TTCGCCAATAAAGTGGTACGTGAGCTGGGTTCAGAACGTGCGAGACAGTTTGGTCCCTATCTGCCGTGGGCGTCGATATTTGAGAGGATTGCCCTTAGTA
+                      CGAAAGGACCGGGGTGAACATGCTCTGGTGGACCTGTCGTGGCGCCAGCCCGAGCAGGGTAGCTATGCTGGCGGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCTCCTAAGATAAGATATCTAGAGCCGTCGAAGACTACACGTGATGGCCAG
+
+Brevundimonas         CGTTGAAGGCTTCTGACGGATGCCTTGGCGTAGAGGCGATGAAAGACGTGGCAACTGCGATAAGAACCGGGGAGGCGCTAGACCCTTGATCCGGTTATCT
+                      CTGAATGCAAACATTGGCGACCCGGGGACTGAAACATCTCAGTACCCGGGGAAAGGACATCAACGAGACTCCCGTAGTAGTGGCGAGCGAACCGGGACCA
+                      GGCCTCTTAAAGTCGAACGGAATGGAAATCCGGCCTAGCGGTGAAGCCCCGTAACCAAACTGAGTGGGCGGGACACGTGAAATCCTGTCTGAACATGGGG
+                      GGACCACCCTCCAAGCCTAAGTACTCTCTACGACCGATAGTGAAAAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGTCTGAAATCGGAAGCCT
+                      ACAACAGTCGGAGCCGACGGTGACGGGTACCTTTTGTATAATGGGTCAGCGACTTCATGTGTCGAGCAGCTTAAGTTGGTAGGCGCAGCGAGCGGTCTGA
+                      ATAGGGCGAAGTTCGACGTATGAGACCCAAACCGGTGATCTATCCATGAGCAGATGAAGGTAAGTAACACTTACTGGAGGTCCGAACGTGAATGTTGAAA
+                      AATTCGGGATGACTGTGATAGGGGTGAAAGGCCAATCAAACCTGACATAGCTGGTCTCCGCGAAATCTATTTAGGTAGAGCGTCCGATACCCTGGGGGTA
+                      GAGCACTGGATGGTTGCGCTGCACGGAATACTAACCAAACTCCGAATACCCATATCGGGCAGACACACGCGGGTGCTAACGTCCGTCGTGAAAAGGGAAA
+                      CAACCCTAACCATCATCTAAGCCCCCAAGCTGGCTAAGTGGAAACGATGTGGATTGCTTTGACAATCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAACAGCTCACTGATCAAGCGATCCCGGAAAATGTCGGCTAAGCCATGCGCCGAAGATATGGGTTTGCGGTAGCGGAGCGTTCCGTACCTGTAAGGTC
+                      AACTGTGAGTTGGCTGGAGGTATCGGAAGTGAGAATGTGACATGAGTAACGAAACAGTGTGAGAAACACTGTCGCCGAAAGACCAAGGTTCCTGCGTAAG
+                      CTAATCTGCGCAGGGTTAGTCGGCCCCTAAGGCGAGGCTGAACGTAGTCGATGGGAAGCAGGTAATATTCTGCACGTGACGGATGGCATAGTCGTGGGGA
+                      TTGTTCCCGGTTGTCCCTGGAAATACACCGTACCAAACCGACACAGGTGGTCGGTAGAGTATACCAAGGCGTTGAGAGAACTGTGCTGAAGGAACTCGGC
+                      AAATTGCACGCGTAACTTCGGAATAAGCGTGACTCACACGGTGGCACAAGCCGGGGGAGGACTGTTTAGCAAAAACATAGGCTCTGCGAAGCATCAATGC
+                      ACGTATAGGGTCTGACGCCTGCCCGGTGCCTGAAGGTTAAAGGGAGGAGTAAAGTCCGAACTGAAGCCCAGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCCCCACTGTCTCCAGCACAGGCTCAGTGAAATTGAATTCCC
+                      CGTGAAGATCGGGGTTCCCGCGGTCAGACGGAAGACCCTAGAACCTTTACTATAGCTTCGCCTTGGCGTTAGCGACCGTATGTGTAGGATAGGTGGGAGG
+                      CTATGAAGCCGGGGCGCCAGCTCTGGTGGAGCCTCCTGAAATACCACCCTTACTGTCGTTACGTCTAACCGAGATCCCGGGACATGGCGTGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCCAAAGTGTAACGGAGGCGCGCGATGGTTAGCTCAGACCGGTCGGAAATCGGTCGTCGAGTGCAATGGCATAAGCTAGCC
+                      TGACTGCGAGACTGACAGTGAGCAGAGACGAAAGGGCCATAGTGATCCGGTGGTCCCGGTGGAAGGGCCATCGCTCAACGGATAAAGGTACTCTAGGATA
+                      ACAGGCTGATTTTGCCCAAGAGTCCATATCGACGGCAAGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGGAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGTGAGCTGGGTTCAGAACGTGTGAGACAGTTTGGTCCCTATCTGCCGTGGGTGTTCGAAGTTGAGAGGACTGTCCCTAGTA
+                      CGAGAGGACCGGGATGGACATACTCTGGTGGACCTGTCATGGCGCCAGCCTGAGCAGGGTAGCTAAGTTGGATAGATAACCGCTGAAACATCTAAGCGGA
+                      AACTACCTAAAAAAGGCTTCGCAGGATCGTGGAAGACTACACGTGATGGCCAG
+
+Listeria at monocytogen  TTAGAAAGGCGCACGGTGGATGCCTTGGCACTAAGCCGAAGAAGGACGGGACTACACCGATATGCTTTGGGGAGCTGTACGAAGCGTGATCCAGAGATTT
+                      CCGAATGTCCACATGAGCAACCCAGGGACTGAAACATCTAAGTACCTGGGGAAGAGAAAGAAAATCGATTTCCTGAGTAGCGGCGAGCGAAACGGAAAGA
+                      GCCCGGATATAAATGAAGGGTCTGGAAAGCCCGCCAAGAGGTAAAGCCCGGTATTAATCCTGAGTCGGCGGAACACGTGAAATTCCGTCGGAATCCGGGA
+                      GGACCATCTCCCAAGGCTAAATACTCCTAGTGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGTCTGAAACCGTGTGCCT
+                      ACAATAGTTAGAGCCCAGGGTGATAGGTGCCTTTTGTAGAATGAACCGGCGAGTTACGATTTGTTGCAGGTTAAGAAGGGAGCCGTAGCGAGCGGTCTGA
+                      ATAGGGCGAAGTAACAGGTCGTAGACCCAAACCGGTGATCTACCCATGTCCAGATGAAGGTAAGTAATACTTACTGGAGGTCCGAACACGCACGTTGAAA
+                      AGTGCGGGATGAGTGTGGTAGCGGAGAAATTCCAATCGAACTTGAGATAGCTGGTCTCTCCGAAATAGCTTTAGGGCTAGCCTCGAGGAGTCATGAGGTA
+                      GAGCACTGTTTGGACTAGGCCTTGGTAAATTCAGATAAACTCCGAATGCCATTTCTCGGGAGTCAGACGCGAGTGATAAGATCCGTAGTCGAAAGGGAAA
+                      CAGCCCAGACCACCAGTTAAGTCCCCAAAAATGTTAAGTGGAAAGGATGTGGGTTGCTTAGACAACCAGGATGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCGAGTGACCCCCGAAAATGTCGGCTAAACATATTACCGAAACTGTGGATTTGTGGTAGGAGAGCGTTCTAAGGCGGTAAGTCA
+                      GACCGGAAGACTGGTGGAGCGCTTAGAAGTGAGAATGCGGTATGAGTAGCGAAGAAGGGTGAGAATCCCTTCCACCGAATATCTAAGGTTCCTGAGGAAG
+                      CTCGTCCGCTCAGGGTTAGTCGGGACCTAAGCCGAGGCCGAACGTAGGCGATGGACAACAGGTGAGATTCTGTACGTGACACAGAGGATAGGGAACGCAA
+                      TGGTGCGTCCTCCTGTCAAGAAAAGCCCCGTACCAAACCGACACAGGTAGATAGGAGAGAATCCTAAGGTGGCGAGAGAACTCTCGTTAAGGAACTCGGC
+                      AAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTCTCAGGGCCGCAGTGAATGGCCCAGGACTGTTTAGCAAAAACACAGGCTCTGCAAAACCGTAAGGT
+                      ACGTATAGGGGCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGTGCTTCGGTACGAATTGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGCAACGATCTGGGCACTGTCTCAACGAGAGACTCGGTGAAATTATAGTACC
+                      TGTGAAGATCAGGTTACCCGCGACAGGACGGAAGACCCCGGGAGCTTTACTGCAACCTGATATGGAATGTTTGTACCGCTTGTACAGGATAGGTAGGAGC
+                      CGAAGAGACGTGTGCGCTAGCATACGAGGAGGCATGTGGGATACTACCCTGGCTGTATGACATTCTAACCCGCAGGGGGAGACAGTGTCAGGTGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGAGTAACGGAGGCGCCCAAAGGTTCCCTCAGAATGGATGGAAATCATTCGCAGAGTGTAAAGGCACAAGGGAGCT
+                      TGACTGCGAGACTGACAGTGAGCAGGGACGAAAGGGGCTTAGTGATCCGGTGGTTCCGATGGAAGGGCCATCGCTCAACGGATAAAGCTACCCCGGGATA
+                      ACAGGCTTATCTCCCCCAAGAGTCCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGTAGTCGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGCACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCGTCGCGGGCGCAGGAAATTGAGAGGACTGTCCTTAGTA
+                      CGAGAGGACCGGGATGGACACACGCTGGTGTACCAGTTGTTCCGCCAGGACACGCTGGGTAGCTATGTTGGAGGGATAAACGCTGAAACATCTAAGCGTA
+                      AGCCCCCTAAGAGAGATTTCCCAGATCCCTGAAAGATGATAGGTGATGGTTTG
+
+Erysipelothrix at rhusi  TATGTAAGGCGTACGGTGGATGCCTAGGCACTAAGCTGATGAAGGACGCGATAACAGCGAAATGCCTCGGGGAGTGGTACGACACAAGATCCGGGGGTAT
+                      CCGAATGCACACATTGGCAACCTTGTGATTGAAACATCTTAGTAACAAGGGAAAAGAAAACAAAGTGATTCCCTGAGTAGTGGCGAGCGAAACGGGAAGA
+                      GCCCGGAGTTAGTCGAATGGCATTGAAAGCCAGTCAAGAGGTGCAACCCTGTAACAAGCCTGAGTCGGCGAGGCACGAGAAACCTTGTCGGAACCAGCCG
+                      GGACCACCCGGTAAGGCTAAATACTCTTAGTGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGAGCGGAGTGAAAAGACTGAAACCGTATGCTT
+                      ACAAAAGTCAGAGCCCAGGGTGATGGGTGCCTTTTGTAGAATGAACCGGCGAGTTACCATAATGTGCGGGTTAAGAAAGGAGCCGTAGCGAGCGGTCTGA
+                      ATAGGGCGTAGTACATTGTGGTAGACCCAAACAAGTGATCTAGCCATGACCAGTTGAAGTTTGGTGAAACCAAATGGAGGACCGAAGACTGTCGTTGAAA
+                      AGCCACGGATGAGTGTGCTAGCGGAGAAATTCCAATCGAACTTGATATAGCTGGTCTCCCCGAAATAGCTTTAGGGCTAGCGTCAATAGGCACTGAGGTA
+                      GAGCACTGAATGTATGAGCCCTTGGGAAATATAATCAAACTCCGAATGCCAGTGGTTGGCAGTCAGACGTGGGTGATAAGGTCCATAGTCGAAAGGGAAA
+                      CAGCCCAGATCGCCAGTTAAGTCCCAAAATATACTAAGTGGAAAGGATGTGGGATGCACAGACAACTAGGAGGTTGCTCAGAAGCAGCCTTTAAAGAGTG
+                      CGTAACAGCTCACTAGTCGAGTGACCCCCGAAAATTTCGGCTAAGTATGATACCGAAACTGCGGATAAGTGGTAGGGGAGCGTTCTATAGCGTTAAGATG
+                      TACCGTAAGAGCGTTGGAGCGTATAGAAGTGAGAATGCGGTGTGAGTAGCGAATGTCAGTGAGAATCTGACACACCGATTGCCTAAGGTTCCAGGGGAAG
+                      CTCGTCCTCCCTGGGTAAGTCGGGACCTAAGATGAGGCTGAACGTAGTCGATGGACAACAGGTGATATTCTGTACATGACAGAGAGGCTAAGTTTCCAGC
+                      TGGCTGGAACCCCTCTCAAGAAAAGTCCCGTACCAAACCGACACAGGTAGGCAGGAGAGAATCCTGAGGTGGCGAGAGAACTGTTGCCAAGGAACTCGGC
+                      AAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTCTAAGGGCCGCAGTGAAGGGCCCAAGACTGTTTAACTAAAACATAGCCTCTGCGAAGTCGCAAGAC
+                      AAGTATAGGGGGTGACGCCTGCCCGGTGCTGGAAGGTTAAGGGGATGTGTTCGGATTGAACTGAAGCCCCAGTGAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAACGATTTGGGCGCTGTCTCGGCAGCAGACTCGGTGAAATCTTAGTACC
+                      GGTAAAGATCCGGTTACCCGCAACTAGACGGAAGACCCCAGGAGCTTTACTGTAGCTTGATATTGAATTTTGATCCTACATGTACAGGATAGGTGGGAGA
+                      CAATGAAGCATGCACGCTAGTGTATGTGGAGTCCCATGGGATACCACTCTTGTATGTTTGAATTCTAACCGCGATACCGGGAGAGTGTCAGGTGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGAGTAACGGAGGCGCCCAAAGGTACCCTCAGATTGGTTGGAAATCAATCGACGAGCGTAAAGGCAGAAGGGTGCT
+                      TGACTGCGAGACCTACAGTGAGCAGGGACGAAAGGGGCTTAGTGATCCGGCGGTTCCGGTGGAAGGGCCGTCGCTTAACGGATAAAGCTACCCTGGGATA
+                      ACAGGCTAATCTCGCCCAAGAGTTCACATCGACGGCGAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGAGCTGAATTAGGTTCAAGGGTTGGCTG
+                      TCCGCCCATAAAGCGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGTTGTGGGCGTAGGAAATTGAGGAGCCTGTCCCTAGTA
+                      CGAGAGGACCGGGATGGACATACGCTGGTGTACCAGTTGTTCTGCCAAGACACGCTGGGTAGCTAAGTTGGCTGGATAAGCGCTGAAACATCTAAGCACA
+                      AGCCACTCAAGAGAGATTTCCCAGACCCCTGAGAGACGATAGGTGATGGTCAG
+
+Bartonella            TGCTTAAGGCATTTGGTGGATGCCTTGGCATGCAGGCGATGAAGGACGTGATACCTGCGATAAGCTACGGGGAGGTGCGAAACCCTTGATCCGTAGATTT
+                      CCGAATGTCTAAATGAGCGACGCAGGGACTGAAACATCTAAGTACCTGTGGAAAGGACATCAACGAGACTCCGTTAGTAGTGGCGAGCGAACGCGGACCA
+                      GGCCGCTAAAAGTAGAATCGATTGGAAATCGAACCAAGAGGTGAAGTCCCGTAACAAACCTGAGTAGGCGGGACACGTGAAATCCTGTCTGAACATGGGT
+                      CGACCACGATCCAAGCCTAAGTACTCTGCATGACCGATAGCGCACAGTACCGTGAGGAAAGGTGAAAAGTCCGGAGTGAAAAGACTGAAACCGAATGCCT
+                      ACAACAGTCGGAGCCCTGGGTGACGGGTACCTTTTGTATAATGGGTCAGCGACTTAGTCTAACGAGCAGCTTAAGATGGTAGGCGTAGCGAGCGGTCTGA
+                      ATAGGGCGCAGTTCGTTGGATTAGACCCAAACCAGTGATCTAGCCATGAGCAGCTGAAGGTAAGTAACACTTACTGGAGGGCCGAACGTATCTGTTGCAA
+                      TAGATGGGATGACTGTGCTAGGGGTGAAAGGCCAATCAAACTCGAAATAGCTGGTCTCCGCGAAATCTATTTAGGTAGAGCGTTAGTTTCTCCAGGGGTA
+                      GAGCACTGGATGGGCTAGGTCCCGATAAACCTAACCAAACTCCGAATACCTGAAACTGGCAGACACACGCGGGTGCTAACGTCCGTCGTGGAAAGGGCAA
+                      CAACCCTAACCACCATCTAAGTCCCCAAGTTGGCTAAGTGGAAAGGATGTAGGATCCCAAAACAACCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAACAGCTCACTGGTCTAGGGTCTTCCGAAAATGTCGGCTAAGCCATACACCGAAGCTGTGGATTAGTGGTAGCGGAGCGTTCCGTACCTGTAAGGGG
+                      ACTCGCGAAGCTCCTGGAGGTATCGGAAGTGAGAATGTGACATGAGTAACGAAAGGGAGTGAGAGACTCCCTCGCCGAAAGTCCAAGGTTCCTGCTTAAG
+                      TTAATCTGAGCAGGGTGAGTCGGCCCCTAAGGCGAGGCCGAACGTAGTCGATGGGAACCACGTAATATTGTGGACGTGACGGATTAGGAAATTGTAGGTA
+                      TTGATCTCAGTAATCCCAGGAAATACACCGTACCAAACCGACACAGGTGGACGGTAGAGAATACCAAGGCGTTGAGAGAACTACGTTGAAGGAACTCGGC
+                      AAATTGCACGCGTAACTTCGGAAGAAGCGTGACCCTCAGGGTGGCACAGACCGGGGGAGGACTGTTTACCAAAAACACAGGCTCTGCGAAGTCGCAAGAC
+                      ATGTATAGGGTCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGATGTCAAGATTGAATTGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCCCCGCTGTCTCCAACGTAGACTCAGTGAAATTGAATTCCC
+                      CGTGAAGATCGGGGTTCCTGCGGTTAGACGGAAGACCCCGGCACCTTTACTATAGCTTTACACTGGCATTTGTGTCGGCATGTGTAGGATAGGTGGTAGA
+                      CTTTGAAGCAGGGGCGCTAGCCCTTGTGGAGTCTCCTGAAATACCACCCTTACCGACATGATGTCTAACTGCAATTTCAAGACAGTGTATGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGAGTAACGGAGGCGCGCGAAGGTAGGCTCAGAACGGTCGGAAATCGTTTGTTGAGTGCAATGGCATAAGCCTGCC
+                      TGACTGTGAGACTGACAGTGAGCAGAGTCGAAAGGGTCATAGTGATCCGGTGGTCCCGGTGGAAGGGCCATCGCTCAACGGATAAAGGTACGCCGGGATA
+                      ACAGGCTGATGACCCCCAAGAGTCCATATCGACGGGGTGTTTGGCACCTCGATGTCGACTCATCGCATCCTGGGGCTGGAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGCGGTACGTGAGTTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGTGTAGGAATTTGACAGGACTGTCCCTAGTA
+                      CGAGAGGACCGGGATGGACGTATTCTGGTGGACCTGTTGTGGCGCCAGCCCAAGCAGGGTAGCTATATCGGCGGGATAACCGCTGAAGCATCTAAGCGGA
+                      AACCCCCTAAAAGAGTATTCCCAGAACCGTGGTAGACCACACGTGATGGTCAG
+
+Chlamydophila at felis   TTAGTAAGGCTATTGGCGGATGCCTTGGCATTGAGGCGATGAAGGATGCGTTTACTGCAGTAATCTTCGGCGAGCTGGTATAAGCTAGACCCGGAGGTCT
+                      CCGAATGTTAACATAAGCGACCTGCTGACTGAAACATCTTAGTAAGCAGGGAAAAGAAATCAAAGAGATTCCCTGAGTAGCGGCGAGCGAAAGGGGATTA
+                      GACCGGGTTTAGTTGAATCTTCTGGAAATAGAACGCACAGGTGAAGTCCCGTAACAAACCTGAGTGGGCTAGACACGTGAAACCTAGTCTGAATCTGGGG
+                      AGACCACTCTCCAAGTCTAAATACTATCAATGACCTATAGTGAACAGTACTGTGAAGAAAGGTGAAAAGACTTGAGTGAAAAGACTGAAACCAATAGCTT
+                      ATAACGGTCGAAGACCCGGTTGACGGGTGCCTTTTGCATGATGAGCCAGGGAGTTAAGTTAAACGGCGGGTTAAGTACGGAGCCGAAGCGAGCGGTTTTA
+                      ATAGAGCGTAGTCGTTTGATTTAGACACAAACCAGTGAGCTATTTATGACCAGTTGAAGCGTGGTAAGACCTTGTGGAGGACCGAAAGTACATGTTGAAA
+                      AATGTTGGATGAGTGTAATAGGGGTGAAAGGCCAATCAAACTTGAGATATCTTGTCTCTCCGAAATAACTTTAGGGTTAGCCTCGGAATTTTTTGGGGTA
+                      GAGCACTGAATTCTAGCGGGCTCGCTAACGGAAATCAAACTCCGAATACCAAGATCCGGGAGATAGACGCGGGGGCTAAGCTTCGTTGTCGAGAGGGGAA
+                      CAGCCCAGACCGCCGATTAAGTCCCAAATTATGCTAAGTGATAAGGAAGTGTGATTCTAAGACAGTTGGAATGTTGCTTAGAGGCAGCATTTAAAGAGTG
+                      CGTAACAGCTCACCAATCGAGAATCATCCAATAATAACGGCTAAGCATAAAACCGACATCGCGGGTTAGCGGTAGGAGAGCGTAGCATTGCAGTAAGGTA
+                      TACCGTAAGAGTGCTGGAGCGGATGCTAGTGAAGATCTGGCATAAGTAACGAAAGGAAGTGAAAATCTTCCTCGCCGTAAGCACAAGGTTCCAGGGTCAG
+                      CTCGTCTTCCCTGGGTTAGTCGGCCCCTAAGTCGAGGCACAACGTAGACGATGGACAACAGGTAATATTCTGTACATGACGGAGACGTTAAGCACCGGAT
+                      TGGTCCGGTGTCCTTTCAAGAAATATACCGTACCAAACCGACACAGGTGTGCAGATGAATATTCTAAGGCGGCGAGATAACTTTCGTTAAGGAACTCGGC
+                      AAATTATCCCCGTAACTTCGGAAGAAGGGGAGCCTTTTGAGCCGCAGAGAAAGGCCCGGGACTGTTTAACAAAAACACAGCCTATGCAAACCTCTAAGGG
+                      AAGTATATGGTGTGACGCCTGCCCAATGCCAAAAGGTTAAAGGAATATGTCAAGATTGAACCCAAGCCCTGGTGAATGGCCGCCGTAACTATAACGGTGC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGTGTAACGATCTGGGCACTGTCTCAACGAAAGACTCGGTGAAATTGTAGTAGC
+                      AGTGAAGATCTGTTTACCCGCAAAAGGACGAAAGACCCCGGAACCTTTACTGTACTTTGGTATTGATTCTTGATTTGTTATGTGTAGCATAGCCAGGAGA
+                      CTGTGAACACTCTTCGTTAGGAGAGTGGGAGTCTCGTGAAATACTGGTCTTAACAAGTTGGAGTCTAACATAAATATATGGACATTGCCAGACGGGCAGT
+                      TTTACTGGGGCGGTATCCTCCTAAAAAGTAACGGAGGAGCCCAAAGCTTATTTCATCGTGGTTGGCAATCACGAGTAGAGCGTAAAGGTATAAAATAGGT
+                      TGACTGTAAGACCTACAGTAAGCAGAGACGAAAGGGGCTTAGTGATCCGGCGGTGGAAGTGGAATCGCCGTCGCTTAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATCGCCACCAAGAGTTCATATCGACGTGGCGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGGAGAAGGTCCAAGGGTTTGCTG
+                      TTCGCCAATAAAGCGGTACGCGAGCTGGGTTCAAAACGTGTGAGACAGTTTGGTCTCTATCCTTTGTGGGCGCAGGATATTGAAAGGACTGTTCCTAGTA
+                      CGAGAAGGCCGGAATGGACGAACAATGGTGTGTCGGTTGTTTTGCCAAAACAAGCCGAGTAGCTACGTCGGAAGGATAAGCATTGAAACATCTAAATGCA
+                      AGCCTCCTAAGAAAGGTATCCCAGACTCCATATAGACTATTGGTGATGGTTGG
+
+Brucella              TGCTTAAGGCATTTGGTGGATGCCTTGGCATGCAGGCGATGAAGGACGTGATACCTGCGATAAGCGTCGGGGAGGTGCGAAACCCTTGATCCGACGATTT
+                      CCGAATGTCTACATGAGCGACCTGGGGACTGAAACATCTAAGTACCCAGGGAAAGGACATCAAAGAGACTCCGCTAGTAGTGGCGAGCGAACGCGGACCA
+                      GGCCGCTTAAAGTGGAACGAGTTGGAAACTCGACCAAGTGGTGAAGTCCCGTAACAGACCTGAGTGGGCGGGACACGTGAAATCCTGTCTGAACATGGGT
+                      CGACCACGATCCAAGCCTAAGTACTCTGCATGACCGATAGCGAACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGACTGAAACCGGATGCCT
+                      ACAACAGTTGGAGCCCTGGGTGACAGGTACCTTTTGTATAATGGGTCAGCGACTTAGTGTATCGAGCAGCTTAAGGTGGTAGGCGCAGCGAGCGGTCTGA
+                      ACAGGGCGCAGTTCGATGCATTAGACCCAAACCAGTGATCTAGCCATGAGCAGTTGAAGGTACGTAACACGTACTGGAGGACCGAACATATCTGTTGCAA
+                      TAGATGGGATGACTGTGCTAGGGGTGAAAGGCCAATCAAACTTGAGATAGCTGGTCTCCGCGAAATCTATTTAGGTAGAGCGTCGACTACCCCCGGGGTA
+                      GAGCACTGGATGGGCTAGGGACCTCTAATCCTAACCAAACTCCGAATACCGGTAGTCGGCAGACACACGCGGGTGCTAACGTCCGTCGTGGAGAGGGCAA
+                      CAACCCTGACCACCATCTAAGTCCCTAAGTTGGCTAAGTGGAAAGGATGTAGGATCCCAAAACAACCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAACAGCTCACTGGTCTAGGGTCTTCCGAAAATGTCGGCTAAGCCATACACCGAAGCTGTGGATTAGTGGTAGCGGAGCGTTCCGTACCTGTAAGGGC
+                      AGTCGTGAACATCCTGGAGGTATCGGAAGTGAGAATGTGACATGAGTAACGAAAGGGAGTGAGAGACTCCCTCGCCGAAAGTCCAAGGTTCCTGCTTAAG
+                      TTAATCTGAGCAGGGTTAGCCGGCCCCTAAGGCGAGGCCGAACGTAGTCGATGGGAACCACGTAATATTGTGGGCGTGACGGATCGCGTGGTTGTAGGTA
+                      TTGATCTCAGCGGTTCCAGGAAATACACCGTACCAAACCGACACTGGTGGACGGTAGAGAATACCAAGGCGTTGAGAGAACTGCGTTGAAGGAACTCGGC
+                      AAAATGCACGCGTAACTTCGGAAGAAGCGTGACCTCCAGGGTGGCACAGACCGGGGGAGGACTGTTTACCAAAAACACAGGCTCTGCGAAGTCGCAAGAC
+                      ACGTATAGGGTCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGAGGTCAAGCTTGAATTGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCCCCGCTGTCTCCAACGCAGACTCAGTGAAATTGAATTCCC
+                      CGTGAAGATCGGGGTTCCTGCGGTTAGACGGAAGACCCCGGCACCTTTACTATAGCTTTACACTGGCATTCGTGACGACATGTGTAGGATAGGTGGTAGA
+                      CTTTGAAGCAGGGGCGCCAGCCTTTGTGGAGTCCCCTGAAATACCACCCTTGTTTTTATGATGTCTAACTGCGATTCCAGGACCGTGTATGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGAGTAACGGAGGCGCGCGATGGTAGGCTCAGAACGGTCGGAAATCGTTCGTCGAGTGCAATGGCATAAGCCTGCC
+                      TGACTGCAAGACTGACAGTGAGCAGAGACGAAAGGGTCATAGTGATCCGGTGGTCCCGGTGGAAGGGCCATCGCTCAACGGATAAAGGTACGCCGGGATA
+                      ACAGGCTGATGACCCCCAAGAGTCCATATCGACGGGGTGTTTGGCACCTCGATGTCGACTCATCGCATCCTGGGGCTGGAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGCGGTACGTGAGTTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGTGTAGGAATTTGACAGGACTGTCCCTAGTA
+                      CGAGAGGACCGGGATGGACGTATTCTGGTGGACCTGTTGTGGCGCCAGCCCAAGCAGGGTAGCTATATCGGCGGGATAACCGCTGAAGCATCTAAGCGGA
+                      AACCCCCTAAAAGAGTATTCCCAGAGCCGTGGAAGACCACACGTGATGGCCGG
+
+Thermus               ATGGTAAGGCCCACGGTGGATGCCTCGGCACCCAGCCGATGAAGGACGTGGCTACTGCGATAAGCCAGGGGGAGCCGGTAGGGGCGTGATCCCTGGATGT
+                      CCGAATGCCGTTTTGGGGGACCTGGGGACTGAAACATCTCAGTACCCAGGGAGAGGAAAGAGAATCGACTCCCTGAGTAGCGGCGAGCGAAAGGGGACCA
+                      GCCTGGGCCTAGCCGAAGCTGTTGGGAACAGCGCCGAGAGGTGAAGCCCCGTAGCAAGCCCGAGTCCCCGTGGTTCGTGGAGCCATGGGGGAATCTGGGC
+                      GGACCACGGCCTAAGGCTAAGTACTCCGGGTGACCGATAGCGCACAGTACCGTGAGGAAAGGTGAAAAGACCGGAGTGAAAAGGCTGAAACCGTGGGCTT
+                      ACAACAGTCACGGCCCAGGGTTGTGGGTGCCTATTGAAGCATGAGCCGGCGACTCACGGTCGTGGGCGGCTTAAGTTGGGAGGCGTAGGGACCGGTCCGA
+                      ACAGGGCGAAGTCCGCGGCCGTGGACCCAAACCGGCGAGCTAGCCCTGGCCAGGTGAAGCTGGGTGAGACCCAGTGGAGGCCCGAAGGTGGGGGATGCAA
+                      ACCCCCGGATGAGTGGGCTAGGAGTGAAAAGCTAACCGAGCCCGAGATAGCTGGTCTCCCCGAAATGACTTTAGGGTCAGCCTCAGGGACTGGGGCTGTA
+                      GAGCACTGATAGGGCTAGGGCCCGCCAAACCCTGTCAAACTCCGAAGGGTCCTGCCTGGGAGTGAGGGGCGAGCGATAACGTCCGCGTCCGAGGCGGGAA
+                      CAACCGAGACCGCCAGCTAAGCCCCCAAGCGGGCTAAGTGGAAAGGATGTGCGCCGCGAAGACAGCCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAGTG
+                      CGTAATAGCTCACTGGTCGAGTGGCGCCCGAAAATGACGGCTAAGCCCAGCGCCGAAGCTGCGGGTATGCGGTAGGGGAGCGTTCCCGACCGATAAGGCG
+                      ACCCGCGAGGCGGCTGGAGGTAAGGGAAGTGCGAATGCGGCATGAGTAACGAAAGAGGGTGAGAATCCCTCTCGCCGTAAGCCCAAGGTTCCTACGCAAG
+                      GTCGTCAGCGTAGGGTTAGGCGGGACCTAAGGTGAAGCCGAACGTAGCCGAAGGGCAGCCGGTAATATTCGGCCCGGGACGCTCAGGCTAGGGGGCGGAA
+                      TGGCCCGCCCCCGAGCCAAGAAAAGCCCCGTACCAAACCGACACAGGTGGGCGGTGAAGAGCACTCAGGCGGCGGGAGAACCCTCGCCAAGGAACTCTGC
+                      AAGTTGGCCCCGTAACTTCGGGAGAAGGGGTGCTCCATGGGCCGCAGTGAACGGCTCGGGACTGTTTACCAAAAACACAGCCTCTGCGAACTCGTAAGAG
+                      AGGTATAGGGAGCGACGCTTGCCCGGTGCCGGAAGGTCAAGGGGAGGGGTCAAGCCCGAACCGAAGCCCCGGTGAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAAAAGCGTAACGACCGGAGCGCTGTCTCGGCGAGGGACCCGGTGAAATTGAACTGGC
+                      CGTGAAGATCGGCCTACCCGTGGCAGGACGAAAGACCCCGGGAGCTTTACTGCAGCCTGGTGTTGGCTCTTGGTCGCGCCTGCGTAGGATAGGTGGGAGC
+                      CTGTGAACCCCCGCCTCCGGGTGGGGGGGAGGCCCGTGAAATACCACCCTGGCGCGGCTGGGGCCTAACCCTCATGGGGGGACAGCGCTTGGCGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAAGGTAACGGAGGCGCCCAAAGGTCCCCTCAGGCGGGACGGAAATCCGCCGGAGAGCGCAAGGGTAGAAGGGGGCC
+                      TGACTGCGAGGCCTGCAGCGAGCAGGGGCGAAAGGGGCCTAGTGAACCGGTGGTCCCGGTGGAAGGGCCATCGATCAACGGATAAAGTTACCCCGGGATA
+                      ACAGGCTGATCTCCCCCGAGCGTCCACAGCGGCGGGGAGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGAAGAAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGCACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCTCTATCCGCCACGGGCGCAGGAGGTTGAGGGGGCTCTTCCTAGTA
+                      CGAGAGGACCGGAAGGGACGCACTCTGGTTTCCCAGCTGTCCCTCCAGGGCAAGCTGGGTAGCCATGTCGGAGGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCCCCCAAGAGAGGCCTCCCAGGACCCGGGAAGACCACCGGTGATGGCCGG
+
+Streptomyces at griseus  TTTTTAAGGCGCACGGTGGATGCCTTGGCACCAAACCGATGAAGGACGTGGGAGCCACGATAGTCCCCGGGGAGCTGCAACAAGCTTGATCCGGGGGTTT
+                      CCGAATGCCCACATGGGGGACGAGGGGAGTGAAACATCTCAGTACCCTCGGAAGAGAAAACAACGTGATTCCGGGAGTAGTGGCGAGCGAAACTGGATGA
+                      GGCCGGATGTAGGCGAAGACATGCGAAAGTCCGGCTAGAGGTAAACCCCCGTACTAACCCCAAGTGCACGGGGCCCGAGAAATCCCGTGTGAATCTGGCG
+                      GGACCACCCGCTAAGCCTAAATATTCCTGGTGACCGATAGCGGATAGTACCGTGAGGAATGGTGAAAAGTGCGGAGTGAAAAGACTGAAACCGTGTGCCT
+                      ACAACCGTGGGAGCGTTTCGTGACTGGTGCCTTTTGAAGAATGAGCCTGCGAGTTAGGGTGTGTAGCGGGTTAACTGGGAAGCCGTAGCGAGCGGTCCGA
+                      ACAGGGCGGAGTTGCACGCTCTAGACCCAAGCGAGTGATCTAGCCATGGGCAGTTGAAGCGGAGTAAGACTTCGTGGAGGACCGAACACCAGGGTTGAAA
+                      ACCTGGGGATGACTGTGTTAGGGGTGAAAGGCCAATCAAACTCGTGATAGCTGGTCTCCCCGAAATGCATTTAGGTGCAGCGTCGTGTTCTGCCGAGGTA
+                      GAGCACTGGATAGGCGAGGCCTCGGTAACCTTAGCCAAACTCCGAATGCCGGAGCACGGCAGTGAGACGTGGGGGATAAGCTCCATGGTCGAGAGGGAAA
+                      CAGCCCAGAGCATCGACTAAGCCCCTAAGGACGCTAAGTGGAAAGGATGTGAGTCGCAGAGACAACCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGTGATTCCCGACAATGTCGGCTAAGCGTACCGCCGAAGTCGTGTCAAATGGGTAGGGGAGCGTCGTGTGCGGGTAAGCAG
+                      CCGCGGAACGGTTGTGGACGGTTCACGAGTGAGAATGAGGCATGAGTAGCGAACACACGTGAGAAACGTGTGCGCCGATTGACTAAGGTTCCTGGGTCAG
+                      CTGATCTGCCCAGGGTAAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGACAACCGGTGATATTCGGTACGTGACGCAGAAGGTAGTCCACCCGG
+                      TGGCGGGGGATTCTGTCGAGAAAAGCCCCGTACCAAACCGACTCAGGTGGTCGGTAGAGAATACCGAGGCGTCGGGTGAACTATGGTTAAGGAACTCGGC
+                      AAAATGCCCCCGTAACTTCGGGAGAAGGGGGGCCATTTGTGCCGCAGAGACCGCGAGAGGACTGTTTACTAAAAACACAGGCCGTGCGAAGCCGTAAGGC
+                      ATGTATACGAACTGACGCCTGCCCGGTGCTGGAACGTTAAGGGGACCGGTTCGGTGAGAACTTAAGCGCCAGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCTCGACTGTCTCAACCATAGGCCCGGTGAAATTGCACTACG
+                      AGTAAAGATCTCGTTTCGCGCAGCAGGACGGAAGACCCCGGGACCTTTACTATAGTTTGATATTGGTGTTCGGTTCGGCTTGTGTAGGATAGGTGGGAGA
+                      CTTTGAAGCGGCCACGCCAGTGGTTGTGGAGTCTCGTGAAATACCACTCTGGTCGTGCTGATGTCTAACCTGGATTCAGGGACAGTGTCTGATGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCTAAAGAGTAACGGAGGCGCCCAAAGGTTCCCTCAGCCTGGTTGGCAATCAGGTGTTGAGTGTAAGTGCACAAGGGAGCT
+                      TGACTGTGAGACCGACGGTGAGCAGGGACGAAAGGGGACTAGTGATCCGGCAGTGGCTGTGGAAGCGCTGTCGCTCAACGGATAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTTCCCCAAGAGTCCATATCGACGGGATGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGGAGTCGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCCGCTGTGCGCGTAGGAATTTGAGAAGGCTGTCCCTAGTA
+                      CGAGAGGACCGGGACGGACGAACTCTGGTGTGCCAGTTGTCCTGCCAAGGCAGGCTGGTTGGCTACGTCGGAAGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCTCTTGAGAGAGTATTCCCAGGCTCCCAGTAGACGACGGGTGATGGCCAG
+
+Alcaligenes           CGAATAAGGCATATGATGGATGCCTTGGCGATCAGGCGATGAAGGACGCGGTAGCTGCGAAAAGCTACGGGGAGCTGCAAAAAGCTTGATCTGTAGATGT
+                      CCGAATGTCCACATGAGCGACCGAGTGACTGAACCATCTCAGTAACTCGGGAAAAGAAATCAACGAGATTCCGGAAGTAGTGGCGAGCGAAACCGGACCA
+                      GCCTATGAATAGTCGAATGGAATGGAAATCCAGCCTAGCGGTGAAGCCCTGTAGCAATAACAAGTGGGCGGGACACGTGAAATCCTGTCTGAATATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTGATCGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCGGAGTGAAAAGTCTGAAATCGTATGCAT
+                      ACAACAGTAGGAGCACCGTGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTACATTCAGTGGCAGCTTAACAAGGGAGGCGTAGCGAGCGGTCCGA
+                      ATAGGGCGCAGTCGCTGGGTGTAGACCCAAACCGGCGATCTATCCATGGCCAGTTGAAGGCACGTAACACGTGCTGGAGGACCGAACACTAATGTTGAAA
+                      AATTAGGGATGAGTGTGATCGGAGTGAAAGGCTAAACAAGCCTGAGATAGCTGGTCTCTCCGAAAACTATTTAGGTAGTGCCTCGTATACTGCCGGGGTA
+                      GAGCACTGTTATGGCTAGGGTCGACTAACCCATGGCAAACTCCGAATACCGGTATACGGGAGACAGAGACGGGTGCTAACGTCCGGACTCAAGAGGGAAA
+                      CAACCCAGACCGCCAGCTAAGTCCCTAACATGGCTAAGTGGAAACGAAGTGGAAGGCATAGACAGTCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGATCGAGTCGTCCCGGAAGATGTCGGCTAAGCCATAGACCGAAGCTGCGGATATATGGTAGGAGAGCGTTCCGTACCTGTAAGGTG
+                      TTCCGTGAGAATGCTGGAGGTATCGGAAGTGAGAATGTGACATGAGTAGCGAAAGGGGGTGAAAAGCCCCCTCGCCGTAAGTCCAAGGTTCCTGCGCAAG
+                      TTCATCGGCGCAGGGTGAGTCGGCCCCTAAGGCGAGGCAGAACGTAGCTGATGGGAAGCGGGTAATATTCCGCACGGGACGGATTGCAGATGTTACGGGT
+                      TGGCCCGAACTCGTTCCAAGAAAAGCACCGTACCAAACCGACACAGGTGGACGGGAGAATATTCCAAGGCGTTGAGAGAACTCAGGAGAAGGAACTCGGC
+                      AAATTAATACCGTAACTTCGGGAGAAGGTATGCCTCGCAAGCCGCAGTGAATGGTGGTGGACTGTTTACTAAAAACACAGCCTCTGCAAACACGAAAGTG
+                      ACGTATAGGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAAGTGATGGGGTCAAGTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGATGGCCACACTGTCTCCTCCTGAGACTCAGCGAAGTTGACATGGT
+                      TGTGATGATCAATCTCCCCGCGGCTAGACGGAAGACCCCAGAACCTTTACTGTAGCTTTGCATTGGATTGTGAACCGGCCTGTGTAGGATAGGTGGGAGA
+                      CGTTGAAGCGTGGTCGCCAGATCGCGTGGAGTCTCCTGAAATACCACCCTGGTCTGTTTGGGTTCTAACCTAGATTCGGGGACCGTGCATGGTGGGCAGT
+                      TTGACTGGGGCGGTCTCCTCCTAAAGTGTAACGGAGGAGTTCGAAGGTACGCTAGAGACGGTCGGAAATCGTCTTGATAGTGCAATGGCATAAGCGTGCT
+                      TGACTGTGAGACTGACAGTGAACAGGTACGAAAGGGACATAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCTGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCTCATCCTGGGGCTGTAGCCGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGAGGTACGTGAGCTGGGTTTAAAACGTGTGAGACAGTTTGGTCCCTATCTGCCGTGGGCGTTGGATATTGACGGAGCTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGTACACTGGTGTATCGGTTGTCATGCCAATGCATGCCGAGTAGCTACGTCGGAGAGATAACCGCTGAAGCATCTAAGCGGA
+                      AACTCTCTAAGATAGATATCCCAGGGTCGTCCGAGACCAGACGTGATGGCTGG
+
+Mycoplasma at hyopneumo  TAAATAAGGTATTTGGTGGATGCCTTGGGTCTGAGTCGATGAAGGACGTGATTACTGCGATAAGCTTCGTGGAGTTGGAAAAAACTAGATACGGAGATTT
+                      CCGAATGCGCTCATAGAGAACGTTGCGATTGAAACATCTTAGTAGCAACGGAAAAGAAAATAAAATGATTCCCAAAGTAGTGGCGAGCGAAATGGGAAGA
+                      GCCCGGAAATAGTAGAAAAAGTTGGAAACTTTGACTAGAGGTGAATCCCTGTAATAATCCTGAGTGGGCGGGGCACGTGGAACCCTGTCTGAATTTGCCA
+                      GGACCACCTGGTAAGGCTAAATACTATCAGACACCGATAGTGAATAGTACCGTGAGGAAAGGTGAAAAGACCGGAGTGAAAAGTCTGAAACCATTTACTT
+                      ACAATAGTCAAAGCACAGTGTGATGGGTACATCTTGCAGTATGGTCCGGCGAGTTATGTTAACAAGCAGGTTAAGATGGGAGCCGTAGGGACCGGTCTAA
+                      ATAGGGCGAAGTTTGTTGACATAGACCCAAACCGGTGATCTATCCATGAGCAAATGAAACTTTGTAACACAAAGTGGAGGTTCGAAGTAGTACGCTAAAA
+                      AGTGCCGGATGACTGTGATAGCGGTGAAATTCCAATCGAACCTGAGATAGCTGGTCTCTCCGAAATAGCTTTAGGGCTAGCGTATAGTAATAATGGGGTA
+                      GAGCACTGAATGTGGAAGCGGCTCTGAACTATAATCAAACTCCGAATACCATCTCTATGCAGTCGGAAGTGGGTGATAACGTCCGCGCTCGCGAGGGAAA
+                      CAACCCAGATCGTCAGCTAAGTCCCAAAATATGTTAAGTGAAAAGGTTGTAAATTTCTTAAACAACTAGGATGTTGCTTAGAAGCAGCCTTTAAAGAGTG
+                      CGTAATTGCTCACTAGTCAAGAGATCTCCAATAATGTCGGCTAAACATAATACCGAAGCTGCGGGTTTACGTTAGGAGAGCGTTTTAATTCGCTAAGCTA
+                      GAGGGTGACACTAGTGGAGAAATTAAAAGTGAGAATGCGGAATGAGTAACGATTCGAAGTGAGAATCTTCGACGCCTATTGGGGAAGGTTCCTGGGCAAG
+                      GTCGTCCACCCAGGGTTAGTCAGGGCCTAAGGAGAGGCTGAACGTATCCGATGGATAATCGGTAATATTCGATACATTACGAAAAAGATAGTTTTCCACC
+                      TGGGTGGAAATTTTTCCAAGAAAAGTCCTGTACCGAACGGACACACGTCCCCAGATGAGTATTCTAAGGTGGCGAGAAAACCAATGTTAAGGAACTCTGC
+                      AAAATTATCCCGTACGTTCGCAAGAAGGGATGCCCTCTAGGCCTCAGTAAAAAGGGGGGAACTGTTTATCAAAAACACAGCCTCTGCAAAGGTGTAAACC
+                      AAGTATAGAGGGTGAAGCCTGCCCAGTGCCCGAAGGTTAAGCGGAGATGTATTGATTCAAGTGAAGCCCGGGTGAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCAACTAATTATTGACCTGCACGAAAGGCGCAATGATCTCCCTACTGTCTCAACATTGGACTCGGTGAAATTATGGTACC
+                      AGTGAAAACCTGGTTACCCGCATCAAGACGAAAGACCCCGGGAGCTTTACTATAACTTCGTATTGAGAATTGGTTTATTATGTGTAGGATAGGTGGGAGA
+                      TGTCGATCCAAGGGCGCTAGTCCTTGTGGAGTCAACTGAAATACCACCCTTAATAAATTGTTTTCTAACCTGCAAAGAGAGACAGTGCGTGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGAGTAACGGAGGTGTTCAAAGCTACACTCAATATGGTCGGAAACCATATGCAGAGCATAAAGGTAAAAGTGTGGT
+                      TGACTGCAAGACCTACAGTGAGCAGGTGCGAAAGGGACTTAGTGATCCGGCGGTTCATGTGGAATGGCCGTCGCTCAACGGATAAAGCTACCCCGGGATA
+                      ACAGGCTAATCTTCCCCAAGAGATCACATCGACGGGAAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGAGCTGAAGTCGGTTCAAGGGTTTGCTG
+                      TTCGCCAATAAAGCGGTACGTGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGATGTGGGCGTTGGAATTTGATGAGACTGCTCTTAGTA
+                      CGAGAGGACCGGAGTGGACGTACGCTGGTGTTCCAGTTGTCTTGCCAAAGCAAGCTGGGTAGCTAAGTCGGAAAGATAACCGCTGAAACATCTAAGCGGA
+                      AGCTTCTCAAGAGAGTATTCCTAAATTCCTTATAGACTATAGGTGATGGTTAG
+
+Helicobacter at pilori   CTTTTAAGGCAGATGGCGGATGCCTTGCCAAAGAGGCGATGAAGGACGTACTAGCTGCGATAAGCTATGCGGAGCTGTCAAGAGCTTGATGCGTAGATGT
+                      CCGAATGCTCTAATAGGCGACCTAGTGAGTGAAACATCTCAGTAACTAGGGAAAAGAAATCAACGAGATTCCCTAAGTAGTGGCGAGCGAACGGGGAAAA
+                      GGGCGGATTTAGCAGAGTTACCTGGAAAGTAAGCCTAGAAGTGAAGCCTTGTAGCCAACCAGAGTGGCCAGGACACGAGAAATCCAGGTTGAAGCCGGGG
+                      AGACCACTCTCCAACCCTAAATACTATCTTTGAGCGATAGCGAAAAGTACCGTGAGGAAAGGTGAAAAGAGCAGAGTGAAAAGACTGAAACCATCTGCTT
+                      ACAACATTCAGAGCCCTGGGTGATGGCTGCCTTTTGCATAATGATCCTGCGAGTTGTGGTATCTGGCAGGTTAAGAAGGAAGCCGTAGCGAGCGGTCTTA
+                      ATAGGGCGAAGTCAGATGCTGCAGACCCAAGCTAGTGATCTATCCATGGCCAGTTGAAACGCGTTAATAGCGCGTGGAGGACTGAACGTACCCATTGAAA
+                      CGGGTGGGATGAGTGTGATAGGGGTGAAAGGCCAAACAAACTTGTGATAGCTGGTCTCTTCGAAATATATTTAGGTATAGCCTCAAGAATAAAAGGGGTA
+                      GAGCCCTGATTGGGCTAGCTGCCCGGAAACCCTATCAAACTTCGAATACCTTTCCTTGGGAGTCAGGCGTGGGTGATAAAATCAATCGTCAAAAGGGGAA
+                      CAACCCAGACTACCAAATAAGTCCCTAAGTTATTCGAGTGGAAAAGATGTTGGCTACTCAAACAACCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAACAGCTCACTGGTCTAGTGGTCACTGAAAATATCGGCTAAGATAGACACCGAATTTGTAGATAAGTGGTAGAAGAGCGTTCATACGCGTTAAGGTA
+                      TACCGTAAGAGTGCTGGAGCGGTATGAAGTGAGCATGAGGAATGAGTAACGAAGATATATGAGAATTGTATCCGCCGTAAATCTAAGGTTCCTACGCGAG
+                      GTCGTCATCGTAGGGTTAGTCGGGTCCTAAGCCGAGTCCGAAGGTAGGTGATGGCAAATTGGTAATATTCAATACGGGACGCATGGGTTAAGCGACTAGA
+                      TGGCTAGCGCTCGTGCCAAGAAAAGTTCCGTACCAAACCGACACAGGTAGATAGATGAGTATTCTAAGGCGGTGAAAGAACTCTGGTTAAGGAACTCTGC
+                      AAACTAGCACCGTAAGTTCGCGATAAGGTGTGCCACCGTTGTCTCAGCAAAGGTCCCCCGACTGTTTACCAAAAACACAGCCTTTGCCAACTCGTAAGAG
+                      AAGTATAAGGTGTGACGCCTGCCCGGTGCTCGAAGGTTAAGAGGATGCGTCAAGGTTGAATTGAAGCCCGAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGTTAAATACCGACCTGCATGAATGGCGTAACGAGATGGGAGCTGTCTCAACCAGAGATTCAGTGAAATTGTAGTGGA
+                      GGTGAAAATCCTCCTACCCGCGGCAAGACGGAAGACCCCGGGACCTTTACTACAACTTAGCACTGCTAATGGGAATATCATGCGCAGGATAGGTGGGAGG
+                      CTTTGAAGTAAGGGCTTTGGCTCTTATGGAGCCTCCTGAGATACCACCCTTGATGTTTCTTTAGCTAACTGGCATGGCAGGACAATGCTTGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAAAGTAACGGAGGCTTGCAAAGGTTGGCTCATTGCGGTTGGAAATCGCAAGTTGAGTGTAATGGCACAAGCCAGCC
+                      TGACTGTAAGACATACAGTAAGCAGAGACGAAAGGGTCATAGTGATCCGGTGGTTCTGGTGGAAGGGCCATCGCTCAAAGGATAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTCCCCCAAGAGCTCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGGAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGCGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGTAGGAAATTGAGGAGACTGTCCCTAGTA
+                      CGAGAGGACCGGGATGGACGTGTACTGGTGCACCAGTTGTTCTGCCAAGACACGCTGGGTAGCTACACCGGTGTGATAACTGCTGAAACATCTAAGCAGA
+                      AGCCACTCAAGAGAACTTTCCCAGCTCGCACAAAGACTATTGCTGATGGGTAG
+
+Bordetella at bronchise  CGACTAAGGCATATGGTGGATGCCTTGGCGATCAGGCGATGAAGGACGTAGTAGCTGCGAAAAGCTGCGGGGAGCTGCAAAAAGCATGATCCGCAGATAT
+                      CCGAATGTCCACATGAGCGACCGGGTGACTGAAACATCTCAGTAGCTCGGGAAAAGAAATCAACGAGATTCCGAAAGTAGTGGCGAGCGAAATCGGAAGA
+                      GCCTACGCATAGTCGAACGGAATGGAAATCCGGCCTAGCGGTGAAGCCCTGTAACAATGAGAAGTGGGCGGGACACGTGAAATCCTGTCTGAAGATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTGATCGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCGGAGTGAAAAGTCTGAAACCGTATGCAT
+                      ACAACAGTCGGAGCCTTGGGTGACGGGTACCTTTTGTATAATGGGTCAGCGACTTACATTCAGTGGCAGCTTAACAAGGAAGGCGTCAGAAGCAGTCCGA
+                      ATAGGGCGCAGTCGCTGGGTGTAGACCCAAACCGATGATCTACCCATGGCCAGTTGAAGGCACGTAACACGTGCTGGAGGACCGAACACTAGTGTTGAAA
+                      AACTAGGGATGAGTGTGATAGGGGTGAAAGGCTAAACAAATCTGAAATAGCTGGTCTCTCCGAAAACTATTTAGGTAGTGCCTCAAGTACTGCAGGGGTA
+                      GAGCACTGTTATGGCTAGGGTTGACTAAACCATGGCAAACTCCGAATACCTGTACTTGGGAGACAGACACGGGTGCTAACGTCCGGACTCAAGAGGGAAA
+                      CAACCCAGACCGCCAGCTAAGTCCCGAATATCGCTAAGTGGAAACGAAGTGGAAGGCATAGACAGTCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGATCGAGTCGTCCCGGAAGATGTCGGCTAAGCGATAAACCGAAGCTGCGGGTTTACGGTAGGAGAGCGTTCTGTACCTGCAAGGTG
+                      GCTTGTAAGGCTGCTGGAGGTATCAGAAGTGCGAATGTGACATGAGTAGCCAAAGGGGGTGAAAAGCCCCCTCGCCGTAAGTCCAAGGTTCCTGCGCAAG
+                      TTCATCGGCGCAGGGTGAGTCGGCCCCTAAGGCGAGGCAGAACGTAGCTGATGGGAAGCTGGTAATATTCAGCACGGGACGGATCGCGGAGGTCACAGGT
+                      TGGCCTGGATTTGTTCCAAGAAAAGCACCGTACCAAACCGACACAGGTGGGAGGGAGAATATTCCAAGGCGTTGAGAGAACTCAGGAGAAGGAACTCGGC
+                      AAATTGATACCGTAACTTCGGGAGAAGGTATACCCTGCAGGTCGCAGAGAATGGTGGTGGACTGTTTATTAAAAACACAGCCTCTGCAAAGACGAAAGTC
+                      ACGTATAGGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAAGTGATGGGGTCAAGTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGATGGCCACACTGTCTCCTCCTGAGACTCAGCGAAGTTGAAGTGTT
+                      TGTGATGATCAATCTACCCGCGGCTAGACGGAAGACCCCAGAACCTTTACTGTAGCTTTGCATTGGACTGTGAACCGGCCTGTGTAGGATAGGTGGGAGG
+                      CGCAGAACTCGAGTCGCCAGATTCGAGGGAGCCTCCTGAAATACCACCCTGGTTTGTTTGGGTTCTAACCTTGATTCGGGGACAGTGCATGGTAGGCAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGCGTAACGGAGGAGTTCGAAGGTACGCTAGGTACGGTCGGAAATCGTGCTGATAGTGCAATGGCATAAGCGTGCT
+                      TGACTGTGAGACTGACAGTGAACAGGTGCGAACGGGACATAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCTGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCTCATCCTGGGGCTGAAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGAGGTACGTGAGCTGGGTTTAGAACGTGTGAGACAGTTTGGTCCCTATCTGCCGTGGGCGCTGGAAATTGACAGGACTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGTACTCTGGTGTACCGGTTGTCATGCCAATGCATGCCGGGTAGCTAAGTCGGAGAGATAACCGCTGAAGCATCTAAGCGGA
+                      AACTCTCTAAGATAGGTATCCCAGGGTCGTTCGAGACCAGACGTGATGGTCGG
+
+Bacillus at stearotherm  CTAGAAAGGCGCACGGTGGATGCCTTGGCACTAAGCCGATGAAGGACGGGGCAACGCCGAAACGCTCCGGGGAGCTGTAAGAAGCGTGATCCGGAGATGT
+                      CCGAATGTCCCCATGAGCAACCCGGGGACTGAAACATCTTAGTACCCGGGGAGAAGAAAGCAAAGCGATTCCCTGAGTAGCGGCGAGCGAAACGGGAACA
+                      GCCCGGAGGTAGACGAACGGTCTGGAACGCCGGCCGAGAGGTGAAGCCCTGTATCAACCCTGAGTCGGCGGGACACGGGAAATCCCGTCGGAAGCAGGGA
+                      GGACCATCTCCCAAGGCTAAATACTCCTAGTGACCGATAGTGCACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGACTGAAACCGTGTGCCT
+                      ACAATAGTCAGAGCGCCGCGTGATGGGTGCCTTTTGTAGAATGAACCGGCGAGTGACGATGGCGTGCGGGTTAAGAAGGGAGCCGCAGCGAGCGGTCTGA
+                      ACAGGGCGAAGTACGTCGTCGTCGACCCAAACCGGTGATCTACCCATGTCCAGGTGAAGGCCGGTAACACCGGCTGGAGGCCCGAACACGCACGTTGAAA
+                      AGTGCGGGATGAGTGTGGTAGGGGTGAAATGCCAATCGAACTTGAGATAGCTGGTCTCCCCGAAATAGCTTTAGGGCTAGCCTCGGGAGATGTTGAGGTA
+                      GAGCACTGATTGGGCTAGGCCCTGGTAAACCCAGTCAAACTCCGAATGCCAATACCCGGGAGTCAGACGCGAGTGATAAGATCCGTGGTCGAGAGGGAAA
+                      CAGCCCAGATCGCCAGCTAAGCCCCAAAGGACGTTCAGTGGAAAGGATGTGAGTTGCAAAGACAACCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAGTG
+                      CGTAATAGCTCACTGGTCGAGTGACTCCCGAAAATGTCGGCTAAACGTGCCGCCGAAGCTGCGGGATTTCGGTAGGGGAGCGTTCTAAGGCGTTAAGCCA
+                      GACCGGAAGACTGGTGGAGCGCTTAGAAGTGAGAATGCGGTATGAGTAGCGAACAGAGGTGAGAATCCTCTGCGCCGAAAGCCTAAGGTTCCTGAGGAAG
+                      TTCGTCCGCTCAGGGTTAGTCGGGACCTAAGCCGAGGCCGAACGTAGGTGATGGACAACAGGTGAGATTCTGTACGGGACGCAGAGGATAGGGCGCAGGC
+                      TGGCCTGCCCCCCTGCCAAGAAAAGCCCCGTACCAAACCGACACAGGTAGGCAGGAGAGAATCCTAAGGCGGCGGGAGAACTCTCGTTAAGGAACTCGGC
+                      AAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTCGAAAGGCCGCAGACAAAGGCCCAAGACTGTTTATCAAAAACACAGGCTCTGCGAAGTCGTAAGGC
+                      ACGTATAGGGGCTGACACCTGCCCGGTGCTGGAAGGTTAAGGGGAGCGCTGAAGTGCGAACCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGTGTAACGACTTGGGCGCTGTCTCAACGAGAGACCCGGTGAAATTATACTACC
+                      TGTGAAGATCAGGTTACCCGCGACAGGACGGAAGACCCCGGGAGCTTTACTGCAGCCTGATATGGAATTTTGGTGTCGCTTGTACAGGATAGGTGGGAGC
+                      CTGGGAAGCCGGAGCGCCAGCTTCGGTGGAGGCGCGTGGGATACCACCCTGGCGATATTGAATTCTAACCCGCAGTGGGAGACAGTGTCAGGCGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCCAAAAGGTAACGGAGGCGCCCAAAGGTTCCCTCAGAATGGTTGGAAATCATTCGGAGAGTGCAAAGGCACAAGGGAGCT
+                      TGACTGCGAGACGGACAGTGAGCAGGGACGAAAGGGGCTTAGTGATCCGGTGGTTCCGATGGAAGGGCCATCGCTCAACGGATAAAGCTACCCCGGGATA
+                      ACAGGCTGATCTCCCCCAAGAGTCCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGTAGTCGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCGTCGCGGGCGCAGGAAATTGAGAGGACTGTCCTTAGTA
+                      CGAGAGGACCGGGATGGACGCACGCTGGTGTACCAGTTGTCCCGCCAGGGCACGCTGGGTAGCTATGTCGGCGGGATAAGCGCTGAAACATCTAAGCGTA
+                      AGCCCCCTAAGAGAGATTTCCCAGATCCCTCGAAGATGACAGGTGATGGTCCG
+
+Streptomyces at rimosus  TTTTTAAGGCGCACGGTGGATGCCTTGGCACCAAACCCATGAAGGACGTGGGAGCCGCGATAGGCCCCGGGGAGCTGCAACGAGCTTGATCCGGGGGTGT
+                      CCGAATGCCCTCATGGGGGACGCGGGGAGTGAAACATCTCAGTACCCGCGGAAGAGAAAACAACGTGATTCCGGGAGTAGTGGTGAGCGAAACCGGATGA
+                      GGCCGGATGTAGGCGAAGACATGCGAAAGTCCGGCTAGAGGTAAACCCCCGTACTAACCCCAAGTGCACGGGGCCCGTGAAATCCCGTGTGAATCTGGCG
+                      GGACCACCCGTTAAGCCTAAATATTCCTGGTGACCGATAGCGGATAGTACCGTGAGGAATGGTGAAAAGTGCGGAGTGAAAAGACTGAAACCGTGTGCCT
+                      ACAACCGTGGGAGCGTTTCGTGACTGGTGCCTTTTGAAGAATGAGCCTGCGAGTTTGGGTATGTTGCGGGTTAACTGGGAAGCCGTAGCGAGCGGTCCGA
+                      AGAGGGCGTAGTAGCGTGCCCAAGACCCAAGCGAGTGATCTAGCCATGGGCAGTTGAAGCGGAGTAAGACTTCGTGGAGGACCGAACACCAGGGTTGAAA
+                      ACCTGGGGATGACTGTGTTAAGGGTGAAAGGCCAATCAAACTCGTGATAGCTGGTCTCCCCGAAATGCATTTAGGTGCAGCGTCGTGTTCTGCCGAGGTA
+                      GAGCACTGGATAGGCGAGGCCTCGGTAACCTTAGCCAAACTCCGAATGCCGGAGCGCGGCAGTGAGACGTGGGGGATAAGCTCCATGGTCGAGAGGGAAA
+                      CAGCCCAGAGCATCGACTAAGCCCCTAAGGGTGCTAGGTGGAAAGGATGTGAGTCGCAGAGACAACCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGTGATTCCCGACAATGTCGGCTAAGCACACCGCCGAAGTCATGTCAAATGGGTAGGGGAGCGTCGTGTGCGGGTAAGCAG
+                      CGCCGGAAGTGTTGTGGACGGTTCACGAGTGAGAATGAGGCATGAGTAGCGAACACACGTGGGAAACGTGTGCGCCGATTGACTAAGGTTCCTGGGTCAG
+                      CTGATCTGCCCAGGGTAAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGACAACCGGTGATATTCGGTACGTGACGCAGAAGGTAGTCCACCCGG
+                      TGGCGGGGGATTCTGTCGAGAAAAGCCCCGTACCAAACCGACTCAGGTGGTCGGTAGAGAATACCGAGGCGTCGGGTGAACTATGGTTAAGGAACTCGGC
+                      AAAATGCCCCCGTAACTTCGGGAGAAGGGGGGCCACTTGTGCCGCAGAGACCGCGAGAGGACTGTTTACTAAAAACACAGGCCGTGCGAAGCCGTAAGGC
+                      TTGTATACGGACTGACGCCTGCCCGGTGCTGGAACGTTAAGGGGACCGGTTCGGTGAGAACTTAAGCGCCAGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCTCGACTGTCTCAACCATAGGCCCGGTGAAATTGCACTACG
+                      AGTAAAGATCTCGTTTCGCGCAGCAGGACGGAAGACCCCGGGACCTTTACTATAGCTTGATATTGGTGTTTGGTTCGGCTTGTGTAGGATAGGTGGGAGA
+                      CTGTGAAGCCGTGACGCCAGTCATGGTGGAGTCCTGTGAAATACCACTCTGGTCGTGCTGATGTCTAACCTGGATTCAGGGACAGTGTCTGGTGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCTAAAGGGTAACGGAGGCGCCCAAAGGTTCCCTCAGCCTGGTTGGCAATCAGGTGTTGAGTGTAAGTGCACAAGGGAGCT
+                      TGACTGTGAGACTGACGGTGAGCAGGTACGAAAGGGGACTAGTGATCCGGCGGTGGCTGTGGAAGCGCCGTCGCTCAACGGATAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTTCCCCAAGAGTCCATATCGACGGGATGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGGAGTCGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCCGCTGTGCGCGTAGGAGTTTGAGAAGGCTGTCCCTAGTA
+                      CGAGAGGACCGGGACGGACGAACTCTGGTGTGCCAGTTGTTCTGCCAAGGCAGGCTGGTTGGCTACGTCGGAAGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCTCTTGAGAGAGGGCTCCCAGGCTCCCAGTAGACGACGGGTGATGGCCAG
+
+Staphylococcus at pisci  TTATTAAGGCGCACGGTGGATGCCTTGGCACTAAGCTGATGAAGGACGTTACTACGACGATATGCTTTGGGTAGCTGTAAGAAGCGTGATCCAGAGATTT
+                      CCGAATGTCGACATGAGCAACGCGGAGACTGAAACATCTTAGTACCCGCGGAAGAGAAAGAAAATCGATTCCCTGAGTAGCGGCGAGCGAAACGGGAAGA
+                      GCCCGGAATTAGACGAATGTACTGGAAATCGAACCGAGAGGTAAAGTCCTGTATCAAGCCTGAGTCGACGGAGCACGTGAAATTCCGTCGGAATCCGGGA
+                      GGACCATCTTCCAAGGCTAAATACTCCTAGTGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGTCCGGAGTGAAAAGATTGAAACCGTGTGCTT
+                      ACAATAGTCAGAGCCCAGGGTGATGGGTGCCTTTTGTAGAATGAACCGGCGAGTTACGATCTGATGCAGGTTAAGCGGGGAGCCGCAGCGAGCGGTCTGA
+                      ACAGGGCGGAGTATTTGGTCGTAGACCCAAACCGGTGATCTACCCTTGGTCAGTTGAAGTTCAGTAACACTGAATGGAGGACCGAAGACTTACGTTGAAA
+                      AGTGACGGATGAATGAGGTAGCGGAGAAATTCCAATCGAACCTGAGATAGCTGGTCTCTCCGAAATAGCTTTAGGGCTAGCCTCAAGGATTGTTGAGGTA
+                      GAGCACTGTTTGGACGAGGCCTTGGTAAATTCAGACAAACTCCGAATGCCAATTCTTGGGAGTCAGAAGTGGGTGATAAGGTCCATGTTCGAAAGGGAAA
+                      CAGCCCAGACCACCAGCTAAGTCCCAAAAAATGTTAAGTGGAAAGGATGTGTATTGCCCAGACAACTAGGATGTTGCTTAGAAGCAGCCTTTAAAGAGTG
+                      CGTAATAGCTCACTAGTCGAGTGACACCCGAAAATGTCGGCTAAACATATTACCGAAGCTGTGGACTTGTGGTAGGAGAGCGTTCTAAGGCGTCAAGCAT
+                      GATCGCAAGACATGTGGAGCGCTTAGAAGTGAGAATGCGGTGTGAGTAGCGAAGATGGGTGAGAATCCCATCCACCGATTGACTAAGGTTCCAGAGGAAG
+                      CTCGTCCGCTCTGGGTTAGTCGGGTCCTAAGCCGAGGCCGAACGTAGGCGATGGATAACAGGTGATATTCTGTACGGGACACAGAGGATAGGCGACGTGT
+                      TGGCACGCGTTCCTGTCGAGAAAAGCCCCGTACCAAACCGACACAGGTAGTCAGATGAGAATTCTAAGGTGGCGAGAGAACTCTCGTTAAGGAACTCGGC
+                      AAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTCTCAAGGCCGCAGTGAATGGCCCAAGACTGTTTATCAAAAACACAGGCTCTGCTAAACCGTAAGGT
+                      ATGTATAGGGGCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGTGGTTCTGTACGAATCGAAGCCCCAGTAAACGGCGGCCGTAACTCTAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAACGATTTGGGCACTGTCTCAACGAGAGACTCGGTGAAATCATAGTACC
+                      TGTGAAGATCAGGTTACCCGCGACAGGACGGAAGACCCCGGGAGCTTTACTGTAGCCTGATATTGAAATTCGGCACAGCTTGTACAGGATAGGTAGGAGC
+                      CTTGGAAACGTGAGCGCCAGCTTACGTGGAGGCTTGTGGGATACTACCCTAGCTGTGTTGATTTCTAACCCGCATCGGGAGACAGTGTCAGGCGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGTGTAACGGAGGCGCTCAAAGGTTCCCTCAGAATGGTTGGAAATCATTCATAGAGTGTAAAGGCATAAGGGAGCT
+                      TGACTGCGAGACCTACAGTGAGCAGGGTCGAAAGGGACTTAGTGATCCGGTGGTTCCGATGGAAGGGCCATCGCTCAACGGATAAAGCTACCCCGGGATA
+                      ACAGGCTTATCTCCCCCAAGAGTTCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGTAGTCGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCGTCGTGGGCGCAGGAAATTGAGAGGACTGTCCTTAGTA
+                      CGAGAGGACCGGGATGGACATACTCTGGTGTACCAGTTGTCGTGCCAACGCACGCTGGGTAGCTATGTTGGCGGGATAAGTGCTGAAACATCTAAGCATA
+                      AGCCCCCTAAGAGAGATTTCCCAGATCCCTCAAAGATGATAGGTAATGGTTCG
+
+Microbispora          TTACTAAGGCACACGGTGGATGCCTTGGCACCAAGCCGATGAAGGACGTGGGAGCTGCGATAAGCCTCGGGGAGCCGCTACAGGCGTGATCCGGGGATTT
+                      CCGAATGCCGGCATGGGGGACGCGGGGAGTGAAACATCTCAGTACCCGCGGAAGAGAAAGCAATGCGATTCCCTGAGTAGTGGTGAGCGAAAGGGGAAGA
+                      GGCTGGAGATAGCCGAACGCTCTGGAATGGCGGCCTAGACGTGAAGCCGGGTAGCAATCCCGAGTGCACGGGGCCCGAGGAATCCTGTGCGAATCTGCCA
+                      GGACCACCTGGTAAGCCTAAATACTCCTGGTGACCGATAGTGGAGAGTACCGTGAGGAAAGGTGAAAAGCCCGGTGTGAAAAGACTGAAACCGTGTGCCT
+                      ACAACCGTGGGAGCTTTATGTGACCGGTGCCTTTTGAAGAATGAGCCTGCGAGTTGACGTGCGTGGCGGGTTAACTGGGGAGCCGTAGCGAGCGGTCTGA
+                      ATAGGGCGGAGTCGCGTGCGTCAGACCCAAGCCGGTGATCTACCCGTGGGCAGGTGAAGCTCAGTAAGACTGGGTGGAGGCCCGAACACCAGGGTTGCAA
+                      ACCTGGGGATGACTGCGGTAGCGGTGAAAAGCCAATCGAACTCGTGATAGCTGGTCTCCCCGAAATGCATTTAGGTGCAGCGTCACGTCCTGCCGAGGTA
+                      GAGCACTGGTTGGCCGAGGCCCCGGTAAGGTCAGCCAAACTCCGAATGCCGGGACGTGGCAGTGAGACGCGGGGGATAAGCTTCGTGGTCGAGAGGGAAA
+                      CAGCCCAGATCACCGGCTAAGCCCCGAAGGGTGCTGAGTGGAAAGGATGTAAGCCGCTGTGACAGCCAGGAGGTTGCTTAGAAGCAGCCTCTAAGGAGTG
+                      CGTAATAGCTCACTGGTCTAGTGGTTTCCGACAATGTCGGCTAAGCACACCGCCGAAGCCGTGGCGTGCGGGTAGGGGAGCGTCGTGCGCGGGTAAGCGG
+                      CGGGGTGACCGCCGTGGACGCCGTGCGAGTGAGAATGAGGCATGAGTAGCGTTCAGAAGTGAGAAACTTCTGCGCCGGATGACCAAGGTTCCTGGGGCAG
+                      TTGATCCGCCCAGGGTAAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGGCAACGGGTGATATTCCGTACGGGACGCAGAAGGTAGCCCACCCAG
+                      TGGTGGGGGGTTCTGCCGAGAAAAGCCCCGTACCAAACCGACTCTGGTGGTCGGTAGAGAATACCGAGGCGTCGGGCGAACCGCGGTTAAGGAACTAGGC
+                      AAATTGCCCCCGTAACTTCGGGAGAAGGGGGGCCTCGTGGGCCGCAGAGAATGGCCCGGGACTGTTTACTAAAAACACAGGCCGTGCGAAGTCGTAAGAC
+                      AAGTATACGGACTGACGCCTGCCCGGTGCCGGAACGTTAAGGGGACGGGTTCGGTCGGAACCTAAGCGCCGGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGGTCTGGGCACTGTCTCAACCGCGGACCCGGCGAAATTGCACTACG
+                      AGTAAAGATCTCGTTACGCGCAGCAGGACGGAAGACCCCGGGACCTTCACTGCAGCTTGGCATTGGCGTTTGGAATGGCTTGTGTAGGATAGGCGGGAGA
+                      CTGTGAAGCGGGCACGCCAGTGTCCGTGGAGTCCCGTGAAATACCACTCTGGCTGTTTCGACGTCTAACCCGGATTCGGGGACAGTGCCTGGTGGGTAGT
+                      TTGACTGGGGCGGTTGCCTCCTAAAGGGTAACGGAGGCGCCCAAAGGTCCCCTCAGCCTGGTTGGAAATCAGGCGTTGAGTGTAAGGGCACAAGGGGGCT
+                      TAACTGTGAGACCGACGGTGAGCAGATGCGAAAGGGGCCTAGTGATCCGGCGGTGGCGGTGGAAGCGCCGTCGCTCAACGGCTAAAGGTACCCCGGGATA
+                      ACAGGCTGATCATCCCCAAGAGTCCATATCGACGGGATGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGGAGTAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTTAGAACGTGCGAGACAGTTCGGTCCCTATCCGCTGCGCGCGTAGGAGATTGAGGGGGCTGTTCCTAGTA
+                      CGAGAGGACCGGAACGGACGAACTCTGGTGTGCCAGTTGTGCCGCCAGGTCAGGCTGGTTGGCTACGTCGGTGGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCCCCCGAGAGAGGTCTCCCAGGCTCCCAGTAGATGACGGGTGATGGCCGG
+
+Aeromonas at hydrophila  TGACTAAGGTACATGGTGGATGCCTTGGCAGTCAGGCGATGAAGGACGTACTAACTGCGATAAGCCGTGAGCAGTCGGTAAAGACTTCGACCACGGATTT
+                      CCGAATGTCGACATGAGCGACCGGGAGACTGAAACATCTAAGTACCCCGGGAAAAGAAATCAACGAGATTCCCTCAGTAGCGGCGAGCGAACGGGGATTA
+                      GCCCTGAGTTAGTGGAACGGTCTGGAAAGCCGGCGTACAGGTGAAGCCCCGTAACAAAAATGAGTGGGCGGGACACGTGACATCCTGTCTGAATATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTGACTGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCTGAGTGAAAAGACTGAAACCGTGTACGT
+                      ACAACAGTGGGAGCCTCGGGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTACATTTTGTAGCGGGTTAACTAGGGAGCCGTAGGGACCGGTCTTA
+                      ACTGGGCGTAGTTGCAAGGTGTAGACCCAAACCGGTGATCTAGCCATGGGCAGTTGAAGGTTGATAACATCAACTGGAGGACCGAACACTAACGTTGCAA
+                      AGTTAGGGATGACTGTGCTGGGGGTGAAAGGCCAATCAAACTCGAGATAGCTGGTCTCCCCGAAAGCTATTTAGGTAGCGCCTCGGATACTACTGGGGTA
+                      GAGCACTGTTTGGGCTAGGGTTCACTAACCCCATGCAAACTCCGAATACCAGTATCCGGGAGACACACGCGGGTGCTAACGTCCGTCGTGAAGAGGGAAA
+                      CAACCCAGACCGCCGGCTAAGTCCCAAAGTTGGTTAAGTGGAAACGATGTGGAAGGCTCAGACAGCTAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTAGTCGAGTCGGCCCGGAAGATGTCGGCTAAACCAGGCACCGAAGCTGCGGATAAGTGGTAGGGGAGCGTTCTGTATCTGCAAGGTG
+                      TATCGAGAGTATGCTGGAGATATCAGAAGTGCGAATGTGACGTAAGTAACGAAAGGGGGTGAAAAGCCTCCTCGCCGGAAGACCAAGGTTCCTGTCCAAG
+                      TTAATCGGGGCAGGGTGAGTCGACCCCTAAGGTGAGGCCGAACGTAGTCGATGGGAAGCAGGTAATATTCTGCACGGGACGGAGAGGCTAGGTGGCCAGA
+                      CGGCTGGCATTCCTTCCAGGAAAAGCATCGTACCAAACCGACACAGGTGGTCGGTAGAGAATACCAAGGCGTTGAGAGAACTCGGGTGAAGGAACTAGGC
+                      AAAATAGAACCGTAACTTCGGGAGAAGGTTCGCTCTTTGGGTCGCAGTGACCGATGGTGGACTGTTTATCAAAAACACAGCCTCTGCAAACACGAAAGTG
+                      ACGTATAGGGTGTGACACCTGCCCGGTGCCGGAAGGTTAATTGATGGGGTCAAGTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGTGTAACCATGGCCATGCTGTCTCCACCCGAGACTCAGTGAAATCGAATTCGC
+                      CGTGAAGATCGGTGTACCCGCGGCTAGACGGAAGACCCCGGAACCTTTACTACAGCTTGGCACTGAACATTGAACCTACATGTGTAGGATAGGTGGGAGG
+                      CTTTGAAGGCGTGACGCCAGTTGCGCTGGAGCCTCCTGAAATACCACCCTTGTATGTTTGTGTTCTAACGCAGATTCGCGGACAGTGCCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGAGTAACGGAGGAGCACGAAGGTTGGCTAATCCTGGTCGGACATCAGGAGGTTAGTGCAATGGCATAAGCCAGCT
+                      TAACTGCGAGACGGACAGTGAGCAGGTACGAAAGGGTCATAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGTCGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGTTGGATGTTGAAGGGATTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGAACGAACTCTGGTGTTCGGGTTGTCACGCCAGTGCATGCCCGGTAGCTAAGTCGGCTCGATAACCGCTGAAACATCTAAGCGGA
+                      AGCGACCCGAGAGAGTCATCCCAGGGCCGTTGGAGACCACACGTGATGGTGGG
+
+Chlamydia at sp          CTATTAAGGCTGCTGGTGGATGCCTAGGCATCAAGGCGATGAAGGACGCGTTTACTGCGAAAAGCTCCGGCGAGCTGGAATAAGCTGGACCCGGAGATAT
+                      CCGAATGTCTACATGAGCGACCTGCTGACTGAAACATCTTAGTAAGCAGGGAAAAGAAATCAATGAGATTCCCTAAGTAGCGGCGAGCGAAACGGGATGA
+                      GCCCGGATCTAGTCGAATCTTCTGGAAATTGAGCGCACAGGTGAAGCCCCGTAACAAGCCTGAGTGGGCCGGACACGTGAAACCCGGTCTGAATCTGGGG
+                      AGACCACTCTCCAAGGCTAAATACTATTGATGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGACCGGAGTGAAAAGACTGAAACCAGCAGCTT
+                      ACAACGGTCGAAGGCCAGGCTAACGGGTGCCTTTTGCATGATGAGCCAGCGAGTTACATTAAATGGCAGGTTAAGACCGGAGCCGAAGCGAGCGGTGTTA
+                      AAAGCGCGTAGTCATTTGATGTAGACACAAACCAGTGATCTATCCATGACCAGTTGAAGCAAGGTAACACCTTGTGGAGGACCGAAAGTTGCCGTTGAAA
+                      AGGCTTGGATGAGTGTGATAGGGGTGAAAGGCCAATCAAACTCGAGATATCTTGTCTCTTCGAAATAACTTTCGGGTTAGCCTCGAAAATCTACAGGGTA
+                      GAGCACTGAATTCACGCGGGCTCGCCAAAGGAAATCAAACTCCGAATACTGTTTTTCGGGAGATAGACGTGGGGGATAAGCTTCATTGTCAAAAGGGGAA
+                      CAGCCCAGATCGCCGATTAAGCCCCAAATCATGCTAAGTGATAAGGAAGTGAGTTTCTAAAACAGTTGGAATGTTGCTTAGAGGCAGCCTTTAAAGAGTG
+                      CGTAACAGCTCACCAATCGAGAAACTCCCGATAATATCGGCTAAGCATAGAGCCGAAATCGCGGGTTAGCGGTAGGAGAGCGTAGTATGGCAGCAAGATG
+                      TACCGTAAGAGCGTTGGAGCGCATACTAGTGATAATGTGGCATAAGTAACGAAAGGAGGTGAAAATCCTCCTCGCCGAAAATCCAAGGTTCCAGGGTAAG
+                      CTCGTCTTCCCTGGGTTAGCCGGTCCCTAAGCCGAGGCTGAACGTAGGCGATGGCAAGCAGGTAATATTCTGCGCTTGACGAAGACGTTAAGCACCGGAT
+                      TGGTCCGGTGTCCTTCCAAGAAATAAACCGTACCAAACCGACACAGGTGGATGGAATAATATTCTCAGGCGGCGAGAGAACTCTCGTTAAGGAACTCGGC
+                      AAATTATCCCCGTAACTTCGGGAGAAGGGGAGCCACTCATGCCGCAGAGAAAGGCCCGGGACTGTTTAACAAAAACACAGCCTATGCAAAGTCGTAAGAC
+                      AAGTATATGGTGTGATGCCTGCCCAATGCCAAAAGGTCAAAAGGAGAAGTCAAGTTTGAATTTAAGCCCTGGTGAATGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGTATAACGATCTGGGCACTGTCTCAACGAGAGACTCGGTGAAATTGTAGTAGC
+                      AGTGAAGATCTGTTTACCCGCAATAAGACGGAAGACCCCGGAACCTTTACTGTACTCTGATATTGGCTTTTGACTTGTCATGTGTAGGATAACCAGGAGA
+                      CATTGAAGTCCCCTCGTCAGGGGGGATGGAGTCACGTGAAATACTGGTCTTGACAAGCCGAAATCTAACGAAAATATTCGGACATTGTCAGACGGGCAGT
+                      TTTGCTGGGGCGGTATCCTCCTAAAAGGTAACGGAGGAGTCCAAAGCTTGCCTCATCGTGGTTGGTAATCACGAGTCGAGCGTAAAGGTATAAGGCAAGT
+                      TAACTGCGAGACCAACAGTGAGCAGATACGAAAGGGGCTTAGTGATCCGGCGGTGGAAGTGGAATCGCCGTCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTTATCGCCACCAAGAGTTCATATCGACGTGGCGTTTGGCACCTCGATGTCGACTCATCGCATCCTGGGGCTGGAGAAGGTCCAAGGGTTTGCTG
+                      TTCGCCAATAAAGCGGTACGCGAGTTGGGTTCAAAACGTGTGAGACAGTTTGGTCCCTATCTGTTGTGGGCGTAGGATATTGAGAGGACTGCTTCTAGTA
+                      CGAGAGGACCGAAGTGGACGAACAATGGTGTTCCGGTTGTTCTGCCAAGACACGCCGGGTAGCTATGTCGGAAGGATAAGCGTTGAAACATCTAAACGCA
+                      AGCCCCCTAAGAAAGGTATCCCAGACTCCATGTAGACCACTGGTGATGGTTGG
+
+Wolinella             CTTTTAAGGCAGATGGTGGATGCCTTGGGTAGTAGGCGATGAAGGACGTACTAGCTGCGATAAGCTTCGGGGAGTTGCCAAAGACTTGATCCGAAGATTT
+                      CCGAATGCCTTAATGGGCGACCTAGTGAGTGAAACATCTCAGTAGCTAGGGAAAAGAAATCAAAGAGATTCCGCTAGTAGCGGCGAGCGAACGCGGAACA
+                      GGGCGGATCTAGTAGAATCTTTTGGAAAAAGAGCCTAGAGGTGAAGCCCCGTAATAAGCCAGAGTGGCCAGGACACGAGAAATCCGGGCTGAAGCAGGGG
+                      AGACCACTCTCCAACCCTAAATACTCTACTACACCGATAGCGAACAGTACCGTGAGGAAAGGTGAAAAGAGAAAAGTGAAAAGACTGAAACCATCTGCCT
+                      ACAACATTCGGAGCCCTGGGTGACGGCTGCCTTTTGCATAATGATCCTGCGAGTTGTGGTATCTGGCGGGTTAAGAAGGTAGCCGTAGCGAGCGGTCTTA
+                      ATAGGGCGTAGTCAGATGCTGCAGACCCAAGCTAGTGATCTATCCATGGCCAGTTGAAAGTGAGTAACACTCACCGGAGGACCGAACGTGCCCATTGAAA
+                      CGGGCGGGATGAGTGTGATAGGGGTGAAAGGCCAATCAAACTTGTGATAGCTGGTCTCTTCGAAATATATTTAGGTATAGCCTCAAGAGTAATAAGGGTA
+                      GAGCTCTGATTGGGCTAGCTGCCCGGAAACCCTGTCAAACTTCGAATACTTACCCTTGGGAGTCAGGCGTGGGTGATAAAATCAATCGTCAAAAGGGGAA
+                      CAACCCAGACTACCAAATAAGTCCCAAAGCTACCTGAGTGGAAAAGATGTGAGTTACTCAGACAACCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAACAGCTCACTGGTCTAGTGATTCCTGAAAATATCGGCTAAGGTATGCACCGAATTTGTAGATGAGTGGTAGAAGAGCGTTCTAGTGCGTTAAGGTA
+                      TACCGCAAGAGTGCTGGAGCGGCTAGAAGTGAGCATGAGGAATGAGTAGCGAAAAGTGGTGAGAATCCACTTCGCCGTAAATCCAAGGTTCCTACGCTAG
+                      CTCGTCATCGTAGGGTTAGTCGGGTCCTAAGTCGAGTCCGAAGGTAGACGATGGCAAATCGGTAATATTCGATACGGGACGCATGGGTTAAACGACCAAA
+                      CGGTTGGCGTTCGTGCCAAGAAAAGCCCCGTACCAAACCGACACAGGTGGATAGATGAGTATTCTAAGGCGGTGAAAGAACTCTGGTTAAGGAACTCTGC
+                      AAACTAACACCGTAAGTTCGCGATAAGGTGTGCCCCCAGGGTCTCAGCAAAGGTCCCCCGACTGTTTACCAAAAACACAGCCTTTGCCAACTCGTAAGAG
+                      AAGTATAAGGTGTGACGCCTGCCCGGTGCTCGAAGGTTAAGAGGATCTGTCAAGTTTGAATTGAAGCCCGAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGTTAAATACCGACCTGCATGAATGGCGTAACGAGATGGGAGCTGTCTCAACCAGGGATTCAGTGAAATTGTAGTGGA
+                      GGTGAAAATCCTCCTACCCGCGGCAAGACGGAAGACCCCGGGACCTTTACTACAGCTTGGCACTGCCGATGGGAGCATTATGCGCAGGATAGGTGGGAGG
+                      CTTTGAAATCTTCACTCTGGTGGAGATGGAGCCCCGTGAGATACCACCCTTAATGTTTCTTCTGCTAACTGGCATAGCAGGACAATGCCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAAAGTAACGGAGGCTTGCAAAGGTTGGCTCAGAATGGTTGGAAATCATTCGTTGAGTGTAATGGCATAAGCCAGCC
+                      TGACTGCGAGACAAACAGTGAGCAGAGTCGAAAGGGTCATAGTGATCCGGTGGTTCTGGTGGAAGGGCCATCGCTCAAAGGATAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTCCCCCAAGAGCTCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGGAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGCGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGTAGGAAATTGAGGAGACTGTCCCTAGTA
+                      CGAGAGGACCGGGATGGACATGCACTAGTGTACCAGTTGTTCTGCCAAGACACGCTGGGTAGCTACGCTGGCGTGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCGCTCAAGAGAACTTTCCCAGGTCGCAGGAAGACTACTGCTGATGGTTGG
+
+Simkania              CTATTAAGGCTATTGGTGGATGCCTTGGCATCGAGGCGATGAAGGACGCGCGTACTGCGATAAGCTTCGGGGAGCTGGATAAAGCATGAACCGAAGATTT
+                      CCGAATGTTCACATAAGCAACCTGCTGATTGAGACATCTAAGTAGGCAGGGAAAAGAAATCAATGAGATTCCCGTAGTAGCGGCGAGCGAAGTGGGAAGA
+                      GCCCGGACTTAGCATAATCATCTGGGAAGTGAGCGTACAGGTGAAGCCCCGTGGCAGACCTGAGTGGGCCGGACACGTGAAACCCGGTCTGAATCTGGGG
+                      AGACCACTCTCCAAGGCTAAATACTCTCGATGACCGATAGTGCAAAGTACAGTGATGAAAGGTGAAAAGACCTGAGTGAAAAGACTGAAACCAGTAGCTT
+                      ACAACGGTCAGAGGCCAGGCTGATGGGTGCCTTTTGCATGATGAGCCAGCGAGTTAAGTTATACGGCTGGTTAAGTACGGAGCCGGAGTGAGCGGCGTTA
+                      ATAGCGCTCAGTCGTATGATTTAGACACAAACCAGTGATCTATCCATGACCAGATGAAGCACGATAACATCGTGTGAAGGTCCGAAAGTGTATGTTGAAA
+                      AATACTGGATGAGTGTGATAGGGGTGAAAGGCCAATCAAACTTGAGATATCTTGTCTCTCCGAAATAACTTTAGGGTTAGCCTTGACTTCTTTTGGGGTA
+                      GAGCACTGGATTCCCAAGGGCTCGCCAAAGGAAACCAAACTCCGAATACTAATAGTCAGGAGATAGACGTGGGGGATAAGCTTCATTGTCAAAAGGGGAA
+                      CAGCCCAGATCGCCGATTAAGCCCCTAATCATGCTAAGTGATAAGGATGTAAGTTTCACAGACAGTTGGAATGTTGCTTAGAGGCAGCCTTTAAAGAGTG
+                      CGTAACAGCTCACCAACCGAGAAATTTCCGATAATAACGGCTAAGCATAGAGCCGAAATCGCGGGTTTGCGGTAGGAGAGCGTAGTATGGCGGTAAGATA
+                      TACCGAAAGAGTGTTGGAGCGCATACTAGTGAGGATGTGGCATGAGTAACGAAAGGAAGTGAGAATCTTCCTCGCCGAAAGCCTAAGGTTCCAGGGTAAG
+                      CTCGTCTTCCCTGGGTTAGCCGGCCCCTAAGCCGAGGCAGAACGTAGGCGATGGAAAGCAGGTAATATTCTGCGCACGACGAAGATGTTAAGCACCGAAT
+                      TGGTTCGGTGTCCTTCCAAGAAATATACCGTACCAAACCGACACAGGTAGGCTGATGAATATTCTCAGGCGGCGAGACAACTCTCGTTAAGGAACTCGGC
+                      AAATTATCCTCGTAACTTCGGAAGAAGAGGAGCCCCTTGGGCCGCAGAGAAAGGCCCGGGACTGTTTAACAAAAACACAGCCTATGCAAACTCGTAAGAG
+                      AAGTATATGGTGTGATGCCTGCCCAATGCCAAAAGGTCAACAGGAGGCGTTCGGGCTGAATATAAGCCCTGGTGAATGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGATCTGGGCGCTGTCTCAACGAGAGACTCGGTGAAATTGTAGTAGC
+                      GGTGAAGATCCGTTTACCCGCAGCTAGACGGAAGACCCCGGAACCTTTACTGTACTCTGATATTGGCTTTTGACTTGTCATGTGTAGGATAGCCGGGAGG
+                      CTGTGAAAGAGATTCGTCAGGATTTCTGGAGCCTCCTGAAATACCGGCCTTGACATGTTGAAATCTAACGAAGATGTTCGGACATTGTCAGACGGGCAGT
+                      TTGACTGGGGCGGTATCCTCCTAAAATGTAACGGAGGAGTTCAAAGCTTGCCTCATCGTGGTTGGCAATCACGATTAGAGCGTAAAGGTATAAGGCAAGT
+                      TGACTGCGAGACCAACGGTGAGCAGGTACGAAAGGGACTTAGTGATCCGGCGGTGGAAGTGGAATCGCCGTCGCTTAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTTATCGCCACCAAGAGTTCATATCGACGTGGCGTTTGGCACCTCGATGTCGACTCATCGCATCCTGGGGCTGTAGAAGGTCCAAGGGTTTGCTG
+                      TTCGCCAATAAAGCGGTACGCGAGTTGGGTTCAGAACGTGTGAGACAGTTTGGTCCCTATCTGCTGTGGGCGTAGGATATTGAGAAGACTGCTTCTAGTA
+                      CGAGAGGACCGAAGTGGACGAACAATGGTGTTCCGGTTGTTCTGCCAAGACATGCCGGGTAGCTATGTCGGAAGGATAAGCGTTGAAACATCTAAACGCA
+                      AGCCTCTTAAGAAAAGTATCCCAGACAACCTGAAGACGACGGGTGATGGCTGG
+
+Acinetobacter         TAATTAAGGCATGTGGTGGATGCCTTGGCAGTCAGGCGATGAAAGACGTAATAGCTGCGATAAGCTCCGGGGAGGCGCAAAATCCTTGATCCGGAGATTT
+                      CTGAATGTTGACATAAGCGACGAGGGGAGTGAAACATCTCAGTACCCTTGGAAAAGAAATCAATGAGATTCCCTTAGTAGCGGCGAGCGAACGGGGATCA
+                      GCCCTAATTTAGTGGAACGCTCTGGGAATGCGAACTAGAGGTGAATTCCCGTAACAAGTGAGAGTGGGCGAGGCACGTGAAACCTTGTCTGAATATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTGACTGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCTGAGTGAAAAGTCTGAAACCGCATGCAT
+                      ACAACAGTGGGAGCCGTCGGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTATATTCAGTAGCGGGTTAACTAGGGAGCCGTAGAGATCGGTCTTA
+                      ATAGGGCGTAGTTGCTGGGTATAGACCCAAACCGGCGATCTATCCATGAGCAGTTGAAGGTTGGTAACACTAACTGGAGGACCGAACACTGTCGTTGAAA
+                      AGCCAGGGATGACTGTGATAGGGGTGAAAGGCTAATCAAGCCTGTGATAGCTGGTCTCCCCGAAAGCTATTTAGGTAGCGCCTCGGATACCATAGGGGTA
+                      GAGCACTGTTTCGGCTAGGGTTCACTAAACCGATGCAAACTCCGAATACCTATATCCGGGAGACAGACGCGGGTGCTAACGTCCGTAGTCAAGAGGAAAA
+                      CAATCCAGACCGCCAGCTAAGCCCCAAAACTAGTTAAGTGGAAACGATGTGGAAGGCATAGACAGCTAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTAGTCGAGTCGGCCCGGAAGATGTCGGCTAAACTATGTGCCGAAGCTGCGGATTTGTGGTAGGGGAGCGTTCTGTACCGATAAGGTG
+                      TATTGAGAGTATGCTGGAGGTATCAGAAGTGCGAATGTGACGTGAGTAACGAAAACGGGTGAAAAACCCGTTCGCCGAAAGACCAAGGTTCCAGTCCAAG
+                      TTAATCGGGGCTGGGTGAGTCGACCCCTAAGGCGAGGCCGAACGTAGTCGATGGGAAATTGGTAATATTCAATACAGGACGGAGAGGTTAAGTCACCTGT
+                      TGGCAGGGGCTCCTTCCAGGAAAAGTATCGTACCAAACCGACACAGGTGGTCGGTCGAGTAGACCAAGGCGTTGAGAGAACTCTGCTGAAGGAACTAGGC
+                      AAAATGGTACCGTAACTTCGGGAGAAGGTACGCTGTTTGCGCCACAGAAACCGGCCGTGAACTGTTTATTAAAAACATAGCCTCTGCAAACACGAAAGTG
+                      ACGTATAGGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAAGTGATGGGGTTAAGTCTTGATCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCATAATGATGGCGGCGCTGTCTCCAGCAGAGGCTCAGTGAAATCGAAATCGC
+                      TGTGAAGATCAGTGTACCCGCGGCTAGACGGAAGACCCCGGAACCTTTACTGCAGCTTGACATTGAACTTTGACCTTACTTGTGTAGGATAGGTGGGAGG
+                      CTTTGAAGTTGGAACGCTAGTTCCAATGGAGCCTCCTGAAATACCACCCTGGTAATGTTGGGTTCTAACTCTGATGCGAGGACCATGTCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCTAAAGAGTAACGGAGGAGTACGAAGGTGCGCTCAGCGTGGTCGGAAATCACGCGTAGAGTATAAAGGCAAAAGCGCGCT
+                      TAACTGCGAGACCCACAGTGAGCAGGTACGAAAGGGTCTTAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCTGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCTCATCCTGGGGCTGAAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGAGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTACCGTGGGCGCTGGAAATTGAGAGGACTGCTCCTAGTA
+                      CGAGAGGACCAGAGTGGACGAACTCTGGTGTACCGGTTGTGACGCCAGTCCACGCCGGGTAGCTATGTCGGAGGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCTCCTAAGAAAGATTTCCCAGAGCCGTTCGAGACTAGACGTGATGGTTGG
+
+Klebsiella            CGACTAAGGTACACGGTGGATGCCCTGGCAGTCAGGCGATGAAGGACGTGCTAACTGCGAAAAGCGTCGGTAAGGTGATATAACCTTTAACCGGCGATGT
+                      CCGAATGTCGACATGAGCGACCGGGGGACTGAAACATCTAAGTACCCCGGGAAAAGAAATCAACGAGATTCCCCCAGTAGCGGCGAGCGAACGGGGAGCA
+                      GCCCAGTGTTAGTGGAACGGTCTGGAAATCCGACGTACAGGTGAAGTCCCGTAACAAAGAAGAGTGGGCGGGACACGTGGTATCCTGTCTGAATATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTGACTGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCGGAGTGAAAAGACTGAAACCGTGTACGT
+                      ACAACAGTGGGAGCACCGTGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTATATTCTGTAGCAGGTTAACTAGGGAGCCGCAGGGACCGGTCTTA
+                      ACTGGGCGAAGTTGCAGGGTATAGACCCAAACCGGTGATCTAGCCATGGGCAGTTGAAGGTTGGTAACACTAACTGGAGGACCGAAGACTAATGTTGAAA
+                      AATTACGGATGACTGTGCTGGGGGTGAAAGGCCAATCAAACCGGAGATAGCTGGTCTCCCCGAAAGCTATTTAGGTAGCGCCTCGTGCATCTTCGGGGTA
+                      GAGCACTGTTTCGGCTAGGGTTCACTAACCCGATGCAAACTACGAATACCGATGCACGGGAGACACACGCGGGTGCTAACGTCCGTCGTGAAGAGGGAAA
+                      CAACCCAGACCGCCAGCTAAGTCCCAAAGCTGGTTAAGTGGAAACGATGTGGAAGGCACAGACAGCCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGGTCGAGTCGGCCCGGAAGATGTCGGCTAAACCATGCACCGAAGCTGCGGCATATGGGTAGGGGAGCGTTCTGTACCTGCAAGGTG
+                      TGCTGTGAGCATGCTGGAGGTATCAGAAGTGCGAATGTGACATAAGTAACGAAAGCGGGTGAAAAGCCCGCTCGCCGGAAGACCAAGGTTCCTGTCCAAG
+                      TTAATCGGGGCAGGGTGAGTCGACCCCTAAGGCGAGGCCGAACGTAGTCGATGGGAAACAGGTAATATTCTGTACGGGACGGAGAGGCTATGTTACCGGA
+                      CGGCCGGAACATCTTCCAGGAAAAGCATCGTACCAAACCGACACAGGTGGTCGGTAGAGAATACCAAGGCGTTGAGATAACTCGGGTGAAGGAACTAGGC
+                      AAAATGGTGCCGTAACTTCGGGAGAAGGCACGCTGGTGACGTCGAAGATACCGCTGGTGAACTGTTTATTAAAAACACAGCCTGTGCAAACACGAAAGTG
+                      ACGTATACGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAATTGATGGGGTTAAGTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAATGATGGCCAGGCTGTCTCCACCCGAGACTCAGTGAAATTGAACTCGC
+                      TGTGAAGATCAGTGTACCCGCGGCAAGACGGAAGACCCCGGAACCTTTACTATAGCTTGACACTGAACATTGAGCCTTGATGTGTAGGATAGGTGGGAGG
+                      CTTTGAAGCGTGGACGCCAGTCTGCGTGGAGCCACCTGAAATACCACCCTTTAATGTTTGTGTTCTAACGTTGACTTGCGGACAGTGTCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGCGTAACGGAGGAGCACGAAGGTTAGCTAATCCTGGTCGGACATCAGGAGGTTAGTGCAATGGCATAAGCTAGCT
+                      TGACTGCGAGCGTGACGCGGAGCAGGTGCGAAAGGGTCATAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGTAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGCTGGAGATTGAGGGGGCTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGCATACTGGTGTTCGGGTTGTCATGCCAATGCATGCCCGGTAGCTAAATCGGAGAGATAAGTGCTGAAACATCTAAGCACA
+                      AACTTCCCGAGAGAGTTCTCCCAGGAACGTTGAAGACGACACGTGATGGCCGG
+
+Thermomonospora       CTGTCAAGGCACACGGTGGATGCCTTGGCACCAAGCCGATGAAGGACGTGGGAGCTGCGATAAGCCCCGGGGAGCCGCAGCAGGCGAGATCCGGGGATCT
+                      CCGAATGTCCACATGAGGGACGCGGCGAGTGAAACATCTCAGTAGCCGCGGAAGAGAAAACAACGTGATTCCCTTAGTAGTGGTGAGCGAACGGGGAACA
+                      GGCCGGAGACAGCCGAAGCGCCTGGAACGCCCGGATACAGGTGAACCCCCGTAGCAATCCCAAGTGCACGGGACCCGGGAAAGCTCGTGTGAATCCGCCA
+                      GGACCACCTGGTAAGCCTAAATACTCCTGGTGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGTCCGGTGTGAAAAGACTGAAACCGTGTGCTT
+                      ACAACCGTGGGAGCGCCAAGTGACCGGTGCCTTTTGAAGAATGAGCCTGCGAGTTGACGTGCGTGGCAGGTTAACTGGGAAGCCGTAGCGAGCGGTCTGA
+                      ACAGGGCGGAGTCGCGCGCGTCAGACCTAAGCCGGTGATCTACCCATGGGCAGGTGAAGCTCAGTAAGACTGGGTGGAGGCCCGAACACCAGGGTTGAAA
+                      ACCTGGGGATGACTGTGGTAGGGGTGAAAGGCCAATCAAACTCGTGATAGCCGGTCTCCCCGAAATGCATTTAGGTGCAGCGTCGCGTTCTGCCGAGGTA
+                      GAGCACTGGATGGCCGAGGCCCAGGTAACGTCAGCCAAACTCCGAATGCCGGGACGCGGCAGTGAGACGCGGGGGATAAGCTTCGTAGTCGAGAGGGAAA
+                      CAGCCCGGACCACCGGCTAAGCCCCCAAGGGTGCTGAGTGGAAAGGATGTGAGTCGCAGTGACAACCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGTGATTTCCGACAATGTCGGCTAAGCACACCGCCGAAGCCGTGGCATATGGGTAGGGGAGCGTCGCGCGCGGGTAAGCGG
+                      CGGAGTGACCGCCGTGGACGCCACGCGAGTGAGAATGAGGCATGAGTAGCGATGAGGGGTGAGAAACCCCTCCGCCGGATGACCAAGGTTCCTGGGGCAG
+                      TTAATCCGCCCAGGGTAAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGACAACGGGTGATATTCCGTACGTGACGCAGAGGGTAGCCCACCCAG
+                      TGGTGGGGGGTCCTGTCGAGAAAAACCCCGTACCAAACCGACGCAGGTGGTCGGTAGAGAATACCCAGGCGTCGGGTGAACCGTGGTCAAGGAACTCGGC
+                      AAATTGCCCCCGTAACTTTGGGAGAAGGGGGGCCGGTCACGCCGCAGAGACCGGCCCGGGACTGTTTACTAAAAACACAGGCCGTGCGAAGTCGTAAGAC
+                      ATGTATACGGACTGACGCCTGCCCGGTGCCGGAACGTTAAGGGGACGGGTTCGGTCGAAACCTAAGCGCCGGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGATCTGGGCACTGTCTCGACCGCGGACCCGGCGAAATTGCACTGCG
+                      AGTGAAGATCTCGCTACGCGCAGCAGGACGGAAGACCCCGGGACCTTCACTACAGCTTGGCATTGGTGTCTGGAGCGGCTTGTGTAGGATAGGTGGGAGG
+                      CTATGAAGCCCGGACGCCAGTTCGGGTGGAGCCCCGTGAAATACCACTCTGGCCGTTTTGATGTCTAACCCGCATTGGGGGACAGTGCCTGGTGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCTAAAGGGTAACGGAGGCGCCCAAAGGTCCCCTCAGCCTGGTTGGCAATCAGGTGTCGAGTGTAAGTGCACAAGGGGGCT
+                      TGACTGTGAGACCGACGGTGAGCAGGAGCGAAAGGGGACTAGTGATCCGGCACCGGTGGTGGAAGCGGTGTCGCTCAACGGCTAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTTCCCCAAGAGTCCATATCGACGGGAAGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGGAGTAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTTAGAACGTGCGAGACAGTTCGGTCCCTATCCGCTGCGCGCGTAGGAGATTGAAGGGACCGTCCCTAGTA
+                      CGAGAGGACCGGGACGGACGGACTCTGGTGTGCCAGTTGTGCCGCCAGGTCAGGCTGGTTGGCCACGTCGAAGGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCTCCCCGAGAGAGGTCTCCCAGGCCCCCAGTAGACCACGGGTGATGGCCGG
+
+Waddlia               TTACTAAGGCTGCTGGTGGATGCCTTGGCATCAAGGCGATGAAGGACGCGCGTACTGCGATAATCCTCGGTGAGCTGGAAAAAGCGAGACCCGGGGGATT
+                      CCGAATGTCTAAATGAGCGACCTGCCGACTGAGACATCTAAGTAGGTAGGGAAAAGAAATCAAAGAGATTCCCTGAGTAGCGGCGAGCGAAATGGGAAGA
+                      GCCCGGATGTAGTCGAACCATCTGGAAATTGGATGCACAGGTGAAGTCCCGTAACAAGCCTGAGTAGGCCGGACACGTGAAACCCGGTCTGAATCTGGGG
+                      AGACCACTCTCCAAGGCTAAATACTCTTGATGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCTGAGTGAAAAGACTGAAACCAGCAGCTT
+                      ACAACGGTCGGAGGCCAGGCTGACGGGTGCCTTTTGCATGATGAGCCAGCGAGTTAATTTATGTGGCGGGTTAAGAACGAAGCCGAAGCGAGCGGTGTGA
+                      ATAGCGCGTAGTCACATGAATTAGACACAAACCAGTGATCTATCCATGGTCAGTTGAAGCAAGGTAACACCTTGTGGAGGACCGAAAGTATACGTTGCAA
+                      AGTGTTGGATGAATGTGATAGGGGTGAAAGGCCAATCAAACTTGAGATATCTTGTCTCTCCGAAATAACTTTAGGGTTAGCCTTGAGCTTGTGCGGGGTA
+                      GAGCACTGGATCCAATAGGGCTCGCCAACGGGAACCAAACTCCGAATACCGCTGCTCGGGAGATAGACGCGGGGGATAAGCTTCGTAGTCGAGAGGGGAA
+                      CAGCCCAGACCGTCATCTAAGCCCCAAATCGTGTTAAGTGATAAGGAAGTAAGTTTCTTAGACAGTTGGTATGTTGCTTAGAGGCAGCCTTTAAAGAGTG
+                      CGTAACAGCTCACCAATCGAGAGGCTTCCGATAATAGCGGCTAAACACAGAGCCGAAGGTACGGATAGGTGGTAGGAGAGCGTAGTTAGGCGCCAAGGTG
+                      TACCGTAAGAGCGCTGGAGCGCTAACTAGTGAGAATGTGGCATGAGTAACGAAAGGGGGTGAAAATCCCCCTCGCCGAAAATCCAAGGTTCCAGGGTAAG
+                      CTCGTCTTCCCTGGGTTAGTCGGTCCCTAAGCTGAGGCTGAACGTAGGCGATGGCAAGCAGGTAATATTCTGCACCTGACGAAGGATAGAAGCATCGGAT
+                      TGGTCCGATGTTCTTCCAAGAAATAGACCGTACCAAACCGACACAGGTGGATGGATGAGTATTCTAAGGCGGCGAGATAACCCTCGTTAAGGAACTCGGC
+                      AAATTATCCTTGTAACTTCGGGAGAAGAGGAGCCGGTACCGTCGCAGAGAAGGGCCCGGGACTGTTTAGCAAAAACACAGCCTATGCAAACCCGTAAGGG
+                      AAGTATATGGTGTGACGCCTGCCCAATGCCAAAAGGTCAAACGGAGATGTTTTGATTGAAGTTAAGCCCTGGTGAATGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGTGTAACGATCTGGGCGCTGTCTCAACGAGGGACTCGGTGAAATTGTAGTAGC
+                      AGTGAAGATCTGTTTACCCGCAACAAGACGGAAGACCCCGGAACCTTTACTGTACTCTGATATTGGCTTCTGACTTAACGTGTGTAGGATAGCCGGGAGA
+                      CTTTGAAAGTTGCTCGTCAGGGCAGCTGGAGTCTCCTGAAATACCGGTCTCGTTAGGCCGGAGTCTAACGTGAATAGACGGACATTGTCAGACGGGCAGT
+                      TTTACTGGGGCGGTATCCTCCTAAAAGGTAACGGAGGAGTCCAAAGCTAACCTCATCGCGGTTGGCAATCGCGAGTGGAGCGTAAAGGTATAAGGTTGGT
+                      TAACTGTGAGACCTACAGTGAACAGAAACGAAAGGGGCTTAGTGATCCGGCGGTGGAAGTGGAATCGCCGTCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTTATCGCCACCAAGAGTTCATATCGACGTGGCGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGGAGAAGGTCCAAGGGTTTGCTG
+                      TTCGCCAATAAAGCGGTACGCGAGCTGGGTTCAAAACGTGTGAGACAGTTTGGTCCCTATCTGTTGTGGGCGTAGGATATTGAGAGGACTGTTCCTAGTA
+                      CGAGAGGACCGGAATGGACGAACGATGGTGTTCCTGTTGTTCTGCCAAGGCAAGCAGGGTAGCTAAGTCGGAAGGATAAGCGTTGAAACATCTAAACGCA
+                      AGCCTCCTAAGAAAGGTATCCCAGACGCCATGTAGACGACTGGTGATGGCTGG
+
+Pseudomonas at stutzeri  TGAAGAAGGCATACGGTGGATGCCTTGGCAGTCAGGCGATGAAAGACGTGGTAGCTGCGAAAAGCTTCGGGGAGTCGCAAAAGACTTGATCCGGAGATGT
+                      CTGAATGTCAACATGAGCGACCAGGGGACTGAAACATCTAAGTACCCTGGGAAAAGAAATCAACGAGATTCCCTTAGTAGTGGCGAGCGAACGGGGATTA
+                      GCCCAAGTTTAGCGGAACGCTCTGGAAATGCGGCCTAGTGGTGAAGCCCTGTAGCAAAATCGAGTGGACGGAGCACGAGAAACTTTGTCTGAATATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTATGACTGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCGGAGTGAAAAGACTGAAACCGTATGCGT
+                      ACAACAGTGGGAGCCTTAGGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTATTTTCAGTGGCGGCTTAACAAGGGAGGCGTAGCGAGCGGTCTTA
+                      ATAGGGCGTAGTCGCTGGGAATAGACCCAAACCGGCGATCTATCCATGGGCAGTTGAAGGTTAGTAACACTGACTGGAGGACCGAAGACTACCGTTGAAA
+                      AGTTACGGATGACTGTGATCGGAGTGAAAGGCTAATCAAGCTCGAGATAGCTGGTCTCCTCGAAAGCTATTTAGGTAGCGCCTCGTGCACTGCTGGGGTA
+                      GAGCACTGTTTCGGCTAGGGTTCACTAAACCGATGCAAACTCCGAATACCAGTGCACGGGAGACACACGCGGGTGCTAACGTCCGTCGTGAAAAGGGAAA
+                      CAACCCAGACCGTCAGCTAAGTCCCAAAACTGGTTAAGTGGAAACGATGTGGAAGGCTTAGACAGCTAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTAGTCGAGTCGGCCCGGAAGATGTCGGCTAAACCAGGTACCGAAGCTACGGGTCAGCGGTAGAGGAGCGTTCTGTACCTGTAAGGTC
+                      AGTTGAGAGCTGGCTGGAGGTATCAGAAGTGCGAATGTGACATGAGTAACGAATGCGAGTGAAAAACTCGCACGCCGAAAGACCAAGGTTCCTGCGCAAG
+                      TTAATCGACGCAGGGTGAGTCGGTCCCTAAGGCGAGGCTGAGCGTAGTCGATGGGAAACGGGTAATATTCCGTACGGGACGGAGAGGCTAGGCCACAAGT
+                      TGGCTTGGGTTCCTTCCAGGAAAAGCACCGTACCAAACCGACACAGGTGGTTGGTAGAGAATACCAAGGCGTTGAGAGAACTCGGGTGAAGGAACTAGGC
+                      AAAATGGCACCGTAACTTCGGGAGAAGGTGCGCCGGTTGCGTCGAAGATACCGGCCGTGGACTGTTTATTAAAAACACAGCCTCTGCAAACACGAAAGTG
+                      ACGTATAGGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAATTGATGGGGTCAAGTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGATGGCGGCGCTGTCTCCACCCGAGACTCAGTGAAATTGAAATCGC
+                      TGTGAAGATCAGTGTATCCGCGGCTAGACGGAAGACCCCGGAACCTTTACTATAGCTTTGCACTGGACTTTGAATTTGCTTGTGTAGGATAGGTGGGAGG
+                      CTTTGAAGCGTGGACGCCAGTTCGCGTGGAGCCACCTGAAATACCACCCTGGCAACTTTGGGTTCTAACTCTGATTCGAGGACAGTGTATGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCTAAAGAGTAACGGAGGAGTACGAAGGTGCGCTCAGACCGGTCGGAAATCGGTCGTAGAGTATAAAGGCAAAAGCGCGCT
+                      TGACTGCGAGACAGACAGTGAGCAGGTACGAAAGGGTCTTAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGCCGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGACGTTTGAGATTGAGAGGGCTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGAACTCTGGTGTTCCGGTTGTCACGCCAGTGCATGCCGGGTAGCTACGTCGGAGAGATAACCGCTGAAACATCTAAGCGGA
+                      AACTTCCTAAGAGAGATCTCACAGGGCCGTCGAAGACTACACGTGATGGTTGG
+
+Thiobacillus          TGAATAAGGCATACGGTGGATGCCTTGGCAGAGAGGCGATGAAGGACGTGGATACTGCGAAAAGCCTCGGGGAGCTGTAAGAAGCTTGATCCGGGGATAT
+                      CCGAATGTTGACATAAGCCACGCGGTGACTGAAACATCTCAGTAGCTGCGGAAAAGAAATCAACGAGATTCCCGTAGTAGCGGCGAGCGAACCGGGAGCA
+                      GCCTCATCTTAGGAGAACGACCTGGGAAGTTGGCCTAGTGGTGAAGCCCCGTATCAAAGCAAAGTGGGCGGGACACGTGGAATCCTGTCTGAAGATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTCTCTGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGAGCGGAGTGAAAAGTCTGAAACCGTATGCCT
+                      ACAACAGTGGGAGCCCTGGGTGACTGGTACCTTTTGTATCATGGGTCAGCGACTTACTTTCTGTGGCGGCTTAACAAGGAAGCCGTAGGGACCGGTCTGA
+                      ATAGGGCAATGTCGCAGGGAGTAGACCCAAACCGACGATCTATCCATGGTCAGATGAAGGTGGGTAAAACCTACTGGAGGTCCGAACACGCCCGTTGAAA
+                      AGGTCGGGATAACTGTGATAGGAGTGAAAGGCTAAACAAGTCCGAGATAGCTGGTCTCCCCGAAAGCTATTGAGGTAGGCCGTCGCGTACCTGCCGGGTA
+                      GAGCACTGTTACGGCTAGGGCTAGCTAACCCGTTGCAAACTCCGAATACCGGTACGCGGCAGACAGTCGCGGGTGCTAAGCTCCGTCGTCAAGAGGGATA
+                      AACCCCAGACCGCCAGCTAAGTCCCCAAATTGGCTCAGTGGAAACGATGTGGAAGGCCCAGACAGCTAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTAGTCGAGTCGGCCCGGAAGATTTCGGCTAAGCCATATACCGAAGCTGCGGGTTAGCGGTAGGGGAGCGTTCGGTACCGATAAGGTG
+                      TGTTGTGAGCATGCTGGAGGTATCCGAAGTGCGAATGTGACATGAGTAGCGAAAGGGTGTGAAAACCACCCTCGCCGTAAGCCCAAGGTTCCTGCGCAAG
+                      TCAATCTGCGCAGGGTGAGTCGGCCCCTAAGGCGAGGCCGAACGTAGCTGATGGGAAATCGGTAATATTCGATACGTGACGGAGAAGGTAGCTCACCGGT
+                      TGGTGGGGAGTTCTTCCAGGAAAAGCACCGTACCAAACCGACACAGGTGGGCGGAAGAATATTCCAAGGCGTTGAGAGACCTCGGGTGAAGGAACTCGGC
+                      AAATTGACACCGTAACTTCGGAAGAAGGTGTGCCCTCTAGGTCGCAGAGATCGGTGGTGAACTGTTTAACAAAAACACAGGCTCTGCAAAGACGAAAGTC
+                      ACGTATAGGGTCTGACGCCTGCCCGGTGCCGGAAGGTTAAGTGAGGGGGTCAAGTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAATGATGGCCACACTGTCTCCACCCGAGACTCAGCGAAGTTGAAGTCGC
+                      TGTGAAGATCAGCGTTCCCGTGGCAAGACGGAAGACCCCGGCACCTTTACTACAACTTAGCATGGGACCTTGAGATGATTTGTGTAGGATAGGTGGGAGG
+                      CTGTGAAACCGGGACGCTAGTTCTGGTGGAGCCGCCTGAAATACCACCCTGGTGATCTTGGGTTCTAACCTCGATTCAGGGACAGTGTTTGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGAGTAACGGAGGAGCACGAAGGTACCCTCAGCGCGGTCGGAAATCGCGCAGTGAGTGCAAAGGCACAAGGGTGCT
+                      TGACTGCGAGACAGACAGTGAGCAGGTGCGAAAGGGTCTTAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACGCCGGGATA
+                      ACAGGCTGATTCCCCCCAAGAGTTCACATCGACGGGGGGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGTAGCCGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGCGGTACGCGACCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCATGGGCGTTGGAGATTGAAGGAACTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGTACTCTGGTGTTCCGGTTGTTCTGCCAAGGCATGCCGGGTAGCTATGTCGGCGGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCATCCAAGAGAGATCTCCCAGGGACGTGGAAGACTACACGTGATGGCTCC
+
+Thermomonospora at chro  TTGTGTAGGCACACGGTGGATGCCTTGGCATCAAGCCGATGAAGGACGTGGGAGCTGCGATAAGCCTCGGGGAGTCGCAGCAGACGTGATCCGGGGATGT
+                      CCGAATGTCTTCATGAGGGAGCCGGGGAGTGAAACATCTCAGTACCCGCGGAAGAGAAAACAATGTGATTCCGTGAGTAGTGGTGAGCGAAAGCGGATGA
+                      GGCTGGAGGTAGCCGAAGGTTCTGGGAAGGCTGCCTAGACGTGAAGCCGGGTAGTAACCCCGAGTGCACGGGGCTCGAGGAATCCTGTGTGAATCTGCCA
+                      GGACCACCTGGTAAGCCTGAATACTTCTGGTGACCGATAGTGGAGAGTACCGTGAGGAAAGGTGAAAAGTCCGGTGTGAAAAGACTGAAACCGTGTGCCT
+                      GCAACCGTGGGAGCGTTATGTGACTGGTGCCTTTTGAAGAATGAGCCTGCGAGTTACGGTGTGTGGCGGGTTAACTGGGGAGCCGTAGCGAGCGGTCTGA
+                      ATAGGGCGGAGTCGCATGCTGTAGACCCAAGCGGGTGATCTACGCATGGGCAGGTGAAGCTCAGTAAGACTGGGTGGAGGCCCGAACACCAGGGTTGAAA
+                      ACCTGGGGATGACTGTTGTAGGGGTGAAAGGCCAATCAAACTCGTGATAGCTGGTCTCCCCGAAATGCATTTGGGTGCAGCGTCGCGTTCTGCCGAGGTA
+                      GAGCACTGGATGGCCGAGGCCCAGGTAACGTCAGCCAAACTCCGAATGCCGGGACGCGGCAGTGAGACGCGGGGGATAAGCTTCGTAGTCGAGAGGGAAA
+                      CAGCCCGGACCACCGGCTAAGCCCCTAAGGGTGCTGAGTGGAAAGGATGTGAGTCGCAGTGACAACCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGTGATTTCCGATAATGTCGGCTAAGCACATCGCCGAAGCCGTGGCATGTGGGTAGGGGAGCGTCGTGCGCGGGTAAGCGG
+                      CGGAGTGACCGTCGTGGACGCTGTGCGAGTGAGAATGAGGCATGAGTAGCGATGAGGGGTGGGAAACCCCTCCGCCGGATGACCAAGGTTCCTGGGGCAG
+                      TTAATCCGCCCAGGGTAAGTCGGGGCCTAAGGCGAGGCCGAACGTAGTCGATGGATAACGGGTGATATTCCGTACGTGACGCAGAAGGTAGTCCACCCAG
+                      TGGTGGGGGATTCTGCCGAGAAAAGCCCCGTACCAAACCGACTCAGGTGGTCAGTAGAGAATACTCAGGCGTCGGGTGAACTGTGGTTAAGGAACTCGGC
+                      AAATTGCCCCCGTAACTTCGGGAGAAGGGGGGCCTCTTGGGTCGCAGTGGCCGGGGGAGGACTGTTTACTAAAAACATAGGCCGTGCGAAGTCGTAAGAC
+                      ATGTATACGGACTGACGCCTGCCCGGTGCCGGAACGTTAAGGGGACCGCTTTGGTGAGAACTTAAGCGCCGGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCCCCGCTGTCTCAACCGCAGACCCGGCGAAATTGCACTACG
+                      AGTAAAGATCTCGTTTCGCGCAGCAGGACGGAAGACCCCGGGACCTTCACTGCAGCTTGACATTGGTGTCTGGGGCGGCTTGTGTAGGATAGGTGGGAGA
+                      CTGTGAAGCCTGGACGCCAGTTCGGGTGGAGTCTCGTGAAATACCACTCTGGTCGTTTTGATGTCTAACCCGCATTGGGGGACAGTGTCTGGTGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCTAAAGGGTAACGGAGGCGCCCAAAGGTCCCCTCAGCCTGGTTGGTAATCAGGTGTTGAGTGTAAGTGCACAAGGGGGCT
+                      TGACTGTGAGACCGACGGTGAGCAGGAGCGAAAGGGGACTAGTGATCCGGCACCGGTGGTGGAAGCGGTGTCGCTCAACGGCTAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTTCCCCAAGAGTCCATATCGACGGGATGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGGAGTAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTTAGAACGTGCGAGACAGTTCGGTCCCTATCCGCTGCGCGCGTAGGAGATTGAGGGGGCTGTCCCTAGTA
+                      CGAGAGGACCGGGACGGACGAACTCTGGTGTGCCAGTTGTGCCGCCAGGTCAGGCTGGTTGGCTACGTCGGAGGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCTCCCCGAGAGAGGTCTCCCAGGCCCCCAGGAGATGACGGGTGATGGCCGG
+
+Salmonella at bongori    CGACCAAGGTACACGGTGGATGCCCTGGCAGTCAGGCGATGAAGGACGTGCTAACTGCGAAAAGCGCCGGCGAGGTGATATAACCGTGACCCGGCGATGT
+                      CCGAATGTCACCATGAGCGACCGGGGGACTGAAACATCTAAGTACCCCGGGAAAAGAAATCAACGAGATTCCCCCAGTAGCGGCGAGCGAACGGGGAGGA
+                      GCCCAGCGTTAGTGGAAGCGTCTGGAAAGCACGCGTACAGGTGAAGCCCCGTAACAAAGATGAGTGGGCGGGACACGTGGTATCCTGTCTGAATATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTGACTGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCGGAGTGAAAAGACTGAAACCGTGTACGT
+                      ACAACAGTGGGAGCACCGTGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTATATTCTGTAGCAGGTTAACAAGGGAGCCGGAGGGACCGGTCTTA
+                      ACTGGGCGAAGTTGCAGGGTATAGACCCAAACCGGTGATCTAGCCATGGGCAGTTGAAGGTTGGTAACACTAACTGGAGGACCGAAGACTAATGTTGAAA
+                      AATTACGGATGACTGTGCTGGGGGTGAAAGGCCAATCAAACCGGAGATAGCTGGTCTCCCCGAAAGCTATTTAGGTAGCGCCTCGTGCATCTCCGGGGTA
+                      GAGCACTGTTTCGGCTAGGGCTCGCTAACCCGATGCAAACTGCGAATACCGGTGCACGGGAGACACACGCGGGTGCTAACGTCCGTCGTGAAGAGGGAAA
+                      CAACCCAGACCGCCAGCTAAGTCCCAAAGCTGGTTAAGTGGAAACGATGTGGAAGGCCCAGACAGCCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGGTCGAGTCGGCCCGGAAGATGTCGGCAAAACCATGCACCGAAGCTGCGGCACATGGGTAGGGGAGCGTTCTGTACCGTTAAGGTG
+                      TGCTGTGAGCATGCTGGAGGTATCAGAAGTGCGAATGTGACATAAGTAACGAAAGCGGGTGAAAAGCCCGCTCGCCGGAAGACCAAGGTTCCTGTCCAAG
+                      TTAATCGGGGCAGGGTGAGTCGACCCCTAAGGCGAGGCCGAACGTAGTCGATGGGAAACGGGTAATATTCCGTACGGGACGGAGAGGCTATGTTGCCGGA
+                      CGGCCGGAACACCTTCCAGGAAAAGCATCGTACCAAACCGACACAGGTGGTCGGTAGAGAATACCAAGGCGTTGAGAGAACTCGGGTGAAGGAACTAGGC
+                      AAAATGGTGCCGTAACTTCGGGAGAAGGCACGCTGATTGCGTCGAAGATACCGCTGGTGAACTGTTTATTAAAAACACAGCCTGTGCAAACACGAAAGTG
+                      ACGTATACGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAATTGATGGGGTCAAGTCCTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAATGATGGCCAGGCTGTCTCCACCCGAGACTCAGTGAAATTGAACTCGC
+                      TGTGAAGATCAGTGTACCCGCGGCAAGACGGAAGACCCCGGAACCTTTACTATAGCTTGACACTGAACACTGGTCCTTGATGTGCAGGATAGGTGGGAGG
+                      CTTTGAAGCGTGGACGCCAGTCTGCGTGGAGCCTCCTGAAATACCACCCTTTAATGGCTGTGTTCTAACGTGGAATTGCGGACAGTGTCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGAGTAACGGAGGAGCACGAAGGTTGGCTAATCCTGGTCGGACATCAGGAGGTTAGTGCAATGGCATAAGCCAGCT
+                      TGACTGCGAGCGTGACGCGGAGCAGGTGCGAAAGGGTCATAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGTAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGCTGGAAGTTGAGGGGGCTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGCATACTGGTGTTCGGGTTGTCATGCCAATGCATGCCCGGTAGCTAAATCGGAGAGATAAGTGCTGAAACATCTAAGCACA
+                      AACTTCCCGAGAGAATCTTCCCAGGAACGTTGAAGACGACAGGTGATGGCCGG
+
+Neisseria at meningitid  TGAATAAGGCATCAGGTGGATGCCTTGGCGATGAGGCGACGAAGGACGTGTAAGCTGCGAAAAGCGCGGGGGAGCTGCAATAAGCAAGATCCCGCGATGT
+                      CCGAATGTCCACATGAGCGACCCGGAGACTGAACCATCTAAGTACCCGGGGAAAAGAAATCAACGAGATTCCGCAAGTAGTGGCGAGCGAACGCGGAGGA
+                      GCCTACGGATAGAAGAACAAGCTGGGAACTTGACCTAGTGGTGAAGTCCCGTATCAATGAAAAGTGGGCGGGGCACGTGAAATCCTGTCTGAATATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTCATCGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCGGAGTGAAAAGACTGAAACCTGATGCAT
+                      ACAACAGTGGGAGCGCAGTGTGACTGGTACCTTTTGTATAATGGGTCAACGACTTACATTCAGTAGCGGCTTAACAAGGGAGGCGTAGGGACCGGTCTTA
+                      ATAGGGCGGAGTTGCTGGGTGTAGACCCAAACCAGTGATCTATCCATGGCCAGTTGAAGGTGCCTAACAGGTACTGGAGGACCGAACACGCATGTTGCAA
+                      AATGCGGGATGAGTGTGATAGGGGTGAAAGGCTAAACAAACTCGAGATAGCTGGTCTCCCCGAAAACTATTTAGGTAGTGCCTCGAGCACTGATGGGGTA
+                      AAGCACTGTTATGGCTAGGGTTGACTAACCCATGGCAAACTAAGAATACCATTGCTCGGGAGACAGACGCGGGTGCTAACGTCCGTTGTCAAGAGGGAAA
+                      CAACCCAGACCGCCAGCTAAGTCCCAAATAAGATTAAGTGGAAACGAAGTGGAAGGCCCAGACAGCCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGGTCGAGTCGTCCCGGAAGATGTCGGCTAAATCTATAACCGAAGCTGCGGATTTATGGTAGGGGAGCGTTCTGTACTGATAAGGTG
+                      CATTGTAAGTGTGCTGGAGGTATCAGAAGTGCGAATGTGACATGAGTAGCGAAAGCGGGTGAAAAGCCCGCTCGCCGAAAGCCCAAGGTTCCTGCGCAAG
+                      TTCATCGGCGTAGGGTGAGTCGGCCCCTAAGGCGAGGCAGAACGTAGTCGATGGGAAACAGGTAATATTCTGTACGGGACGGAGAGGTTAGGTTGCAAGT
+                      TGGCTTGAACCCCTTCCAGGAAAAGCACCGTACCAAACCGACACAGGTGGGCAGGAGAGAATTCTAAGGCGTTGAGAGAACTCAGGAGAAGGAACTCGGC
+                      AAATTGATACCGTAACTTCGGGAGAAGGTATGCCCTTTGGGTCGCAGAGAATGGTGGTGGACTGTTTATTAAAAACACAGCCTCTGCTAACACGAAAGTG
+                      ACGTATAGGGTGTGACGCCTGCCCGGTGCTGGAAGGTTAATTGAAGATGTAGAGATCGGATCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAATGGCGTAACGATGGCCACACTGTCTCCTCCTGAGACTCAGCGAAGTTGAAGTGGT
+                      TGTGAAGATCAATCTACCCGCTGCTAGACGGAAGACCCCGGAACCTTTACTGTAGCTTTGCATTGGACTTTGAAGTCACTTGTGTAGGATAGGTGGGAGG
+                      CTTAGAAGCAGAGACGCCAGTCTCTGTGGAGCCTCCTGAAATACCACCCTGGTGTCTTTGGGTTCTAACCCAGATTCGGGGACCGTGCATGGTAGGCAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGCGTAACGGAGGAGTTCGAAGGTTACCTAGGTCCGGTCGGAAATCGGACTGATAGTGCAATGGCAAAAGGTAGCT
+                      TAACTGCGAGACCGACAGTGAGCAGGTGCGAAAGGGACATAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATTCCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGTAGTCGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGTGAGCTGGGTTTAAAACGTGTGAGACAGTTTGGTCCCTATCTGCAGTGGGCGTTGGAAGTTGACGGGGCTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGAACTCTGGTGTACCGGTTGTAACGCCAGTTCAAGCCGGGTAGCTAAGTCGGAGAGATAAGCGCTGAAACATCTAAGCGCA
+                      AACTCCCTAAGAGAGACTTCCCAGAGTCGTTCGAGACCAGACGTGATGGTGGG
+
+Ureaplasma            TTACTAAGGCTTATGGTGAATGCCTTGGGACAAAGGCGATGAAGGACGTGCTAACTGCGATAAGCAACGGGTAGCTGATAAAGGCTTAATCCGTTGATCT
+                      CCGAATGCTGTCATAGCGAACCTGGTGAGTGAAACATCTCAGTAACCAGGGAAAAGAAAACGAAGTGATTCCCTGTGTAGCGGCGAGCGAAAGGGGAGTA
+                      GGCCGGAGATAGTAGAATTGGTTGGGAACCAAATCTAGAGGTGAAATCCCGTAACAATCCTGAGTGGGCGGGACACGTGAAATCCTGTCTGAATCCACCC
+                      AGACCATTGGGTAAGCCTAAATACTATTTGTCACCGATAGAGCATAGTACCGTGAGGAACGGTGAAAAGACAGGAGTGAAAAGACTGAAACCATAAGCTT
+                      ACAAGTGTTAGAGCACAGTGTGATAGGTGCCTTTTGAAGTATGAGCCAGCGAGTTATTATAGCATGCGGGTTAAAAGAGGAGCCGTAGGGACCGGTCTTA
+                      ATAGGGCGTAGTATGTTATAATAGACGCAAACGGGTGATCTATCCATGGGCAGTTGAAGGTGAATAACATTCACTGGAGGACCGAACACTTTCGTTGAAA
+                      CGACAGGGATGACTGTGATAGTGGTGAAATTCCAATCGAACTCGTGATAGCTCGTCTCGTCGAAATATTTTTAGGAATAGCGTTAGATGGATATGGGGTA
+                      AAGCACTGAATCTATGAGCGCCTGTGAAATAGAATCAAACTCTGAATACCATCCTCTAGCAGTCAGACGTGGGGGATAAGCTTCATTGTCGCGAGGGAAA
+                      CAGCCCAGATCATTAACTAAGTCCCTAATAATGCTAAGTGGAAACGATGTGAGTTTCATAAACAGCAAGGATGTTGCTTAGAAGCAGCCTTTAAAGAGTG
+                      CGTAACAGCTCACTTGTCGAGAGACTCCGGAAGATGTCGGCTAAGCATATAACCGAAGTTATGGGTATGCGGTAGACGAGTGTTGTATAGGGGCAAGGTA
+                      GACTGTGAGACTACTGGACTTTATACAAGTAAGAATGTGGCGTGAGTAACGAATGAGAGTGAGAATCTCTCAAACCGATTGACTAAGGTTCCTGGGCAAG
+                      GTCGTCCTCCCAGGGTAAGTCGGATCCTAAGGCGAGGCTGAACGTAGTCGATGGAAAACAGGTAATATTCTGTACGTGACGGAGAGGTTATATGTCCGGT
+                      TGGCCGGCATACCTTCCAAGAAAAGCTCCGTACCGAACGAACACACGTGGTCAGGAGAATATCCTAAGGTTGCGAGTTAACTACAGTTAAGGAACTCTGC
+                      AAATTAACCCCGTACGTTAGCAATAAGGGGTGCTCGTAGGGCCGCAGTGAATGCGAGGGGACTGTTTAACAAAAACACAGCCTATGCTAAGTCGTAAGAC
+                      ATGTATATGGGGTGACACCTGCCCAATGCTGTAAGGTTAAAGAAGAATGTCAAGTTTTAACTGAAGCCCCAGTGAATGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAATTCCGTCCCGCTTGAATGGTGTAACCATCTCTTGACTGTCTCAACTGTAGACTCGGTGAAATCCTGGTGAG
+                      GGTGAAGACCCCTCTTGGCGTGATTGGACGGAAGACCCCAGAAGCTTTACTGTAGCTTAATATTGGGAAATTTTATTACTTGTAGAGCATAGGTAGGAGA
+                      CTGTGAAGTATACTCGCTAGGGTATATGGAGTCACGTGGAATACTACCCTTGTGATAAGATTCTCTAACCTGCATTGGGGGACAGTGTTAGGTGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCCAAAAGGTAACGGAGGCGCGCAACGGTACCCTCAGCACGGTTGGAAATCGTGTATAGAGTGTAATGGTATAAGGGTGCT
+                      TGACTGTGAGACTTACAGTGAACAGGTAGGAAACGGTCATAGTGATCCGGTGGCTCAGATGGAATGGCCATCGCTCAACGGATAAAGCTACTCTGGGATA
+                      ACAGGCTGATAGTGCCCAAGAGTTCATATCGACGGCACGTTTGGCACCTCGATGTCGACTCATCTCATCCTGGAGCTGAAGCAGGTTCAAGGGTTCGCTG
+                      TTCGCCGATAAAGAGATACGTGAGTTGGGTTCAAACCGTGTGAGACAGGTTGGTCCCTATCTGTCATGCCCGTAGGAAGTTGAGAAGACTGTTCCTAGTA
+                      CGAGAGGACCGGAATGGACACACTCTTGTGATCCTGTTGTCGCGCCAGCGCATGCAGGGTAGCAACGTTGGATAGAGAAACGCTGAAACATCTAAGTGTA
+                      AACTACTTAAGATAATCTTCCCAGAATCGTTAAAGACTATACGTGATGGTCGG
+
+Synechocystis         CTACAAAGGCTAACGGTGGATACCTTGGCACACAGGCGAAGAAGGACGTGGTTACGACGAAACGCTTCGGGGAGCTGGAAAAAGCATGATCCGGAGGTGT
+                      CCGAATGCTAAAAAAGGCAACCTAGTGACTGAAACATCTTAGTAGCTAGGGAAAAGAAAACAAAGTGATTCTCCAAGTAGCGGCGAGCGAACGGGGAACA
+                      GCCTGGAATTAGACGAAGCAGCTGAAAACTGCACCGAGGGGTGAAGTCCTGTATCAAACCCGAGTGGTCGGAGCTCGTGGAATTCCGATTGAATCAGCCG
+                      GGACCACCCGGTAAGGCTAAATACTATGTGTGACCGATAGCGTAAAGTACCGCGAGGAAAGGTGAAAAGACCGGAGTGAAAAGAATGAAACCGTTAGCCT
+                      ACAACAATGGGAGCTCAGAGTGACCGGTGCCTGTTGAAGAATGAGCCGGCGACTTACAGGTTGTGGCAGGTTAAGTTCGAAGCCAAAGTGAGCGGCCTGA
+                      ATAGGGCGTAGTCACAATTTGTAGACCCAACCCGGTGATCTAACCATGGCCAGATGAAGCTTAGTAACACTAAGTGGAGGTCCGAAGACTAATGTTGAAA
+                      AATTACGGATGAGTGTGTTAGGGGTGAAATGCCAATCGAACCCGAGCTAGCTGGTCTCCCCGAAATGTGTTTAGGCGCAGCGGTTGTTCACTTGGGGGTA
+                      AAGCACTGTTTCGCTGCGCGGGGCTGAAAGTGAGGCAAACTCAGAATACCCAGAACGACCAGTAAGACGTGGGGGATAAGCTTCATCGTCGAAAGGGAAA
+                      CAGCCCAGACCACCAGCTAAGTCCCCAAACTCACTAAGTGAAAAGGAGGTGGAGTGCATTGACAACCAGGAGGTTTCCTAGAAGCAGCATTAAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGCGCTCCCCGAAAATGACGGCTAAGTGATGTACCGAAGCTGTGGACATGTGGTAGGGGAGCGTTCTGTAAGGGTAAGCAC
+                      TAGCGCAACAGGTGTGGACAGTACAGAAGTGAGAATGCGGCTTGAGTAGCGAATATGGGTGAGAATCCCATACCCCGAAATCCTAAGGTTCCTCCGGAAG
+                      CTCGTCCGCGGAGGGTTAGTCAGGACCTAAGGCGAGGCCGAACGTAGTCGATGGACAACCGGCAATATTCGGTACGGGACGGAGAGGCTAGTGCAACTGT
+                      TGGCAGTGCATCCTTCCAAGAAAAGCCCTGTACCAAACCGACACAGGTAGGAGGTAGAGAATACTAAGGGGGCGAGGTAACTCTCTCTAAGGAACTCGGC
+                      AAAATTACCCCGTAACTTCGGGAGAAGGGGTGCCTCCAGAGTCGCAGTGAATGGCCCGGGACTGTTTACCAAAAACACAGGCTCCGCAAAGTCGTAAGAC
+                      CAGTATGGGGGCTGACGCCTGCCCAGTGCCGGAAGGTTAAGGAAGTTGGTTAAGTAGCGACTGAAGCCCCGGTGAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAACGATCTGGGCACTGTCTCGGAGAGAGGCTCGGCGAAATAGGATTGTC
+                      TGTGAAGATCGGACTCCCTGCACCTGGACAGAAGACCCTAGAAGCTTTACTGTAGCTTGGAATTGGGTTCGGGCTTTGCTTGCGCAGGATAGGTGGGAGA
+                      CTATGAAGTTGCTCTTGTGGGAGTAATGGAGTCACGTGAGATACCACTCTGGTGAGGCTAAATTCTAACTTGTATAGAAGGACAATTTCAGGTGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAAGGTAACGGAGGCGCGCAAAGGTTTCCTCAGGCTGGTTGGAAATCAGCCGAAGAGTGTAAAAGCAGAAGGAAGCT
+                      TGACTGTGAGACTGACAGTAAACAGGGACGAAAGGGCTTTAGTGATCCGACGGCACTGGTGGAAGGGCCGTCGCTCAACGGATAAAGTTACTCTAGGATA
+                      ACAGGCTGATCTCCGCCAAGAGTTCACATCGACGCGGAGTTTGGCACCTCGATGTCGGCTCATCGCAACCTGGGGCGGTAGTACGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGTGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCATATCCGGTGTAGGCGTAAGAGTTTGAGAGGAACTTCCTTAGTA
+                      CGAGAGGACCGGGAAGTACGCACTCTGGTGTACCTGTTATCGTGCCAACGTACGCAGGGTAGCCAAGTCGGGTGGATAACCGCTGAAACATCTAAGTGGA
+                      AGCCCCCTAAGAGAGTACTCTCAGGTCACGGGAAGACTACCGTTGATGGCTCT
+
+Peptococcus           TAACTAAGGCATGCGGTGAATGCCTAGGCGCCGAGCCGAAGAAGGACGCGGTAACTGCGAAAAGCTACGTTGAGTCGCAAGAGACCTGACACGTAGATAT
+                      CCGAATACCTCCATGGGGCACCCGGGGACTGAAACATCTAAGTACCCGGGGAAGAGAAAGAAAATCGATTCCCCCAGTAGCGGCGAGCGAAGCGGGAAGA
+                      GCCCGGATTTAGCAGAATGACCTGGGAAGTCAGCCTAGAGGTTAAGCCCTGTAGCAAACCGGAGTCCACGAGGCACGAGGAATCTCGTGGGAAGGCGGGG
+                      GGCCCACCCCCCAAGGCTAAATACTCCCGGCGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGCTCGGAGTGAAAAGACTGAAACCGCATGCTT
+                      ACAACAGTCACAGCTCTGAGTAGTGGGTACTTTTTGTAGAACGGACCGGCGAGTTGCGTTAAGAAGCCGGTTAAGAAAGGAGCCATAGCGAGCAGTCTTA
+                      ATAGGGCGAAGTTTCTTGGCGCAGACCCAAACCGGTGATCTACCCATGAGCAGTTGAAGCGTTGTAAAACAACGTGGAGGACCGAAAGGTGTCGTTGAAA
+                      AGACATGGATGACTGTGGTAGGGGTGAAATTCCAATCGAACCCGAGATAGCTGGTCTCCTCGAAATAGCTTTAGGGCTAGCCTCAAGGACCTACGAGGTA
+                      AAGCACTGACTGGATGCGGGCTAGCCAAATCTTATCAAACTCAGAATGCCGTAGCTTGGGAGTCAGACATGGGGGATAAGCTTCATAGTCAAAAGGGAAA
+                      GAACCCAGACCGTCGTCTAAGTCCCCAAGTGTGTTAAGTGGAAAGGATGTGAATCGCTCAGACAACCAGGATGTTGCTTAGAAGCAGCCTTAAGAGAGTG
+                      CGTAATAGCTCACTGGTCCAGGGGTTCCCGAAAATGTCGGCTAAACACCACACCGAAGACACGGAAATTTGGTAGAGGAGCGATCCATTAGAACAAGCGA
+                      GAGCGCAACGCTCGTGGACCCAATGGAAGAGAGAATGCGGTATAAGTAACGAAAAGAGGTGAGAATCCTCTTCGCCGAAAGTCTAAGGTTCCTGGGGAAG
+                      CTCGTCCGCCCAGGGTAAGTCGGGACCTAAGGCAAGGCCGAACGTAGTCGATGGGAAACAGGAGAAATTCTGTACGTGACGCAGAGGGTACAGCGCGCCG
+                      TTGGGCGCCTGCCTGCCAAGAAAAGCCCCGTACCAAACCGACACAGGTAGACGGTAGAGAATACTAAGGCGGCGAGATAACTCTTGTTAAGGAACTCGGC
+                      AAAATGAACCCGTAACTTCGGGAAAAGGGTTGCTCCAAGGGCCGCAGAGAAGGGTCCAGGACTGTTTAGCAAAAACACAGGCATTGCCAAATCGTAAGAT
+                      ACGTATAATGGCTGACGCCTGCCCGGTGCTGGAAGGTTAAGGGGAAGAGTCAAGTTTGAACCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAACGATCTGGACGCTGTCTCAACAAGGGACTCGGTGAAATTGAATTACC
+                      GGTAAAGATCCGGTTACCTGCGATAGGACAGAAGACCCCAGGAGCTTTACTGCACCCTGATATTGGGTTTCGGTTATTTATGTACAGCATAGGTGGGAGA
+                      CAGCGAAGCGAGAGCGCCAGTTTTCGCAGAGTCCCCTGGGATACCACCCTTAAGTGATTGAATTCTAACAAGGATTATTGGACATTGTCAGGCAGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGAGTAACGGAGGCGCTCAAAGGTTCCCTCAGAACGGATGGAAATCGTTCATAGAGTGTAAAGGCAGAAGGGAGCT
+                      TGACTGCGAGAGCAACACTGAGCAGGAAGGAAACGGACTTAGTGATCCGGCGGTTGCGGTGGAAGTGCCGTCGCTCAACGGATAAAGCTACCCTGGGATA
+                      ACAGGCTTATCTCCCCCAAGAGTTCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGTAGTAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCATCGTAGGCGTAGGATATTGAGAGGCCTGACCCTAGTA
+                      CGAGAGGACCGGGTTGGACACACGCTGGTTAACCGGTTGTCGTGCCAACGCAAGCCGGGTAGCTAAGTTGGCATGATAAACGCTGAAACATCTAAGCGTA
+                      AGCAGCCTAAGAGAGATATCCCAGACCCCAGAGAGACGAATGGTGATGGTCGG
+
+Lactococcus           TTAATAAGGCGCACGGTGGATGCCTTGGCACTAAGCCGATGAAGGACGTGACTACGACGATATTCTAGGGGGAGCAGTAAGACGCATGATCCCTAGGTCT
+                      CCGAATGTTCACATAAGTAACGCAGAGACTGAAACATCTAAGTACCTGCGGAAGAGAAAGTAAAACGATTTCGTAAGTAGCGGCGAGCGAACGCGAAGAA
+                      GGGCGGATATAGTCGAATAACCTGGGAAGTTAATCAAGAGGTAAAATCCCGTAACAATCCTGAGTGGGCTGGACACGCGAAATCCAGTTTGAATCCGGGA
+                      GGACCATCTCCCAACCCTAAATACTCTTAGTGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGACCGGAGTGAAAAGACTGAAACCGTGTGCCT
+                      ACAAAAGTTCGAGCCCAGGGTGAGAGGTGCCTTTTGTAGAATGAACCGGCGAGTTACGTTATGATGCGGGTTAAGAAAGGAGCCGTAGGGACCGGTCTGA
+                      ATAGGGCGTAGTATCATGATGTAGACCCAAACCAGTGACCTATCCATGAGCAGGTGAAGGTGTGTAAGACGCACTGGAGGCCCGAAAGGACACGTTGAAA
+                      AGTGTTGGATGACTGTGATAGCGGAGAAATTCCAAACGAACTGGAGATAGCTGGTCTCTCCGAAATAGCTTTAGGGCTAGCGTCGAAAGTTATTGAGGTA
+                      GAGCACTGTTTGGGTGAGGTCTTGATAATCTCAGATAAACTCCGAATGCTAACATTCGGCAGTCAGACGCGAGTGCTAAGATCCGTAGTCGAAAGGGAAA
+                      CAGCCCAGACCAACAGCTAAGTCCCAAAAAATGTTAAGTGGAAAGGATGTGGGTTGCACAGACAACTAGGATGTTACTCAGAAGCAGCTTTCAAAGAGTG
+                      CGTAATAGCTCACTAGTCGAGTGACCCCCGAAAATGTCGGCTAAACATATTACCGAAGCTTTGGATTTATGGTAGGAGAGCGTTCTTAAGCGATAAGGTA
+                      TACCGTGAGAGTGCTGGAGCGTTAAGAAGTGAGAATGCGGTATGAGTAGCGCAGATAAGTGAGAATCTTATCCACCGTAAGACTAAGGTTCCAGGGGAAG
+                      CTCGTCCGCCCTGGGTTAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGACAACTGGTGATATTCAGTACGGGACGCAGAGGCTAAGAGACCAGA
+                      TGGCTGGCTCTCCTGCCAAGAAAAGCCCCGTACCAAACCGACACAGGTAGTCAGGCGAGTAGCCTCAGGTGTCGAGAGAACTCTCGTTAAGGAACTCGGC
+                      AAAATAGCCCCGTAACTTCGGGAGAAGGGGTGCTGGAAGCGCCGCAGTGAATGGCCCAAAACTGTTTATCAAAAACACAGCCTCTGCTAAACCGCAAGGT
+                      ATGTATAGGGGGTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGTGCTTAAGTATGAATTGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAATGATTTGGGCACTGTCTCAACGAGAGACTCGGTGAAATTTTAGTACC
+                      TGTGAAGATCAGGTTACCCGCGACAGGACGGAAGACCCCAGGAGCTTTACTGTAGTTTGATATTGAGTACCTGTAAGTCATGTACAGGATAGGTAGGAGC
+                      CATTGAAATAGGGACGCTAGTTTCTATTGAGGCTTGTGGGATACTACCCTTGACTTATGGTACTCTAACCCGCATAGGGAGACAGTGTCTGACGGACAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGAGTAACGGAGGCGCTCAAAGGTTGGCTCAGATTGGTTGGAAATCAATCGTAGAGTGTAAAGGTAAAAGCCAGCT
+                      TGACTGCGAGAGCTACACTGAGCAGGTAGGAAACGGACTTAGTGATCCGGTGGTACCGATGGAAGGGCCATCGCTCAACGGATAAAGCTACCCTGGGATA
+                      ACAGGCTTATCTCCCCCAAGAGTTCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGTAGTCGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGCACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCGTCGCGGGCGTAGGTAATTGAGAGGACTGTCCTTAGTA
+                      CGAGAGGACCGGGATGGACTTACGCTGGTGTACCAGTTGTTCCGCCAGGACAGGCTGGATAGCTATGTGGGAGGGATAAGCGCTGAAACATCTAAGTGCA
+                      AGCCCCCTAAGAGAGATTACCCAGAGCCCAGAGAGATGATTGGTGATGGCTGG
+
+Tropheryma            CATTTAAGGCAAATGGTGGATGCCTTGGTATCTAGCCGAAGAAGGACGTAGCAACTGCGATAAGCCTCGGGAAGCTGTAAGGAGCTTGATCCGAGGATTT
+                      CCGAATGCTCATATAGGGGACGTGGGGAGTGAAACATCTCAGTACCCACGGAAGAGAAAGCAATGCGATTCCGTTAGTAGTGGCGAGCGAAACCGGAACA
+                      GGCCGGATATAGGTGAATGATTTTGAACGTCAACCAAGAGGTGAAGTCCCGTATCAATCCCAAGTGCACGGGCCCCGTGAAATCCCGTGTGAATCTGTCA
+                      AGACCACTTGATAAGCCTAAATACTACAGATAACCGATAGTGGAGAGTACCGTGAGGAAAGGTGAAAAGTCCGGAGTGAAAAGACTGAATCCATTTGCTT
+                      ACAACCGTCGGAGCAGTTTGTGACGGGTGCCTTTTGAAGAATGAGCCTGCGAGTTAGGATGTGTGGCGGATTAACTTGGTAGTCGTAGCGAGCGGTCTGA
+                      ATAGGGCGTAGTCGCATGTCCTAGACCCAAGCGAGTGATCTATCCATGGCCAGCTGAAGCGAGGTAAGACCTCGTGGAGGGCCGAACACTTAGGTTGAAA
+                      ACTGAGGGATGAGTGTGATCGGGGTGAAAGGCCAATCAAACTTGTTATAGCTGGTCTCTCCGAAATGCATTTAGGTGCAGCGTTGCGTTCTGCCGAGGTA
+                      GAGCACTGGATGGCCAAGGCCCAGGTAACGTCAGCCAAACTCCGAATGCCGGAGCGCAGCAGTGAGGCGCGGGGGATAAGCTTCGTAGCCGAGAGGGAAA
+                      CAACCCAGACCACCAATTAAGTCCCTAAGGGTGCTAAGTGGAAAGGATGTGAGTTGCACAGACAGCCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGTGATTCCCGACAATGTCGGCTAAGCACATCACCGAAATTGTGGCATTTGGGTAGGAGAGCGTCGTGTGCGAAAAAGCGG
+                      CGATGTAATCGCCGTGGACGCTACACGAGTGAGAATGAGGCATGAGTAGCGAAGGCGGGTGAAAAACCCGCCCCCCGAATAACTAAGGTTCCAGGGCCAG
+                      CTAATCCGCCCTGGGTAAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGACAACGGGTGATATTCCGTACGTGACGCAGAAGGTAGCCAACCGGA
+                      TGGCCGGTGGTTCTGACTAGAAAAGCCCCGTACCAAACCGACTCAGGTGGTTGGTAGAGAATACCAAGGGGTCGAGAGAATCGTGGTTAAGGAACTCGGC
+                      AAAATGCCTCCGTAACTTCGGGAGAAGGAGGGCCTGTACGGTCACAGAAACCGTGGGAGGACTGTTTATTAAAAACATAGGCTGTGCCAAGTCGTAAGAC
+                      ACGTATACAGACTGACGCCTGCCCGGTGCCGGAAGGTTAAGAGGACGGGTTTGGTCGGAATTTAAGCCCCGGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCCCAACTGTCTCAACCGCGAACTCGGCGAAATTGCACTACG
+                      AGTGAAGATCTCGTTACGCGTAGCAGGACGGAAGACCCCGAGACCTTTACTATAGCTTGGTACTGGTACTTGGTGCGGTTTGTGTAGGATAGGTGGGAGA
+                      CTGTGAAGCGGGTGCGCCAGCACTCGTGGAGTCTTGTGAAATACCACTCTGATCGCCCCGGTGTCTAACTTAGATTCGAGGACAATGCCTGGTGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCCAAAAGGTAACGGAGGCGCCCAAAGGTTCCCTCAGCCTGGTCGGTAATCAGGTGGCGAGTGTAAGTGCACAAGGGAGCT
+                      TGACTGCGAGACTGACGGTGAGCAGGGACGAAAGGGGACTAGTGATCCGGCAGTGGCTGTGGAAGCGCTGTCGCTCAACGGATAAAGGTACCTCGGGATA
+                      ACAGGTTGGTCCCTCCCAAGAGTCCATATCGACGGAGGGTTCGACACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGTAGCAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCCGCTACGCGCGTCGGAAATTGAGAGGACTGACCCTAGTA
+                      CGAGAGGACCGGGTTGGACGAACTCTGGTGTACCAGTTGTCCTGCCAAGGCAGGCTGGTTTGCTACGTCGGACGGATAACCGCTGAAACATCTAAGCGGA
+                      AACCGCCTAAGAGAGATTTCCAAGGCTCCCAGTAGAACACGGGTGATGGCTCG
+
+Buchnera at aphidicola   CAAATAAGGTACATGGTGAATGCCTTGGCAGTCAGGCGAAGAAGGACGTGCTAACTGCGAAAAGCGACGGCAAGCTGATATAAGCCTTAACCGTCGATTT
+                      CCGAATGTTAAAATAAGCAACCAAGGGACTGAAACATCTAAGTACCTTGGGAAAAGAAATCAACGAGATTCCCTTAGTAGTGGCGAGCGAAAAGGGAAAA
+                      GCCCAACTATAGCAGAATGATTTGGAAATTCAGCGTACAGGTGAAGCCCTGTAGCAATGAAAAGTGAGCGGGACACGAGAAATCCTGTTTGAATATGGGG
+                      GGACCATCCTCTAAGGCTAAATACTCTGACTGACCGATAGTGAATAGTACCGTAAGGAAAGGCGAAAAGACCGGAGTGAAAAGACTGAAACCGTGTACGT
+                      ACAACAGTGGAAGCATTATGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTGTACTCTGTAGCAGGTTAACAAGGGAGCCGAAGGGACCGGTCCTA
+                      AATAGGCGAAGTTTCAGGGTACAGACCCAAACCGGTGATCTAGCCATGAGCAGTTGAAGGTTGGTAAAACCAACTGGAGGACCGAAGACTGATGTTGAAA
+                      AATCACGGATGACTGTGCTAGGGGTGAAAGGCCAATCAAACCGGAGATAGCTGGTCTCCCCGAAAGCTATTTAGGTAGCGCCTCGTGCATCTACGGGGTA
+                      GAGCACTGTTTCGGTTAGGGCTCGCTAATCCGATGCAAACTCCGAATACCGTTGCACGGGAGACACACGCGGGTGCTAACGTTCGTTGTGGAAAGGGAAA
+                      CAACCCAGACCGCCAGCTAAGTCCCAAAGCTAGTTAAGTGGAAACGATGTGGAAGGCATAAACAGCCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGGTCAAGTCGGCCCGGAAGATGTCGGCTAAATTATGCACCGAAGCTGCGGCATATGGGTAGGGGAGCGTTCTGTACCAATAAGATG
+                      TATTGTAAATATGTTGGAGGTATCAGAAGTGCGAATGTGACATGAGTAACGAAAGCAGGTGAAAAACCTGCTCGCCGAAAAACTAAGGTTCCTGTCCAAG
+                      TTAATCGGGGCAGGGTGAGCCGACCCCTAAGGCGAGGCTGTACGTAGTCGATGGAAAACAGGTAATATTCTGTGCGGGACGAAGAGGTTAGGTTACCAGA
+                      CGGCTGGAACTCCTTCCAAGAAAATCATCGTACCAAACCGACACAGGTAGTTGGTAGAGAATACTAAGGCGTTGAGAGAACCCAGGTGAAGGAACTAGGC
+                      AAAATAGTGCCGTAACTTCGGGAGAAGGCACGCTAGTGATGTCGAAGATACCGCTGGTGAACTGTTTATTAAAAACACAGCCTGTGCAAACACGAAAGTG
+                      AAGTATACGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAATCGAAGGAGTAAAGTCCAGACTGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAATGATGGCCAGGCTGTCTCCACCTGGGACTCAGTGAAATTGAAATTGC
+                      TGTGAAGATCAGTATATCCGCGGCAAGACGGAAGACCCCGGAACCTTTACTATAGCTTGACACTGAATTCTGAATTTTAACGTGTAGGATAGGTGGGAGG
+                      CTATGAAGTTAAAACGCTAGTTTTAATGGAGCCAACTGAAATACCACCCTTTACAATTCGTGTTCTAACCTAGATGCAGAGACAGTGTCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGAGTAACGGAGGAGTACGAAGATTGGCTAATCACGGTCGGACATCGTGAGGTTAGTGCAAAGGCATAAGCCAGTT
+                      TGACTGTGAGCGTGATGCGGAGCAGGTGCGAAAGGGTCTTAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGACGTTGGAAGTTGAGGGGGCTGCTTCTAGTA
+                      GCAGAGGACCGAAGTGGACGCATACTGGTGTTCGGGTTGTCATGCCAATGCATGCCCGGTAGCTATATCGGAAAGATAAGTGCTGAACCATATAAGCACA
+                      AACTTCCCAAGATAATCTTCCCAGGGACGTTGAAGACTACACGTAATGGCTAG
+
+Pirellula             CTATTAAGGCGTATGGGGGATGTCTTGGTATCAAGGCGATGAAGGGCGTGGAAGCTGCGATAAGCCTGGGGGAGTTGCAAAGAACGTGATCCCGGGATTC
+                      CTGAATGACTACATGTGCTACCCAGAGACTGAAACATCTCAGTACCTGGGGAAGAGAAAGAAAATCGATTTCGTCAGTAGCGGCGAGCGAAAGCGAAATA
+                      GCCCGGGGCTAGTTGAACGACATGGAAAGTCGGCCCAGAGGTGAAGCCCGGTAACAAGCCTGAGTGGTTCAGGCACGTGAAACCTGGACTGAATCCACGG
+                      GGACCATCCCGTAAGGCTAAATACTCCTGATAACCGATAGCGAACAGTATGGCGATGAAAGATGAGAAGACCTGAGGTATGTGACTGAAACCATACGCTT
+                      ACAACGGTCGGAGCCCAGGGTGACGGGTGCCTTTTGCATAATGATCCGGCGAGTTACGGTCTGCGGCAGGTTAAATACGAAGCCAGAGGGACCGGTCTGA
+                      ATAGGGCGTAGTCGTAGGCTGTAGACGCAAACCAGTGATCTACCCATGAGCAGTTGAAGCGCGGTTATACCGCGTGGAGGACCGAACACTTGGGTTGAAA
+                      ACCGAGGGATGACTGTGGGAGGAGTGAAAGTCTAATCAAACTTGAGATATCTCGTCTCTCCGAAATAGCTTTAGGGCTAGCCTTGAGTACCACCGGGGTA
+                      GAGAACTGAATCGATTGGCCCTCGGGATGTCGGACCAAACTCCGAATACCGGGACTCAGGAGTCAGTCACGAGGGATAAGCTTCGTGGTCGAGAGGGAAA
+                      CAACCCAGACCGTCTGTTAAGTCCCGAAGAACGCTCAGTCATAAGGAGGTGAATTACTGTGACAACCAGGATGTTGCTTAGAAGCAGCCTTTAAAAAGTG
+                      CGTAACAGCTTACTGGTCGAGTAATTCCCGATAATGACGGGTAAGCGTCTCACCGAAGCAGCGGACAAGTGGTAGGAGAGCGCCGATAGCAATAGAGCCG
+                      TACCGAAAGAGCGGTGTTGGGCTATCGGGTGATTATGCGGAATGAGTAACGAAAACAGGTGAGAATCCTGTTCGCCGAATACCTAAGGTTCCTGGGGAAG
+                      CAATTCCGCCCAGGGTTAGCCGGTGCCTTAGTCGAGGCCGAACGTAGACGATGGATAGCAGGTAATATTCTGCGCGGGACGGCGCCGAAAGGTGACGGGG
+                      TGGCCCGCATCACGTCCAAGAAAAGCACCGTACTAAACTGACACAGGTAGGTGGTCGAGTAGACCAAGGCGTCGGGAGAACAGTGGTTAAGGAACTCTGC
+                      AAAATGACCCCGTAAGTTCGCGATAAGGGGTGCCCCCAGGGCCACAGAAAATGGCTCTGGACTGTTTATCAAAAACACAGGCCCTGCTAACTCGCAAGAG
+                      ATGTATAGGGTCTGACGCCTGCCCGGTGCCGGTAGGTTAAGGAAGAGGGTCAAGTCGCGACCGAAGCCCCGGTAAACGGCGGCCGTAACTATGACGGTCC
+                      TAAGGTAGCGAAGTTCCTTGTCGGGTAAGTTCCGACCTGCATGAAAGGCGTAACGACTGGAGCACTGTCTCAATCACTGACCCGGTGAAATTGTAGTTGT
+                      GGTGAAGATCCACATACCCGCAGTTAGACGGAAGACCCCGGAACCTTTACTGTAGGCTGATATTGGTCTGAGATATGTTCTGTGTAGGATAGGTGGGAGG
+                      CTTTGATCTCGGCGCGCCAGCGTCGGAGGAGCCTCCTGAAATACCACCCTGAATATGTTTAGCTCTAACCCTGATCAGGGAACAGTGTCAGTTGGGCAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGAGTAACGGAGGAGTGCAATGGTACCCTCAGCCTGGTTGGCCATCAGGCAAAGAGCGCAATGGTAAAAGGGTGCT
+                      TGACTGCGAGACTTATCGTGAGCAGGTACGAAAGGGTCATAGTGATCCGGTAGTCCCGATGGAAGGGCTATCGCTCATCAGATAAAGGTACTCCGGGATA
+                      ACAGGCTTATCGCATCCGAGCGTCCATAGCGGCGATGCGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGGTGAAGAAGCTCCAAGGGTTCGCTG
+                      TTCGCCGATAAAGTGGTACGTGAGCTGGGTTCAGACCGTGTGAGACAGGTCGGTCCCTATCTGCTGTGGGCGTACGAATTTGAGGAGGTCTTCTTTAGTA
+                      CGAGAGGATTTGGAAGGACGACCTCTGGTGTCCCAGTTGTCATGCCAGTGCAGGCTGGATAGCTATGGCGGAAGGATAAACGCTGAAACATCTAAGCGTA
+                      AGCCCCTCAAGATAGAATTCGTAGTCCCCTGGAAGACGACAGGTGATGGCTGG
+
+Mycobacterium at smegma  TGTTTAAGGCGCATGGTGGATGCCTTGGCACTGAGCCGATGAAGGACGTAGGAGCTGCGATAAGCCTCGGGGAGCTGCAACGAGCGTGATCCGAGGATGT
+                      CCGAATGCCAATATGGGGGACGCGGGGAGTGAAACATCTCAGTACCCGTGGAAGAGAAAACAAAGTGATTCCGTGAGTAGTGGCGAGCGAAAGCGGAGGA
+                      GGCTGGAGGTAGCGGAAAGGCTTGGGATGCCTGCCTAGAGGTGAAGCCCGGTAGTAAACCCGAGTGCAGCGGGCCCGTGGAATCTGCTGTGAATCTGCCG
+                      GGACCACCCGGTAAGCCTGAATACTTCCAGTGACCGATAGCGGATAGTACCGTGAGGAATGGTGAAAAGTCCGGAGTGAAAAGACTGAAACCGTGCGCTT
+                      ACAACCGTCAGAGCCCTGGGTGATGGGTGCCTTTTGAAGAATGAGCCTGCGAGTCAGGACATGTCGCGGGTTAACGGGGTAGCCGCAGCGAGCGGTCTGA
+                      ATAGGGCGTAGTGGTGTGTTCTGGACCCAAGCGAGTGATCTACCCATGGCCAGGTGAAGCGCGGTAAGACCGCGTGGAGGCCCGAACACTTAGGTTGAAG
+                      ACTGAGGGATGAGTGTGGTAGGGGTGAAAGGCCAATCAAACTCGTGATAGCTGGTCTCCCCGAAATGCATTTAGGTGCAGCGTCGCATTCTGCCGAGGTA
+                      GAGCACTGGATGGCCGAGGCCCCGGTAACGTCAGCCAAACTCCGAATGCCGGAGTGCGGCAGTGAGACGCGGGGGATAAGCTCCGTCGTCGAGAGGGAAA
+                      CAGCCCAGATCGCCGGCTAAGCCCCTAAGGGTGCTAAGTGGAAAGGATGTCAGTCGCGAAGACAACCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGTGATTGCCGATAATGTCGGCTAAGCACACCGCCGAAGCCGCGGCAGTTGGGTAGGGGAGCGTCCTGCACCGGTAAGCCG
+                      CCGAGTGACGGTGGTGGAGGGTGTGGGAGTGAGAATGAGGCATGAGTAGCGAAGGCAAGTGAGAACCTTGCCCGCCGAAAGACCAAGGTTCCTGGGCCAG
+                      CCAGTCCGCCCAGGGTGAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGACAACGGGTGATATTCCGTACGTGACGCAGAAGGTAGCCGTCCGGG
+                      TGGCCGGCGGTTCTGCCGAGAAAAGCCCCGTACCAAACCAACACAGGTGGTCGGTAGAGAATACTAAGGCGACGAGTGAACTATGGTTAAGGAACTCGGC
+                      AAAATGCCCCCGTAACTTCGGGAGAAGGGGGACCCATTGGGTGGCACAAACCGTGAGAGGACTGTTTACTAAAAACACAGGCCGTGCGAAGTCGCAAGAC
+                      ATGTATACGGACTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGACCCGTTTTGGGAGAATTTAAGCCCCAGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCTCAACTGTCTCAACCATAGACTCGGCGAAATTGCACTACG
+                      AGTAAAGATCTCGTTACGCGCGGCAGGACGAAAGACCCCGGGACCTTCACTACAACTTGGTATTGGTGCTCGATACGGTTTGTGTAGGATAGGTGGGAGA
+                      CTGTGAAGCTCACACGCCACTGTGGGTGGAGTCTTGTGAAATACCACTCTGATCGTATTGGCCTCTAACCTCGATTCAGGGACAGTGCCTGGTGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCTCCAATGTAACGGAGGCGCCCAAAGGTTCCCTCAACCTGGACGGCAATCAGGTGTTGAGTGTAAGTGCACAAGGGAGCT
+                      TGACTGCGAGACGGACAGTGAGCAGGGACGAAAGGGGACTAGTGATCCGGCACCTCTGGTGGAAGGGGTGTCGCTCAACGGATAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTTCCCCAAGAGTCCATATCGACGGGATGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGGAGCAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGCACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCTCTATCCGCCGCGCGCGTCAGAAGTTGAGGAAACTGTCCCTAGTA
+                      CGAGAGGACCGGGACGGACGAACTCTGGTATACCAGTTGTCCCACCAGGGCAGGCTGGATAGCCACGTCGGCAGGATAACCGCTGAAACATCTAAGCGGA
+                      AACCTTTCAAGACAGGCTTCTCAGGCCCCCCGCAGACCACGGATGATGACCAG
+
+Leucothrix            TGACTAAGGTATGTGGTGGATGCCTAGGCGATAAGGCGATGAAGGACGTAGTAACTGCGAAAAGCCCCGGTGAGCTGTAAAAAGCTGGACCCGAGGATGT
+                      CCGAATGTCGACATGAGCTACCCGGAGACTGAAACATCTAAGTACCCGGGGAACAGAAATCAACGAGATTCCCTTAGTAGCGGCGAGCGAACGGGGACCA
+                      GCCCCGGGATAAGAGAACACGTTGGGAACGTGACCGAGTGGTGAAGTCCCGTACTAATGAAGAGTGGTCGGGACACGTGATATCCTGATTGAACATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTTATCGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCGGAGTGAAAAGACTGAAACCGCATACGT
+                      ACAACAGTGGGAGCCTTGGGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTACTCATCGTGGCAGCTTAAGTAGGTAGGCGTAGGGACCGGTCTTA
+                      ATAGGGCGAAGTCGCGGTCAGTAGACCCAAACCAGCGATCTATCCATGGCCAGTTGAAGGTGGGTAACACCTACTGGAGGACCGAACACGTATGTTGAAA
+                      AATGCGGGATGAGTGTGATCGGAGTGAAAGGCTAATCAAGCTCGAGATAGCTGGTCTCCTCGAAATCTATTTAGGTAGAGCCTCATGTACTCACGGGGTA
+                      GAGCACTGTTATGGCTAGGGGGCCCTAACCCATTGCAAACTCCGAATACCGTTACATGGGAGTCACACGCGGGTGCTAACGTCCGTCGTGGAAAGGGAAA
+                      CAACCCAGACCGCCAGCTAAGTCCCAAAATCAGCTCAGTGGAAACGATGTGGAAGGCACAGACAGCCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGGTCGAGTCGGCCCGGAAGATTTCGGCTAAGCTGTATACCGAAGCTGCGGAATTTTGGTAGAGGAGCGTTCTGTACCAATAAGGTG
+                      AATCGTAAGTTTGCTGGAGGTATCAGAAGTGCGAATGTGACATAAGTAACGAAGACGGGTGAAAAACCCGTCCGCCGAAAATCCAAGGTTCCTGCGCAAG
+                      TTAATCGGCGCAGGGTTAGTCGGCCCCTAAGGCGAGGCAGAACGTAGTCGATGGGAAACAGGTAATATTCTGTACGTGACGGAGAGGCTAGGCTAAACAT
+                      TGGTGTAAGTCCCTTCCAGGAAAAACACCGTACTAAACGGACACACGTGGATGGATGAGAATTCCAAGGCGTTGAGAGAACTCTGGTGAAGGAACTAGGC
+                      AAAATAGCACCGTAACTTCGGGAGAAGGTGCGCCCCATGGGCCGCAGAGACCGGTGGTGGACTGTTTATCAAAAACACAGCCTCTGCTAACGCGAAAGCG
+                      ACGTATAGGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAATTGATGGGGTTCGGTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACGGCCACACTGTCTCCACCAGAGGCTCAGTGAAATTGAAATCGC
+                      AGTTAAGATCTGCGTACCCGCGGCTAGACGGAAGACCCCGGCACCTTTACTACAGCTTTGCACTGAACATCGGGCCTACTTGTGTAGGATAGCTGGGAGG
+                      CTTTGAAACCGGGACGCTAGTTCCGGTGGAGCCATCTGAAATACCAGCCTGGTAGTTCTGTGTTCTAACCACGATTTTGGGACAGTGTATGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCTAAAGCGTAACGGAGGAGCGCGAAGGTTCACTAATCATGGTCGGAAATCATGAGGTTTGTGCAAAGGCATAAGTGAGCT
+                      TGACTGCGAGACAGACAGTGAGCAGGTACGAAAGGGTCTTAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACGCCGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGCGGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGTTAGAATTTGAGGAAACTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGAACTCTGGTGTACCGGTTGTCACGCCAGTGCAAGCCGGGTAGCTAAGTCGGCAGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCCTTCAAGAGAGTATGCTCAGGGCCGTTGAAGACTACACGTGATGGCACC
+
+Streptococcus         TTAATAAGGCGCACGGTGGATGCCTTGGCACTAAGCCGATGAAGGACGTGACTACGACGAAATGCTTTGGGGAGTTGTAAGAAACATGATCCAGAGATGT
+                      CCGAATGCTCGTTAAGGAAACGCAGTGACTGAAACATCTAAGTAGCTGCGGAAGAGAAAGCAAAGCGATTGCCTTAGTAGCGGCGAGCGAAGCGGCAAGA
+                      GGGCGGATATAGAAGAATTACCTGGGAAGTAAGCCAAGAAGTAAAGCCTCGTATCAATCCTGAGTCGGCGAGACACGAGAAATCTCGTTGGAATCTGGGA
+                      GGACCATCTCCCAACCCTAAATACTCCTAGTGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGACTGAAACCGTGTGCCT
+                      ACAAAAGTTCGAGCCCAGGGTGAGAGGTGCCTTTTGTAGAATGAACCGGCGAGTTACGATATGATGCGGGTTAAGAAAGGAGCCGTAGGGACCGGTCTTA
+                      ATAGGGCGTAGTATCATGTCGTAGACCCAAACCTGTGACCTACCCATGAGCAGGTGAAGGTGAGTAAAACTCACTGGAGGCCCGAAAGGGCACGTTGAAA
+                      AGTGCTGGATGACTGTGGTAGCGGAGAAATTCCAAACGAACTTGAGATAGCTGGTCTCTCCGAAATAGCTTTAGGGCTAGCGTCGATGTCTCTTGAGGTA
+                      GAGCACTGTTTGATTGAGGTCTCGATAATATCAGATAAACTCCGAATGCCAAATATCGGCAGTCAGACGCGAGTGCTAAGATCCGTAGTCGAAAGGGAAA
+                      CAGCCCAGACCACCAGCTAAGTCCCAAAAAATGTTAAGTGGAAAGGATGTGGGTTGCACAGACAACTAGGATGTTACTTAGAAGCAGCTTTCAAAGAGTG
+                      CGTAATAGCTCACTAGTCGAGTGACCCCCGAAAATGTCGGCTAAACATATTACCGAAGCTGTGGATTTATGGTAGGAGAGCGTTCTATGGTGATAAGGTG
+                      TACCGTGAGAGCGCTGGAACGCATAGAAGTGAGAATGCGGTATGAGTAGCGAAGACAGGTGAGAATCCTGTCCACCGTATGACTAAGGTTCCAGGGGAAG
+                      CTCGTCCTCCCTGGGTTAGTCGGGACCTAAGGAGAGACCGAATGTATCCGATGGACAACAGGTGATATTCTGTACGGGACGCAGAGGCTAACTAACGTGT
+                      TGGCACGTAGTCCTGCCAAGAAAAGCCCCGTACCAAACCGACACAGGTAGTCAGGCGAGTAGCCTCAGGTGGCGAGAGAACTCTCGTTAAGGAACTCGGC
+                      AAAATGGCCCCGTAACTTCGGGAGAAGGGGCGCTGGTAGCGCCGCAGTGAATGGCCCAAAACTGTTTATCAAAAACACAGCCTCTGCTAAATCGTAAGAT
+                      ATGTATAGGGGGTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGCGCTTTAGTGTGAATTGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAATGATTTGGGCACTGTCTCAACGAGAGACTCGGTGAAATTTTAGTACC
+                      TGTGAAGATCAGGTTACCCGCGACAGGACGGAAGACCCCAGGAGCTTTACTGCAGTTTGATATTGAGTATGTGTACCACATGTACAGGATAGGTAGGAGC
+                      CTAAGAAGCCGGGACGCTAGTTTCGGTGGAGGCTTGTGGGATACTACCCTTGTGTTATGGTACTCTAACCCAGATTCGGAGACAGTGTCTGACGGGCAGT
+                      TTGACTGGGGCGGTTGCCTCCTAAAAGGTAACGGAGGCGCCCAAAGGTTCCCTCAGAATGGTTGGAAATCATTCGCAGAGTGTAAAGGTATAAGGGAGCT
+                      TGACTGCGAGAGCTACACTGAGCAGGGACGAAAGGGGCTTAGTGATCCGGTGGTTCCAATGGAAGGGCCATCGCTCAACGGATAAAGCTACCCTGGGATA
+                      ACAGGCTTATCTCCCCCAAGAGTTCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGTAGTCGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGCACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCGTCGCGGGCGTAGGAAATTGAGAGGACTGCTCCTAGTA
+                      CGAGAGGACCAGAGTGGACTTACGCTGGTGTACCAGTTGTCTTGCCAAAGCACGCTGGGTAGCTATGTGGGAGGGATAAACGCTGAAACATCTAAGTGTA
+                      AGCCCCCTAAGAGAGATTTCCCAGAGCCCTGAGAGATGATAGGTGATGGTTAG
+
+Clostridium at botulinu  CTACAAAGGCGCATGGTGAATGCCTTGGCATCAAGCCGATGAAGGACGCGATAACTGCGATAAGCTTCGGGTAGACGCACAAGTCAGGATCCGAAGATTT
+                      CCGAATGTCGACATGAGTAACCCAGGGACTGAAACATCTAAGTACCTGGGGAAGAGAAAGAAAATCGGTTTTCTTAGTAGCGGCGAGCGAAAGGGAAAGA
+                      GCCCGGAGTTAACCGAACCAACTGGAAATTGGACCTAGGGGTAAAGTCCTGTAGTAAACCAGAGTCCACGAGACACGTGAAACCTTGTGGGAAGCAGGGA
+                      GGACCACCTCCCAAGGCTAAATACTACTGATGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGACCGGAGTGAAAAGACTGAAACCATGTGCCT
+                      ACAACGATCAAAGCACAGTGTGATGAGTGCTTTTTGTAGAACGAGCCAACGAGTTACGGTATGTAGCAGGTTAAGAAAGGAGCCGAAGGGACCGGTCTTA
+                      ATAGGGCGTAGTTGCATGCTGTAGACCCAAACCGGTGACCTATCCATGGCCAGTTGAAGCGAGGTAAAACCTCGTGGAGGACCGAAAGTTGCTGTTGAAA
+                      AAGCAGGGATGAGTGTGATAGCGGAGAAATTCCAATCGAACTCGATATAGCTGGTCTCCTCGAAATAGCTTTAGGGCTAGCGTCGGAGTGTACTGGGGTA
+                      GAGCACTGAATGGGCTAGGGCTGGCTAAACCTTATCAAACTCCGAATACCAGATTCCGGCAGTCAGACGCGAAAGATAAGTTCCGTAGTCAAAAGGGAAA
+                      CAGCCCAGATCGTCAGCTAAGTCCCAAAGGAAGTTAAGTGGAAAGGATGTGGATTTCTAAGACAACTAGGATGTTGCTTAGAAGCAGCCTTAAAAGAGTG
+                      CGTAATAGCTCACTAGTCAAGAGATCCCCGAAAATGTCGGCTAAACTTAACACCGAAGCTACGGGTATGCGGTAGAGGAACGTCGTAATGGGCTAAGTCG
+                      TACCATAAGAGCGGTGGACTGATTACGAGTGAGAATGTGGCATTAGTAGCGAATGTGGGTGAGAATCCCACAGGCCGAATACCTAAGGTTCCTCAGGAAG
+                      TTCGTCCGCTGAGGGTTAGTCGGGACCTAAGCTGAGGCCGAACGTAAGCGATGGACAATCGGTGATATTCGATACGTGACGGAGAGGATAGGATGCTAGT
+                      TGGCTAGATCTCCTTCCAAGAAAAGCCCCGTACCAAACCGACACAGGTAGGTAGGAGAGAATCCTAAGGCCGCGGAAGAATTGCAGTTAAGGAACTAGGC
+                      AAATTGACCCCGTAACTTCGTGAGAAGGGGTGCCTGAGGAGCCGCAGAGAATGGCACAAAACTGTTTAACAAAAACACAGGCTCTGCTAAAGCGAAAGCT
+                      ATGTATAGGGGCTGACGCCTGCCCGGTGCTGGAAGGTTAAGGGGAACACTTAAGTGTGAACTTAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTGGCGAAATTCCTTGTCAGGTAAGTTCTGACCCGCACGAATGGCGTAATGACTTGTGCACTGTCTCAACTGCAAATCCGGCGAAGTTGTAGTGCG
+                      AGTGAAGATCTCGCTACCCGCGATTGGACGGAAGACCCCGAGAGCTTTACTGTAGCTTAGCATTGAATTTCGGTATTGTCTGTACAGGATAGGTGGGAGA
+                      CTGGGAAATCAGAGCGTCAGCTTTGATGGAGTCTCCTGGGATACCACCCTGATAGTACTGAATTCTAACTGGAATGACAGGACATTGTTAGGTGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAAAGTAACGGAGGCGCCCAAAGGTTCCCTCAGAACGGTCGGAAATCGTTCGTAGAGTGCAAAGGCATAAGGGAGCC
+                      TGACTGCGAGACCTACAGTGAGCAGGGACGAAAGGGGCTTAGTGATCCGGTGGTACCTGTGGGAGGGCCATCGCTCAACGGATAAAGCTACCTCGGGATA
+                      ACAGGCTGATCTCCCCCAAGAGTTCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGAAGTAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGCACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCGTCGCGGGCGCAGGAAATTGAGAAGACTGTCCTTAGTA
+                      CGAGAGGACCGGGATGGACCGACTATGGTGTACCAGTTGTTTCGCCAGAACAAGCTGGGTAGCTAAGTGGGCGGGATAAACGCTGAAACATCTAAGCGTA
+                      AGCCTCTTAAGAGAGATTTCCCAGACCCCTTGAAGACTACAGGTGATGGTCAG
+
+Xylella               CGAATAAGGCACATGGTGGATGCCTTGGCGGTCAGGCGATGAAGGACGTGGTAGCTGCGAAAAGTGTCGGGGAGCTGGCAAAAGCTTGATCCGGCAATAT
+                      CCGAATGTCTTCATGAGCGACCTGGTGACTGAAATATCTAAGTAACCAGGGAAAAGAAATCAACGAGATTCCCTGAGTAGTGACGAGCGAACGGGGATTA
+                      GCCCTAATTTAGGAAAACAATCTGGAAAGTTGGCCTAGGGGTGAAGCCCTGTACCAAGGATGAGTGGACGGGGCACGTGAAACCTTGTCTGAATATGGGG
+                      GGTCCATCCTCCAAGGCTAAATACTCTGACCGACCGATAGTGAATAGTACCGTGAGGAAAGGCGAAAAGACCGGAGTGAAAAGACTGAAACCATGTGCGT
+                      ACAACAGTAGGAGCCCAAGGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTACTGTTCGTGGCGGCTTAACTAGGGAGGCGAAGGGACCGGTCTGA
+                      TAAGGGCGTAGTCGCGGGCAGTAGACCCAAACCGGTGATCTAGTCATGTCCAGGTGAAGGTGCTTAACAGGTACTGGAGGCCCGAACACTCCCGTTGCAA
+                      AGGTAGGGATGAGCGTATTAGGAGTGAAAAGCTAATCGAACCCGAGATAGCTGGTCTCCTCGAAAGCTATTTAGGTAGCGCCTCATATCCTCTCGGGGTA
+                      GAGCACTGTTATGGCTAGGGTTGACTGAACCATTGCAAACTCCGAATACCGAGATATGGGAGACACACGCGGGTGCTAACGTCCGTCGTGAAAAGGGAAA
+                      CAACCCAGACCCACAGCTAAGTCCCAAATCTAGCTAAGTGGAAACGATGTGAAAGGCATAGACAGCCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGGTCGAGTCGGTCCGGAAGATTTCGGCTAAGCTATGAACCGAAGCTTGGGGTTTGCGGTAGAGGAGCGTTCCGTACCTGTAAGGTG
+                      AGTTGAGAGCTTGCTGGAGGTATCGGAAGTGCGAATGTGACATGAGTAACGAATATGGGTGAAAAACCCATACGCCGAAAGCCTAAGGTTCCTGCGCAAG
+                      TTAATCGGCGCAGGGTTAGTCGGCCCCTAAGGCGAGGGCGAACGTAGTCGATGGGAAGCAGGTAATATTCTGCACGGGACGGAGAGGCTAGGTGTCCGGT
+                      TGGCCGGCACTCCTTCCAGGAAAAGCACCGTACCAAACCGACACAGGTAGGTGGATGAGAATTCTCAGGCGTTGAGAGAACTCGGGTGAAGGAACTAGGC
+                      AACATGGCACCGTAACTTCGGGAGAAGGTGCACCCTGTGGGTCGCAGAAACCGGCCGTGGACTGTTTATCAAAAACACAGCCTCTGCAAACACGAAAGTG
+                      ACGTATAGGGTGTGACGCCTGCCCGGTGCTGGAAGGTTAATTGATGGGGTAAAGTCTTGATCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACAGCGGCGCTGTCTCCACCCGAGACTCAGTGAAATTGAAATCGC
+                      TGTGAAGATCAGCGTTCCCGTGGCAAGACGGAAGACCCCGGAACCTTTACTATAGCTTTACACTGAACGTTGAGTTCGTCTGTGTAGGATAGGTGGGAGG
+                      CTATGAAACCGTGACGCTAGTTGTGGTGGAGCCTCCTGAAATACCACCCTGTCGTGCTTGCGTTCTAACCTAGATTCAGGGACAGTGTATGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGAGTAACGGAGGAGCACGAAGGTACGCTCAGCGCGGTCGGACATCGCGCACTGTGTGCAAAGGCATAAGCGTGCT
+                      TGACTGCGAGATCGACGATAAGCAGGTACGAAAGGGTCTTAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGTAGTCGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCATGGGCGTTGGAGATTGAGAGGGCTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGAACTCTGGTGTTCCGGTTGTCACGCCAGTGCATGCCGGGTAGCTATGTCGGAGCGATAACCGCTGAAACATCTAAGCGGA
+                      AGCGCCCTAAGAGAGATCTCCCAGGAACCATGTAGACTACTGGTGATGGTCAG
+
+Agrobacterium at vitis   TGCGTAAGGCATTTGGTGGATGCCTTGGCATGCAGGCGATGAAGGACGTGATACCTGCGATAAGCCGTGGGGAGCTGCGAAGAGCTTGATCCATGGATTT
+                      CCGAATGTCTACATGAGCGACTCGGGGACTGAAACATCTAAGTACCCGAGGAAAGGACATCAACGAGACTCCGTAAGTAGTGGCGAGCGAACACGGACCA
+                      GGCCGCATAAAGCGGAACAAGTTGGAAACTTGGCCTAGTGGTGAAGCCCCGTAGCAGACCTGAGTGGGCGGGACACGTGAAATCCTGTTCGAACATGGGG
+                      AGACCACTCTCCAAGCCTAAGTACTCTGCATGACCGATAGCGAAAAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGACTGAAACCGGATGCCT
+                      ACAACAGTAGGAGGGCAGCCTGACTGGTACCTTTTGTATAATGGGTCAACGACTTAGTGTAACTAGCAGCTTAAGGTGGTAGGCGCAGCGAGCGGTGTTA
+                      ATAGCGCGGAGTTAGTTGCATTAGACCCAAACCAGTGATCTAGCCATGAGCAGTTGAAGGTTGGTAACACCAACTGGAGGACCGAACGCATCTGTTGCAA
+                      TAGATGGGATGACTGTGTTAGGGGTGAAAGGCCAATCAAACTCGAAATAGCTGGTCTCCGCGAAAACTATTTAGGTAGTGCGTCGATTACCTCAGGGGTA
+                      GAGCACTGGATGGGCTAGGGACCTCTAATCCTAACCAAACTCCGAATACCTGTAATCGGCAGACACACGCGGGTGCTAACGTCCGTCGTGAAGAGGGCAA
+                      CAACCCTGACCTCCAGCTAAGTCCCCAAGCTGGCTAAGTGGAAAGGATGTAGGATCCCAAAACAACCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAACAGCTCACTGGTCTAGGGTCTTCCGAAAATGTCGGCTAAGCCATGCACCGAAGCTGAGGATTAGTGGTAGCGGAGCGTTCCGTACCTGTAAGGGC
+                      AGTCGTGAACATCCTGGAGGTATCGGAAGTGCGAATGTGACATGAGTAACGAAAGGGGGTGAGAGACCCCCTCGCCGAAAGACCAAGGTTCCTGCTTAAG
+                      TTAATCTGAGCAGGGTTAGCCGGCCCCTAAGGCGAGGCAGAACGTAGTCGATGGGAACCACGTAATATTGTGGGCGTGACGGATCACACAATTGTCAGTA
+                      CTGATTGCAGTGGTTCCAGGAAATACACCGTACCAAACCGACACAGGTGGTCGGTAGAGTATACCAAGGCGTTGAGAGAACTATGTTGAAGGAACTCGGC
+                      AAATTGCACGCGTAACTTCGGAAGAAGCGTGACCCCCAAGGTGGCACAGACCGGGGGAGGACTGTTTATCAAAAACACAGGCTCTGCGAAGTCGCAAGAC
+                      ACGTATAGGGTCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGAGGTCAAGTTTGAATCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCCCCGCTGTCTCCAACATAGACTCAGTGAAATTGAATTCCC
+                      CGTGAAGATCGGGGTTCCTGCGGTCAGACGGAAGACCCCGGCACCTTTACTATAGCTTTACACTGGCATTCGTGTCGGCATGTGTAGGATAGGTGGTAGG
+                      CTTTGAAGCTTGGACGCCAGTTCGAGTGGAGCCTCCTGAAATACCACCCTTATCGTCATGATGTCTAACCGCGATTCCGGGACAGTGTATGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCGAAAGAGTAACGGAGGCGCGCGATGGTGGGCTCAGACCGGTCGGAAATCGGTCGTCGAGTGCAATGGCATAAGCCCGCC
+                      TGACTGCGAGACTGACAGTGAGCAGAGACGAAAGGGTCATAGTGATCCGGTGGTCCCGGTGGAAGGGCCATCGCTCAACGGATAAAGGTACGCCGGGATA
+                      ACAGGCTGATGACCCCCAAGAGTCCATATCGACGGGGTGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGGAGCAGGTCCAAGGGTTTGCTG
+                      TTCGCCAATAAAGCGGTACGTGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGTGTAGGAATTTGACAGGACTGTCCCTAGTA
+                      CGAGAGGACCGGGATGGACATATTCTGGTGGACCTGTTGTCGTGCCAACGCAAGCAGGGTAGCTATATTGGATGGATAACCGCTGAAGCATCTAAGCGGA
+                      AACCACCTAAAAGAGTATTCCCAGAGCCGTGGAAGACGACACGTGATGGACGG
+
+Leptospira            TAAGAAAGGCGTACGGGGGATGCCCGGGCATCAACGCGATGAAGGACGTGGCTTCTGCGATAAGCAACGGGGAGTTGTAAGAAGCATGATCCGTTGATTT
+                      CCGAATGCGCAAACCGGCAAGTCGGGGATTGAAACATCTTAGTACCCGGATAAAAGAAAATAAGATGATTCCGTCAGTAGCGGTGAGCGAACGCGGAAGA
+                      GCCTGGAATTAGCAGAACGGTATGGAAAGCCGACCTAGAGGTGAAGTCCTGTAGCAAACCTGAGTCCACGGAACACGTGTAATTCAGTGGGAATCTGCGG
+                      GGACCACCCCGTAAGGCTAAACAGTACTGATGACCGATAGAGAAAAGTACCGCGAGGAAAGGTGAAAAGTGGGGAGTGAAAAGACTGAAACCGTATGCTT
+                      ACAAGTATCAGAGCCTTGGGTGATGGGTGCCTTTTGTAGAATGAGCCGGCGAGTTATTTTACGTTGCAGCTTAAGGACGTAGGCGAAGCGAGCGGTCTGA
+                      ATAGGGCGAAGTAGCGTGGAATAGACCCAAGCCGTCGAGCTATCCATGTCCAGTTGAAGGTGGGTAAAACTCACTGGAGGACCGAACTTTTTCGTTGAAA
+                      AGAATGGGATGAGTGTGATAGGGGTGAAAGGCCTATCAAGGCAGCGATAGCTGGTCTCTCCGAAATAGGTTTAGGCCTAGCGTCAGTTAGTTGCGGGGTA
+                      GAGCTCTGAAAGGACTAGGGCCCGCTAAACCCTATCAAACTTCGAATACCGTTCACTGGCAGTCAGACACGGGGGATAAGCTCCGTGGTCAAAAGGGAAA
+                      CAGCCCAGACCGTCGTTTAAGCCCCAAAGTATGCTAAGTGGAAAGGATGTGGGGCGCATATACAACCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAGTG
+                      CGTAATAGCTCACTGGTCGAGTGCTCCCCGAAAATGTTCGACAAGCATGGCGCCGAAGGCACGGATTAGTGGTAGGAGAGCGTTCTTTCCCGTTAAGGCG
+                      TACCGTAAGAGCGCTGGAGGAGTAAGAAATGAAGATGTGGCATGAGTAGCGTAGGGGAGTGAGATTCTTCCCCACCGATAGCCTAAGGTTCCCCGGGAAG
+                      CCAATCCGCCGGGGGTTAGTCGGCCCCTAAGACGAGGCTAGACGTAGTCGATGGGAAGCAGGTCATATTCTGCACGTGACGCAGAGGATAGTTAGGCGGT
+                      TGGTTGCTTTCCCTGCCAAGAAATACACCGTACCAAACCGACACAGGTAGGCAGTAGAGAATACTAAGGTGTCGAGATAACTCTCGTTAAGGAACTCGGC
+                      AAATTACTCCTGTAACTTCGGGATAAGGGAGACCGGTGGAGTGGCACAAAAAGGGGGAGGACTGTTTACCAAAAACACAGGCTCTGCCAAATCGGAAGAT
+                      AAGTATAGGGTCTGACACCTGCCCGGTGCTGGAAGGTCAAGAGGACGGGTCAAGTCGGAATTTAAGCCCCAGTAAACGGCGGCCGTAACTATGACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGTGTAACGACTTCCCCACTGTCTCAACGAGAGTCTCGGCGAAATTGTAGTACC
+                      CGTGAAGATCGGGTTACCTGCGATAGGACGGAAGACCCCGGAACCTTTACTGTAACCTGGCATTGAACTTTGGTCCTGTATGTGTAGGATAGGTGGGAGG
+                      CTATGAAATCTGGACGCCAGTCTGGATGGAGCCTCGTGAAATACCACCCTTACTTGACCCAGTTCTAACCGAACATTCGAGACAATGTCAGGCGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGAGTAACGGAGGCGCCCAAAGGTTCCCTCAGCGCGGACGGAAATCGCGCCAAGAGTGTAAAGGCATAAGGGAGCT
+                      TAACTGTGAGACAGACAGTGAGCAGGTACGAAAGGGGCTTAGTGATCCGGTGGTTCTGGTGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATCGCGTCCAAGAGTCCATATCGACGACGCGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGAAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGCGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCATCGCAGGCGTTGGAGATTGACGGAACTGTCCCTAGTA
+                      CGAGAGGACCGGGATGGACGAACTCTGGTGTATCAGTTGTTTCGCCAGAACACGCTGAGTAGCTATGTCGGAGGGATAACCGCTGAAACATATAAGTGGA
+                      AACCCTCTAAGAAAGATCTCCCAGACCCCAAGAAGATGACTGGTGATGGTCAC
+
+Citrobacter           CGACTAAGGTACACGGTGGATGCCCTGGCAGTCAGGCGATGAAGGACGTGCTAACTGCGATAAGCGTCGGTAAGGTGATATAACCTTTAACCGGCGATTT
+                      CCGAATGTCAACATGAGCGACCGGGGGACTGAAACATCTAAGTACCCCGGGAAAAGAAATCAACGAGATTCCCCCAGTAGCGGCGAGCGAACGGGGAGCA
+                      GCCCAGTGTTAGTGGAACGGTCTGGAAATCCGACGTACAGGTGAAGTCCCGTAACAAAGAAGAGTGGGCGGGACACGTGGTATCCTGTCTGAATATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTGACTGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCGGAGTGAAAAGACTGAAACCGTGTACGT
+                      ACAACAGTGGGAGCCTTAGGTGACTGGTACCTTTTGTATAATGGGTCAGCGACTTATATTCTGTAGCAGGTTAACAAGGGAGCCGAAGGGACCGGTCTTA
+                      ACTGGGCGAAGTTGCAGGGTATAGACCCAAACCGGTGATCTAGCCATGGGCAGTTGAAGGTTGGTAACACTAACTGGAGGACCGAAGACTAATGTTGAAA
+                      AATTACGGATGACTGTGCTGGGGGTGAAAGGCCAATCAAACCGGAGATAGCTGGTCTCCCCGAAAGCTATTTAGGTAGCGCCTCGTGCATCTTCGGGGTA
+                      GAGCACTGTTTCGGCTAGGGTTCACTAACCCGATGCAAACTGCGAATACCGATGCACGGGAGACACACGCGGGTGCTAACGTCCGTCGTGAAGAGGGAAA
+                      CAACCCAGACCGCCAGCTAAGTCCCAAAGCCAGTTAAGTGGAAACGATGTGGAAGGCACAGACAGCCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGGTCGAGTCGGCCCGGAAGATGTCGGCTAAACTGTGCACCGAAGCTGCGGCATATGGGTAGGGGAGCGTTCTGTACCGTTAAGGTG
+                      TGCTGTGAGCATGCTGGAGGTATCAGAAGTGCGAATGTGACATAAGTAACGAATGCGGGTGAAAAACCCGCACGCCGGAAGACCAAGGTTCCTGTCCAAG
+                      TTAATCGGGGCAGGGTGAGTCGACCCCTAAGGCGAGGCCGAACGTAGTCGATGGGAAACAGGTAATATTCTGTACGGGACGGAGAGGCTATGTTACCGGA
+                      CGGCCGGAACACCTTCCAGGAAAAGCATCGTACCAAACCGACACAGGTGGTCGGTAGAGAATACCAAGGCGTTGAGAGAACTCGGGTGAAGGAACTAGGC
+                      AAAATGGTGCCGTAACTTCGGGAGAAGGCACGCTGATTACGTCGAAGATACCGCTGGTGAACTGTTTATTAAAAACACAGCCTGTGCAAACACGAAAGTG
+                      ACGTATACGGTGTGACGCCTGCCCGGTGCCGGAAGGTTAATTGATGGGGTTAAGTCTTGATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAATGATGGCCAGGCTGTCTCCACCCGAGACTCAGTGAAATTGAACTCGC
+                      TGTGAAGATCAGTGTACCCGCGGCAAGACGGAAGACCCCGGAACCTTTACTATAGCTTGACACTGAACACTGGTCCTTGATGTGTAGGATAGGTGGGAGG
+                      CTTTGAAGTGTGGACGCCAGTCTGCATGGAGCCACCTGAAATACCACCCTTTAATGGCTGTGTTCTAACGTGGACTTGCGGACAGTGTCTGGTGGGTAGT
+                      TTGACTGGGGCGGTCTCCTCCTAAAGAGTAACGGAGGAGCACGAAGGTTAGCTAATCCTGGTCGGACATCAGGAGGTTAGTGCAAAGGCATAAGCTAGCT
+                      TGACTGCGAGAGTGACGCTGAGCAGGTGCGAAAGGGTCTTAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCCGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGAAGTAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGTGGTACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTGCCGTGGGCGCTGGAGATTGAGGGGGCTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGCATACTGGTGTTCGGGTTGTCATGCCAATGCATGCCCGGTAGCTAAATCGGAGAGATAAGTGCTGAAACATCTAAGCACA
+                      AACTTCCCGAGAGAGTTCTCCCAGGAACGTTGAAGACGACACGTGATGGTCGG
+
+Rhodospirillum        CAGAGAAGGCATCTGGTGGATGCCTTGGCGTCAAGGCGATGAAGGACGTGGCACCTGCGAAAAGCCATGGGGAGCTGAGAGAAGCTTGATCCATGGATAT
+                      CCGAATGTCCCCATGAGCGACCCGGCGACTGAAACATCTAAGTAGCCGGGGAAAGGAAATCAACGAGACTCCGTTAGTAGTGGCGAGCGAACGCGGATCA
+                      GCCCGTATAAACCGGAACCGTCTGGAAATCGGGCCTAGCGGTGAAGCCCCGTAGGAGACCTGAGTGGGCGGGACACGTGAAATCCTGTCTGAACGTGGGG
+                      GGACCACCCTCCAAGGCTAAGTACTCTTGACGACCGATAGTGCACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGTCTGAAACCGGATGCCT
+                      ACAACAGTCGGAGCCTCAGGTGACGGGTACCTTTTGTATAATGGGTCAGCGACTTAATCTGGCGAGCAGCTTAAGATGGTAGGCGCAGCGAGCGGTCTTA
+                      ATAGGGCGGAGTTCGTCGGATTAGACCCAAACCGGTGATCTAGCCATGGGCAGTTGAAGGTGGATAACACCCACTGGAGGACCGAACACGTCTGTTGAAA
+                      AAGACGGGATGACTGTGCTAGGGGTGAAAGGCCAATCAAACTCGAAATAGCTGGTCTCCGCGAAAGCTATTTAGGTAGCGCGTCGGATACCACCGGGGTA
+                      GAGCACTGGATGGGCTAGGGCCAGCCAAACCTAACCAAACTCCGAATACCGGTATCCGGCAGACAGACCAGGGTGCTAACGTCCTGGGTCAAGAGGGAAA
+                      CAACCCAGACCACCAGCTAAGTCCCCAAGCCGGCTAAGTGGAAAGGATGTGGACGGCCATAACAACCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAACAGCTCACTGGTCTAGCTATCCCCGAAGATGTCGGCTAAGCCGTGCACCGAAGCTGTGGATTCGTGGTAGCGGAGCGTTCCGTACCTGTAAGGTG
+                      TCTCGTAAGGATGCTGGAGGTATCGGAAGCGAGAATGTGACATGAGTAGCGAAGGAGTGTGAGAAACACTCCCGCCGAAAGCCCAAGGTTCCTGCGCAAG
+                      CTAATCCGCGCAGGGTGAGTCGGCCCCTAAGTCGAGGGCGAACGTAGACGATGGGAATCAGGTAATATTCTGAACGTGACGCCTTTCGGAGTTGTCCTCA
+                      TCGGAGGCAGGAAGGCCGGGAAATACACCGTACCAAACCGACACAGGTGGGCGGTAGAGTATACCAAGGCGTTGAGAGAATGGTGTTGAAGGAACTAGGC
+                      AAATTGCCCCCGTAACTTCGGGAGAAGGGGGCCCTCCATGGGGGCACAGACCGGGGGGGGACTGTTTACTAAAAACACAGGCTCTGCGAAGTCGCAAGAC
+                      ACGTATAGGGTCTGACGCCTGCCCGGTGCCGGAAGGTTAAGAGGAGAGGTCAAGTTTGAATCGAAGCCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCCCCGCTGTCTCCAACACCAACTCAGCGAAATTGAATTCTC
+                      CGTGAAGATCGGAGTTCCCACGGCCAGACGGAAGACCCCAGAACCTTTACTACAACTTCGCAGTGGCATTAGGCGATGGATGTGTAGGATAGGCGGGAGG
+                      CTTTGAAGCATAGGCGCCAGCTTGTGTGGAGCCCCCTGAAATACCGCCCTTCCGTCTCCTATGTCTAACCGCGATTCCGGGACCCTGCGTGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCCAAAGAGTAACGGAGGCGCGCGATGGTGGGCTCAGGCCGGTCGGAAATCGGCTGATGAGTGCAATGGCAAAAGCCCGCC
+                      TGACTGCGAGAGCGACATTGAGCAGAGTCGAAAGGGTCATAGTGATCCGGTGGTCCCGGTGGAAGGGCCATCGCTCAACGGATAAAGGTACTCTGGGATA
+                      ACAGGCTGATACTGCCCAAGAGTCCACATCGACGGCAGGTTTGGCACCTCGATGTCGGCTCATCACATCCTGGGGCTGGAGCAGGTCCAAGGGTTCGCTG
+                      TTCGCCGATAAAGTGGTACGTGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCCCTATCTACCGTGGGTGTAGGATATTGAGAGGACTGTCCCTAGTA
+                      CGAGAGGACCGGGATGGACATACTCTGGTGTACCAGTTGTCACGCCAGTGCACGCTGGGTAGCTAAGTTGGCGGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCTCCTAAAACAGGTATCCCAGGACCGTGGAAGACCACACGTGATGGCCGG
+
+Borrelia              GTAATAAGGTCTATGGTGAATGCCTAGGAGCTTAGGCGAAGAAGGTCGTGGTAACTGCGAAAAGCTTGGGGGAGAAGCAAAATTTATGATCCCAAGATTA
+                      CCGAATGTCTTTAAGACGAACCAGGGGAGTGAACCATCTAAGTACCCTGGGAAAAGAAATCAAAGAGATTCCCTTAGTAGTGGCGAGCGAAAAGGGAGTA
+                      GCCCGGATATAGAAGAATAATCTGGAAATTTAACCAAGAGGTGAAGTCCTGTATTAATCCTGAGTGGACGAGGCACGAGAAACCTTGTTTGAAGCTGGGG
+                      AGACCACTCTCCAAGGCTAAATACTAAAAGCTACCGATAGAGAAGAGTACCGTGAGGAAAGGTGAAAAGACCGGAGTGAAAAGACTGAAACCGTAGACTT
+                      ACAACAGTCAAAGCCGTCGGTGATGGGTGCCTTTTGCATAATGAACCTGCGAGTTATCATGTCTAGCAGATTAAAGACGGAGTCGAAGCGAGCGGTCTTA
+                      AAAGGGCGTAGTTAGATGTGGTAGACCCAAGCCAGTGATCTATTTATGGCCAGCTGAAGCTTGGTAAAACCAAGTGGAGGGCCGAACTAGTCTGTTTAAA
+                      AAGGCGGGATGAGTGTAATAGGAGTGAAAGGCTAAACAAACTCGAGATAGCTGGTCTCCCCGAAATGGATTTAAGTTCAGCCTTATTGTTTAATAAGGTA
+                      GAGCACTAATTGAGCTAGCCTTAGGGAAACTCAGTTAAACTCCGAATGCTATATAATAGGAGTGAGACATGGGCGATAAGGTTCATAGTCGAGAGGGAAA
+                      CAACCCAGACCAACAGCTAAGTCTCAAAAAGTGTTAAGTGGAAAGGAGGTTAGGTACGTAAACAGCCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAGTG
+                      CGTAATAGCTCACTGGTCGAGTACTTACCGATAATGTCGGCTAAACACATTACCGAAGCTTTGGATAAATGGTAGGGGAGCGTTCTGTACCAGAAAGTTA
+                      AGCTGGAAGTTTGATGGAGGTATCAGAAGTGAGAATGAGGTATGAGTAACGAAAATGGGTGAGATTCCCATTCGCCGAAAACCTAAGGTTCCTGGGTAAG
+                      GTCGTCTTCCCAGGGTTAGTCGGCCCCTAAGGCAAAGCTGAATGTAGTCGATGGGAAACGGGTAATATTCCGTACGTGACGCATAGGTTACTACTCTAGA
+                      TGGCTAGGTAGCGTGCCAAGAAATACACCGTACCAAACCGACACAGGTAGGTGGATGAAAATTCTAAGGCGGCGAGAGAATCCACGTTAAGGAACTCTGC
+                      AAAATACGTACGTAACTTCGGGATAAGTACGACCTACATAGTAGCATAAAAAGGTCCAAGACTGTTTACCAAAAACACAGGCTCTGCAAATCTGTAAAGA
+                      AAGTATAGGGACTGACACCTGCCCGGTGCTGGAAGGTTAAGAGGAGATGTTATGATTGAATTTAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAATGGTGTAACGATTTGGACGCTGTCTCAACGTGGAGCTCGGTGAAATTGAAGTATC
+                      GGTGAAGATCCGATTACTTGTGGTTAGACGGAAGACCCCGGAACCTTTACTATAGCTTGGTATTGAGATTTGATTAAATATGTGTAGGATAGGTGGGAGA
+                      CTTTGAAGCTATCTCGTCAGGGGTAGTGGAGTCATCTGAAATACCACCCTTGTTTAATTAGTTTCTAACTTATAAATGAGGAGAGTGCCAGGTGGGTAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGAGTAACGGAGGTGCGCAAAGGTTACCTTAGAGTGGTTGGAAATCACTCTGTAAGTGTAAAGGCATAAGGTAGCT
+                      TAACTGTAAGACTGACAGTGAACAGATACGAAAGGGTCTTAGTGATCTGGCGGTGGCAGTGGAAGCGCCGTCACTTAACGAATAAAGGTACTCCGGGATA
+                      ACAGGCTTATCCTTCCCAAGAGTTCACATCGACGGAAGGTTTGGCACCTCGATGTCGGCTCATCGCATCCTAGGGCTGGAGCAGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGCGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTTGGTCCCTATCTGCCACAAGCGTTGGATATTGAGAGGACTATCTTTAGTA
+                      CGAGAGGACCGAGATGGACGAACTCTAGTGTGCCAGTTATCCTGCCAAGGTATGCTGGGTAGCTACGTCGGAAGGATAACCGCTGAAACATCTAAGTGGA
+                      AGCCTCCTAAGAGAGATATCCTAGGGTCCTGGAAGAATACAGGTGATGGTTAG
+
+Burkholderia at mallei   CGAACAAGGCATGTGGTGGATGCCTTGGCGATCAGGCGATGAAGGACGCGGTAGCTGCGAAAAGCTACGGGGAGCTGCAAAGAGCTTGATCCGTAGATGT
+                      CCGAATGTCCACATGAGCGACGCGGTGACTGAAACATCTAAGTAACCGCGGAAAAGAAATCAACGAGATTCCCAAAGTAGTGGCGAGCGAAATGGGAAGA
+                      GCCTACTGTTAGCCGAACGCTCTGGAAATGCGGCCTAGCGGTGAAGCCCTGTAGCAAAGACAAGTGGGCGGGACACGTGAAATCCTGTCTGAAGATGGGG
+                      GGACCATCCTCCAAGGCTAAATACTCTGATCGACCGATAGTGAACAGTACCGTGAGGAAAGGCGAAAAGACCGGAGTGAAAAGTCTGAAACCGCATGCAT
+                      ACAACAGTCGGAGCCTCGGGTGACGGGTACCTTTTGTATAATGGGTCAGCGACTTACGTTCAGTAGCAGCTTAACAAGGCAGGCGTAGCGAGCGGTCCGA
+                      ATAGGGCGCAGTTGCTGGGCGTAGACCCAAACCGGTGATCTATCCATGGCCAGATGAAGGTGCGTAACACGTACTGGAGGTCCGAACACTAACGTTGAAA
+                      AGTTAGGGATGAGTGTGATAGGGGTGAAAGGCTAAACAAACCTGAAATAGCTGGTCTCTCCGAAAACTATTTAGGTAGTGCCTCGTGCACCTTCGGGGTA
+                      GAGCACTGTCATGGTTGGGTCTGGATACGCCATAGCAAACTCCGAATACCGATGCACGGGAGACAGACATGGGTGCTAACGTCCGGTGTCAAGAGGGAAA
+                      CAACCCAGACCGCCAGCTAAGTCCCCAAAATGGCTAAGTGGAAACGAAGTGGAAGGCTAAAACAGTCAGGAGGTTGCTTAGAAGCAGCCTTTAAAGAAAG
+                      CGTAATAGCTCACTGATCGAGTCGTCCCGGAAGATGTCGGCTAAGCCATATACCGAAGCTGCGGATAGATGGTAGGAGAGCGTTCCGTACCTGCAAGGTG
+                      CGTTGAAAGCGTGCTGGAGGTATCGGAAGTGCGAATGTGACATGAGTAGCGAAAGGGGGTGAAAGGCCCCCTCGCCGTAAGCCCAAGGTTCCTACGCAAG
+                      TTCATCGGCGTAGGGTGAGTCGGCCCCTAAGGCGAGGCAGAACGTAGCTGATGGGAAGCAGGCAATATTCTGCACGGGACGGATGCGGAAGGTTGCCGGT
+                      TGGCCGGAATTTGTTCCAAGAAAAGCACCGTACCAAACCGACACAGGTGGGCGAGAGAGTATTCTAAGGCGTTGAGAGAACTCGGGAGAAGGAACTCGGC
+                      AAATTGGTACCGTAACTTCGGGATAAGGTACGCCCTTGAGGTTGCAATAAACGGTGGTGGACTGTTTAATAAAAACACAGCCTCTGCAAACACGAAAGTG
+                      ACGTATAGGGTGTGACGCCTGCCCGGTGCCGGAAGATTAAATGATGGGGTCAAGTCTTGATTGAAGTCCCGGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGATGGCCACACTGTCTCCTCCCGAGACTCAGCGAAGTTGAAGTGTT
+                      TGTGATGATCAATCTACCCGCGGCTAGACGGAAGACCCCAGAACCTTTACTGTAGCTTTGCATTGGACTTTGAACCGATCTGTGTAGGATAGGTGGGAGG
+                      CTATGAAACCGGAATGCTAGTTTCGGTGGAGCCTCCTGAAATACCACCCTGGTTTGTTTGGGTTCTAACCTTGATTCGGGGACAGTGCATGGTAGGCAGT
+                      TTGACTGGGGCGGTCTCCTCCCAAAGCGTAACGGAGGAGTACGAAGGTACGCTAGGTACGGTCGGAAATCGTGCTGATAGTGCAATGGCATAAGCGTGCT
+                      TAACTGCGAGACCGACAGTGAGCAGGTGCGAAAGGGTCATAGTGATCCGGTGGTTCTGATGGAAGGGCCATCGCTCAACGGATAAAGGTACTCTGGGATA
+                      ACAGGCTGATACCGCCCAAGAGTTCATATCGACGGCGGGTTTGGCACCTCGATGTCGGCTCATCTCATCCTGGGGCTGTAGCCGGTCCAAGGGTATGCTG
+                      TTCGCCATTAAAGAGGTACGTGAGCTGGGTTTAAAACGTGTGAGACAGTTTGGTCCCTATCTGCCGTGGGCGTTGGAAGTTGAAGGGGCTGCTCCTAGTA
+                      CGAGAGGACCGGAGTGGACGAACTCTGGTGTACCGGTTGTGACGCCAGTCCACGCCGGGTAGCTATGTCGGAGAGATAACCGCTGAAACATCTAAGCGGG
+                      AACTCCCTAAGAGAGACTTCCCAGGGTCGTTCGAGACCAGACGTGATGGTCGG
+
+Bacillus at globisporus  TTAGAAAGGCGCATGGTGGATGCCTTGGCACTAAGCCTAAGAAGGACGGCACTACACCGATATGCTCCGGGGAGCTGTAAGAAGCTTGATCCGGAGATTT
+                      CCGAATGCGTACATCGGCAACCCGGAGACTGAAACATCTAAGTATCCGGGGAATAGAAAGAAAATCGATTCCCTGAGTAGCGGCGAGCGAAACGGGAAGA
+                      GCCCGGAATTAGACGAAGGACCTGGAAAGTCCGCCTAGCGGTAAAGCCCCGTATCAAACCTGAGTCGGCGGAACACGTGAAATTCCGTCGGAATCCGGGA
+                      GGACCATCTCCCAAGGCTAAATACTCCTAGTGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGTCTGAAACCATGTGCCT
+                      ACAATTGTCAGAGCCCAGGGTGATGGGTGCCTTTTGTAGAATGAACCGGCGAGTTACGATTCCATGCAGGTTAAGAGGGGAGCCGCAGCGAGCGGTCTGA
+                      ATAGGGCGGAGTATGGGGTCGTAGACCCAAACCGGTGATCTACCCATGTCCAGGTGAAGGTAAGTAACACTTACTGGAGGCCCGAACACGTACGTTGAAA
+                      AGTGCGGGATGAGTGTGGTAGCGGTGAAATTCCAATCGAACCTGAGATAGCTGGTCTCTCCGAAATAGCTTTAGGGCTAGCCTCAAAAGATCTCGAGGTA
+                      GAGCACTGTTTGGACTAGGCCTCGGTAAATTCAGACAAACTCCGAATGCCGATATTTGGGAGTCAGACGCGGGTGATAAGATCCGTAGTCGAGAGGGAAA
+                      CAGCCCAGACCACCAGTTAAGTCCCCAAGATCGTTAAGTGGAAAGGATGTGCGTTGCCCAGACAACCAGGATGTTGCTTAGAAGCAGCCTTTAAAGAGTG
+                      CGTAATAGCTCACTGGTCGAGTGGCGCCCGAAAATGTCGGCTAAACGAATCACCGAAACTGTGGATTAGTGGTAGGAGAGCGTTCCAAGGCGTCAAGCTA
+                      GACCGTAAGACTGGTGGAGCGCTTGGAAGTGAGAATGCGGTATGAGTAGCGAAGAAGGGTGAGAATCCCTTCCACCGAATGCCCAAGGTTCCTGAGGAAG
+                      CTCGTCCGCTCAGGGTTAGTCAGGACCTAAGTTGAGGCCGAACGTAGACGATGGACAACAGGTGATATTCTGTACGTGACGCAGAGGATAGGGTGCGCGT
+                      TGGCGCGCCCTCCTGCCAAGAAAAGCCCTGTACCAAACCGACACAGGTAGGCAGGAGAGAATCCTAAGGTGTCGAGAGAACTCTCGTTAAGGAACTCGGC
+                      AAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTCTTAGGGCCGCAGTGAATGGCCCAGGACTGTTTAGCAAAAACACAGGCTCTGCAAAACCGCAAGGT
+                      AAGTATAGGGGCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGAGGTCAAGTTCGAATTGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAACGATCTGGGCACTGTCTCAACGAGAGACTCGGTGAAATTATAATACC
+                      TGTGAAGATCAGGTTACCCGCGACAGGACGGAAGACCCCGGGAGCTTTACTGTAACCTGATATTGAATTCCGGTGCAGCCTGTACAGGATAGGTAGGAGC
+                      CTTGGATTCCGGAGCGCTAGCTTCGGATGAGGCTTGTGGGATACTACCCTGGCTGTATTGACTTCTAACCCATATCAGGAGACAGTGTCAGGCGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAGAGTAACGGAGGCGCCCAAAGGTTCCCTCAGAATGGTCGGACATCATTCGTAGAGTGCAAAGGCATAAGGGAGCT
+                      TGACTGCGAGACCTACAGTGAGCAGGGTCGAAAGGGGCTTAGTGATCCGGTGGTTCCGATGGAAGGGCCATCGCTCAACGGATAAAGCTACCCCGGGATA
+                      ACAGGCTTATCTCCCCCAAGAGTCCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGTAGTCGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGTACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCGTCGCGGGCGCAGGAAATTGAGAGGACTGTCCTTAGTA
+                      CGAGAGGACCGGGATGGACATACTCTGGTGTACCAGTTGTCTTGCCAAAGCACGCTGGGTAGCTATGTTGGCGGGATAAATGCTGAAACATCTAAGCATA
+                      AGCCCCCTGAGAGAGATTTCCCAGATCCCTCAAAGAAGATAGGTGATGGTCTG
+
+Enterococcus          TGAATAAGGCGCACGGTGGATGCCTTGGCACTAAGCCGATGAAGGACGGGACTACACCGATATGCTTTGGGGAGCTGTACGAAGCTAGATCCAGAGATTT
+                      CCGAATGCGAACATCGGTAACGCAGAGACTGAAACATCTAAGTACCTGCGGAAGAGAAAGAAAATCGATTCCCTGAGTAGCGGCGAGCGAAACGGGAAAA
+                      GCCCGGAGATAGTCGAATGACTTGGAAAGTCAGTCAAGAGGTAAAACCCCGTAACAATCCTGAGTCGGCGGAACACGAGAAATTCCGTCGGAATCCGGGA
+                      GGACCATCTCCCAAGGCTAAATACTCCTAGTGACCGATAGTGAACAGTACCGTGAGGAAAGGTGAAAAGCCCGGAGTGAAAAGACTGAAACCGTGTGCCT
+                      ACAAAAGTCAAAGCCCAGGGTGATGGGTGCCTTTTGTAGAATGAACCGGCGAGTTACGATTGCATGCGGGTTAAGAAAGGAGCCGCAGCGAGCGGTCTGA
+                      ATAGGGCGGAGTATGTAGTCGTAGACCCAAACCTGTGATCTACCCATGTCCAGTTGAAGGTGCGTAAAACGCACTGGAGGACCGAACACGTACGTTGAAA
+                      AGTGCGGGATGAGTGTGGTAGCGGAGAAATTCCAAACGAACTTGAGATAGCTGGTCTCTCCGAAATAGCTTTAGGGCTAGCCTCGGAAGATGATGAGGTA
+                      GAGCACTGTTTGGACTAGGCCTTGGTAAATTCAGATAAACTCCGAATGCCATCATCCGGGAGTCAGACGTGAGTGATAAGATCCATAGTCGAAAGGGAAA
+                      CAGCCCAGACCACCAGCTAAGTCCCAAAAAATGTTAAGTGGAAAGGATGTGGGTTGCACAGACAACTAGGATGTTGCTTAGAAGCAGCCTTTAAAGAGTG
+                      CGTAATAGCTCACTAGTCGAGTGACCCCCGAAAATGTCGGCTAAACATATTACCGAAGCTGTGGAGTTTTGGTAGGAGAGCGTTCTAAGGCGTCAAGGCA
+                      GATCGTGAGACTGCTGGAGCGCTTAGAAGTGAGAATGCGGTATGAGTAGCGAAGACAGGTGAGAATCCTGTCCACCGAATGACTAAGGTTCCTGGGGAAG
+                      CTCGTCCGCCCAGGGTTAGTCGGGACCTAAGCCGAGGCCGAACGTAGGCGATGGATAACAGGTGATATTCTGTACGGGACGCAGAGGCTAAGGAACAGAT
+                      CGGTCTGTCCTCCTGCCGAGAAAAGCCCCGTACCAAACCGACACAGGTAGTCAGGAGAGAATCCTAAGGTGGCGAGAGAACTCTCGTTAAGGAACTCGGC
+                      AAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTGATAACGCCGCAGTGAATGGCCCAAGACTGTTTATCAAAAACACAGGCTCTGCAAAATCGTAAGAT
+                      AAGTATAGGGGCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGTGCTCAAGTACGAATTGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAACGATTTGGGCACTGTCTCAACGAGAGACTCGGTGAAATTTTAGTACC
+                      TGTGAAGATCAGGTTACCCGCGACAGGACGGAAGACCCCAGGAGCTTTACTGTAGTTTGATATTGAGTGTCTGTACCGCATGTACAGGATAGGTAGGAGC
+                      CGTAGAAATCGGAACGCTAGTTTCGATGGAGGCCTGTGGGATACTACCCCTGCGTTATGGCACTCTAACCCGCATTGGGAGACAGTGTCAGATGGGCAGT
+                      TTGACTGGGGCGGTCGCCTCCTAAAAGGTAACGGAGGCGCCCAAAGGTTCCCTCAGAATGGTTGGAAATCATTCGAAGAGTGTAAAGGCAGAAGGGAGCT
+                      TGACTGCGAGACCAACAGTGAGCAGGGACGAAAGGGGCTTAGTGATCCGGTGGTTCCGATGGAAGGGCCATCGCTCAACGGATAAAGCTACCCTGGGATA
+                      ACAGGCTTATCTCCCCCAAGAGTCCACATCGACGGGGAGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGTAGTCGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGCACGCGAGCTGGGTTCAGAACGTGTGAGACAGTTCGGTCCCTATCCGTCGCGGGCGTTGGAAATTGAGAGGACTGTCCTTAGTA
+                      CGAGAGGACCGGGATGGACTTACGCTGGTGTACCAGTTGTTCTGCCAAGGCATGCTGGGTAGCTATGTGGGAGGGATAAACGCTGAAACATCTAAGTGTA
+                      AGCCCCCTAAGAGAGATTTCCCAGATCCCTGAGAGATGATAGGTGATGGTCAG
+
+Mycobacterium at leprae  TGCCTAAGGCGCATGGTGGATGCCTTGGCATCGAGCCGATGAAGGACGTGGGAGCTGCGATATGCCTCGGGGAGCTGCAACGAGCGTGATCCGAGGATTT
+                      CCGAATGCCCATATGGGGGACGCGGGGAGTGAAACATCTCAGTACCCGTGGAGAAGAAAACAATGTGATTCCGCAAGTAGTGGCGAGCGAACGTGGAATA
+                      GGCTGGAGGTAGCGGAAAGGCCTGGGATGCCTGCCTAGAGGTGAAGCCCAGTAGCAAGCCCGAGTGCAGCGGGCCCGTGGAATCTGCTGTGAATCTGCCG
+                      GGACCACCCGGTAAGCCTAAATACTTTCGATGACCGATAGCGGACAGTACCGTGAGGAATGGTGAAAAGTCCGGAGTGAAAAGACTGAAACCGTGTGCCT
+                      ACAACCGTCAGAGCCTTGGGTGATGGGTGCTTTTTGAAGAATGAGCCTGCGAGTCAGGACATGTCGCGGGTTAACTGGGTAGCCGCAGCGAGCGGTCTGA
+                      ATAGGGCGTAGTGGCGTGTTCTGGACCCAAGCGAGTGATCTACCCATGGCCAGGTGAAGCGCGGTAAGACCGCGTGGAGGCCCGAACACTTAAGTTGAAG
+                      ATTGAGGGATGAGTGTGGTAGGGGTGAAAGGCCAATCAAACTCGTGATAGCTGGTCTCCCCGAAATGCATTTAGGTGCAGCGTTGCGTTCCCACGAGGTA
+                      GAGCACTGGATGGCCGAGGCCTCGGTAACGTCAGCCAAACTCCGAATGCCGTAACGTGGCAGTGAGACGCGGGGGATAAGCTCCGTCGTCGAAAGGGAAA
+                      CAGCCCAGATCGCCGGCTAAGCCCCTAAGGGTGCTAAGTGGAAAGGATGTCAGTCGCAAAGACAACCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGTGATTGCCGATAATGTCGGCTAAGCACACCGCCGAAGCCGCGGCACTTGGGTAGGGGAGCGTTCCTCATCAGCAAGCCT
+                      CCGGGTAACGGTGGTGGAGGGTGGGGAAGTGAGAATGAGGCATGAGTAGCGAAGGCAAGTGAGAACCTTGCCCGCCGTAAGACCAAGGTTCCTGGGCCAG
+                      CCAGTCCGCCCAGGGTGAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGACAACGGGTGATATTCCGTACGTGACGCAGAAGGTAGCCGTCCAGG
+                      TGGCTGGCGGTTCTGCCAAGAAAAGCCCCGTACCAAACCGACACAGGTGGTCGGTAGAGCATACCAAGGCGACGAGATAACTATGGTTAAGGAACTCGGC
+                      AAAATGCCTCCGTAACTTCGGGAGAAGGGGGGCCGGTTTCGTCGCAGAGACCGTGAGAGGACTGTTTACTAAAAACACAGGCCGTGCGAAGTCGTAAGAC
+                      ATGTATACGGACTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGACCTGTAAAGGGAGAATTTAAGCCCCAGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCTCAACTGTCTCAACCATAGACTCGGCGAAATTGCACTACG
+                      AGTAAAGATCTCGTTACGTGCGGCAGGACGAAAGACCCCGGGACCTTCACTACAACTTGGTATTGATGTTCGGTGCGGTTTGTGTAGGATAGGTGGGAGA
+                      CTGTGAAACTTCGACGCTAGTTGGGGTGGAGTCTTGTGAAATACCACTCTGATTGTATTGACATCTAACCTCGATTTAGGGACAGTGCCTGGCGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCTAAAATGTAACGGAGGCGCCCAAAGGTTCCCTCAACCTGGTCGGTAATCAGGTGGCGAGTGTAAATGCACAAGGGGGCT
+                      TGACTGCGAGACCTACAGTAAGCAGGGACGAAAGGGGATTAGTGATCCGGCACCTCTGGTGGAAGGGGTGTCGCTCAACGGATAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTTCCCCAAGAGTCCATATCGACGGGATGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGAAGCAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGCACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCTCTATCCGCCGCGCGCGTCAGAAATTGAGGAAACTGTCCCTAGTA
+                      CGAGAGGACCGGGACGGACGAACTCTGGTATACCAGTTGTCTCACCAGGGCACGCTGGATAGCCACGTCGGCAAGATAACCGCTGAAACATCTAAGCGGA
+                      AACCTCTCAAGACAGGTTTCTTAGGCCCCCCGCAGAACACGGATGATGGTCAG
+
+Rhodococcus at erythrop  TAATGAAGGCGTACGGTGGATGCCTTGGCACCAAGCCGATGAAGGACGTAGGAGCTGCGATAAGCCTCGGGGAGCTGCAACGAGCTGGATCCGAGGATGT
+                      CCGAATGCCCATATGGGGGACGTGGGGAGTGAAACATCTCAGTACCCACGGAAGAGAAAACAACGTGATTCCGTGAGTAGTGGCGAGCGAAAGCGGAAGA
+                      GGCTGGTGTTAGTGGAAGGGTCTGGAACGCCTGTCTAGAGGTGAAATCCCGTAACAAACCCAAGTGCACCGGGCCCGTGAAATCTGGTGTGAATCTGTCG
+                      GGACCACCCGATAAGCCTGAATACTCCTGGTGACCGATAGCGGATAGTACCGTGAGGAAAGGTGAAAAGTCCGGAGTGAAAAGACTGAAACCGTGCGCTT
+                      ACAACCGTCAGAGCCTTGGGTGATGGGTGCCTTTTGAAGAATGAGCCTGCGAGTTAGGGCATATCGCGGGTTAACTGGGTAGCCGTAGCGAGCGGTCCGA
+                      ATAGGGCGTAGTGGCATGCTCTAGACCCAAGCGAGTGATCTACCCATGGCCAGTTGAAGCGACGTAAGACGTCGTGGAGGACCGAACACTTAGGTTGAAA
+                      ACTGAGGGATGAGTGTGGTAGGGGTGAAAGGCCAATCAAACTCGTGATAGCTGGTCTCCCCGAAATGCATTTAGGTGCAGCGTCGCGTTCCACCGAGGTA
+                      GAGCACTGGATGGTCTAGGGCCCGCTAAAATCAGCCAAACTCCGAATGCCGGAGCGCGGCAGTGAGACGCGGGCGATAAGGTTCGTAGTCGAGAGGGAAA
+                      CAGCCCAGATCGCCAGCTAAGTCCCTAAGGGTACTAAGTGGAAAGGATGTGGGTCGCGAAGACAACCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGTGATCCCCGACAATGTCGGCTAAGTACACCACCGAAGCTGCGGCAACTGGGTAGGGGAGCGTCGTGTGCCATGAAGCGG
+                      CAGGGTGACTGCCGTGGAGGCCACACGAGTGAGAATGAGGCATGAGTAGCGAAGACGAGTGAGAAACTCGTCCGCCGAATGACCAAGGTTCCTGGGCCAG
+                      TTAATCCGCCCAGGGTGAGTCGGGACCTAAGACGAGGCCGAACGTAGCCGATGGACAACGGGTGATATTCCGTACGTGACGCAGAAGGTAGCTGACCAGG
+                      TGGCTGGCAGTTCTGCCGAGAAAAGCCCCGTACCAAACCGACACAGGTGGTCGGTAGAGAATACTAAGGCGTCGAGATAACTATGGTTAAGGAACTCGGC
+                      AAAATGCCCCCGTAACTTCGGGAGAAGGGGGGCCCTTTTGGCCGCAGAGACCGTGAGAGGACTGTTTACTAAAAACACAGGCCGTGCGAAGTCGTAAGAC
+                      ATGTATACGGACTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGACCGGTTCGGTGAGAATTTAAGCCCCAGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCTCAGCTGTCTCAACCGTAGACTCGGCGAAATTGCATTACG
+                      AGTAAAGATCTCGTTACGCGCGGCAGGACGAAAGACCCCGGGACCTTCACTACAGCTTGGTATTGGTGTTCGGTTCGGTTTGTGTAGGATAGGTGGGAGA
+                      CTGTGAAGCGGTGACGCCAGTTATCGTGGAGTCTTGTGAAATACCACTCTGATCGAATTGACCTCTAACCTCGATTCAGGGACAGTGCCTGGTGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCCAAAATGTAACGGAGGCGCCCAAAGGTTCCCTCAGCCTGGTTGGCAATCAGGTGTCGAGTGCAAGTGCACAAGGGAGCT
+                      TGACTGTGAGACTGACAGTGTGCAGGGACGAAAGGGGACTAGTGATCCGGCACCGGCAGTGGAAGCGGTGTCGCTCAACGGATAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTTCCCCAAGAGTCCATATCGACGGGATGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGGAGTAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGCACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCTCTATCCGCCGCGCGCGTTAGAAATTGAGGAAGCTGTCCCTAGTA
+                      CGAGAGGACCGGGACGGACGAACTCTGGTGTGCCAGTTGTTCCGCCAGGACACGCTGGTTAGCTACGTCGGAGGGATAACCGCTGAAACATCTAAGCGGA
+                      AGCCTTTCAAGAGAGGTTTCTCAGGCCCCCGGCAGACCACGGGTGATGGCCAG
+
+Mycobacterium         TGTCTAAGGCGCATGGTGGATGCCTTGGCATCGAGCCGATGAAGGACGTGGGAGCTGCGATAAGCCTCGGGGAGCTGCAACGAGCGTGATCCGAGGATTT
+                      CCGAATGCCCATATGGGGGACGCGGGGAGTGAAACATCTCAGTACCCGTGGAGAAGAAAACAAAGTGATTCCGTAAGTAGTGGCGAGCGAACGCGGAACA
+                      GGCTGGAGGTAACGGAAGGGCCTGGGATGTCTGCCTAGAGGTGAAGCCCGGTAGTAAACCCGAGTGCAGCGGGCCCGTGGAATCTGCTGTGAATCTGCCG
+                      GGACCACCCGGTAAGCCTAAATACTCTCGATGACCGATAGCGGATAGTACCGTGAGGAATGGTGAAAAGTCCGGAGTGAAAAGACTGAAACCGTGTGCCT
+                      ACAACCGTCAGAGCCCCGGGTGATGGGTGCCTTTTGAAGAATGAGCCTGCGAGTCAGGACATGTCGCGGGTTAACTGGGTAGCCGCAGCGAGCGGTCTGA
+                      ATAGGGCGTAGTGGCGTGTTCTGGACCCAAGCGAGTGATCTACCCATGGCCAGGTGAAGCGCGGTAAGACCGCGTGGAGGCCCGAACACTTAGGTTGAAG
+                      ACTGAGGGATGAGTGTGGTAGGGGTGAAAGGCCAATCAAACTCGTGATAGCTGGTCTCCCCGAAATGCATTTAGGTGCAGCGTTGCGTTCCCACGAGGTA
+                      GAGCACTGGATGGCCGAGGCCCCGGTAACGTCAGCCAAACTCCGAATGCCGTATCGTGGCAGTGAGACGCGGGGGATAAGCTCCGTCGTCGAAAGGGAAA
+                      CAGCCCAGATCGCCGGCTAAGCCCCAAAGGGTGCTAAGTGGAAAGGATGTCAGTCGCAGAGACAACCAGGAGGTTGCTTAGAAGCAGCCTTGAAAGAGTG
+                      CGTAATAGCTCACTGGTCAAGTGATTGCCGATAATGTCGGCTAAGCACACCGCCGAAGCCGCGACACATGGGTAGGGGAGCGTCCCTCATCAGCAAGCTG
+                      CCGGGTGACGGTGGTGGAGGATGGGGGAGTGAGAATGAGGCATGAGTAGCGAAGGCAAGTGAGAACCTTGCCCGCCGAAAGACCAAGGTTCCTGGGCCAG
+                      CCAGTCCGCCCAGGGTGAGTCGGGACCTAAGGCGAGGCCGAACGTAGTCGATGGACAACGGGTGATATTCCGTACGTGACGCAGAAGGCAGCCGTCCAGG
+                      TGGCTGGCGGTTCTGCCAAGAAAAGCCCCGTACCAAACCGACACAGGTGGTCGGTAGAGAATACCAAGGCGACGAGATAACTATGGTTAAGGAACTCGGC
+                      AAAATGCCCCCGTAACTTCGGGAGAAGGGGGACCGGTTTCGTCGCAGAAACCGTGAGAGGACTGTTTACTAAAAACACAGGCCGTGCGAAGTCGCAAGAC
+                      ATGTATACGGACTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGACCCGTCAAGGGAGAATTTAAGCCCCAGTAAACGGCGGTGGTAACTATAACCATCC
+                      TAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCTGCACGAATGGCGTAACGACTTCTCAACTGTCTCAACCATAGACTCGGCGAAATTGCACTACG
+                      AGTAAAGATCTCGTTACGCGCGGCAGGACGAAAGACCCCGGGACCTTCACTACAACTTGGTATTGGTGTTCGGTACGGTTTGTGTAGGATAGGTGGGAGA
+                      CTGTGAAACCTCAACGCCAGTTGGGGTGGAGTCTTGTGAAATACCACTCTGATCGTATTGACACCTAACGTCGATTCACGGACAGTGCCTGGCGGGTAGT
+                      TTAACTGGGGCGGTTGCCTCCTAAAATGTAACGGAGGCGCCCAAAGGTTCCCTCAACCTGGACGGCAATCAGGTGGCGAGTGTAAGTGCACAAGGGAGCT
+                      TGACTGCGAGACCTACAGTAAGCAGGGACGAAAGGGGACTAGTGATCCGGCACCTCTGGTGGAAGGGGTGTCGCTCAACGGATAAAGGTACCCCGGGATA
+                      ACAGGCTGATCTTCCCCAAGAGTCCATATCGACGGGATGTTTGGCACCTCGATGTCGGCTCGTCGCATCCTGGGGCTGGAGCAGGTCCAAGGGTTGGCTG
+                      TTCGCCCATAAAGCGGCACGCGAGCTGGGTTTAGAACGTGTGAGACAGTTCGGTCTCTATCCGCCGCGCGCGTCAGAAGTTGAGGAAACTGTCCCTAGTA
+                      CGAGAGGACCGGGACGGACGAACTCTAGTGCACCAGTTGTCCCACCAGGGCACGCTGGATAGCTACGTCGGCAGGATAACCGCTGAAACATCTAAGCGGA
+                      AACCTCTCAAGACAGGCTTCTCAGGCCCCCCGCAGAACACGGTTGATGGCCAG
+
diff --git a/Examples/Data/LSUrooted.dnd b/Examples/Data/LSUrooted.dnd
new file mode 100644
index 0000000..1e8caea
--- /dev/null
+++ b/Examples/Data/LSUrooted.dnd
@@ -0,0 +1 @@
+((Synechocystis:0.314376799802742, (((((((Streptomyces at coelico:0.013876432437002, Streptomyces at griseus:0.012745360610087):0.008666806511068, Streptomyces at rimosus:0.011399623481898):0.055437204703884, (Frankia at sp:0.035215752793328, ((Thermomonospora at chro:0.02455061178336, Thermomonospora:0.036494354399615):0.013833012299189, Microbispora:0.057839299523173):0.05726214573943):0.010627946862017):0.023152122896789, (((Mycobacterium:0.008969397259068, Mycobacterium at leprae:0.018880876651733):0. [...]
diff --git a/Examples/Data/Myo.dnd b/Examples/Data/Myo.dnd
new file mode 100644
index 0000000..233dcba
--- /dev/null
+++ b/Examples/Data/Myo.dnd
@@ -0,0 +1 @@
+(MYG_HETPO:0.39227,(MYG_MUSAN:0.0234145,(MYG_GALJA:0.0293632,MYG_GALGA:0.0455375):0.0722258):0.599322,(((MYG_CYPCA:0.167158,MYG_BRARE:0.149255):0.172378,((((MYG_THUTO:1e-06,(MYG_THUTH:1e-06,MYG_THUOB:1e-06):1e-06):1e-06,MYG_THUAL:0.015652):0.0592755,MYG_AUXRO:0.125853):0.0436622,((MYG_NOTCO:0.00798703,(MYG_GOBGI:0.00788468,(MYG_PSEGE:0.0240623,(MYG_CRYAN:0.0239015,MYG_CHIRA:0.00785369):0.0236543):1e-06):0.0078986):0.15259,MYG_TETNG:0.147714):0.0499235):0.0733475):0.699867,(((((MYG_ANAPO: [...]
diff --git a/Examples/Data/Myo.mase b/Examples/Data/Myo.mase
new file mode 100644
index 0000000..204fccb
--- /dev/null
+++ b/Examples/Data/Myo.mase
@@ -0,0 +1,901 @@
+;; saved by seaview on Fri Feb 11 18:44:46 2005
+;no comment
+MYG_ALLMI
+------------------------------------------------------------
+------------------------------------------------------------
+------------------------------------MELSDQEWKHVLDIWTKVESK---
+LPEHGHEVIIRLLQEHPETQERFEK-------------------------------FKHM
+KTADEMKSSEKMKQHGNTVFTALGNIL---KQKGNHAEVL-------KPLAKSHALEH-K
+IPVKYLEFISEIIVKVIAEKYPADFGADSQAAMRKALELFRNDMASKYKEFGYQG-----
+-----------------
+;no comment
+MYG_CARCR
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDDEWNHVLGIWAKVEPD---
+LSAHGQEVIIRLFQLHPETQERFAK-------------------------------FKNL
+TTIDALKSSEEVKKHGTTVLTALGRIL---KQKNNHEQEL-------KPLAESHATKH-K
+IPVKYLEFICEIIVKVIAEKHPSDFGADSQAAMKKALELFRNDMASKYKEFGFQG-----
+-----------------
+;no comment
+MYG_CHEMY
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDDEWNHVLGIWAKVEPD---
+LTAHGQEVIIRLFQLHPETQERFAK-------------------------------FKNL
+TTIDALKSSEEVKKHGTTVLTALGRIL---KQKNNHEQEL-------KPLAESHATKH-K
+IPVKYLEFICEIIVKVIAEKHPSDFGADSQAAMKKALELFRNDMASKYKEFGFLG-----
+-----------------
+;no comment
+MYG_GRAGE
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDDEWHHVLGIWAKVEPD---
+LSAHGQEVIIRLFQVHPETQERFAK-------------------------------FKNL
+KTIDELRSSEEVKKHGTTVLTALGRIL---KLKNNHEPEL-------KPLAESHATKH-K
+IPVKYLEFICEIIVKVIAEKHPSDFGADSQAAMRKALELFRNDMASKYKEFGFQG-----
+-----------------
+;no comment
+MYG_VARVA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDEEWKKVVDIWGKVEPD---
+LPSHGQEVIIRMFQNHPETQDRFAK-------------------------------FKNL
+KTLDEMKNSEDLKKHGTTVLTALGRIL---KQKGHHEAEI-------APLAQTHANTH-K
+IPIKYLEFICEVIVGVIAEKHSADFGADSQEAMRKALELFRNDMASRYKELGFQG-----
+-----------------
+;no comment
+MYG_AUXRO
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ADFDAVLKCWGPVEAD---
+FNTVGGMVLARLFKDHPDTQKLFPK-------------------------------FAG-
+IAAGDLAGNAAVAAHGGTVLKKLGELL---KAKGNHAAII-------KPLANSHATKH-K
+IPINNFKLITEALVHVMQEK--AGLDAAGQTALRNVMGIVIADLEANYKELGFTG-----
+-----------------
+;no comment
+MYG_THUAL
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ADFDAVLKCWGPVEAD---
+YTTMGGLVLTRLFKEHPETQKLFPK-------------------------------FAG-
+IAQADIAGNAAISAHGATVLKKLGELL---KAKGSHAAIL-------KPLANSHATKH-K
+IPINNFKLISEVLVKVMHEK--AGLDAGGQTALRNVMGIIIADLEANYKELGFSG-----
+-----------------
+;no comment
+MYG_THUOB
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ADFDAVLKCWGPVEAD---
+YTTIGGLVLTRLFKEHPETQKLFPK-------------------------------FAG-
+IAQADIAGNAAVSAHGATVLKKLGELL---KAKGSHAAIL-------KPLANSHATKH-K
+IPINNFKLISEVLVKVMHEK--AGLDAGGQTALRNVMGIIIADLEANYKELGFSG-----
+-----------------
+;no comment
+MYG_THUTH
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ADFDAVLKCWGPVEAD---
+YTTIGGLVLTRLFKEHPETQKLFPK-------------------------------FAG-
+IAQADIAGNAAVSAHGATVLKKLGELL---KAKGSHAAIL-------KPLANSHATKH-K
+IPINNFKLISEVLVKVMHEK--AGLDAGGQTALRNVMGIIIADLEANYKELGFSG-----
+-----------------
+;no comment
+MYG_THUTO
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ADFDAVLKCWGPVEAD---
+YTTIGGLVLTRLFKEHPETQKLFPK-------------------------------FAG-
+IAQADIAGNAAVSAHGATVLKKLGELL---KAKGSHAAIL-------KPLANSHATKH-K
+IPINNFKLISEVLVKVMHEK--AGLDAGGQTALRNVMGIIIADLEANYKELGFSG-----
+-----------------
+;no comment
+MYG_CHIRA
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ADFDMVLKCWGPMEAD---
+HATHGSLVLTRLFTEHPETLKLFPK-------------------------------FAG-
+IAHGDLAGDAGVSAHGATVLNKLGDLL---KARGAHAALL-------KPLSSSHATKH-K
+IPIINFKLIAEVIGKVMEEK--AGLDAAGQTALRNVMAIIITDMEADYKELGFTE-----
+-----------------
+;no comment
+MYG_CRYAN
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ADFDMVLKCWGPVEAD---
+HATHGSLVLTRLFTEHPETLKLFPK-------------------------------FAG-
+IAHGDLAGDAGVSAHGATVLKKLGDLL---KARGGHAALL-------KPLSSSHATKH-K
+IPIINFTLIAEVIGKVMEEK--AGLDAAGQTALRNVMAIIITDMEADYKELGFTE-----
+-----------------
+;no comment
+MYG_GOBGI
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ADFDMVLKCWGPVEAD---
+YTTHGSLVLTRLFTEHPETLKLFPK-------------------------------FAG-
+IAHGDLAGDAGVSAHGATVLNKLGDLL---KARGAHAALL-------KPLSSSHATKH-K
+IPIINFKLIAEVIGKVMEEK--AGLDAAGQTALRNVMAVIIADMEADYKELGFTE-----
+-----------------
+;no comment
+MYG_NOTCO
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ADFDMVLKCWGPMEAD---
+YATHGGLVLTRLFTEHPETLKLFPK-------------------------------FAG-
+IAHGDLAGDAGVSAHGATVLNKLGDLL---KARGAHAALL-------KPLSSSHATKH-K
+IPIINFKLIAEVIGKVMEEK--AGLDAAGQTALRNVMAVIIADMEADYKELGFTE-----
+-----------------
+;no comment
+MYG_PSEGE
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ADFDMVLKCWGLVEAD---
+YATYGSLVLTRLFTEHPETLKLFPK-------------------------------FAG-
+IAHGDLAGDAGVSAHGATVLNKLGDLL---KARGGHAALL-------KPLSSSHATKH-K
+IPIINFKLIAEVIGKVMEEK--AGLDAAGQTALRNVMAVIIADMEADYKELGFTE-----
+-----------------
+;no comment
+MYG_TETNG
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------GDFDMVLKFWGPVEAD---
+YSAHGGMVLTRLFTENPETQQLFPK-------------------------------FVG-
+IAQSELAGNAAVSAHGATVLKKLGELL---KAKGNHAAIL-------QPLANSHATKH-K
+IPIKNFKLIAEVIGKVMAEK--AGLDAAGQQALRNIMATIIADIDATYKELGFS------
+-----------------
+;no comment
+MYG_BRARE
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ADHDLVLKCWGAVEAD---
+YAANGGEVLNRLFKEYPDTLKLFPK-------------------------------FSG-
+ISQGDLAGSPAVAAHGATVLKKLGELL---KAKGDHAALL-------KPLANTHANIH-K
+VALNNFRLITEVLVKVMAEK--AGLDAAGQGALRRVMDAVIGDIDGYYKEIGFAG-----
+-----------------
+;no comment
+MYG_CYPCA
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------HDAELVLKCWGGVEAD---
+FEGTGGEVLTRLFKQHPETQKLFPK-------------------------------FVG-
+IASNELAGNAAVKAHGATVLKKLGELL---KARGDHAAIL-------KPLATTHANTH-K
+IALNNFRLITEVLVKVMAEK--AGLDAGGQSALRRVMDVVIGDIDTYYKEIGFAG-----
+-----------------
+;no comment
+MYG_GALGA
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ADWDKVNSVWSAMEAN---
+ITAVGQNILLRLFEQYPESQSYFPK-------------------------------LKN-
+KSLGELKDTADIKAQADTVLKALGNIV---KKKGNHSQPV-------KALAATHITTH-K
+IPPHYFTKITTIAVGVLSEMYPSEMNAQAQEAFSGAFKSICSDIEKEYKAANFQG-----
+-----------------
+;no comment
+MYG_GALJA
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------ABWDKVNSVWSAVEQN---
+ITAIGQNILLRLFEQYPESEDYFPK-------------------------------LKN-
+KSLGELKDTADIKAQADTVLRALGNIV---KKKGDHSQPV-------KALAATHITTH-K
+IPPHYFTKITTIAVGVLSEMYPSEMNAQAQAAFSGAFKNICSDIEKEYKAANFQG-----
+-----------------
+;no comment
+MYG_MUSAN
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------VDWEKVNSVWSAVESD---
+LTAIGQNILLRLFEQYPESQNHFPK-------------------------------FKN-
+KSLGELKDTADIKAQADTVLSALGNIV---KKKGSHSQPV-------KALAATHITTH-K
+IPPHYFTKITTIAVDVLSEMYPSEMNAQVQAAFSGAFKIICSDIEKEYKAANFQG-----
+-----------------
+;no comment
+MYG_HETPO
+------------------------------------------------------------
+------------------------------------------------------------
+-----------------------------------------TEWEHVNKVWAVVEPD---
+IPAVGLAILLRLFKEHKETKDLFPK-------------------------------FKE-
+IPVQQLGNNEDLRKHGVTVLRALGNIL---KQKGKHSTNV-------KELADTHINKH-K
+IPPKNFVLITNIAVKVLTEMYPSDMTGPMQESFSKVFTVICSDLETLYKEANFQG-----
+-----------------
+;no comment
+MYG_AETPY
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDQEWQQVLSIWGKVESD---
+LAGHGHQVLMRLFQDHPETLDRFDK-------------------------------FKGL
+KTPDQMKGSEDLKKHGVTVLTQLGKIL---KQKGNHESEL-------KPLAQTHATKH-K
+IPVKYLEFISEAIMKVIAEKHAADFGGDSQAAMKKALELFRNDMASKYKEFGFQG-----
+-----------------
+;no comment
+MYG_CERMN
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDQEWQQVLSIWGKVESD---
+LAGHGHQVLMRLFQDHPETLDRFEK-------------------------------FKGL
+KTPDQMKGSEDLKKHGVTVLTQLGKIL---KQKGNHESEL-------KPLAQTHATKH-K
+IPVKYLEFISEAIMKVIAEKHAADFGGDSQAAMKKALELFRNDMASKYKEFGFQG-----
+-----------------
+;no comment
+MYG_URILO
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDQEWQHVLTIWGKVESD---
+LAGHGHQVLMRLFQDHPETLDRFEK-------------------------------FKGL
+KTPDQMKGSEDLKKHGVTVLTQLGKIL---KQKGNHESEL-------KPLAQTHATKH-K
+IPVKYLEFISEAIIKVIAEKHASSFGADSQAAMKKALELFRNDMASKYKEFGFQG-----
+-----------------
+;no comment
+MYG_ANAPO
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDQEWQQVLTIWGKVEAD---
+LAGHGHAVLMRLFQDHPETLDRFEK-------------------------------FKGL
+KTPDQMKGSEDLKKHGVTVLTQLGKIL---KQKGNHEAEL-------KPLAQTHATKH-K
+IPVKYLEFISEVIIKVIAEKHSADFGADSQAAMKKALELFRNDMASKYKEFGFQG-----
+-----------------
+;no comment
+MYG_PHAFI
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDQEWQQVLTIWGKVESD---
+LPGHGHEVLMRLFRDHPETLDRFER-------------------------------FKGL
+KTPDQMKASEDLKKHGVTVLTQLGKIL---KQKGNHESEL-------KPLAQTHATKH-K
+IPVKYLEFISEVIIKVIAEKHSADFGADSQAAMKKALELFRNDMASKYKEFGFQG-----
+-----------------
+;no comment
+MYG_CHICK
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDQEWQQVLTIWGKVEAD---
+IAGHGHEVLMRLFHDHPETLDRFDK-------------------------------FKGL
+KTPDQMKGSEDLKKHGATVLTQLGKIL---KQKGNHESEL-------KPLAQTHATKH-K
+IPVKYLEFISEVIIKVIAEKHAADFGADSQAAMKKALELFRNDMASKYKEFGFQG-----
+-----------------
+;no comment
+MYG_APTFO
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLNDQEWQQVLTMWGKVESD---
+LAGHGHAVLMRLFKSHPETMDRFDK-------------------------------FRGL
+KTPDEMRGSEDMKKHGVTVLT-LGQIL---KKKGHHEAEL-------KPLSQTHATKH-K
+VPVKYLEFISEAIMKVIAQKHASNFGADAQEAMKKALELFRNDMASKYKEFGFQG-----
+-----------------
+;no comment
+MYG_ORNAN
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLKVWGKVEGD---
+LPGHGQEVLIRLFKTHPETLEKFDK-------------------------------FKGL
+KTEDEMKASADLKKHGGTVLTALGNIL---KKKGQHEAEL-------KPLAQSHATKH-K
+ISIKFLEYISEAIIHVLQSKHSADFGADAQAAMGKALELFRNDMAAKYKEFGFQG-----
+-----------------
+;no comment
+MYG_TACAC
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLKVWGKVETD---
+ITGHGQDVLIRLFKTHPETLEKFDK-------------------------------FKHL
+KTEDEMKASADLKKHGGVVLTALGSIL---KKKGQHEAEL-------KPLAQSHATKH-K
+ISIKFLEFISEAIIHVLQSKHSADFGADAQAAMGKALELFRNDMATKYKEFGFQG-----
+-----------------
+;no comment
+MYG_DIDMA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNAWGKVEAD---
+IPGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGATVLTALGNIL---KKKGNHEAEL-------KPLAQSHATKH-K
+ISVQFLEFISEAIIQVIQSKHPGDFGGDAQAAMGKALELFRNDMAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_MACRU
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNIWGKVETD---
+EGGHGKDVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGITVLTALGNIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPVQFLEFISDAIIQVIQSKHAGNFGADAQAAMKKALELFRHDMAAKYKEFGFQG-----
+-----------------
+;no comment
+MYG_AOTTR
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+VPSHGQEVLISLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEELKKHGVTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPVKYLEFISDAIVHVLQKKHPGDFGADAQGAMKKALELFRNDMAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_CALJA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPSHGQEVLISLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEELKKHGVTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPVKYLEFISDAIVHVLQKKHPGDFGADAQGAMKKALELFRNDMAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_CEBAP
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPSHGQEVLISLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEELKKHGATVLTALGGIL---KKKGQHEAEL-------KPLAQSHATKH-K
+IPVKYLEFISDAIVHVLQKKHPGDFGADAQGAMKKALELFRNDMAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_SAISC
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNIWGKVEAD---
+IPSHGQEVLISLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEELKKHGTTVLTALGGIL---KKKGQHEAEL-------KPLAQSHATKH-K
+IPVKYLELISDAIVHVLQKKHPGDFGADAQGAMKKALELFRNDMAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_LAGLA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNIWGKVEAD---
+IPSHGQEVLISLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEELKKHGVTVLTALGGIL---KKKGQHEAEL-------KPLAQSHATKH-K
+IPVKYLEFISDAIIHALQKKHPGDFGADAQGAMKKALELFRNDMAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_ERYPA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPSHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGATVLTALGGIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPVKYLELISESIIQVLQSKHPGDFGADAQGAMNKALELFRNDMAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_PAPAN
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPSHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGATVLTALGGIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPVKYLELISESIIQVLQSKHPGDFGADAQGAMNKALELFRNDMAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_PREEN
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPSHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGATVLTALGGIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPVKYLELISESIIQVLQSKHPGDFGADAQGAMNKALELFRNDMAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_MACFA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPSHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGVTVLTALGGIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPVKYLELISESIIQVLQSKHPGDFGADAQGAMNKALELFRNDMAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_GORBE
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+ISGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGATVLTALGGIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPVKYLEFISECIIQVLQSKHPGDFGADAQGAMNKALELFRKDMASNYKELGFQG-----
+-----------------
+;no comment
+MYG_HUMAN
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGATVLTALGGIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPVKYLEFISECIIQVLQSKHPGDFGADAQGAMNKALELFRKDMASNYKELGFQG-----
+-----------------
+;no comment
+MYG_PANTR
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGATVLTALGGIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPVKYLEFISECIIQVLHSKHPGDFGADAQGAMNKALELFRKDMASNYKELGFQG-----
+-----------------
+;no comment
+MYG_HYLAG
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPSHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGATVLTALGGIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPVKYLEFISECIIQVLQSKHPGDFGADAQGAMNKALELFRKDMASNYKELGFQG-----
+-----------------
+;no comment
+MYG_HYLSY
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPSHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGATVLTALGGIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPVKYLEFISECIIQVLQSKHPGDFGADAQGAMNKALELFRKDMASNYKELGFQG-----
+-----------------
+;no comment
+MYG_PONPY
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPSHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGATVLTALGGIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPVKYLEFISESIIQVLQSKHPGDFGADAQGAMNKALELFRKDMASNYKELGFQG-----
+-----------------
+;no comment
+MYG_CTEGU
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNAWGKVETD---
+IGGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGTTVLTALGNIL---KKKGQHEAEL-------APLAQSHATKH-K
+IPVKYLEFISEAIIQVLESKHPGDFGADAQGAMSKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_ERIEU
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPGHGQEVLIRLFKDHPETLEKFDK-------------------------------FKHL
+KSEDEMKSSEDLKKHGTTVLTALGGIL---KKKGQHEAQL-------APLAQSHANKH-K
+IPVKYLEFISEAIIQVLKSKHAGDFGADAQGAMSKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_ROUAE
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+IPGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGATVLTALGGIL---KKKGQHEAQL-------KPLAQSHATKH-K
+IPVKYLEFISEVIIQVLQSKHPGDFGADAQGAMGKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_LAGMA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+LGGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KAEDEMRASEDLKKHGTTVLTALGGIL---KKRGQHAAEL-------APLAQSHATKH-K
+IPVKYLEFISEAIIQVLQSKHPGDFGADAQAAMSKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_PROGU
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEGD---
+LSGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KAEDEMRASEELKKHGTTVLTALGGIL---KKKGQHAAEL-------APLAQSHATKH-K
+IPVKYLEFISEAIIQVLQSKHPGDFGADAQGAMSKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_ORYAF
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDAEWQLVLNVWGKVEAD---
+IPGHGQDVLIRLFKGHPETLEKFDR-------------------------------FKHL
+KTEDEMKASEDLKKHGTTVLTALGGIL---KKKGQHEAEI-------QPLAQSHATKH-K
+IPVKYLEFISEAIIQVIQSKHSGDFGADAQGAMSKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_MELME
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+LAGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKGSEDLKKHGNTVLTALGGIL---KKKGHQEAEL-------KPLAQSHATKH-K
+IPVKYLEFISDAIAQVLQSKHPGNFAAEAQGAMKKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_LUTLU
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+LAGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKGSEDLKKHGNTVLTALGGIL---KKKGKHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIQVLQSKHPGBFGADAQGAMKRALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_CASFI
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLHVWGKVEAD---
+LAGHGQEVLIRLFKGHPETLEKFNK-------------------------------FKHI
+KSEDEMKASEDLKKHGVTVLTALGGVL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLQSKHPGBFGADABGAMNKALELFRKDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_ONDZI
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLHVWGKVEAD---
+LAGHGQDVLIRLFKAHPETLEKFDK-------------------------------FKHI
+KSEDEMKGSEDLKKHGBTVLTALGGIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLZSKHPSBFGADVZGAMKRALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_CANFA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQIVLNIWGKVETD---
+LAGHGQEVLIRLFKNHPETLDKFDK-------------------------------FKHL
+KTEDEMKGSEDLKKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPVKYLEFISDAIIQVLQSKHSGDFHADTEAAMKKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_OTOME
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQIVLNIWGKVETD---
+LAGHGQEVLIRLFKNHPETLDKFDK-------------------------------FKHL
+KTEDEMKGSEDLKKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPVKYLEFISDAIIQVLQSKHSGDFHADTEAAMKKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_LYCPI
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQIVLNIWGKVETD---
+LAGHGQEVLIRLFKNHPETLDKFDK-------------------------------FKHL
+KTEDEMKGSEDLKKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPVKYLEFISDAIIQVLQNKHSGDFHADTEAAMKKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_VULCH
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNIWGKVETD---
+LAGHGQEVLIRLFKNHPETLDKFDK-------------------------------FKHL
+KTEDEMKGSEDLKKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPVKYLEFISDAIIQVLQSKHSGDFHADTEAAMKKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_ZALCA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNIWGKVEAD---
+LVGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKRSEDLKKHGKTVLTALGGIL---KKKGHHDAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLQSKHPGDFGADTHAAMKKALELFRNDIAAKYRELGFQG-----
+-----------------
+;no comment
+MYG_BALAC
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------VLSDAEWHLVLNIWAKVEAD---
+VAGHGQDILIRLFKGHPETLEKFDK-------------------------------FKHL
+KTEAEMKASEDLKKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISDAIIHVLHSRHPAEFGADAQAAMNKALELFRKDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_BALPH
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------VLTDAEWHLVLNIWAKVEAD---
+VAGHGQDILISLFKGHPETLEKFDK-------------------------------FKHL
+KTEAEMKASEDLKKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISDAIIHVLHSRHPADFGADAQAAMNKALELFRKDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_MEGNO
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------VLSDAEWQLVLNIWAKVEAD---
+VAGHGQDILIRLFKGHPETLEKFDK-------------------------------FKHL
+KTEAEMKASEDLKKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISDAIIHVLHSRHPADFGADAQAAMNKALELFRKDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_ESCGI
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------VLSDAEWQLVLNIWAKVEAD---
+VAGHGQDILIRLFKGHPETLEKFDK-------------------------------FKHL
+KTEAEMKASEDLKKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISDAIIHVLHSRHPGDFGADAQAAMNKALELFRKDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_KOGSI
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------VLSEGEWQLVLHVWAKVEAD---
+IAGHGQDILIRLFKHHPETLEKFDR-------------------------------FKHL
+KSEAEMKASEDLKKHGVTVLTALGAIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLHSRHPADFGADAQGAMSKALELFRKDIAAKYKELGYQG-----
+-----------------
+;no comment
+MYG_PHYCA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------VLSEGEWQLVLHVWAKVEAD---
+VAGHGQDILIRLFKSHPETLEKFDR-------------------------------FKHL
+KTEAEMKASEDLKKHGVTVLTALGAIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLHSRHPGDFGADAQGAMNKALELFRKDIAAKYKELGYQG-----
+-----------------
+;no comment
+MYG_MESCA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSEAEWQLVLHVWAKVEAD---
+LSGHGQEILIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEAEMKASEDLKKHGHTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISDAIIHVLHSKHPSDFGADAQGAMTKALELFRKDIAAKYKELGFHG-----
+-----------------
+;no comment
+MYG_ZIPCA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSEAEWQLVLHVWAKVEAD---
+LSGHGQEILIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEAEMKASEDLKKHGHTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISDAIIHVLHSRHPSDFGADAQAAMTKALELFRKDIAAKYKELGFHG-----
+-----------------
+;no comment
+MYG_DELDE
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+LAGHGQDVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KTEADMKASEDLKKHGNTVLTALGAIL---KKKGHHDAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLHSRHPAEFGADAQGAMNKALELFRKDIAAKYKELGFHG-----
+-----------------
+;no comment
+MYG_TURTR
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+LAGHGQDVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KTEADMKASEDLKKHGNTVLTALGAIL---KKKGHHDAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLHSRHPAEFGADAQGAMNKALELFRKDIAAKYKELGFHG-----
+-----------------
+;no comment
+MYG_ORCOR
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+LAGHGQDILIRLFKGHPETLEKFDK-------------------------------FKHL
+KTEADMKASEDLKKHGNTVLTALGAIL---KKKGHHDAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLHSRHPAEFGADAQGAMNKALELFRKDIAAKYKELGFHG-----
+-----------------
+;no comment
+MYG_GLOME
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+LAGHGQDILIRLFKGHPETLEKFDK-------------------------------FKHL
+KTEADMKASEDLKKHGNTVLTALGAIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLHSRHPAEFGADAQGAMNKALELFRKDIAAKYKELGFHG-----
+-----------------
+;no comment
+MYG_PHODA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSEGEWQLVLNVWGKVEAD---
+LAGHGQDVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KTEAEMKASEDLKKHGNTVLTALGGIL---KKKGHHDAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLHSRHPAEFGADAQGAMNKALELFRKDIATKYKELGFHG-----
+-----------------
+;no comment
+MYG_PHOPH
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSEGEWQLVLNVWGKVEAD---
+LAGHGQDVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KTEAEMKASEDLKKHGNTVLTALGGIL---KKKGHHDAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLHSRHPAEFGADAQGAMNKALELFRKDIATKYKELGFHG-----
+-----------------
+;no comment
+MYG_DELLE
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSEGEWQLVLXXXXKVEAD---
+LAGHGQDVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KTXXXMKASEDLKKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLXXXXEAIIHVLHSRHPAEFGADAQGAMNKALELFRKDIAAKYKELGFHG-----
+-----------------
+;no comment
+MYG_INIGE
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNIWGKVEAD---
+LAGHGQDVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KTEAEMKASEDLKKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLHSRHPGDFGADAQAAMNKALELFRKDIAAKYKELGFHG-----
+-----------------
+;no comment
+MYG_HALGR
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWHLVLNVWGKVETD---
+LAGHGQEVLIRLFKSHPETLEKFDK-------------------------------FKHL
+KSEDDMRRSEDLRKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLHSKHPAEFGADAQAAMKKALELFRNDIAAKYKELGFHG-----
+-----------------
+;no comment
+MYG_PHOVI
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWHLVLNVWGKVETD---
+LAGHGQEVLIRLFKSHPETLEKFDK-------------------------------FKHL
+KSEDDMRRSEDLRKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLHSKHPAEFGADAQAAMKKALELFRNDIAAKYKELGFHG-----
+-----------------
+;no comment
+MYG_PHOSI
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWHLVLNVWGKWETD---
+LAGHGQEVLIRLFKSHPETLEKFDK-------------------------------FKHL
+KSEDDMRRSFDLRKHGNTVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISEAIIHVLHSKHPAEFGADAQAAMKKALELFRNDIAAKIKELGFHG-----
+-----------------
+;no comment
+MYG_BOVIN
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNAWGKVEAD---
+VAGHGQEVLIRLFTGHPETLEKFDK-------------------------------FKHL
+KTEAEMKASEDLKKHGNTVLTALGGIL---KKKGHHEAEV-------KHLAESHANKH-K
+IPVKYLEFISDAIIHVLHAKHPSDFGADAQAAMSKALELFRNDMAAQYKVLGFHG-----
+-----------------
+;no comment
+MYG_CEREL
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNAWGKVEAD---
+VAGHGQEVLIRLFTGHPETLEKFDK-------------------------------FKHL
+KTEAEMKASEDLKKHGNTVLTALGGIL---KKKGHHEAEV-------KHLAESHANKH-K
+IPVKYLEFISDAIIHVLHAKHPSNFGADAQGAMSKALELFRNDMAAQYKVLGFQG-----
+-----------------
+;no comment
+MYG_SHEEP
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNAWGKVEAD---
+VAGHGQEVLIRLFTGHPETLEKFDK-------------------------------FKHL
+KTEAEMKASEDLKKHGNTVLTALGGIL---KKKGHHEAEV-------KHLAESHANKH-K
+IPVKYLEFISDAIIHVLHAKHPSNFGADAQGAMSKALELFRNDMAAEYKVLGFQG-----
+-----------------
+;no comment
+MYG_EQUBU
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQQVLNVWGKVEAD---
+IAGHGQEVLIRLFTGHPETLEKFDK-------------------------------FKHL
+KTEAEMKASEDLKKHGTVVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISDAIIHVLHSKHPGDFGADAQGAMTKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_HORSE
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQQVLNVWGKVEAD---
+IAGHGQEVLIRLFTGHPETLEKFDK-------------------------------FKHL
+KTEAEMKASEDLKKHGTVVLTALGGIL---KKKGHHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISDAIIHVLHSKHPGDFGADAQGAMTKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_ELEMA
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWELVLKTWGKVEAD---
+IPGHGETVFVRLFTGHPETLEKFDK-------------------------------FKHL
+KTEGEMKASEDLKKQGVTVLTALGGIL---KKKGHHEAEI-------QPLAQSHATKH-K
+IPIKYLEFISDAIIHVLQSKHPAEFGADAQGAMKKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_LOXAF
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWELVLKTWGKVEAD---
+IPGHGEFVLVRLFTGHPETLEKFDK-------------------------------FKHL
+KTEGEMKASEDLKKQGVTVLTALGGIL---KKKGHHEAEI-------QPLAQSHATKH-K
+IPIKYLEFISDAIIHVLQSKHPAEFGADAQAAMKKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_LEPMU
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+VGGHGQEVLIRLFTGHPETLEKFDK-------------------------------FKHL
+KTADEMKASEDLKKHGTTVLTALGGIL---KKKGQHEAEL-------KPLAQSHATKH-K
+IPIKYLEFISDAIVHVLHSKHPAEFGADAQAAMKKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_RABIT
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDAEWQLVLNVWGKVEAD---
+LAGHGQEVLIRLFHTHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGNTVLTALGAIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPVKYLEFISEAIIHVLHSKHPGDFGADAQAAMSKALELFRNDIAAQYKELGFQG-----
+-----------------
+;no comment
+MYG_GALCR
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLKIWGKVEAD---
+LAGHGQDVLIRLFTAHPETLEKFDK-------------------------------FKNL
+KTADEMKASEDLKKHGVTVLTALGGIL---KKKGQHEAEI-------KPLAQSHATKH-K
+IPVKYLEFISEAIIHVLQNKHSGDFGTDVQGAMSKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_NYCCO
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQSVLNVWGKVEAD---
+LAGHGQEILIRLFTAHPETLEKFDK-------------------------------FKNL
+KTPDEMKASEDLKKHGVTVLTALGGIL---KKKGQHEAEI-------KPLAQSHATKH-K
+IPVKYLEFISGAIIHVLQSKHPGDFGADAQGAMSKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_PERPO
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQSVLNVWGKVEAD---
+LAGHGQEILIRLFTAHPETLEKFDK-------------------------------FKNL
+KTPDEMKASEDLKKHGVTVLTALGGIL---KKKGHHEAEI-------KPLAQSHATKH-K
+IPVKYLEFISEAIIHVLQSKHPGDFGADAQGAMNKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_MOUSE
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+LAGHGQEVLIGLFKTHPETLDKFDK-------------------------------FKNL
+KSEEDMKGSEDLKKHGCTVLTALGTIL---KKKGQHAAEI-------QPLAQSHATKH-K
+IPVKYLEFISEIIIEVLKKRHSGDFGADAQGAMSKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_SPAEH
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEGD---
+LAGHGQEVLIKLFKNHPETLEKFDK-------------------------------FKHL
+KSEDEMKGSEDLKKHGNTVLTALGGIL---KKKGQHAAEI-------QPLAQSHATKH-K
+IPIKYLEFISEAIIQVLQSKHPGDFGADAQGAMSKALELFRNDIAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_OCHCU
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLTVWGKVEAD---
+LAGHGQEVLIRLFKNHPETLEKFDK-------------------------------FKNL
+KSEDEMKGSDDLKKHGNTVLSALGGIL---KKKGQHEAEL-------KPLAQSHATKH-K
+IPVKYLEFISEAIIQVLQSKHPGDFGADAQGAMSKALELFRNDMAAKYKELGFHG-----
+-----------------
+;no comment
+MYG_OCHPR
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+LAGHGQEVLIRLFKNHPETLEKFDK-------------------------------FKNL
+KSEDEMKGSDDLKKHGNTVLSALGGIL---KKKGQHEAEL-------KPLAQSHATKH-K
+IPVKYLEFISEAIIQVLQSKHPGDFGADAQGAMSKALELFRNDMAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_PIG
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+VAGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KSEDEMKASEDLKKHGNTVLTALGGIL---KKKGHHEAEL-------TPLAQSHATKH-K
+IPVKYLEFISEAIIQVLQSKHPGDFGADAQGAMSKALELFRNDMAAKYKELGFQG-----
+-----------------
+;no comment
+MYG_TUPGL
+------------------------------------------------------------
+------------------------------------------------------------
+-------------------------------------GLSDGEWQLVLNVWGKVEAD---
+VAGHGQEVLIRLFKGHPETLEKFDK-------------------------------FKHL
+KTEDEMKASEDLKKHGNTVLSALGGIL---KKKGQHEAEI-------KPLAQSHATKH-K
+IPVKYLEFISEAIIQVLQSKHPGDFGADAQAAMSKALELFRNDIAAKYKELGFQG-----
+-----------------
diff --git a/Examples/Data/OutGroup.txt b/Examples/Data/OutGroup.txt
new file mode 100644
index 0000000..5a54ac2
--- /dev/null
+++ b/Examples/Data/OutGroup.txt
@@ -0,0 +1,2 @@
+Monodelphi
+Echinops, Loxodonta, Dasypus
\ No newline at end of file
diff --git a/Examples/Data/lysozymeLarge.dnd b/Examples/Data/lysozymeLarge.dnd
new file mode 100755
index 0000000..c5bbf42
--- /dev/null
+++ b/Examples/Data/lysozymeLarge.dnd
@@ -0,0 +1,12 @@
+(((((6.langur_Sen&Sve:0.007845, 7.langur_Tob&Tfr:0.000000,
+8.Douc_langur_Pne:0.023560):0.008106,
+9.probiscis_Nla:0.007578):0.026768,
+5.colobus_Cgu&Can:0.037526):0.075806, (((10.baboon_Pcy:0.007941,
+11.mangabey_Cat:0.000000):0.000000, 12.rhesus_Mmu:0.007917):0.000000,
+13.Allen_Ani:0.015927, (14.talapoin_Mta:0.015990,
+(15.patas_Epa:0.016008,
+16.vervet_Cae:0.007968):0.007936):0.008006):0.021414):0.041539,
+(((1.human:0.015901, 2.chimp_bonobo_gorilla:0.000000):0.007955,
+3.orangutan_Ppy:0.000000):0.007230, 4.gibbon_Ggo:0.032960):0.068614,
+(17.squirrel_m:0.026657, (18.tamarin_Soe:0.032259,
+19.Marmoset_Cja:0.040606):0.000000):0.128818);
diff --git a/Examples/Data/lysozymeLarge.fasta b/Examples/Data/lysozymeLarge.fasta
new file mode 100644
index 0000000..86b5fa7
--- /dev/null
+++ b/Examples/Data/lysozymeLarge.fasta
@@ -0,0 +1,172 @@
+
+>1.human
+AAGGTCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GATTGGGAAT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGATGTGT TTGGCCAAAT GGGAGAGTGG TTACAACACA
+CGAGCTACAA ACTACAATGC TGGAGACAGA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCGCTACT GGTGTAATGA TGGCAAAACC CCAGGAGCAG TTAATGCCTG TCATTTATCC
+TGCAGTGCTT TGCTGCAAGA TAACATCGCT GATGCTGTAG CTTGTGCAAA GAGGGTTGTC
+CGTGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAGAA ATCGTTGTCA AAACAGAGAT
+GTCCGTCAGT ATGTTCAAGG TTGTGGAGTG                                 
+
+>2.chimp_bonobo_gorilla
+AAGGTCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GATTGGGAAT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGATGTGT TTGGCCAAAT GGGAGAGTGG TTATAACACA
+CGAGCTACAA ACTACAATGC TGGAGACAGA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCGCTACT GGTGTAATGA TGGCAAAACC CCAGGAGCAG TTAATGCCTG TCATTTATCC
+TGCAGTGCTT TGCTGCAAGA TAACATCGCT GATGCTGTAG CTTGTGCAAA GAGGGTTGTC
+CGTGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAGAA ATCGTTGTCA AAACAGAGAT
+GTCCGTCAGT ATGTTCAAGG TTGTGGAGTA                                 
+
+>3.orangutan_Ppy
+AAGGTCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GATTGGGAAT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGATGTGT TTGGCCAAAT GGGAGAGTGG TTATAACACA
+CGAGCTACAA ACTACAATCC TGGAGACAGA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCGCTACT GGTGTAATGA TGGCAAAACC CCAGGAGCAG TTAATGCCTG TCATTTATCC
+TGCAGTGCTT TGCTGCAAGA TAACATCGCT GATGCTGTAG CTTGTGCAAA GAGGGTTGTC
+CGTGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAGAA ATCGTTGTCA AAACAGAGAT
+GTCCGTCAGT ATGTTCAAGG TTGTGGAGTA                                 
+
+>4.gibbon_Ggo
+AAGGTCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GATTGGGAAT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGATGTGT TTGGCCAAAT GGGAGAGTGG TTATAACACA
+CGAGCTACAA ACTACAATCC TGGAGACAGA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCGCTACT GGTGTAATGA TGGCAAAACC CCAGGAGCAG TTAATGCCTG TCATTTATCC
+TGCAATGCTT TGCTGCAAGA TAACATCGCC GATGCTGTAG CTTGTGCAAA GAGGGTTGTC
+CGCGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAGAA ATCGTTGTCA AAACAGAGAT
+CTCCGTCAGT ATATTCAAGG TTGTGGAGTA                                 
+
+>5.colobus_Cgu&Can
+AAGATCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA AATTGGGACT GGATGGCTAC
+AAGGGAGTCA GCCTAGCAAA CTGGGTGTGT TTGGCCAAAT GGGAGAGTGG TTATAACACA
+GACGCTACAA ACTACAATCC TGGAGATGAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCGCTACT GGTGTAATAA TGGCAAAACC CCAGGAGCAG TTAATGCCTG TCATATATCC
+TGCAATGCTT TGCTGCAAAA TAACATCGCT GATGCTGTAG CTTGTGCAAA GAGGGTTGTC
+AGTGATCCAC AAGGCATTCG AGCATGGGTG GCATGGAAAA AGCACTGTCA AAACAGAGAT
+GTCAGTCAGT ATGTTGAAGG TTGTGGAGTA                                 
+
+>6.langur_Sen&Sve
+AAGATCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA AATTGGGACT GGATGGCTAC
+AAGGGAGTCA GCCTAGCAAA CTGGGTGTGT TTGGCCAAAT GGGAGAGTGG TTATAACACA
+GAAGCTACAA ACTACAATCC TGGAGACGAA AGCACTGATT ATGGCATATT TCAGATCAAT
+AGCCGCTACT GGTGTAATAA TGGCAAAACC CCAGGAGCAG TTGATGCCTG TCATATATCC
+TGCAGTGCTT TGCTGCAAAA TAACATCGCT GATGCTGTAG CTTGTGCAAA GAGGGTTGTC
+AGTGATCCAC AAGGCATTCG AGCATGGGTG GCATGGAGAA ATCACTGTCA AAACAAAGAT
+GTCAGTCAGT ACGTTAAAGG TTGTGGAGTA                                 
+
+>7.langur_Tob&Tfr
+AAGATCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA AATTGGGACT GGATGGCTAC
+AAGGGAGTCA GCCTAGCAAA CTGGGTGTGT TTGGCCAAAT GGGAGAGTGG TTATAACACA
+GAAGCTACAA ACTACAATCC TGGAGACGAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCGCTACT GGTGTAATAA TGGCAAAACC CCAGGAGCAG TTGATGCCTG TCATATATCC
+TGCAGTGCTT TGCTGCAAAA TAACATCGCT GATGCTGTAG CTTGTGCAAA GAGGGTTGTC
+AGTGATCCAC AAGGCATTCG AGCATGGGTG GCATGGAGAA ATCACTGTCA AAACAAAGAT
+GTCAGTCAGT ACGTTAAAGG TTGTGGAGTA                                 
+
+>8.Douc_langur_Pne
+AAGATCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA AATTGGGACT GGATGGCTAC
+AAGGGAGTCA GCCTAGCAAA CTGGGTGTGT TTGGCCAAAT GGGAGAGTGG TTATAACACA
+GAAGCTACAA ACTACAATCC TGGAGACGAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCGCTACT GGTGTAATAA TGGCAAAACC CCAGGAGCAG TTGATGCCTG TCATATATCC
+TGCAGTGCTT TGCTGCAAAA CAACATCGCT GATGCTGTAG CTTGTGCAAA GAGGGTTGTC
+AGTGATCCAC AAGGCGTTCG AGCATGGGTG GCATGGAGAA ATCACTGTCA AAACAAAGAT
+GTCAGTCAGT ACGTTAAAGG TTGTGGAGTG                                 
+
+>9.probiscis_Nla
+AAGATCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA AATTGGGACT GGATGGCTAC
+AAGGGAGTCA GCCTAGCAAA CTGGGTGTGT TTGGCCAAAT GGGAGAGTGG TTATAACACA
+GAAGCTACAA ACTACAATCC TGGAGACGAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCGCTACT GGTGTAATAA TGGCAAAACC CCAGGAGCAG TTGATGCCTG TCATATATCC
+TGCAGTGCTT TGCTGCAAAA TAACATCGCT GATGCTGTAG CTTGTGCAAA GAGGGTTGTC
+AGTGATCCAC AAGGCATTCG AGCATGGGTG GCATGGAGAA ATCACTGTCA AAACAGAGAT
+GTCAGTCAGT ACGTTAAAGG TTGTGGAGTG                                 
+
+>10.baboon_Pcy
+AAGATCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GATTGGGACT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGGTGTGT TTGGCCAAAT GGGAGAGTGA TTATAACACA
+CAAGCTACAA ACTACAATCC TGGAGACCAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCACTACT GGTGTAATAA TGGCAAAACC CCAGGAGCAG TTAATGCCTG TCATATATCC
+TGCAATGCTT TGCTGCAAGA TAACATCGCT GATGCTGTAA CTTGTGCAAA GAGGGTGGTC
+AGTGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAGAA ATCACTGTCA AAACAGAGAT
+GTCAGTCAGT ATGTTCAAGG TTGTGGAGTG                                 
+
+>11.mangabey_Cat
+AAGATCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GATTGGGACT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGGTGTGT TTGGCCAAAT GGGAGAGTGA TTATAACACA
+CAAGCTACAA ACTACAATCC TGGAGACCAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCACTACT GGTGTAATAA TGGCAAAACC CCAGGAGCAG TTAATGCCTG TCATATATCC
+TGCAATGCTT TGCTGCAAGA TAACATCGCT GATGCTGTAA CTTGTGCAAA GAGGGTTGTC
+AGTGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAGAA ATCACTGTCA AAACAGAGAT
+GTCAGTCAGT ATGTTCAAGG TTGTGGAGTG                                 
+
+>12.rhesus_Mmu
+AAGATCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GATTGGGACT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGGTGTGT TTGGCCAAAT GGGAGAGTAA TTATAACACA
+CAAGCTACAA ACTACAATCC TGGAGACCAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCACTACT GGTGTAATAA TGGCAAAACC CCAGGAGCAG TTAATGCCTG TCATATATCC
+TGCAATGCTT TGCTGCAAGA TAACATCGCT GATGCTGTAA CTTGTGCAAA GAGGGTTGTC
+AGTGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAGAA ATCACTGTCA AAACAGAGAT
+GTCAGTCAGT ATGTTCAAGG TTGTGGAGTG                                 
+
+>13.Allen_Ani
+AAGATCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GATTGGGACT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGGTGTGT TTGGCCAAAT GGGAGAGTGA TTATAACACA
+CAAGCTACAA ACTACAATCC TGGAGACCAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCACTACT GGTGTAATAA TGGCAAAACC CCAGGAGCAG TTAATGCCTG TCGTATATCC
+TGCAATGCTT TGCTGCAAGA TAACATCGCT GATGCTGTAA CTTGTGCAAA GAGGGTTGTC
+AGAGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAGAA ATCACTGTCA AAACAGAGAT
+GTCAGTCAGT ATGTTCAAGG TTGTGGAGTG                                 
+
+>14.talapoin_Mta
+AAGATCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GATTGGGACT GGATGGCTAC
+AGGGGAATTA GCCTAGCAAA CTGGGTGTGT TTGGCCAAAT GGGAGAGTGA TTATAACACA
+CAAGCTACAA ACTACAATCC TGGAGACCAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCACTACT GGTGTAATAA TGGCAAAACC CCAGGAGCAG TTAATGCCTG TCATATATCC
+TGCAATGCTT TGCTGCAAGA TAACATCGCT GATGCTGTAA CTTGTGCAAA GAGGGTTGTC
+CGTGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAGAA ATCACTGTCA CAACAGAGAT
+GTCAGTCAGT ATGTTCAAGG TTGTGGAGTG                                 
+
+>15.patas_Epa
+AAGATCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GATTGGGACT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGGTGTGT TTGGCCAAAT GGGAGAGTGG TTATAACACA
+CAAGCTACAA ACTACAATCC TGGAGACCAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCACTACT GGTGTAATAA TGGCAAAACC CCAGGAGCAG TTAATGCCTG TCATATATCC
+TGCAATGCTT TGCTGCAGGA TAACATTGCT GATGCTGTAA CTTGTGCAAA GAGGGTTGTC
+CGTGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAGAA ATCACTGTCA AAACAGAGAT
+GTCAGTCAGT ATGTTCAAGG TTGTGGAGTG                                 
+
+>16.vervet_Cae
+AAGATCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GATTGGGACT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGGTGTGC TTGGCCAAAT GGGAGAGTGG TTATAACACA
+CAAGCTACAA ACTACAATCC TGGAGACCAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCACTACT GGTGTAATAA TGGCAAAACC CCAGGAGCAG TTAATGCCTG TCATATATCC
+TGCAATGCTT TGCTGCAAGA TAACATCGCT GATGCTGTAA CTTGTGCAAA GAGGGTTGTC
+CGTGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAGAA ATCACTGTCA AAACAGAGAT
+GTCAGTCAGT ATGTTCAAGG TTGTGGAGTG                                 
+
+>17.squirrel_m
+AAGGTCTTCG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GGCTTGGAAT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGATGTGT TTGGCCAAAT GGGAGAGTGA CTATAACACA
+CGTGCTACAA ACTACAATCC TGGAGACCAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCACTATT GGTGTAATAA TGGCAGAACC CCAGGAGCAG TTAATGCCTG TCATATATCC
+TGCAATGCTT TGCTGCAAGA TGACATCACT CAAGCTGTGG CCTGTGCAAA GAGGGTTGTC
+CGTGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAAAG CTCATTGTCA AAACAGAGAT
+GTCAGTCAGT ATGTTCAAGG TTGTGGAGTA                                 
+
+>18.tamarin_Soe
+AAGGTCTTCG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GACTTGGATT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGATGTGT TTGGCCAAAT GGGAGAGTGA TTATAACACA
+CGTGCTACAA ACTACAATCC TGGAGACCAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCACTATT GGTGTAATAA CGGCAGAACC CCAGGAGCAG TTAATGCCTG TCATATATCC
+TGCAATGCTT TGCTGCAAGA TGACATCACT GAAGCTGTGG CCTGTGCAAA GAGGGTTGTC
+CGTGATCCAC AAGGCATTAG AGCATGGGTG GCATGGAAAG CTCATTGTCA AAACAGAGAT
+GTCAGTCAGT ATATTCAAGG TTGTGGAGTA                                 
+
+>19.Marmoset_Cja
+AAGGTCTTTG AAAGGTGTGA GTTGGCCAGA ACTCTGAAAA GGTTTGGACT GGATGGCTAC
+AGGGGAATCA GCCTAGCAAA CTGGATGTGT TTGGCCAAAT GGGAGAGTGA TTATAACACA
+CGTGCTACAA ACTACAATCC TGGAGACCAA AGCACTGATT ATGGGATATT TCAGATCAAT
+AGCCACTATT GGTGTAACAA TGGCAGAACC CCAGGAGCAG TTAATGCCTG TCATATATCC
+TGCAATGCTT TGCTGCAAGA TGACATCACT GAAGCTGTGG CCTGTGCAAA GAGGGTTGTC
+CGCGATCCAC AAGGCATTAG GGCATGGGTG GCATGGAAAG CTCATTGTCA AAACAGAGAT
+GTCAGTCAGT ATGTTCAAGG TTGTGGAGTA                                 
+
diff --git a/Examples/Data/treeList.dnd b/Examples/Data/treeList.dnd
new file mode 100644
index 0000000..b9b4406
--- /dev/null
+++ b/Examples/Data/treeList.dnd
@@ -0,0 +1,99 @@
+(((((((((SHREWxxxxx:0.219983,MOLExxxxxx:0.167702):0.010260,HEDGEHOGxx:0.347021):0.020333,(((PHYLLOSTOM:0.201959,FLYINGFOXx:0.125752):0.035554,(((TAPIRxxxxx:0.079326,RHINOxxxxx:0.075323):0.012151,HORSExxxxx:0.085678):0.040927,((DOGxxxxxxx:0.136314,CATxxxxxxx:0.101515):0.040180,PANGOLINxx:0.208542):0.008352):0.005551):0.005257,(LLAMAxxxxx:0.146282,((COWxxxxxxx:0.135217,(HIPPOxxxxx:0.098291,(WHALExxxxx:0.049927,DELPHINOID:0.073922):0.047888):0.016116):0.015684,PIGxxxxxxx:0.134387):0.010244) [...]
+((((((((((RABBITxxxx:0.127727,PIKAxxxxxx:0.187193):0.058313,TREESHREWx:0.206153):0.006315,((SCIURIDxxx:0.172740,CAVIOMORPH:0.274308):0.017577,(RATxxxxxxx:0.102534,MOUSExxxxx:0.094235):0.211140):0.023787):0.005869,((STREPSIRRH:0.155273,HUMANxxxxx:0.189986):0.020965,FLYINGLEMU:0.164746):0.011784):0.014898,(((AARDVARKxx:0.159462,((GOLDENMOLE:0.147567,TENRECIDxx:0.289356):0.017865,(SHEARELESH:0.130092,LOEARELESH:0.115708):0.133403):0.006178):0.010657,((SIRENIANxx:0.120779,ELEPHANTxx:0.161797 [...]
+((((((((((((WHALExxxxx:0.054648,DELPHINOID:0.072697):0.049591,HIPPOxxxxx:0.101093):0.015998,COWxxxxxxx:0.135176):0.013649,LLAMAxxxxx:0.150992):0.007489,PIGxxxxxxx:0.138996):0.038069,(((DOGxxxxxxx:0.137133,CATxxxxxxx:0.102066):0.037544,PANGOLINxx:0.217685):0.009569,(HORSExxxxx:0.089382,(TAPIRxxxxx:0.082562,RHINOxxxxx:0.072963):0.009292):0.035548):0.007351):0.008549,((PHYLLOSTOM:0.198435,FLYINGFOXx:0.133400):0.029762,(SHREWxxxxx:0.223642,MOLExxxxxx:0.165676):0.025031):0.007091):0.018127,(( [...]
+(((((((SIRENIANxx:0.116072,ELEPHANTxx:0.152455):0.014702,HYRAXxxxxx:0.193214):0.026854,(((SHEARELESH:0.126243,LOEARELESH:0.112282):0.137539,(GOLDENMOLE:0.147324,TENRECIDxx:0.284364):0.012591):0.004986,AARDVARKxx:0.161753):0.010375):0.036887,(((SLOTHxxxxx:0.121910,ANTEATERxx:0.143695):0.024041,ARMADILLOx:0.137056):0.049669,((((((COWxxxxxxx:0.136661,(HIPPOxxxxx:0.098138,(WHALExxxxx:0.051034,DELPHINOID:0.073610):0.054065):0.013468):0.017235,PIGxxxxxxx:0.132579):0.009937,LLAMAxxxxx:0.144306) [...]
+(((((((HYRAXxxxxx:0.187139,(SIRENIANxx:0.116746,ELEPHANTxx:0.161343):0.015157):0.028398,((TENRECIDxx:0.287295,(SHEARELESH:0.125965,LOEARELESH:0.110144):0.127883):0.013923,(GOLDENMOLE:0.161756,AARDVARKxx:0.156496):0.008621):0.011185):0.044253,((SLOTHxxxxx:0.123931,ANTEATERxx:0.152444):0.020559,ARMADILLOx:0.139943):0.051539):0.005380,(((((HORSExxxxx:0.089750,(TAPIRxxxxx:0.083417,RHINOxxxxx:0.079631):0.012393):0.034879,(LLAMAxxxxx:0.148375,(PIGxxxxxxx:0.130931,(COWxxxxxxx:0.136177,(HIPPOxxx [...]
+(((((((((RABBITxxxx:0.133623,PIKAxxxxxx:0.187135):0.066524,(SCIURIDxxx:0.174739,((RATxxxxxxx:0.096051,MOUSExxxxx:0.091279):0.202210,CAVIOMORPH:0.259005):0.014604):0.020521):0.008834,(TREESHREWx:0.199290,(STREPSIRRH:0.170411,(HUMANxxxxx:0.180042,FLYINGLEMU:0.158442):0.016477):0.009552):0.005257):0.015469,(((SHREWxxxxx:0.216916,MOLExxxxxx:0.158101):0.010442,HEDGEHOGxx:0.345828):0.019008,((((((WHALExxxxx:0.050592,DELPHINOID:0.072125):0.051142,HIPPOxxxxx:0.096628):0.015817,COWxxxxxxx:0.13604 [...]
+((((((HYRAXxxxxx:0.186118,(SIRENIANxx:0.114605,ELEPHANTxx:0.161493):0.014511):0.029625,((SHEARELESH:0.128675,LOEARELESH:0.116969):0.135015,(AARDVARKxx:0.161946,(GOLDENMOLE:0.145935,TENRECIDxx:0.284227):0.017678):0.008228):0.010457):0.038893,(((((PHYLLOSTOM:0.200752,FLYINGFOXx:0.125658):0.033015,(((HORSExxxxx:0.090467,(RHINOxxxxx:0.073198,TAPIRxxxxx:0.084728):0.009560):0.036832,(((COWxxxxxxx:0.133108,(HIPPOxxxxx:0.097527,(WHALExxxxx:0.052119,DELPHINOID:0.069570):0.051439):0.013912):0.0158 [...]
+((((((HYRAXxxxxx:0.198657,(SIRENIANxx:0.120004,ELEPHANTxx:0.171300):0.015006):0.032227,((GOLDENMOLE:0.163125,AARDVARKxx:0.163327):0.009675,(TENRECIDxx:0.306672,(SHEARELESH:0.134077,LOEARELESH:0.119029):0.131877):0.007444):0.009085):0.039092,(((SLOTHxxxxx:0.128787,ANTEATERxx:0.159931):0.027587,ARMADILLOx:0.138768):0.049569,((TREESHREWx:0.222517,((STREPSIRRH:0.180108,(((SCIURIDxxx:0.171947,CAVIOMORPH:0.287335):0.013098,(RATxxxxxxx:0.095113,MOUSExxxxx:0.100732):0.224642):0.020362,(RABBITxxx [...]
+((((((((TREESHREWx:0.210647,(((SCIURIDxxx:0.167773,CAVIOMORPH:0.281702):0.013036,(RATxxxxxxx:0.097301,MOUSExxxxx:0.098365):0.212553):0.022486,(RABBITxxxx:0.128746,PIKAxxxxxx:0.189964):0.068571):0.006152):0.007054,((STREPSIRRH:0.161169,HUMANxxxxx:0.183364):0.016839,FLYINGLEMU:0.169688):0.011651):0.014764,((((HORSExxxxx:0.092500,(TAPIRxxxxx:0.079311,RHINOxxxxx:0.073196):0.010430):0.038234,(LLAMAxxxxx:0.147056,((COWxxxxxxx:0.135173,(HIPPOxxxxx:0.102337,(WHALExxxxx:0.048967,DELPHINOID:0.0763 [...]
+((((((((SHREWxxxxx:0.223938,MOLExxxxxx:0.157284):0.030362,(((PHYLLOSTOM:0.188263,FLYINGFOXx:0.128685):0.033465,(PANGOLINxx:0.203298,(DOGxxxxxxx:0.135899,CATxxxxxxx:0.105346):0.034204):0.010971):0.005141,((HORSExxxxx:0.092743,(RHINOxxxxx:0.077245,TAPIRxxxxx:0.082071):0.011851):0.033743,((((HIPPOxxxxx:0.099055,(WHALExxxxx:0.050437,DELPHINOID:0.075738):0.052638):0.016307,COWxxxxxxx:0.131754):0.017017,LLAMAxxxxx:0.145611):0.007652,PIGxxxxxxx:0.132808):0.039124):0.008192):0.008573):0.022034,( [...]
+((((((((((SCIURIDxxx:0.167779,CAVIOMORPH:0.277629):0.013085,(RATxxxxxxx:0.096381,MOUSExxxxx:0.092947):0.207037):0.028153,((HUMANxxxxx:0.185381,FLYINGLEMU:0.157570):0.016167,STREPSIRRH:0.169997):0.011814):0.003964,(TREESHREWx:0.195292,(RABBITxxxx:0.128060,PIKAxxxxxx:0.183165):0.070104):0.009639):0.013393,(((SHREWxxxxx:0.201405,HEDGEHOGxx:0.326250):0.020629,MOLExxxxxx:0.169925):0.019616,((((DOGxxxxxxx:0.135110,CATxxxxxxx:0.098169):0.040512,PANGOLINxx:0.200635):0.010558,((((COWxxxxxxx:0.130 [...]
+(((((((((SHEARELESH:0.131083,LOEARELESH:0.121255):0.134427,(GOLDENMOLE:0.168145,AARDVARKxx:0.156875):0.010801):0.005534,((SIRENIANxx:0.121448,ELEPHANTxx:0.165646):0.012196,HYRAXxxxxx:0.182179):0.027889):0.007874,TENRECIDxx:0.309707):0.034827,((SLOTHxxxxx:0.123108,ANTEATERxx:0.152984):0.023570,ARMADILLOx:0.141375):0.046149):0.006576,((((PHYLLOSTOM:0.198332,FLYINGFOXx:0.134411):0.031666,(((DOGxxxxxxx:0.136264,CATxxxxxxx:0.098312):0.041848,PANGOLINxx:0.204077):0.010628,(((PIGxxxxxxx:0.13888 [...]
+((((((SLOTHxxxxx:0.132542,ANTEATERxx:0.152028):0.022538,ARMADILLOx:0.139860):0.043745,((((AARDVARKxx:0.166345,(TENRECIDxx:0.283938,GOLDENMOLE:0.150143):0.025059):0.006940,(SHEARELESH:0.125719,LOEARELESH:0.117866):0.139910):0.008899,((SIRENIANxx:0.115238,ELEPHANTxx:0.161609):0.016921,HYRAXxxxxx:0.182315):0.026681):0.047281,((((SHREWxxxxx:0.221113,MOLExxxxxx:0.159466):0.013193,HEDGEHOGxx:0.347786):0.021165,((((((WHALExxxxx:0.051735,DELPHINOID:0.074014):0.055254,HIPPOxxxxx:0.098903):0.01645 [...]
+((((((((TENRECIDxx:0.292591,GOLDENMOLE:0.145145):0.021399,AARDVARKxx:0.164771):0.004832,(SHEARELESH:0.125871,LOEARELESH:0.110267):0.138032):0.007536,((SIRENIANxx:0.114021,ELEPHANTxx:0.153558):0.016966,HYRAXxxxxx:0.184919):0.025490):0.039880,(((SLOTHxxxxx:0.124038,ANTEATERxx:0.146149):0.025367,ARMADILLOx:0.137074):0.051175,((((PHYLLOSTOM:0.193720,FLYINGFOXx:0.131229):0.037393,(((DOGxxxxxxx:0.135255,CATxxxxxxx:0.105484):0.039677,PANGOLINxx:0.206850):0.011781,((((COWxxxxxxx:0.137815,(HIPPOx [...]
+(((((((AARDVARKxx:0.163494,(TENRECIDxx:0.270775,GOLDENMOLE:0.149221):0.017901):0.007576,(SHEARELESH:0.125587,LOEARELESH:0.122353):0.138107):0.008900,((SIRENIANxx:0.118617,ELEPHANTxx:0.166197):0.015526,HYRAXxxxxx:0.184381):0.026597):0.035899,(((((SHREWxxxxx:0.222386,MOLExxxxxx:0.160886):0.007479,HEDGEHOGxx:0.347478):0.019078,(((((HIPPOxxxxx:0.102779,(WHALExxxxx:0.048448,DELPHINOID:0.077563):0.050504):0.013177,COWxxxxxxx:0.141836):0.016077,PIGxxxxxxx:0.131115):0.010522,LLAMAxxxxx:0.151379) [...]
+(((((((SCIURIDxxx:0.173382,CAVIOMORPH:0.286806):0.012808,(RATxxxxxxx:0.091308,MOUSExxxxx:0.099286):0.220855):0.024823,((TREESHREWx:0.213920,((RABBITxxxx:0.132832,PIKAxxxxxx:0.188320):0.072629,STREPSIRRH:0.175856):0.008978):0.003846,(HUMANxxxxx:0.194452,FLYINGLEMU:0.160993):0.016066):0.006106):0.013282,(((((LLAMAxxxxx:0.148323,(((WHALExxxxx:0.054022,DELPHINOID:0.073399):0.051694,HIPPOxxxxx:0.097232):0.015709,COWxxxxxxx:0.133221):0.015724):0.006163,PIGxxxxxxx:0.132268):0.040456,(((PHYLLOST [...]
+(((((((SIRENIANxx:0.117001,ELEPHANTxx:0.175765):0.015272,HYRAXxxxxx:0.187878):0.026908,(((SHEARELESH:0.141525,LOEARELESH:0.112042):0.134774,(GOLDENMOLE:0.167550,AARDVARKxx:0.158617):0.008794):0.002037,TENRECIDxx:0.309318):0.012728):0.037502,(((SLOTHxxxxx:0.133781,ANTEATERxx:0.152892):0.022485,ARMADILLOx:0.149592):0.051262,((((SHREWxxxxx:0.219214,MOLExxxxxx:0.168097):0.010511,HEDGEHOGxx:0.367442):0.016723,((PHYLLOSTOM:0.199374,FLYINGFOXx:0.130727):0.033089,(((HORSExxxxx:0.094645,(RHINOxxx [...]
+((((((((((STREPSIRRH:0.158659,HUMANxxxxx:0.178753):0.019787,FLYINGLEMU:0.163420):0.009978,(TREESHREWx:0.203688,(RABBITxxxx:0.127742,PIKAxxxxxx:0.183817):0.067745):0.009819):0.005250,((SCIURIDxxx:0.167150,CAVIOMORPH:0.273752):0.014662,(RATxxxxxxx:0.091539,MOUSExxxxx:0.099948):0.212597):0.025970):0.016695,(((SHREWxxxxx:0.220946,MOLExxxxxx:0.156918):0.012421,HEDGEHOGxx:0.351932):0.020999,(((DOGxxxxxxx:0.136702,CATxxxxxxx:0.107477):0.050395,((LLAMAxxxxx:0.149096,(PIGxxxxxxx:0.135809,(COWxxxx [...]
+(((((((SLOTHxxxxx:0.126475,ANTEATERxx:0.145454):0.022453,ARMADILLOx:0.144814):0.052121,((SHEARELESH:0.120401,LOEARELESH:0.120318):0.127917,((((SIRENIANxx:0.114568,ELEPHANTxx:0.155457):0.011239,HYRAXxxxxx:0.180970):0.027975,AARDVARKxx:0.167995):0.005815,(TENRECIDxx:0.293760,GOLDENMOLE:0.153604):0.023002):0.007674):0.042564):0.005996,(((((RABBITxxxx:0.140563,PIKAxxxxxx:0.196609):0.063048,((SCIURIDxxx:0.175726,CAVIOMORPH:0.276312):0.013334,(RATxxxxxxx:0.094036,MOUSExxxxx:0.101775):0.214157) [...]
+(((((((SLOTHxxxxx:0.124863,ANTEATERxx:0.143202):0.022718,ARMADILLOx:0.135320):0.053834,(((AARDVARKxx:0.167081,(TENRECIDxx:0.295096,GOLDENMOLE:0.152566):0.017733):0.005165,(SHEARELESH:0.130040,LOEARELESH:0.114335):0.135131):0.010141,(HYRAXxxxxx:0.178684,(SIRENIANxx:0.120472,ELEPHANTxx:0.162575):0.011766):0.028382):0.041756):0.006279,((((TREESHREWx:0.203967,(RABBITxxxx:0.133750,PIKAxxxxxx:0.185833):0.063237):0.008015,((SCIURIDxxx:0.166537,CAVIOMORPH:0.285131):0.015634,(RATxxxxxxx:0.095754, [...]
+((((((((SHEARELESH:0.126682,LOEARELESH:0.119431):0.138299,((TENRECIDxx:0.281380,GOLDENMOLE:0.146784):0.021235,AARDVARKxx:0.165492):0.003048):0.010689,(HYRAXxxxxx:0.198281,(SIRENIANxx:0.118025,ELEPHANTxx:0.163976):0.014830):0.028079):0.049832,((SLOTHxxxxx:0.126791,ANTEATERxx:0.147791):0.019866,ARMADILLOx:0.138867):0.048309):0.005657,(((((SCIURIDxxx:0.168961,CAVIOMORPH:0.278998):0.016438,(RATxxxxxxx:0.097523,MOUSExxxxx:0.097868):0.208235):0.022807,((RABBITxxxx:0.124869,PIKAxxxxxx:0.196125) [...]
+(((((((((HUMANxxxxx:0.179156,FLYINGLEMU:0.153517):0.016175,STREPSIRRH:0.170544):0.011928,(((SCIURIDxxx:0.161360,CAVIOMORPH:0.275652):0.017803,(RATxxxxxxx:0.095561,MOUSExxxxx:0.099396):0.196146):0.023679,(TREESHREWx:0.209545,(RABBITxxxx:0.131772,PIKAxxxxxx:0.183477):0.064486):0.005810):0.006583):0.015612,((((SHEARELESH:0.119311,LOEARELESH:0.113962):0.130089,(AARDVARKxx:0.160854,(TENRECIDxx:0.284352,GOLDENMOLE:0.147711):0.019480):0.005321):0.010794,((SIRENIANxx:0.110992,ELEPHANTxx:0.161813 [...]
+(((((((SLOTHxxxxx:0.118850,ANTEATERxx:0.152047):0.026542,ARMADILLOx:0.143098):0.045179,(((TENRECIDxx:0.292278,(SHEARELESH:0.139683,LOEARELESH:0.112959):0.121888):0.013261,(GOLDENMOLE:0.166488,AARDVARKxx:0.157122):0.009522):0.010346,(HYRAXxxxxx:0.185722,(SIRENIANxx:0.111472,ELEPHANTxx:0.163144):0.015158):0.029604):0.044463):0.005320,((((STREPSIRRH:0.164032,HUMANxxxxx:0.184023):0.013590,FLYINGLEMU:0.172052):0.014915,((TREESHREWx:0.209813,(RABBITxxxx:0.133725,PIKAxxxxxx:0.185772):0.066394): [...]
+((((((TENRECIDxx:0.305092,(((SHEARELESH:0.132795,LOEARELESH:0.113987):0.140592,(GOLDENMOLE:0.163332,AARDVARKxx:0.162023):0.007767):0.009679,((SIRENIANxx:0.117553,ELEPHANTxx:0.165267):0.014159,HYRAXxxxxx:0.203446):0.028174):0.009702):0.038505,((SLOTHxxxxx:0.134911,ANTEATERxx:0.142935):0.023530,ARMADILLOx:0.142499):0.052161):0.005446,((((SHREWxxxxx:0.222624,MOLExxxxxx:0.154519):0.011978,HEDGEHOGxx:0.344910):0.017300,((((DOGxxxxxxx:0.130978,CATxxxxxxx:0.105697):0.041895,PANGOLINxx:0.212736) [...]
+(((((((SHREWxxxxx:0.226352,MOLExxxxxx:0.157458):0.026301,(((PHYLLOSTOM:0.197963,FLYINGFOXx:0.122202):0.030215,PANGOLINxx:0.212460):0.007906,(((LLAMAxxxxx:0.150332,(((WHALExxxxx:0.051354,DELPHINOID:0.073632):0.055596,HIPPOxxxxx:0.095526):0.015480,COWxxxxxxx:0.141090):0.015264):0.007343,PIGxxxxxxx:0.139232):0.041086,((DOGxxxxxxx:0.142615,CATxxxxxxx:0.101103):0.046684,((RHINOxxxxx:0.072611,TAPIRxxxxx:0.080419):0.010621,HORSExxxxx:0.091177):0.037749):0.005094):0.004713):0.009359):0.014947,(( [...]
+(((((((GOLDENMOLE:0.163704,AARDVARKxx:0.157083):0.008014,(TENRECIDxx:0.284517,(SHEARELESH:0.121768,LOEARELESH:0.109896):0.124697):0.007397):0.012000,(HYRAXxxxxx:0.189408,(SIRENIANxx:0.114140,ELEPHANTxx:0.167395):0.015579):0.030742):0.035228,(((SLOTHxxxxx:0.125815,ANTEATERxx:0.145741):0.023816,ARMADILLOx:0.137669):0.050902,((((STREPSIRRH:0.154453,HUMANxxxxx:0.172167):0.020918,FLYINGLEMU:0.170571):0.012136,(TREESHREWx:0.211524,(((SCIURIDxxx:0.171703,CAVIOMORPH:0.266794):0.011876,(RATxxxxxx [...]
+((((((((TENRECIDxx:0.303806,(GOLDENMOLE:0.156055,AARDVARKxx:0.158688):0.007621):0.004998,(SHEARELESH:0.126998,LOEARELESH:0.113040):0.135767):0.011595,((SIRENIANxx:0.111853,ELEPHANTxx:0.167723):0.012914,HYRAXxxxxx:0.183192):0.024950):0.048557,((SLOTHxxxxx:0.124377,ANTEATERxx:0.146672):0.027641,ARMADILLOx:0.135789):0.045997):0.005595,(((((PANGOLINxx:0.194870,HEDGEHOGxx:0.354112):0.020090,((PHYLLOSTOM:0.202284,FLYINGFOXx:0.129965):0.025066,(SHREWxxxxx:0.216661,MOLExxxxxx:0.151755):0.025606) [...]
+((((((((STREPSIRRH:0.158307,HUMANxxxxx:0.182916):0.018923,FLYINGLEMU:0.174710):0.012527,((TREESHREWx:0.204605,(RABBITxxxx:0.138076,PIKAxxxxxx:0.180849):0.068752):0.007278,((SCIURIDxxx:0.169091,CAVIOMORPH:0.287349):0.015666,(RATxxxxxxx:0.096508,MOUSExxxxx:0.105977):0.208287):0.022606):0.008320):0.015439,(((SHREWxxxxx:0.209536,HEDGEHOGxx:0.326184):0.022506,MOLExxxxxx:0.170675):0.023063,((PHYLLOSTOM:0.201877,FLYINGFOXx:0.126658):0.036786,(((PANGOLINxx:0.203101,(DOGxxxxxxx:0.145099,CATxxxxxx [...]
+(((((((SLOTHxxxxx:0.130979,ANTEATERxx:0.149331):0.022261,ARMADILLOx:0.140722):0.048818,((((SHREWxxxxx:0.219113,MOLExxxxxx:0.157272):0.022972,(PANGOLINxx:0.186134,HEDGEHOGxx:0.342396):0.019009):0.006193,((LLAMAxxxxx:0.145756,(((HIPPOxxxxx:0.092499,(WHALExxxxx:0.047899,DELPHINOID:0.074610):0.056321):0.013473,COWxxxxxxx:0.130994):0.016430,PIGxxxxxxx:0.133277):0.008108):0.036727,((DOGxxxxxxx:0.129073,CATxxxxxxx:0.106916):0.046188,((HORSExxxxx:0.092361,(RHINOxxxxx:0.069130,TAPIRxxxxx:0.082427 [...]
+(((((((SLOTHxxxxx:0.127052,ANTEATERxx:0.153340):0.023272,ARMADILLOx:0.135366):0.050841,((HYRAXxxxxx:0.183607,(SIRENIANxx:0.115841,ELEPHANTxx:0.162109):0.013561):0.028454,((TENRECIDxx:0.293241,(SHEARELESH:0.127269,LOEARELESH:0.109522):0.126191):0.011378,(GOLDENMOLE:0.160318,AARDVARKxx:0.157630):0.010969):0.009626):0.045601):0.005202,((((TREESHREWx:0.202763,(RABBITxxxx:0.126970,PIKAxxxxxx:0.191884):0.070068):0.007580,((SCIURIDxxx:0.176544,CAVIOMORPH:0.269329):0.013256,(RATxxxxxxx:0.098424, [...]
+((((((SLOTHxxxxx:0.122903,ANTEATERxx:0.138466):0.026889,ARMADILLOx:0.141838):0.042984,((((SIRENIANxx:0.114455,ELEPHANTxx:0.162518):0.011998,HYRAXxxxxx:0.184401):0.029072,((SHEARELESH:0.127127,LOEARELESH:0.106722):0.135404,((TENRECIDxx:0.292099,GOLDENMOLE:0.151841):0.019967,AARDVARKxx:0.162974):0.003857):0.011117):0.048787,(((TREESHREWx:0.213938,((RABBITxxxx:0.127777,PIKAxxxxxx:0.187431):0.071655,((SCIURIDxxx:0.162568,CAVIOMORPH:0.280061):0.015775,(RATxxxxxxx:0.105107,MOUSExxxxx:0.096583) [...]
+((((((((SHEARELESH:0.128059,LOEARELESH:0.111208):0.137988,(AARDVARKxx:0.157814,GOLDENMOLE:0.157428):0.008132):0.003532,TENRECIDxx:0.295054):0.011617,(HYRAXxxxxx:0.186204,(SIRENIANxx:0.110148,ELEPHANTxx:0.158285):0.018235):0.023949):0.039452,(((SLOTHxxxxx:0.123292,ANTEATERxx:0.147823):0.022771,ARMADILLOx:0.131613):0.048835,((TREESHREWx:0.209186,(((STREPSIRRH:0.157592,HUMANxxxxx:0.178851):0.021617,FLYINGLEMU:0.175754):0.008114,((RABBITxxxx:0.135223,PIKAxxxxxx:0.182376):0.065685,((SCIURIDxx [...]
+((((((((SHEARELESH:0.129963,LOEARELESH:0.119102):0.136467,((TENRECIDxx:0.289113,GOLDENMOLE:0.152072):0.018664,AARDVARKxx:0.168777):0.005704):0.008963,((SIRENIANxx:0.113536,ELEPHANTxx:0.164722):0.014087,HYRAXxxxxx:0.186932):0.028216):0.045918,(((((PHYLLOSTOM:0.193695,FLYINGFOXx:0.127325):0.034947,PANGOLINxx:0.215313):0.007344,((((((WHALExxxxx:0.048905,DELPHINOID:0.075206):0.051860,HIPPOxxxxx:0.098012):0.018166,COWxxxxxxx:0.137071):0.016666,PIGxxxxxxx:0.130550):0.011797,LLAMAxxxxx:0.150437 [...]
+((((((HYRAXxxxxx:0.177017,(SIRENIANxx:0.118172,ELEPHANTxx:0.159839):0.014578):0.027670,(((TENRECIDxx:0.287150,GOLDENMOLE:0.145539):0.019597,AARDVARKxx:0.157498):0.004164,(SHEARELESH:0.118500,LOEARELESH:0.110754):0.136562):0.010982):0.037684,(((SLOTHxxxxx:0.122184,ANTEATERxx:0.146632):0.023294,ARMADILLOx:0.138041):0.051555,((((HUMANxxxxx:0.175214,FLYINGLEMU:0.154214):0.015958,STREPSIRRH:0.171105):0.011080,(((SCIURIDxxx:0.164765,CAVIOMORPH:0.274349):0.014067,(RATxxxxxxx:0.096227,MOUSExxxxx [...]
+((((((HYRAXxxxxx:0.177502,(SIRENIANxx:0.117982,ELEPHANTxx:0.158211):0.014211):0.028674,(AARDVARKxx:0.165071,((TENRECIDxx:0.276867,GOLDENMOLE:0.142875):0.018144,(SHEARELESH:0.127789,LOEARELESH:0.118024):0.121634):0.007536):0.011776):0.035900,(((((((HORSExxxxx:0.087760,(TAPIRxxxxx:0.084706,RHINOxxxxx:0.071855):0.009813):0.036108,(LLAMAxxxxx:0.143254,((COWxxxxxxx:0.135473,(HIPPOxxxxx:0.096790,(WHALExxxxx:0.051095,DELPHINOID:0.074376):0.050786):0.010923):0.015798,PIGxxxxxxx:0.132867):0.00950 [...]
+((((((HYRAXxxxxx:0.194295,(SIRENIANxx:0.119018,ELEPHANTxx:0.156862):0.012836):0.027134,(((AARDVARKxx:0.161015,GOLDENMOLE:0.164272):0.007558,(SHEARELESH:0.132711,LOEARELESH:0.112528):0.142992):0.002562,TENRECIDxx:0.306925):0.009656):0.034787,(((((STREPSIRRH:0.158946,HUMANxxxxx:0.186137):0.017873,FLYINGLEMU:0.176558):0.010106,((TREESHREWx:0.211297,(RABBITxxxx:0.137138,PIKAxxxxxx:0.174404):0.060388):0.008248,((SCIURIDxxx:0.174755,CAVIOMORPH:0.282095):0.014527,(RATxxxxxxx:0.093446,MOUSExxxxx [...]
+(((((((((GOLDENMOLE:0.167319,AARDVARKxx:0.165687):0.007763,(TENRECIDxx:0.309922,(SHEARELESH:0.134382,LOEARELESH:0.111315):0.126629):0.008860):0.009550,((SIRENIANxx:0.114716,ELEPHANTxx:0.161585):0.015071,HYRAXxxxxx:0.185457):0.026281):0.045604,((SLOTHxxxxx:0.126653,ANTEATERxx:0.153187):0.023782,ARMADILLOx:0.139545):0.052644):0.011282,((TREESHREWx:0.208626,(((HUMANxxxxx:0.185884,FLYINGLEMU:0.160667):0.015915,STREPSIRRH:0.178523):0.012082,((RABBITxxxx:0.132300,PIKAxxxxxx:0.187748):0.064642, [...]
+(((((((((PHYLLOSTOM:0.200651,FLYINGFOXx:0.136140):0.032082,((((RHINOxxxxx:0.081240,TAPIRxxxxx:0.083325):0.012322,HORSExxxxx:0.094782):0.037681,(PANGOLINxx:0.215546,(DOGxxxxxxx:0.141871,CATxxxxxxx:0.104723):0.036275):0.009787):0.007785,(((((WHALExxxxx:0.047960,DELPHINOID:0.079503):0.053964,HIPPOxxxxx:0.100578):0.016119,COWxxxxxxx:0.137003):0.015225,PIGxxxxxxx:0.135369):0.008852,LLAMAxxxxx:0.148352):0.034877):0.006182):0.008167,((SHREWxxxxx:0.229906,MOLExxxxxx:0.153645):0.014645,HEDGEHOGxx [...]
+(((((((((PANGOLINxx:0.205728,(DOGxxxxxxx:0.134414,CATxxxxxxx:0.107685):0.037592):0.007990,(PHYLLOSTOM:0.203811,FLYINGFOXx:0.126577):0.035057):0.003975,(((PIGxxxxxxx:0.136665,(COWxxxxxxx:0.132491,((WHALExxxxx:0.053181,DELPHINOID:0.075806):0.046796,HIPPOxxxxx:0.106601):0.013445):0.017531):0.008893,LLAMAxxxxx:0.152491):0.032907,((TAPIRxxxxx:0.078815,RHINOxxxxx:0.074479):0.010731,HORSExxxxx:0.089090):0.038643):0.008752):0.011787,((SHREWxxxxx:0.205741,MOLExxxxxx:0.163451):0.013644,HEDGEHOGxx: [...]
+((((((((STREPSIRRH:0.154555,HUMANxxxxx:0.177112):0.020854,FLYINGLEMU:0.167143):0.010824,(TREESHREWx:0.208291,((RABBITxxxx:0.133869,PIKAxxxxxx:0.193305):0.063134,((SCIURIDxxx:0.179907,CAVIOMORPH:0.278950):0.013636,(RATxxxxxxx:0.096362,MOUSExxxxx:0.100357):0.213308):0.019937):0.008791):0.005953):0.014143,(((SHREWxxxxx:0.219853,MOLExxxxxx:0.160180):0.010819,HEDGEHOGxx:0.341199):0.019145,((((((COWxxxxxxx:0.140434,((WHALExxxxx:0.049475,DELPHINOID:0.076187):0.049161,HIPPOxxxxx:0.102775):0.0141 [...]
+(((((((AARDVARKxx:0.160870,(TENRECIDxx:0.280681,GOLDENMOLE:0.145830):0.019363):0.004183,(SHEARELESH:0.128827,LOEARELESH:0.108971):0.135532):0.009993,(HYRAXxxxxx:0.186568,(SIRENIANxx:0.113173,ELEPHANTxx:0.163265):0.014692):0.030529):0.034197,(((SLOTHxxxxx:0.117333,ANTEATERxx:0.148865):0.022341,ARMADILLOx:0.139909):0.046653,((((TREESHREWx:0.197851,(RABBITxxxx:0.130524,PIKAxxxxxx:0.184255):0.062231):0.009355,((SCIURIDxxx:0.172765,CAVIOMORPH:0.281875):0.011501,(RATxxxxxxx:0.090891,MOUSExxxxx [...]
+(((((((SIRENIANxx:0.118126,ELEPHANTxx:0.163191):0.014083,HYRAXxxxxx:0.179873):0.026806,((GOLDENMOLE:0.155811,AARDVARKxx:0.159382):0.009381,(TENRECIDxx:0.289417,(SHEARELESH:0.117028,LOEARELESH:0.113774):0.123541):0.012594):0.009670):0.040795,(((((((LLAMAxxxxx:0.146651,(COWxxxxxxx:0.133197,((WHALExxxxx:0.047437,DELPHINOID:0.072419):0.051122,HIPPOxxxxx:0.092436):0.013622):0.017842):0.007065,PIGxxxxxxx:0.136119):0.040005,((PANGOLINxx:0.194421,(DOGxxxxxxx:0.132286,CATxxxxxxx:0.095002):0.03764 [...]
+(((((((SHREWxxxxx:0.229710,MOLExxxxxx:0.166910):0.027837,((((PHYLLOSTOM:0.194624,FLYINGFOXx:0.124445):0.028526,PANGOLINxx:0.211655):0.007321,((DOGxxxxxxx:0.135880,CATxxxxxxx:0.099831):0.046241,((TAPIRxxxxx:0.081962,RHINOxxxxx:0.074739):0.009729,HORSExxxxx:0.087413):0.039532):0.006412):0.004109,((LLAMAxxxxx:0.153358,(((WHALExxxxx:0.051004,DELPHINOID:0.074089):0.053146,HIPPOxxxxx:0.101807):0.013499,COWxxxxxxx:0.137893):0.015674):0.005485,PIGxxxxxxx:0.135028):0.041149):0.010382):0.014579,(( [...]
+((((((((((TAPIRxxxxx:0.083484,RHINOxxxxx:0.071865):0.011265,HORSExxxxx:0.087938):0.040263,((DOGxxxxxxx:0.135995,CATxxxxxxx:0.104139):0.046298,((PHYLLOSTOM:0.192862,FLYINGFOXx:0.124017):0.028515,PANGOLINxx:0.206020):0.006732):0.004644):0.005005,((LLAMAxxxxx:0.149901,(((WHALExxxxx:0.051012,DELPHINOID:0.074101):0.055369,HIPPOxxxxx:0.100955):0.015039,COWxxxxxxx:0.133050):0.015284):0.007759,PIGxxxxxxx:0.138335):0.041346):0.007460,(SHREWxxxxx:0.220850,MOLExxxxxx:0.154625):0.032229):0.012584,(( [...]
+(((((((((SHREWxxxxx:0.219502,MOLExxxxxx:0.159579):0.011787,HEDGEHOGxx:0.355260):0.018147,((((((WHALExxxxx:0.045362,DELPHINOID:0.073839):0.056442,HIPPOxxxxx:0.101740):0.015727,COWxxxxxxx:0.135018):0.013830,PIGxxxxxxx:0.135049):0.009618,LLAMAxxxxx:0.145953):0.041522,(((PANGOLINxx:0.197805,(DOGxxxxxxx:0.136749,CATxxxxxxx:0.098927):0.039708):0.008913,(HORSExxxxx:0.091603,(TAPIRxxxxx:0.080969,RHINOxxxxx:0.070451):0.012619):0.041065):0.004401,(PHYLLOSTOM:0.203351,FLYINGFOXx:0.126289):0.035919) [...]
+(((((((SLOTHxxxxx:0.119303,ANTEATERxx:0.158920):0.024720,ARMADILLOx:0.134695):0.050048,(((SIRENIANxx:0.112499,ELEPHANTxx:0.166841):0.016275,HYRAXxxxxx:0.184750):0.026850,((AARDVARKxx:0.163283,(TENRECIDxx:0.268656,GOLDENMOLE:0.147052):0.021624):0.007272,(SHEARELESH:0.126613,LOEARELESH:0.119798):0.134703):0.008336):0.042327):0.005648,((((((DOGxxxxxxx:0.133501,CATxxxxxxx:0.098522):0.044668,PANGOLINxx:0.204139):0.008142,(PHYLLOSTOM:0.201510,FLYINGFOXx:0.122463):0.028274):0.003197,((HORSExxxx [...]
+((((((HYRAXxxxxx:0.179178,(SIRENIANxx:0.115550,ELEPHANTxx:0.158874):0.013169):0.029698,(AARDVARKxx:0.156714,((TENRECIDxx:0.291632,GOLDENMOLE:0.148705):0.017939,(SHEARELESH:0.129715,LOEARELESH:0.104946):0.126541):0.007008):0.011088):0.038299,(((SLOTHxxxxx:0.117901,ANTEATERxx:0.143964):0.021661,ARMADILLOx:0.139215):0.052900,((((PHYLLOSTOM:0.197113,FLYINGFOXx:0.124669):0.034411,((((DOGxxxxxxx:0.134633,CATxxxxxxx:0.102629):0.037055,PANGOLINxx:0.203914):0.010028,((TAPIRxxxxx:0.078137,RHINOxxx [...]
+(((((((((STREPSIRRH:0.159926,HUMANxxxxx:0.189667):0.018416,FLYINGLEMU:0.173614):0.012869,(((SCIURIDxxx:0.176955,CAVIOMORPH:0.282268):0.013670,(RATxxxxxxx:0.094663,MOUSExxxxx:0.098450):0.212304):0.021046,(TREESHREWx:0.210682,(RABBITxxxx:0.134364,PIKAxxxxxx:0.192332):0.064491):0.009041):0.007800):0.014518,((((SIRENIANxx:0.118572,ELEPHANTxx:0.162619):0.017186,HYRAXxxxxx:0.187849):0.031659,((AARDVARKxx:0.169934,(TENRECIDxx:0.285685,GOLDENMOLE:0.149770):0.020655):0.006391,(SHEARELESH:0.131532 [...]
+(((((((GOLDENMOLE:0.160412,AARDVARKxx:0.150948):0.009097,(TENRECIDxx:0.279932,(SHEARELESH:0.125278,LOEARELESH:0.110821):0.124724):0.009094):0.009084,(HYRAXxxxxx:0.189102,(SIRENIANxx:0.113516,ELEPHANTxx:0.154649):0.013787):0.025454):0.038532,(((((PHYLLOSTOM:0.187508,FLYINGFOXx:0.119432):0.034029,(((PANGOLINxx:0.201667,(DOGxxxxxxx:0.133525,CATxxxxxxx:0.103334):0.037538):0.010606,(HORSExxxxx:0.086884,(TAPIRxxxxx:0.074087,RHINOxxxxx:0.072427):0.011148):0.038535):0.005830,((LLAMAxxxxx:0.14038 [...]
+((((((((TENRECIDxx:0.311327,(((SIRENIANxx:0.114817,ELEPHANTxx:0.163253):0.018659,HYRAXxxxxx:0.179672):0.030724,(AARDVARKxx:0.163100,((SHEARELESH:0.130390,LOEARELESH:0.112530):0.134125,GOLDENMOLE:0.162219):0.011055):0.007730):0.009622):0.036876,((SLOTHxxxxx:0.127921,ANTEATERxx:0.154784):0.023210,ARMADILLOx:0.137130):0.048405):0.015102,(((STREPSIRRH:0.158737,HUMANxxxxx:0.185459):0.021369,FLYINGLEMU:0.171162):0.011059,((TREESHREWx:0.203040,(RABBITxxxx:0.137481,PIKAxxxxxx:0.191511):0.065342) [...]
+((((((HYRAXxxxxx:0.188708,(SIRENIANxx:0.114210,ELEPHANTxx:0.158048):0.014336):0.025418,((SHEARELESH:0.123939,LOEARELESH:0.107238):0.128227,(AARDVARKxx:0.152258,(TENRECIDxx:0.287060,GOLDENMOLE:0.152383):0.018294):0.005917):0.011378):0.041842,(((SLOTHxxxxx:0.124475,ANTEATERxx:0.147766):0.025199,ARMADILLOx:0.137245):0.047674,((((SCIURIDxxx:0.167963,CAVIOMORPH:0.264713):0.011424,(RATxxxxxxx:0.094583,MOUSExxxxx:0.099280):0.210481):0.025599,((HUMANxxxxx:0.182704,FLYINGLEMU:0.158677):0.018091,( [...]
+(((((((SLOTHxxxxx:0.129099,ANTEATERxx:0.165564):0.022921,ARMADILLOx:0.141714):0.052047,((AARDVARKxx:0.166244,((GOLDENMOLE:0.154117,TENRECIDxx:0.291026):0.017329,(SHEARELESH:0.132187,LOEARELESH:0.114494):0.134908):0.009416):0.011479,(HYRAXxxxxx:0.191184,(SIRENIANxx:0.112295,ELEPHANTxx:0.169532):0.016271):0.029942):0.044196):0.008195,(((((PANGOLINxx:0.204331,(DOGxxxxxxx:0.138757,CATxxxxxxx:0.106005):0.041185):0.010641,((HORSExxxxx:0.094343,(RHINOxxxxx:0.077000,TAPIRxxxxx:0.081093):0.009836 [...]
+(((((((SLOTHxxxxx:0.124862,ANTEATERxx:0.143243):0.024465,ARMADILLOx:0.141766):0.049757,(((SIRENIANxx:0.109957,ELEPHANTxx:0.169718):0.012638,HYRAXxxxxx:0.189836):0.028136,(TENRECIDxx:0.313170,((GOLDENMOLE:0.160291,AARDVARKxx:0.157856):0.008100,(SHEARELESH:0.123977,LOEARELESH:0.113571):0.131500):0.003642):0.012232):0.045489):0.004630,((TREESHREWx:0.212582,(((STREPSIRRH:0.160226,HUMANxxxxx:0.188610):0.017620,FLYINGLEMU:0.167036):0.012918,((RABBITxxxx:0.134055,PIKAxxxxxx:0.182568):0.068313,( [...]
+(((((((((HUMANxxxxx:0.182463,FLYINGLEMU:0.157823):0.018751,STREPSIRRH:0.171449):0.010817,(((RABBITxxxx:0.132269,PIKAxxxxxx:0.183419):0.067014,(SCIURIDxxx:0.180472,((RATxxxxxxx:0.095758,MOUSExxxxx:0.100817):0.198636,CAVIOMORPH:0.281643):0.013314):0.019149):0.007672,TREESHREWx:0.202529):0.006862):0.014657,((((SHREWxxxxx:0.213316,MOLExxxxxx:0.156779):0.032119,(PANGOLINxx:0.192209,HEDGEHOGxx:0.355370):0.018567):0.003380,(PHYLLOSTOM:0.199867,FLYINGFOXx:0.123128):0.030668):0.007411,(((DOGxxxxx [...]
+(((((((((SCIURIDxxx:0.169014,CAVIOMORPH:0.278820):0.011552,(RATxxxxxxx:0.095989,MOUSExxxxx:0.097760):0.211475):0.021766,(RABBITxxxx:0.129209,PIKAxxxxxx:0.185840):0.068535):0.011230,((FLYINGLEMU:0.172038,(STREPSIRRH:0.164740,HUMANxxxxx:0.182682):0.017269):0.007585,TREESHREWx:0.208217):0.006019):0.016100,(((PHYLLOSTOM:0.208888,FLYINGFOXx:0.122217):0.035353,(((((COWxxxxxxx:0.135770,(HIPPOxxxxx:0.098685,(WHALExxxxx:0.050342,DELPHINOID:0.067952):0.051735):0.014865):0.014075,PIGxxxxxxx:0.13595 [...]
+(((((((SLOTHxxxxx:0.128311,ANTEATERxx:0.152340):0.025091,ARMADILLOx:0.139234):0.052870,((((STREPSIRRH:0.160772,HUMANxxxxx:0.190612):0.020649,FLYINGLEMU:0.174067):0.012494,(((SCIURIDxxx:0.176342,CAVIOMORPH:0.280876):0.013798,(RATxxxxxxx:0.087552,MOUSExxxxx:0.105641):0.218938):0.021443,(TREESHREWx:0.210243,(RABBITxxxx:0.131394,PIKAxxxxxx:0.199411):0.067622):0.005113):0.009548):0.017488,(((SHREWxxxxx:0.230263,MOLExxxxxx:0.152249):0.012605,HEDGEHOGxx:0.365694):0.020551,((LLAMAxxxxx:0.157821, [...]
+((((((((SHEARELESH:0.134600,LOEARELESH:0.109930):0.139467,((TENRECIDxx:0.300403,GOLDENMOLE:0.149542):0.020709,AARDVARKxx:0.172262):0.006613):0.010617,(HYRAXxxxxx:0.190151,(SIRENIANxx:0.121904,ELEPHANTxx:0.161296):0.013158):0.032255):0.042986,((SLOTHxxxxx:0.130497,ANTEATERxx:0.148589):0.022871,ARMADILLOx:0.144952):0.048328):0.006755,((TREESHREWx:0.210300,((((SCIURIDxxx:0.169099,CAVIOMORPH:0.283060):0.013824,(RATxxxxxxx:0.094795,MOUSExxxxx:0.105004):0.210416):0.022771,(RABBITxxxx:0.137844, [...]
+(((((((SLOTHxxxxx:0.120918,ANTEATERxx:0.142761):0.022633,ARMADILLOx:0.134599):0.048302,((((((PANGOLINxx:0.200816,(DOGxxxxxxx:0.137241,CATxxxxxxx:0.103663):0.033404):0.011328,(HORSExxxxx:0.093047,(RHINOxxxxx:0.077003,TAPIRxxxxx:0.077497):0.013948):0.034743):0.006174,(LLAMAxxxxx:0.144034,((COWxxxxxxx:0.139904,((WHALExxxxx:0.049301,DELPHINOID:0.074024):0.051289,HIPPOxxxxx:0.092274):0.016501):0.016194,PIGxxxxxxx:0.134083):0.008977):0.037583):0.005918,(PHYLLOSTOM:0.187911,FLYINGFOXx:0.126761) [...]
+(((((((SLOTHxxxxx:0.131855,ANTEATERxx:0.159171):0.023026,ARMADILLOx:0.143890):0.057890,((((HUMANxxxxx:0.191488,FLYINGLEMU:0.160157):0.015295,STREPSIRRH:0.177953):0.012230,((TREESHREWx:0.208172,(RABBITxxxx:0.138428,PIKAxxxxxx:0.181666):0.067620):0.006508,((SCIURIDxxx:0.175844,(RATxxxxxxx:0.092970,MOUSExxxxx:0.098738):0.212585):0.009409,CAVIOMORPH:0.291301):0.027648):0.004271):0.016704,((((((HIPPOxxxxx:0.099045,(WHALExxxxx:0.050498,DELPHINOID:0.070783):0.053696):0.014610,COWxxxxxxx:0.13472 [...]
+(((((((((SHREWxxxxx:0.223743,MOLExxxxxx:0.155001):0.015119,HEDGEHOGxx:0.357853):0.017001,((((TAPIRxxxxx:0.080162,RHINOxxxxx:0.070083):0.014141,HORSExxxxx:0.087917):0.041529,((PHYLLOSTOM:0.194703,FLYINGFOXx:0.125749):0.034224,(PANGOLINxx:0.200061,(DOGxxxxxxx:0.134267,CATxxxxxxx:0.101429):0.039936):0.008401):0.004144):0.004842,(LLAMAxxxxx:0.147233,(PIGxxxxxxx:0.138148,(COWxxxxxxx:0.129414,((WHALExxxxx:0.050806,DELPHINOID:0.071483):0.053758,HIPPOxxxxx:0.092345):0.017984):0.017264):0.008063) [...]
+((((((((((SCIURIDxxx:0.182782,((RATxxxxxxx:0.094101,MOUSExxxxx:0.094335):0.199616,CAVIOMORPH:0.278159):0.016728):0.024553,(RABBITxxxx:0.128502,PIKAxxxxxx:0.180890):0.068092):0.009068,((STREPSIRRH:0.161298,HUMANxxxxx:0.184496):0.015031,FLYINGLEMU:0.165506):0.009262):0.005746,TREESHREWx:0.201440):0.013755,((TENRECIDxx:0.314454,(((SIRENIANxx:0.112156,ELEPHANTxx:0.155762):0.017366,HYRAXxxxxx:0.185467):0.030686,((GOLDENMOLE:0.171208,AARDVARKxx:0.154709):0.006658,(SHEARELESH:0.129355,LOEARELES [...]
+(((((((((((PHYLLOSTOM:0.201136,FLYINGFOXx:0.118930):0.031830,PANGOLINxx:0.207933):0.008835,((DOGxxxxxxx:0.132316,CATxxxxxxx:0.100428):0.045731,((TAPIRxxxxx:0.083660,RHINOxxxxx:0.073015):0.012954,HORSExxxxx:0.082787):0.034803):0.006115):0.004153,(PIGxxxxxxx:0.129481,(LLAMAxxxxx:0.143136,(COWxxxxxxx:0.137608,((WHALExxxxx:0.047559,DELPHINOID:0.072577):0.051123,HIPPOxxxxx:0.097000):0.015309):0.016778):0.006772):0.040378):0.010324,((SHREWxxxxx:0.212900,MOLExxxxxx:0.155968):0.012172,HEDGEHOGxx [...]
+((((((TENRECIDxx:0.308787,(((SHEARELESH:0.129774,LOEARELESH:0.108910):0.139750,(GOLDENMOLE:0.163791,AARDVARKxx:0.160314):0.009278):0.006404,((SIRENIANxx:0.115667,ELEPHANTxx:0.166967):0.015196,HYRAXxxxxx:0.189782):0.029818):0.008723):0.043164,(((FLYINGLEMU:0.177914,(STREPSIRRH:0.165159,HUMANxxxxx:0.188975):0.019968):0.010734,(((RABBITxxxx:0.139117,PIKAxxxxxx:0.191221):0.062595,((SCIURIDxxx:0.173902,CAVIOMORPH:0.289608):0.016735,(RATxxxxxxx:0.102743,MOUSExxxxx:0.093460):0.215615):0.021306) [...]
+((((((((SHREWxxxxx:0.215524,MOLExxxxxx:0.165572):0.026534,((((((COWxxxxxxx:0.131615,(HIPPOxxxxx:0.102334,(WHALExxxxx:0.049042,DELPHINOID:0.070504):0.055488):0.012879):0.016393,LLAMAxxxxx:0.139581):0.006872,PIGxxxxxxx:0.137085):0.036791,((RHINOxxxxx:0.074413,TAPIRxxxxx:0.083593):0.011459,HORSExxxxx:0.091625):0.037984):0.006050,(PANGOLINxx:0.203165,(DOGxxxxxxx:0.134222,CATxxxxxxx:0.100065):0.042022):0.011748):0.004766,(PHYLLOSTOM:0.192659,FLYINGFOXx:0.130317):0.035840):0.006846):0.021600,( [...]
+((((((((((PIGxxxxxxx:0.135044,(((WHALExxxxx:0.046701,DELPHINOID:0.076000):0.051863,HIPPOxxxxx:0.103630):0.013038,COWxxxxxxx:0.142464):0.015545):0.009239,LLAMAxxxxx:0.146005):0.034449,(((PHYLLOSTOM:0.193009,FLYINGFOXx:0.127075):0.028931,PANGOLINxx:0.213796):0.008008,((DOGxxxxxxx:0.140472,CATxxxxxxx:0.105853):0.045048,(HORSExxxxx:0.089944,(RHINOxxxxx:0.069194,TAPIRxxxxx:0.081222):0.011837):0.036923):0.005405):0.005129):0.008449,(SHREWxxxxx:0.225092,MOLExxxxxx:0.162427):0.028353):0.021910,( [...]
+(((((((((((PANGOLINxx:0.203501,(DOGxxxxxxx:0.138958,CATxxxxxxx:0.101643):0.037593):0.010928,(PHYLLOSTOM:0.204750,FLYINGFOXx:0.128791):0.032559):0.003653,((TAPIRxxxxx:0.079550,RHINOxxxxx:0.075640):0.011096,HORSExxxxx:0.088425):0.041143):0.005358,(((COWxxxxxxx:0.134485,((WHALExxxxx:0.050688,DELPHINOID:0.070961):0.051523,HIPPOxxxxx:0.101858):0.012447):0.015434,PIGxxxxxxx:0.134794):0.009123,LLAMAxxxxx:0.143872):0.039077):0.009694,((SHREWxxxxx:0.227832,MOLExxxxxx:0.158460):0.012056,HEDGEHOGxx [...]
+(((((((((SIRENIANxx:0.115524,ELEPHANTxx:0.157282):0.015583,HYRAXxxxxx:0.180383):0.029052,(((SHEARELESH:0.123980,LOEARELESH:0.111812):0.131149,(TENRECIDxx:0.280507,GOLDENMOLE:0.155297):0.019092):0.005072,AARDVARKxx:0.160815):0.012343):0.045524,((SLOTHxxxxx:0.126406,ANTEATERxx:0.143746):0.024238,ARMADILLOx:0.133107):0.050425):0.011124,((TREESHREWx:0.208470,((((SCIURIDxxx:0.177523,CAVIOMORPH:0.275464):0.013939,(RATxxxxxxx:0.095477,MOUSExxxxx:0.098587):0.203062):0.019215,(RABBITxxxx:0.128571 [...]
+(((((HEDGEHOGxx:0.370252,((((FLYINGLEMU:0.172688,(STREPSIRRH:0.154455,HUMANxxxxx:0.188462):0.016399):0.010416,(((((PHYLLOSTOM:0.188274,FLYINGFOXx:0.127461):0.036160,(PANGOLINxx:0.198201,(DOGxxxxxxx:0.140274,CATxxxxxxx:0.097144):0.040670):0.010085):0.004365,(((RHINOxxxxx:0.070577,TAPIRxxxxx:0.082230):0.009652,HORSExxxxx:0.090019):0.038944,(((((WHALExxxxx:0.050651,DELPHINOID:0.073122):0.049179,HIPPOxxxxx:0.098465):0.015546,COWxxxxxxx:0.139837):0.017796,PIGxxxxxxx:0.126847):0.010198,LLAMAxx [...]
+(((((((SIRENIANxx:0.110697,ELEPHANTxx:0.159853):0.015106,HYRAXxxxxx:0.191387):0.029978,((SHEARELESH:0.125486,LOEARELESH:0.108545):0.135667,(AARDVARKxx:0.160086,(TENRECIDxx:0.288920,GOLDENMOLE:0.151034):0.019207):0.004572):0.007578):0.036859,(((SLOTHxxxxx:0.120770,ANTEATERxx:0.152721):0.024580,ARMADILLOx:0.143148):0.043365,(((((STREPSIRRH:0.159914,HUMANxxxxx:0.182181):0.017085,FLYINGLEMU:0.159783):0.007897,((RABBITxxxx:0.139924,PIKAxxxxxx:0.191250):0.065441,((SCIURIDxxx:0.167353,CAVIOMORP [...]
+((((((HYRAXxxxxx:0.178151,(SIRENIANxx:0.114647,ELEPHANTxx:0.156792):0.016232):0.029466,(((TENRECIDxx:0.278158,GOLDENMOLE:0.144538):0.017039,(SHEARELESH:0.122815,LOEARELESH:0.113158):0.130276):0.004573,AARDVARKxx:0.160321):0.009332):0.034395,(((((((HORSExxxxx:0.083118,(RHINOxxxxx:0.070804,TAPIRxxxxx:0.080645):0.009221):0.036383,(DOGxxxxxxx:0.134074,CATxxxxxxx:0.104524):0.043246):0.007737,((PHYLLOSTOM:0.201273,FLYINGFOXx:0.123317):0.031743,PANGOLINxx:0.202905):0.007726):0.004098,(LLAMAxxxx [...]
+((((((SLOTHxxxxx:0.119477,ANTEATERxx:0.148730):0.024392,ARMADILLOx:0.136156):0.042924,((((SIRENIANxx:0.121598,ELEPHANTxx:0.157787):0.011267,HYRAXxxxxx:0.184711):0.028396,(AARDVARKxx:0.158437,((GOLDENMOLE:0.149041,TENRECIDxx:0.294537):0.013214,(SHEARELESH:0.131352,LOEARELESH:0.110928):0.135727):0.006071):0.011166):0.045188,(((((PIGxxxxxxx:0.133130,(((WHALExxxxx:0.053251,DELPHINOID:0.071591):0.054981,HIPPOxxxxx:0.096315):0.016785,COWxxxxxxx:0.128421):0.013651):0.007716,LLAMAxxxxx:0.140775) [...]
+(((((((SLOTHxxxxx:0.126656,ANTEATERxx:0.150765):0.021238,ARMADILLOx:0.140894):0.055463,((((SHREWxxxxx:0.213322,MOLExxxxxx:0.158817):0.009732,HEDGEHOGxx:0.343352):0.018744,((PHYLLOSTOM:0.192848,FLYINGFOXx:0.124756):0.035836,((PANGOLINxx:0.201546,(DOGxxxxxxx:0.128118,CATxxxxxxx:0.105977):0.038800):0.010675,((HORSExxxxx:0.085545,(TAPIRxxxxx:0.082517,RHINOxxxxx:0.068576):0.010708):0.034473,(((((WHALExxxxx:0.049504,DELPHINOID:0.074932):0.051406,HIPPOxxxxx:0.096225):0.015845,COWxxxxxxx:0.13400 [...]
+((((((((SCIURIDxxx:0.183662,((RATxxxxxxx:0.093716,MOUSExxxxx:0.102443):0.202829,CAVIOMORPH:0.278558):0.013185):0.025675,(TREESHREWx:0.202818,(RABBITxxxx:0.126875,PIKAxxxxxx:0.193689):0.062866):0.009503):0.005661,((STREPSIRRH:0.157156,HUMANxxxxx:0.191228):0.019274,FLYINGLEMU:0.168041):0.013710):0.012754,(((((PHYLLOSTOM:0.194475,FLYINGFOXx:0.126433):0.036541,(((RHINOxxxxx:0.073339,TAPIRxxxxx:0.078221):0.013365,HORSExxxxx:0.084526):0.038789,((DOGxxxxxxx:0.133852,CATxxxxxxx:0.101691):0.03956 [...]
+(((((((((PHYLLOSTOM:0.193054,FLYINGFOXx:0.130832):0.025631,(((DOGxxxxxxx:0.129751,CATxxxxxxx:0.096953):0.039012,PANGOLINxx:0.190355):0.008843,(((TAPIRxxxxx:0.077512,RHINOxxxxx:0.068662):0.010688,HORSExxxxx:0.085763):0.039189,((((HIPPOxxxxx:0.096706,(WHALExxxxx:0.049105,DELPHINOID:0.067755):0.050134):0.015197,COWxxxxxxx:0.125991):0.015640,PIGxxxxxxx:0.129367):0.008652,LLAMAxxxxx:0.136730):0.034696):0.006288):0.004730):0.007777,((SHREWxxxxx:0.208094,MOLExxxxxx:0.148816):0.016234,HEDGEHOGxx [...]
+(((((((TREESHREWx:0.212051,(((STREPSIRRH:0.162589,HUMANxxxxx:0.176226):0.016912,FLYINGLEMU:0.174947):0.009364,((RABBITxxxx:0.130511,PIKAxxxxxx:0.179170):0.064122,(SCIURIDxxx:0.175443,((RATxxxxxxx:0.097598,MOUSExxxxx:0.095498):0.193268,CAVIOMORPH:0.267490):0.014452):0.021362):0.008626):0.007242):0.013828,(((SLOTHxxxxx:0.118504,ANTEATERxx:0.153103):0.023703,ARMADILLOx:0.139305):0.048758,(((SIRENIANxx:0.114809,ELEPHANTxx:0.166436):0.013096,HYRAXxxxxx:0.183034):0.026514,((GOLDENMOLE:0.154785 [...]
+((((((HYRAXxxxxx:0.189184,(SIRENIANxx:0.117724,ELEPHANTxx:0.159520):0.014315):0.027097,(AARDVARKxx:0.160245,((SHEARELESH:0.132980,LOEARELESH:0.101698):0.136480,(GOLDENMOLE:0.156776,TENRECIDxx:0.284076):0.016474):0.008422):0.011915):0.035640,(((((SHREWxxxxx:0.222353,MOLExxxxxx:0.153974):0.012016,HEDGEHOGxx:0.348091):0.020277,(((HORSExxxxx:0.089764,(RHINOxxxxx:0.072280,TAPIRxxxxx:0.079609):0.011363):0.037044,((((HIPPOxxxxx:0.092628,(WHALExxxxx:0.051778,DELPHINOID:0.074813):0.047882):0.0142 [...]
+(((((((SHREWxxxxx:0.223198,MOLExxxxxx:0.158346):0.034280,(((((((WHALExxxxx:0.053095,DELPHINOID:0.076660):0.054891,HIPPOxxxxx:0.100291):0.017323,COWxxxxxxx:0.136494):0.016305,PIGxxxxxxx:0.134351):0.008615,LLAMAxxxxx:0.149033):0.038284,((HORSExxxxx:0.092473,(TAPIRxxxxx:0.080573,RHINOxxxxx:0.070813):0.009696):0.039501,(PANGOLINxx:0.206442,(DOGxxxxxxx:0.141182,CATxxxxxxx:0.107457):0.039919):0.009869):0.005270):0.007617,(PHYLLOSTOM:0.197813,FLYINGFOXx:0.129784):0.038295):0.007021):0.015074,(( [...]
+(((((((((((TAPIRxxxxx:0.078188,RHINOxxxxx:0.070322):0.013333,HORSExxxxx:0.087123):0.035392,(DOGxxxxxxx:0.140091,CATxxxxxxx:0.102683):0.043416):0.005285,((PHYLLOSTOM:0.195292,FLYINGFOXx:0.124574):0.031387,PANGOLINxx:0.201280):0.009160):0.005370,(((((WHALExxxxx:0.049693,DELPHINOID:0.072277):0.050740,HIPPOxxxxx:0.097365):0.017495,COWxxxxxxx:0.129793):0.018465,LLAMAxxxxx:0.149951):0.005281,PIGxxxxxxx:0.135909):0.039373):0.008702,(SHREWxxxxx:0.216409,MOLExxxxxx:0.156825):0.026855):0.017584,(( [...]
+(((((((SLOTHxxxxx:0.128768,ANTEATERxx:0.154515):0.022434,ARMADILLOx:0.145135):0.051377,(((((PIGxxxxxxx:0.132779,((HIPPOxxxxx:0.100115,(WHALExxxxx:0.049535,DELPHINOID:0.072179):0.051263):0.017512,COWxxxxxxx:0.136822):0.015674):0.008328,LLAMAxxxxx:0.144491):0.039439,((PANGOLINxx:0.197484,(DOGxxxxxxx:0.138557,CATxxxxxxx:0.101880):0.038522):0.010400,(HORSExxxxx:0.084848,(RHINOxxxxx:0.073878,TAPIRxxxxx:0.074518):0.011698):0.039703):0.007984):0.006546,((PHYLLOSTOM:0.197244,FLYINGFOXx:0.131352) [...]
+(((((((SHREWxxxxx:0.217924,MOLExxxxxx:0.152231):0.024793,(((((LLAMAxxxxx:0.138514,(((WHALExxxxx:0.047616,DELPHINOID:0.073632):0.051403,HIPPOxxxxx:0.097031):0.014913,COWxxxxxxx:0.129329):0.016044):0.007652,PIGxxxxxxx:0.128953):0.038026,((TAPIRxxxxx:0.077393,RHINOxxxxx:0.070672):0.010529,HORSExxxxx:0.089847):0.035172):0.005643,((DOGxxxxxxx:0.132940,CATxxxxxxx:0.103125):0.036282,PANGOLINxx:0.196364):0.010040):0.006044,(PHYLLOSTOM:0.189956,FLYINGFOXx:0.119776):0.033214):0.007427):0.015577,(( [...]
+(((((((SLOTHxxxxx:0.127601,ANTEATERxx:0.141800):0.020918,ARMADILLOx:0.140679):0.049931,((((STREPSIRRH:0.161820,HUMANxxxxx:0.191081):0.019562,FLYINGLEMU:0.168069):0.006160,((TREESHREWx:0.204012,(RABBITxxxx:0.133389,PIKAxxxxxx:0.180189):0.060792):0.006465,((SCIURIDxxx:0.165179,CAVIOMORPH:0.282944):0.014493,(RATxxxxxxx:0.093980,MOUSExxxxx:0.102212):0.208429):0.023328):0.008941):0.015131,(((LLAMAxxxxx:0.146114,(((HIPPOxxxxx:0.098004,(WHALExxxxx:0.051937,DELPHINOID:0.071874):0.050237):0.01445 [...]
+(((((((SIRENIANxx:0.117466,ELEPHANTxx:0.159143):0.019749,HYRAXxxxxx:0.181644):0.031211,((SHEARELESH:0.130850,LOEARELESH:0.114558):0.140396,(AARDVARKxx:0.157789,(TENRECIDxx:0.288626,GOLDENMOLE:0.153935):0.018289):0.005042):0.010807):0.038659,(((((SHREWxxxxx:0.226765,MOLExxxxxx:0.158889):0.009495,HEDGEHOGxx:0.360361):0.020879,(((PHYLLOSTOM:0.197987,FLYINGFOXx:0.129424):0.027940,PANGOLINxx:0.206251):0.008244,((DOGxxxxxxx:0.140970,CATxxxxxxx:0.107190):0.048940,(((TAPIRxxxxx:0.080246,RHINOxxx [...]
+((((((((((TENRECIDxx:0.304209,(SHEARELESH:0.124557,LOEARELESH:0.109830):0.130299):0.011282,(GOLDENMOLE:0.170940,AARDVARKxx:0.157834):0.009749):0.010059,((SIRENIANxx:0.117802,ELEPHANTxx:0.162669):0.012965,HYRAXxxxxx:0.193993):0.027512):0.048270,((SLOTHxxxxx:0.123487,ANTEATERxx:0.155841):0.023674,ARMADILLOx:0.138561):0.051030):0.015810,(((TREESHREWx:0.215550,(RABBITxxxx:0.126019,PIKAxxxxxx:0.193749):0.073360):0.009263,((SCIURIDxxx:0.173119,CAVIOMORPH:0.291354):0.014389,(RATxxxxxxx:0.093669 [...]
+((((((((AARDVARKxx:0.164319,(TENRECIDxx:0.284744,GOLDENMOLE:0.145144):0.020195):0.004254,(SHEARELESH:0.123163,LOEARELESH:0.114530):0.131948):0.009404,((SIRENIANxx:0.107688,ELEPHANTxx:0.164690):0.012676,HYRAXxxxxx:0.182427):0.027635):0.044896,((SLOTHxxxxx:0.119748,ANTEATERxx:0.158245):0.021494,ARMADILLOx:0.134083):0.046202):0.004291,((((((COWxxxxxxx:0.140779,(HIPPOxxxxx:0.097821,(WHALExxxxx:0.050057,DELPHINOID:0.071361):0.050276):0.013980):0.015770,PIGxxxxxxx:0.132239):0.008847,LLAMAxxxxx [...]
+(((((((SLOTHxxxxx:0.124981,ANTEATERxx:0.153216):0.024346,ARMADILLOx:0.141936):0.050854,((((TREESHREWx:0.210636,(RABBITxxxx:0.139802,PIKAxxxxxx:0.189472):0.066230):0.008986,((SCIURIDxxx:0.174253,CAVIOMORPH:0.280877):0.015649,(RATxxxxxxx:0.094925,MOUSExxxxx:0.096588):0.208137):0.022298):0.007148,((STREPSIRRH:0.163502,HUMANxxxxx:0.192897):0.019538,FLYINGLEMU:0.177221):0.008904):0.015433,((((PIGxxxxxxx:0.133042,(((WHALExxxxx:0.050865,DELPHINOID:0.076818):0.054591,HIPPOxxxxx:0.102622):0.01352 [...]
+((((((HYRAXxxxxx:0.188640,(SIRENIANxx:0.118472,ELEPHANTxx:0.166317):0.015639):0.026813,((SHEARELESH:0.122714,LOEARELESH:0.112358):0.141813,((TENRECIDxx:0.277482,GOLDENMOLE:0.152767):0.022208,AARDVARKxx:0.163540):0.005446):0.009914):0.034049,((((SHREWxxxxx:0.216626,MOLExxxxxx:0.162876):0.027355,((PHYLLOSTOM:0.197920,FLYINGFOXx:0.128038):0.035206,((((HORSExxxxx:0.090334,(RHINOxxxxx:0.075719,TAPIRxxxxx:0.079238):0.009051):0.034215,((((HIPPOxxxxx:0.097523,(WHALExxxxx:0.051742,DELPHINOID:0.06 [...]
+(((((((((AARDVARKxx:0.170905,((TENRECIDxx:0.290015,GOLDENMOLE:0.154845):0.016062,(SHEARELESH:0.131354,LOEARELESH:0.117374):0.140986):0.008030):0.010950,((SIRENIANxx:0.123253,ELEPHANTxx:0.165539):0.018405,HYRAXxxxxx:0.188810):0.026318):0.047347,((SLOTHxxxxx:0.125493,ANTEATERxx:0.155917):0.023548,ARMADILLOx:0.140345):0.052526):0.015289,(((STREPSIRRH:0.161904,HUMANxxxxx:0.185116):0.021219,FLYINGLEMU:0.169498):0.010337,(((SCIURIDxxx:0.186847,((RATxxxxxxx:0.097409,MOUSExxxxx:0.103144):0.19526 [...]
+(((((((((SHREWxxxxx:0.227635,MOLExxxxxx:0.163674):0.010103,HEDGEHOGxx:0.357001):0.020354,((((PHYLLOSTOM:0.202278,FLYINGFOXx:0.135009):0.026332,PANGOLINxx:0.209163):0.008526,((DOGxxxxxxx:0.136810,CATxxxxxxx:0.101113):0.047077,(HORSExxxxx:0.092180,(TAPIRxxxxx:0.081579,RHINOxxxxx:0.070516):0.009490):0.035947):0.008135):0.004610,((LLAMAxxxxx:0.147628,(COWxxxxxxx:0.137474,(HIPPOxxxxx:0.103479,(WHALExxxxx:0.052095,DELPHINOID:0.075634):0.053932):0.013346):0.016062):0.007109,PIGxxxxxxx:0.134875) [...]
+(((((((((SCIURIDxxx:0.171855,CAVIOMORPH:0.270771):0.014616,(RATxxxxxxx:0.098619,MOUSExxxxx:0.095514):0.217307):0.020505,(TREESHREWx:0.208374,(RABBITxxxx:0.134641,PIKAxxxxxx:0.193572):0.059473):0.008379):0.005479,(STREPSIRRH:0.174532,(HUMANxxxxx:0.180202,FLYINGLEMU:0.162587):0.013663):0.010522):0.014862,(((((DOGxxxxxxx:0.136745,CATxxxxxxx:0.108544):0.045327,((TAPIRxxxxx:0.084512,RHINOxxxxx:0.071040):0.013565,HORSExxxxx:0.085473):0.035577):0.007590,(((((WHALExxxxx:0.049455,DELPHINOID:0.076 [...]
+(((((((SLOTHxxxxx:0.119086,ANTEATERxx:0.148774):0.026116,ARMADILLOx:0.137499):0.050833,((((SHREWxxxxx:0.202854,HEDGEHOGxx:0.334437):0.026706,MOLExxxxxx:0.165749):0.020268,(((LLAMAxxxxx:0.145109,((HIPPOxxxxx:0.096620,(WHALExxxxx:0.053789,DELPHINOID:0.067989):0.050186):0.014783,COWxxxxxxx:0.131301):0.015339):0.007334,PIGxxxxxxx:0.133508):0.039386,((HORSExxxxx:0.087755,(RHINOxxxxx:0.073531,TAPIRxxxxx:0.080783):0.011707):0.037955,((PANGOLINxx:0.202718,(DOGxxxxxxx:0.132890,CATxxxxxxx:0.106607 [...]
+((((((((SHEARELESH:0.138067,LOEARELESH:0.106632):0.138415,(GOLDENMOLE:0.151205,TENRECIDxx:0.295946):0.017917):0.007304,AARDVARKxx:0.163597):0.010339,(HYRAXxxxxx:0.190225,(SIRENIANxx:0.108037,ELEPHANTxx:0.170943):0.016480):0.026895):0.035960,((((TREESHREWx:0.206910,((RABBITxxxx:0.141792,PIKAxxxxxx:0.187440):0.069627,((SCIURIDxxx:0.173338,CAVIOMORPH:0.274148):0.012559,(RATxxxxxxx:0.085240,MOUSExxxxx:0.099611):0.220707):0.019437):0.009715):0.005195,((STREPSIRRH:0.161569,HUMANxxxxx:0.184580) [...]
+((((((SHEARELESH:0.123388,LOEARELESH:0.111604):0.133094,(((TENRECIDxx:0.279090,GOLDENMOLE:0.145396):0.023005,AARDVARKxx:0.165800):0.008828,(HYRAXxxxxx:0.183307,(SIRENIANxx:0.121168,ELEPHANTxx:0.153874):0.013204):0.028251):0.009024):0.036365,(((((TREESHREWx:0.210150,(RABBITxxxx:0.127142,PIKAxxxxxx:0.190606):0.060084):0.012442,((SCIURIDxxx:0.179965,CAVIOMORPH:0.277301):0.010289,(RATxxxxxxx:0.090889,MOUSExxxxx:0.096848):0.214163):0.022728):0.007517,(FLYINGLEMU:0.174558,(STREPSIRRH:0.154210, [...]
+(((((((((TREESHREWx:0.215366,(RABBITxxxx:0.132788,PIKAxxxxxx:0.189091):0.063364):0.006868,((STREPSIRRH:0.162100,HUMANxxxxx:0.188321):0.018923,FLYINGLEMU:0.171914):0.008663):0.005524,(SCIURIDxxx:0.184422,((RATxxxxxxx:0.095590,MOUSExxxxx:0.102552):0.204207,CAVIOMORPH:0.274988):0.013460):0.024341):0.016365,((((TENRECIDxx:0.294462,(SHEARELESH:0.128980,LOEARELESH:0.114154):0.128902):0.008969,(GOLDENMOLE:0.164081,AARDVARKxx:0.161133):0.009714):0.011477,((SIRENIANxx:0.120449,ELEPHANTxx:0.163825 [...]
+((((((SLOTHxxxxx:0.125479,ANTEATERxx:0.143241):0.019445,ARMADILLOx:0.134232):0.044022,((TENRECIDxx:0.299665,((SHEARELESH:0.126663,LOEARELESH:0.106328):0.141957,((GOLDENMOLE:0.167750,AARDVARKxx:0.156418):0.010123,(HYRAXxxxxx:0.181247,(SIRENIANxx:0.111525,ELEPHANTxx:0.163521):0.013067):0.030634):0.005935):0.004244):0.041023,(((((SCIURIDxxx:0.165412,CAVIOMORPH:0.278176):0.015261,(RATxxxxxxx:0.093539,MOUSExxxxx:0.101897):0.201679):0.020695,(TREESHREWx:0.191523,(RABBITxxxx:0.124755,PIKAxxxxxx [...]
+((((((((((STREPSIRRH:0.163078,HUMANxxxxx:0.195709):0.019669,FLYINGLEMU:0.174081):0.012778,((RABBITxxxx:0.142398,PIKAxxxxxx:0.201836):0.067061,((SCIURIDxxx:0.167780,CAVIOMORPH:0.299532):0.019298,(RATxxxxxxx:0.096149,MOUSExxxxx:0.105345):0.228667):0.016378):0.010994):0.004062,TREESHREWx:0.225311):0.014264,(((SHREWxxxxx:0.225943,MOLExxxxxx:0.160535):0.012569,HEDGEHOGxx:0.368418):0.023588,((PHYLLOSTOM:0.211180,FLYINGFOXx:0.136772):0.034429,((((RHINOxxxxx:0.077616,TAPIRxxxxx:0.083630):0.01083 [...]
+(((((((SLOTHxxxxx:0.126534,ANTEATERxx:0.151965):0.026108,ARMADILLOx:0.140303):0.054627,(((((STREPSIRRH:0.167072,HUMANxxxxx:0.178689):0.019181,FLYINGLEMU:0.175449):0.010550,((RABBITxxxx:0.135249,PIKAxxxxxx:0.180823):0.068235,((SCIURIDxxx:0.174123,CAVIOMORPH:0.277784):0.012925,(RATxxxxxxx:0.095304,MOUSExxxxx:0.098213):0.221695):0.018228):0.011953):0.003500,TREESHREWx:0.219734):0.016846,(((SHREWxxxxx:0.229669,MOLExxxxxx:0.163025):0.015627,HEDGEHOGxx:0.353855):0.017177,((PHYLLOSTOM:0.196356, [...]
+((((((HYRAXxxxxx:0.184677,(SIRENIANxx:0.115473,ELEPHANTxx:0.165543):0.014281):0.025691,(AARDVARKxx:0.161013,((TENRECIDxx:0.283496,GOLDENMOLE:0.150378):0.019949,(SHEARELESH:0.126665,LOEARELESH:0.107478):0.132917):0.006254):0.013352):0.039253,(((SLOTHxxxxx:0.129085,ANTEATERxx:0.146103):0.020789,ARMADILLOx:0.141525):0.049565,(((((PHYLLOSTOM:0.195157,FLYINGFOXx:0.121517):0.028816,PANGOLINxx:0.206761):0.007064,((DOGxxxxxxx:0.132823,CATxxxxxxx:0.099251):0.050238,((HORSExxxxx:0.091754,(TAPIRxxx [...]
+(((((((SLOTHxxxxx:0.122252,ANTEATERxx:0.146570):0.026745,ARMADILLOx:0.136342):0.049696,((((SHREWxxxxx:0.217659,MOLExxxxxx:0.156489):0.010279,HEDGEHOGxx:0.351864):0.020129,(((PIGxxxxxxx:0.133162,(COWxxxxxxx:0.134804,((WHALExxxxx:0.046975,DELPHINOID:0.076219):0.051426,HIPPOxxxxx:0.098717):0.012878):0.014173):0.010706,LLAMAxxxxx:0.146748):0.038237,(((TAPIRxxxxx:0.082022,RHINOxxxxx:0.075681):0.012188,HORSExxxxx:0.091650):0.040423,((PANGOLINxx:0.190078,(DOGxxxxxxx:0.134502,CATxxxxxxx:0.104749 [...]
+(((((((((STREPSIRRH:0.163306,HUMANxxxxx:0.183434):0.018088,FLYINGLEMU:0.164501):0.012589,((SCIURIDxxx:0.177776,((RATxxxxxxx:0.099859,MOUSExxxxx:0.099968):0.202323,CAVIOMORPH:0.273073):0.013954):0.028349,(TREESHREWx:0.205034,(RABBITxxxx:0.136516,PIKAxxxxxx:0.179213):0.062908):0.007794):0.007611):0.016201,(((SHREWxxxxx:0.219350,MOLExxxxxx:0.155396):0.014780,HEDGEHOGxx:0.352266):0.024138,((((TAPIRxxxxx:0.080424,RHINOxxxxx:0.071853):0.013920,HORSExxxxx:0.087642):0.039362,((PANGOLINxx:0.20561 [...]
diff --git a/Examples/Data/treeList2.dnd b/Examples/Data/treeList2.dnd
new file mode 100644
index 0000000..ce7820e
--- /dev/null
+++ b/Examples/Data/treeList2.dnd
@@ -0,0 +1,11 @@
+(Bos:0.205584,((Canis:0.058216,((Homo:0.001967,Pan:0.001103):0.008098,Macaca:0.009522):0.039742):0.004001,Monodelphi:0.211427):0.024030,Mus:0.092989);
+(Bos:0.120233,Canis:0.094952,(Echinops:0.173577,(((Homo:0.003880,Pan:0.002546):0.013839,Macaca:0.017396):0.061331,Mus:0.219930):0.014190):0.013808);
+(Bos:0.076722,Canis:0.060130,((((Homo:0.002672,Pan:0.004034):0.011988,Macaca:0.016051):0.048883,Rattus:0.161269):0.008651,Monodelphi:0.387129):0.013304);
+(Bos:0.140669,Canis:0.097859,((((Homo:0.001371,Pan:0.005121):0.015410,Macaca:0.020432):0.063729,Mus:0.299535):0.010901,Monodelphi:0.517359):0.026373);
+(Bos:0.095763,Canis:0.060316,((Echinops:0.111147,Monodelphi:0.307070):0.018958,((((Homo:0.000704,Pan:0.002084):0.009436,Macaca:0.011362):0.027452,(Mus:0.016834,Rattus:0.020162):0.076952):0.004317,Oryctolagu:0.086691):0.009698):0.013782);
+(Bos:0.063857,Canis:0.035719,(Echinops:0.080994,(((Homo:0.002011,Pan:0.001339):0.010075,Macaca:0.010344):0.063345,((Mus:0.030672,Rattus:0.037650):0.083515,Oryctolagu:0.053611):0.061425):0.003301):0.009376);
+(Bos:0.076748,Canis:0.056575,((((Homo:0.002809,Pan:0.002310):0.010931,Macaca:0.014765):0.050236,(Mus:0.064262,Rattus:0.055484):0.196583):0.009419,Monodelphi:0.403673):0.009926);
+(Bos:0.078125,Canis:0.064070,(Dasypus:0.079868,((Homo:0.003842,Pan:0.004556):0.009951,Macaca:0.012049):0.047785):0.026879);
+(Bos:0.091493,Canis:0.050625,(((Dasypus:0.062693,Monodelphi:0.267243):0.011416,((Homo:0.002103,Pan:0.001874):0.008115,Macaca:0.012615):0.044339):0.008765,(Mus:0.045525,Rattus:0.080160):0.159360):0.013926);
+(Bos:0.049938,Canis:0.054797,(((Dasypus:0.070434,Loxodonta:0.052947):0.000283,Monodelphi:0.454108):0.008862,(((Homo:0.002669,Pan:0.001356):0.004995,Macaca:0.009575):0.027205,Oryctolagu:0.066500):0.006027):0.008433);
+(Bos:0.164955,(Canis:0.083869,(((Homo:0.005534,Pan:0.004047):0.013564,Macaca:0.035816):0.068362,Oryctolagu:0.080227):0.008167):0.018262,(Monodelphi:0.355625,Rattus:0.209124):0.020357);
diff --git a/Examples/Distance/Dist.bpp b/Examples/Distance/Dist.bpp
new file mode 100644
index 0000000..c3f8dfc
--- /dev/null
+++ b/Examples/Distance/Dist.bpp
@@ -0,0 +1,59 @@
+# Global variables:
+DATA   = LSU
+METHOD = bionj
+
+# Sequences:
+
+# The alphabet to use:
+# DNA, RNA or Protein
+alphabet=DNA
+
+# The sequence file to use (sequences must be aligned!)
+input.sequence.file=../Data/$(DATA).phy
+
+# The alignment format:
+input.sequence.format=Phylip(order=sequential, type=extended)
+
+#Sites to use:
+# all, nogap or complete (=only resolved chars)
+input.sequence.sites_to_use = complete
+# Specify a maximum amount of gaps: may be an absolute number or a percentage.
+input.sequence.max_gap_allowed=100%
+
+# Output the distance matrix if any.
+output.matrix.file = $(DATA).mat
+
+# ----------------------------------------------------------------------------------------
+#                                     Model specification
+# ----------------------------------------------------------------------------------------
+# See the manual for a description of the syntax and available options.
+#
+model = HKY85(kappa=2.843, theta=0.5, theta1=0.5, theta2=0.5, useObservedFrequencies=yes)
+
+rate_distribution = Gamma(n=4, alpha=0.358)
+
+# Tree reconstruction method [wpgma|upgma|nj|bionj]
+method = $(METHOD)
+// Parameter estimation:
+// - init = keep as initial values,
+// - pairwise = estimate separately for each pair of sequences,
+// - iterations = use iterations and ML to estimate these parameters globally.
+optimization.method = init
+optimization.verbose = 1
+optimization.ignore_parameter =
+optimization.max_number_f_eval = 10000
+optimization.tolerance = 0.000001
+optimization.message_handler = $(DATA).messages
+optimization.profiler = $(DATA).profile
+
+# Should we write the resulting tree? none or file name.
+output.tree.file = $(DATA).$(METHOD).dnd
+output.tree.format = Newick
+
+# Bootstrap:
+bootstrap.number = 10
+bootstrap.approximate = no
+# Set this to yes for detailed output when bootstrapping. 
+bootstrap.verbose = no
+bootstrap.output.file = $(DATA).$(METHOD)_bstrees.dnd
+
diff --git a/Examples/Drawing/TreeDraw.bpp b/Examples/Drawing/TreeDraw.bpp
new file mode 100644
index 0000000..e1dcf84
--- /dev/null
+++ b/Examples/Drawing/TreeDraw.bpp
@@ -0,0 +1,9 @@
+input.tree.file=../Data/LSU.dnd
+input.tree.format=Newick
+
+output.drawing.file=LSU.svg
+output.drawing.format=Svg()
+output.drawing.plot=Phylogram(xu=300, yu=12, direction.h=left2right, direction.v=bottom2top, draw.leaves=yes)
+//output.drawing.plot=Phylogram(xu=300, yu=12, direction.h=left2right, direction.v=top2bottom)
+
+
diff --git a/Examples/MaximumLikelihood/Codons/BranchModel/ML.bpp b/Examples/MaximumLikelihood/Codons/BranchModel/ML.bpp
new file mode 100644
index 0000000..431ae3c
--- /dev/null
+++ b/Examples/MaximumLikelihood/Codons/BranchModel/ML.bpp
@@ -0,0 +1,163 @@
+#Example data set adapted from PAML
+#
+#logL = 65442.80353609310986939818
+
+# Global variables:
+DATA = lysozymeLarge
+
+# Sequences:
+
+# The alphabet to use:
+# DNA, RNA or Protein...
+alphabet=Codon(letter=DNA, type=Standard)
+
+# The sequence file to use (sequences must be aligned!)
+input.sequence.file=../../../Data/$(DATA).fasta
+
+# The alignment format:
+input.sequence.format=Fasta
+
+#Sites to use:
+# all, nogap or complete (=only resolved chars)
+input.sequence.sites_to_use = all
+# Specify a maximum amount of gaps: may be an absolute number or a percentage.
+input.sequence.max_gap_allowed = 50%
+
+input.sequence.remove_stop_codons = yes
+
+# ----------------------------------------------------------------------------------------
+#                                     Input tree file
+# ----------------------------------------------------------------------------------------
+
+# user or random
+init.tree = user
+
+input.tree.file = ../../../Data/$(DATA).dnd
+input.tree.format = Newick
+
+init.brlen.method = Input
+
+# ----------------------------------------------------------------------------------------
+#                                     Model specification
+# ----------------------------------------------------------------------------------------
+# See the manual for a description of the syntax and available options.
+#
+model = YN98(kappa=1, omega=1, frequencies=F1X4)
+nonhomogeneous=one_per_branch
+#These lines are for the F1X4 option:
+#nonhomogeneous_one_per_branch.shared_parameters=YN98.kappa,\
+#  YN98.freq_Codon.123_Full.theta, YN98.freq_Codon.123_Full.theta1, YN98.freq_Codon.123_Full.theta2
+#These lines are for the F3X4 option:
+nonhomogeneous_one_per_branch.shared_parameters=YN98.kappa, YN98.freq*
+nonhomogeneous.stationarity=yes
+#Only if stationarity is set to false:
+nonhomogeneous.root_freq=
+
+rate_distribution = Uniform //Gamma(n=4, alpha=0.358)
+
+# Likelihood recursion option:
+# - simple: derivatives takes more time to compute, but likelihood computation is faster.
+#   For big data sets, it can save a lot of memory usage too, particularly when the data are compressed.
+# - double: Uses more memory and need more time to compute likelihood, due to the double recursion.
+#   Analytical derivatives are however faster to compute.
+# This option has no effect in the following cases:
+# - Topology estimation: this requires a double recursive algorithm,
+# - Optimization with a molecular clock: a simple recursion with data compression is used in this case,
+#   due to the impossibility of computing analytical derivatives.
+likelihood.recursion = simple
+
+# Site compression for the simple recursion:
+# - simple: identical sites are not computed twice
+# - recursive: look for site patterns to save computation time during optimization, but
+#   requires extra time for building the patterns.
+#   This is usually the best option, particularly for nucleotide data sets.
+likelihood.recursion_simple.compression = recursive
+
+# ----------------------------------------------------------------------------------------
+#                                     Optimization
+# ----------------------------------------------------------------------------------------
+
+# Should we reestimate likelihood parameters? Tree topology will not be optimized.
+# (recommanded)
+optimization = FullD(derivatives=Newton)
+
+# Tell if the parameter should be transformed in order to remove constraints.
+# This can improves the optimization, but might be a bit slower.
+optimization.reparametrization = no
+
+# Final optimization step, may be useful if numerical derivatives are used:
+# powell or simplex or none.
+optimization.final = none
+
+# Set the quantity of output to the screen:
+optimization.verbose = 3
+
+# Parameters to ignore (for instance equilibrium frequencies)
+optimization.ignore_parameter = 
+
+# Maximum number of likelihood evaluations:
+optimization.max_number_f_eval = 10000
+
+# Precision to reach:
+optimization.tolerance = 1 //0.000001
+
+# idem for error or warning messages:
+optimization.message_handler = $(DATA).messages
+
+# A file where to dump optimization steps (a file path or std for standard output)
+optimization.profiler = $(DATA).profile
+
+# Shall we optimize tree topology as well?
+optimization.topology = no
+
+# Algorithm to use for topology estimation: only NNI for now
+optimization.topology.algorithm = NNI
+
+# NNI method: fast, better or phyml
+# You should use the phyml option, since it is really more efficient!
+optimization.topology.algorithm_nni.method = phyml
+
+# Number of phyml topology movement steps before reoptimizing parameters:
+optimization.topology.nstep = 4
+
+# Shall we estimate parameters before looking for topology movements?
+optimization.topology.numfirst = no
+
+# Tolerances: These numbers should not be too low, in order to save computation
+# time and also for a better topology estimation.
+# The optimization.tolerance parameter will be used for the final optimization
+# of numerical parameters.
+#
+# Tolerance for the prior-topology estimation
+optimization.topology.tolerance.before = 100
+
+# Tolerance for the during-topology estimation
+optimization.topology.tolerance.during = 100
+
+# Shall we first scale the tree before optimizing parameters? [deprecated]
+optimization.scale_first = no
+
+
+
+
+# Should we write the resulting tree? none or file name.
+output.tree.file = $(DATA).ML.dnd
+output.tree.format = Newick
+
+# Alignment information log file (site specific rates, etc):
+output.infos = $(DATA).infos
+
+# Write numerical parameter estimated values:
+output.estimates = $(DATA).params.txt
+
+# ----------------------------------------------------------------------------------------
+#                                     Bootstrap
+# ----------------------------------------------------------------------------------------
+
+bootstrap.number = 0
+# Tell if numerical parameters should be kept to their initial value when bootstrapping: 
+bootstrap.approximate = no
+# Set this to yes for detailed output when bootstrapping. 
+bootstrap.verbose = no
+bootstrap.output.file = $(DATA).ML_bstrees.dnd
+
diff --git a/Examples/MaximumLikelihood/Nucleotides/Homogeneous/Ancestor.bpp b/Examples/MaximumLikelihood/Nucleotides/Homogeneous/Ancestor.bpp
new file mode 100644
index 0000000..89e80d8
--- /dev/null
+++ b/Examples/MaximumLikelihood/Nucleotides/Homogeneous/Ancestor.bpp
@@ -0,0 +1,60 @@
+# WARNING!!! You need to run bppml on the ML.bpp example file first to be able to run this example!
+
+
+# Global variables:
+DATA = LSU
+
+# Sequences:
+
+# The alphabet to use:
+# DNA, RNA or Protein
+alphabet=DNA
+
+# The sequence file to use (sequences must be aligned!)
+input.sequence.file=../../../Data/$(DATA).phy
+
+# The alignment format:
+input.sequence.format=Phylip(order=sequential, type=extended)
+
+#Sites to use:
+# all, nogap or complete (=only resolved chars)
+input.sequence.sites_to_use = complete
+# Specify a maximum amount of gaps: may be an absolute number or a percentage.
+input.sequence.max_gap_allowed = 100%
+
+input.tree.file = $(DATA).ML.dnd
+input.tree.format = Newick
+
+# ----------------------------------------------------------------------------------------
+#                                     Model specification
+# ----------------------------------------------------------------------------------------
+
+# the same syntax as in bppML!
+# Here we directly use the output file from example ML.bpp to load the model:
+param = LSU.params.txt
+
+# ----------------------------------------------------------------------------------------
+#                                     Ancestral Sequence Reconstruction
+# ----------------------------------------------------------------------------------------
+
+asr.method = marginal //only option for now
+
+# Shall we output the site specific probabilities in each case:
+asr.probabilities = yes
+
+# Should we sample from the posterior distribution instead of using the maximum probability?
+asr.sample = yes
+
+# How many samples should we use?
+asr.sample.number = 10
+
+# Alignment information log file (site specific rates, probabilities, etc):
+output.sites.file = $(DATA).sites.csv
+
+# Nodes information log file
+output.nodes.file = $(DATA).nodes.csv
+
+# Write sequences:
+output.sequence.file = $(DATA).ancestors.fasta
+output.sequence.format = Fasta
+
diff --git a/Examples/MaximumLikelihood/Nucleotides/Homogeneous/ML.bpp b/Examples/MaximumLikelihood/Nucleotides/Homogeneous/ML.bpp
new file mode 100644
index 0000000..773d677
--- /dev/null
+++ b/Examples/MaximumLikelihood/Nucleotides/Homogeneous/ML.bpp
@@ -0,0 +1,155 @@
+#initial logL: -65639.1410465442
+#final   logL: -65442.8035360931
+
+# Global variables:
+DATA = LSU
+
+# Sequences:
+
+# The alphabet to use:
+# DNA, RNA or Protein
+alphabet=DNA
+
+# The sequence file to use (sequences must be aligned!)
+input.sequence.file=../../../Data/$(DATA).phy
+
+# The alignment format:
+input.sequence.format=Phylip(order=sequential, type=extended, split=spaces)
+
+#Sites to use:
+# all, nogap or complete (=only resolved chars)
+input.sequence.sites_to_use = all
+# Specify a maximum amount of gaps: may be an absolute number or a percentage.
+input.sequence.max_gap_allowed = 50%
+
+# ----------------------------------------------------------------------------------------
+#                                     Input tree file
+# ----------------------------------------------------------------------------------------
+
+# user or random
+init.tree = user
+
+input.tree.file = ../../../Data/$(DATA).dnd
+input.tree.format = Newick
+
+init.brlen.method = Input
+
+# ----------------------------------------------------------------------------------------
+#                                     Model specification
+# ----------------------------------------------------------------------------------------
+# See the manual for a description of the syntax and available options.
+#
+model = HKY85(kappa=2.843, theta=0.5, theta1=0.5, theta2=0.5, useObservedFrequencies=yes)
+
+rate_distribution = Gamma(n=4, alpha=0.358)
+
+# Likelihood recursion option:
+# - simple: derivatives takes more time to compute, but likelihood computation is faster.
+#   For big data sets, it can save a lot of memory usage too, particularly when the data are compressed.
+# - double: Uses more memory and need more time to compute likelihood, due to the double recursion.
+#   Analytical derivatives are however faster to compute.
+# This option has no effect in the following cases:
+# - Topology estimation: this requires a double recursive algorithm,
+# - Optimization with a molecular clock: a simple recursion with data compression is used in this case,
+#   due to the impossibility of computing analytical derivatives.
+likelihood.recursion = simple
+
+# Site compression for the simple recursion:
+# - simple: identical sites are not computed twice
+# - recursive: look for site patterns to save computation time during optimization, but
+#   requires extra time for building the patterns.
+#   This is usually the best option, particularly for nucleotide data sets.
+likelihood.recursion_simple.compression = recursive
+
+# ----------------------------------------------------------------------------------------
+#                                     Optimization
+# ----------------------------------------------------------------------------------------
+
+# Should we reestimate likelihood parameters? Tree topology will not be optimized.
+# (recommanded)
+# Method to use for optimizing numerical parameters:
+# - None, no optimization performed
+# - DB derivatives for branch lengths + Brent for other parameters
+# - FullD derivatives for all parameters, using numerical derivatives for non-branch lengths parameters.
+optimization = FullD(derivatives=Newton)
+
+# Tell if the parameter should be transformed in order to remove constraints.
+# This can improves the optimization, but might be a bit slower.
+optimization.reparametrization = no
+
+# Final optimization step, may be useful if numerical derivatives are used:
+# powell or simplex or none.
+optimization.final = none
+
+# Set the quantity of output to the screen:
+optimization.verbose = 3
+
+# Parameters to ignore (for instance equilibrium frequencies)
+optimization.ignore_parameter =
+
+# Maximum number of likelihood evaluations:
+optimization.max_number_f_eval = 10000
+
+# Precision to reach:
+optimization.tolerance = 0.000001
+
+# idem for error or warning messages:
+optimization.message_handler = $(DATA).messages
+
+# A file where to dump optimization steps (a file path or std for standard output)
+optimization.profiler = $(DATA).profile
+
+# Shall we optimize tree topology as well?
+optimization.topology = yes
+
+# Algorithm to use for topology estimation: only NNI for now
+optimization.topology.algorithm = NNI
+
+# NNI method: fast, better or phyml
+# You should use the phyml option, since it is really more efficient!
+optimization.topology.algorithm_nni.method = phyml
+
+# Number of phyml topology movement steps before reoptimizing parameters:
+optimization.topology.nstep = 4
+
+# Shall we estimate parameters before looking for topology movements?
+optimization.topology.numfirst = no
+
+# Tolerances: These numbers should not be too low, in order to save computation
+# time and also for a better topology estimation.
+# The optimization.tolerance parameter will be used for the final optimization
+# of numerical parameters.
+#
+# Tolerance for the prior-topology estimation
+optimization.topology.tolerance.before = 100
+
+# Tolerance for the during-topology estimation
+optimization.topology.tolerance.during = 100
+
+# Shall we first scale the tree before optimizing parameters? [deprecated]
+optimization.scale_first = no
+
+
+
+
+# Should we write the resulting tree? none or file name.
+output.tree.file = $(DATA).ML.dnd
+output.tree.format = Newick
+
+# Alignment information log file (site specific rates, etc):
+output.infos = $(DATA).infos
+
+# Write numerical parameter estimated values:
+output.estimates = $(DATA).params.txt
+
+# ----------------------------------------------------------------------------------------
+#                                     Bootstrap
+# ----------------------------------------------------------------------------------------
+
+bootstrap.number = 0
+# Tell if numerical parameters should be kept to their initial value when bootstrapping: 
+bootstrap.approximate = no
+# Set this to yes for detailed output when bootstrapping. 
+bootstrap.verbose = no
+bootstrap.output.file = $(DATA).ML_bstrees.dnd
+
diff --git a/Examples/MaximumLikelihood/Nucleotides/NonHomogeneousGG/MLNHGG.bpp b/Examples/MaximumLikelihood/Nucleotides/NonHomogeneousGG/MLNHGG.bpp
new file mode 100644
index 0000000..d87f906
--- /dev/null
+++ b/Examples/MaximumLikelihood/Nucleotides/NonHomogeneousGG/MLNHGG.bpp
@@ -0,0 +1,125 @@
+#Initial log likelihood.................: -65639.1410465442
+#Log likelihood.........................: -64547.3493038365
+#GC.theta...............................: 0.486755
+#T92.theta_1............................: 0.438231
+#T92.theta_2............................: 0.778319
+#etc
+#Gamma.alpha............................: 0.43608
+#1566.56user 0.36system 26:13.49elapsed 99%CPU
+
+
+# Global variables:
+DATA = LSU
+
+# Sequences:
+
+# The alphabet to use:
+# DNA, RNA or Protein
+alphabet=DNA
+
+# The sequence file to use (sequences must be aligned!)
+input.sequence.file=../../../Data/$(DATA).phy
+
+# The alignment format:
+input.sequence.format=Phylip(order=sequential, type=extended)
+
+#Sites to use:
+# all, nogap or complete (=only resolved chars)
+input.sequence.sites_to_use = complete
+# Specify a maximum amount of gaps: may be an absolute number or a percentage.
+input.sequence.max_gap_allowed = 100%
+
+# ----------------------------------------------------------------------------------------
+#                                     Input tree file
+# ----------------------------------------------------------------------------------------
+
+# user or random
+init.tree = user
+
+input.tree.file = ../../../Data/$(DATA).dnd
+input.tree.format = Newick
+
+init.brlen.method = Input
+
+# ----------------------------------------------------------------------------------------
+#                                     Model specification
+# ----------------------------------------------------------------------------------------
+# See the manual for a description of the syntax and available options.
+#
+
+# Homogeneous model?
+# no => Homogeneous case
+# one_per_branch => Galtier & Gouy 97 series of NH models
+# general => Specify the model by hand.
+nonhomogeneous = one_per_branch
+
+# Options for non-homogeneous one-per_branch models:
+model = T92(kappa=2.843, theta=0.5)
+
+# For one_per_branch heterogeneous models.
+# Tell which parameters are common to all branches.
+# Other parameters will be considered branch specific.
+nonhomogeneous_one_per_branch.shared_parameters = T92.kappa
+
+nonhomogeneous.root_freq = GC(init=balanced)
+
+rate_distribution = Gamma(n=4, alpha=0.358)
+
+# Likelihood recursion option:
+# - simple: derivatives takes more time to compute, but likelihooh computation is faster.
+#   For big data sets, it can save a lot of memory usage too, particularly when the data are compressed.
+# - double: Uses more memory and need more time to compute likelihood, due to the double recursion.
+#   Analytical derivatives are however faster to compute.
+likelihood.recursion = simple
+
+# Site compression for the simple recursion:
+# - simple: identical sites are not computed twice
+# - recursive: look for site patterns to save computation time during optimization, but
+#   requires extra time for building the patterns.
+#   This is usually the best option, particularly for nucleotides data sets.
+likelihood.recursion_simple.compression = recursive
+
+# ----------------------------------------------------------------------------------------
+#                                     Optimization
+# ----------------------------------------------------------------------------------------
+
+optimization=FullD(derivatives=Newton)
+optimization.reparametrization=no
+optimization.verbose = 1
+optimization.ignore_parameter =
+optimization.max_number_f_eval = 10000
+optimization.tolerance = 0.000001
+optimization.message_handler = $(DATA).messages
+optimization.profiler = $(DATA).profile
+optimization.backup.file = .$(DATA).bck
+
+optimization.topology = no
+optimization.topology.nstep=4
+optimization.topology.numfirst=no
+optimization.topology.tolerance.before=100
+optimization.topology.tolerance.during=100
+optimization.scale_first=no
+optimization.verbose=3
+optimization.ignore_parameter=
+
+# Should we write the resulting tree? none or file name.
+output.tree.file = $(DATA).ML.dnd
+output.tree.format = Newick
+
+# Alignment information log file (site specific rates, etc):
+output.infos = $(DATA).infos
+
+# Write numerical parameter estimated values:
+output.estimates = $(DATA).params.txt
+
+# ----------------------------------------------------------------------------------------
+#                                     Bootstrap
+# ----------------------------------------------------------------------------------------
+
+bootstrap.number = 0
+# Tell if numerical parameters should be kept to their initial value when bootstrapping: 
+bootstrap.approximate = no
+# Set this to yes for detailed output when bootstrapping. 
+bootstrap.verbose = no
+bootstrap.output.file = $(DATA).ML_bstrees.dnd
+
diff --git a/Examples/MaximumLikelihood/Nucleotides/NonHomogeneousGeneral/Ancestor.bpp b/Examples/MaximumLikelihood/Nucleotides/NonHomogeneousGeneral/Ancestor.bpp
new file mode 100644
index 0000000..89e80d8
--- /dev/null
+++ b/Examples/MaximumLikelihood/Nucleotides/NonHomogeneousGeneral/Ancestor.bpp
@@ -0,0 +1,60 @@
+# WARNING!!! You need to run bppml on the ML.bpp example file first to be able to run this example!
+
+
+# Global variables:
+DATA = LSU
+
+# Sequences:
+
+# The alphabet to use:
+# DNA, RNA or Protein
+alphabet=DNA
+
+# The sequence file to use (sequences must be aligned!)
+input.sequence.file=../../../Data/$(DATA).phy
+
+# The alignment format:
+input.sequence.format=Phylip(order=sequential, type=extended)
+
+#Sites to use:
+# all, nogap or complete (=only resolved chars)
+input.sequence.sites_to_use = complete
+# Specify a maximum amount of gaps: may be an absolute number or a percentage.
+input.sequence.max_gap_allowed = 100%
+
+input.tree.file = $(DATA).ML.dnd
+input.tree.format = Newick
+
+# ----------------------------------------------------------------------------------------
+#                                     Model specification
+# ----------------------------------------------------------------------------------------
+
+# the same syntax as in bppML!
+# Here we directly use the output file from example ML.bpp to load the model:
+param = LSU.params.txt
+
+# ----------------------------------------------------------------------------------------
+#                                     Ancestral Sequence Reconstruction
+# ----------------------------------------------------------------------------------------
+
+asr.method = marginal //only option for now
+
+# Shall we output the site specific probabilities in each case:
+asr.probabilities = yes
+
+# Should we sample from the posterior distribution instead of using the maximum probability?
+asr.sample = yes
+
+# How many samples should we use?
+asr.sample.number = 10
+
+# Alignment information log file (site specific rates, probabilities, etc):
+output.sites.file = $(DATA).sites.csv
+
+# Nodes information log file
+output.nodes.file = $(DATA).nodes.csv
+
+# Write sequences:
+output.sequence.file = $(DATA).ancestors.fasta
+output.sequence.format = Fasta
+
diff --git a/Examples/MaximumLikelihood/Nucleotides/NonHomogeneousGeneral/MLNH.bpp b/Examples/MaximumLikelihood/Nucleotides/NonHomogeneousGeneral/MLNH.bpp
new file mode 100644
index 0000000..dd27c38
--- /dev/null
+++ b/Examples/MaximumLikelihood/Nucleotides/NonHomogeneousGeneral/MLNH.bpp
@@ -0,0 +1,130 @@
+#Initial log likelihood.................: -71011.8177084265
+#Log likelihood.........................: -65343.8442233959
+#GC.theta...............................: 0.483464
+#T92.kappa_1............................: 2.63716
+#T92.theta_1............................: 0.576654
+#T92.theta_2............................: 0.445837
+#Gamma.alpha............................: 0.439279
+#111.83user 0.07system 1:52.90elapsed 99%CPU
+
+
+# Global variables:
+DATA = LSU
+
+# Sequences:
+
+# The alphabet to use:
+# DNA, RNA or Protein
+alphabet=DNA
+
+# The sequence file to use (sequences must be aligned!)
+input.sequence.file=../../../Data/$(DATA).phy
+
+# The alignment format:
+input.sequence.format=Phylip(order=sequential, type=extended)
+
+#Sites to use:
+# all, nogap or complete (=only resolved chars)
+input.sequence.sites_to_use = complete
+# Specify a maximum amount of gaps: may be an absolute number or a percentage.
+input.sequence.max_gap_allowed = 100%
+
+# ----------------------------------------------------------------------------------------
+#                                     Input tree file
+# ----------------------------------------------------------------------------------------
+
+# user or random
+init.tree = user
+
+input.tree.file = ../../../Data/$(DATA).dnd
+input.tree.format = Newick
+
+init.brlen.method = Input
+
+# ----------------------------------------------------------------------------------------
+#                                     Model specification
+# ----------------------------------------------------------------------------------------
+
+# Homogeneous model?
+# no => Homogeneous case
+# one_per_branch => Galtier & Gouy 97 series of NH models
+# general => Specify the model by hand.
+nonhomogeneous = general
+
+nonhomogeneous.root_freq=Full(init=balanced)
+
+rate_distribution = Gamma(n=4, alpha=0.358)
+
+# Now the general heterogeneous case:
+# Specify the number of distincts models.
+nonhomogeneous.number_of_models = 2
+
+# Set up each model:
+model1 = GTR(theta=0.5, useObservedFreqs=yes)
+model1.nodes_id=0:62 # The Ids of the nodes to which this model should be assigned.
+
+model2 = GTR(a=model1.GTR.a,\
+             b=model1.GTR.b,\
+             c=model1.GTR.c,\
+             d=model1.GTR.d,\
+             e=model1.GTR.e,\
+             theta=0.9, useObservedFreqs=yes)
+model2.nodes_id=63:154
+
+# Likelihood recursion option:
+# - simple: derivatives takes more time to compute, but likelihooh computation is faster.
+#   For big data sets, it can save a lot of memory usage too, particularly when the data are compressed.
+# - double: Uses more memory and need more time to compute likelihood, due to the double recursion.
+#   Analytical derivatives are however faster to compute.
+likelihood.recursion = simple
+
+# Site compression for the simple recursion:
+# - simple: identical sites are not computed twice
+# - recursive: look for site patterns to save computation time during optimization, but
+#   requires extra time for building the patterns.
+#   This is usually the best option, particularly for nucleotides data sets.
+likelihood.recursion_simple.compression = recursive
+
+# ----------------------------------------------------------------------------------------
+#                                     Optimization
+# ----------------------------------------------------------------------------------------
+
+
+optimization=FullD(derivatives=Newton)
+optimization.reparametrization=no
+optimization.verbose = 1
+optimization.ignore_parameter = RootPosition
+optimization.max_number_f_eval = 10000
+optimization.tolerance = 0.000001
+optimization.message_handler = $(DATA).messages
+optimization.profiler = $(DATA).profile
+
+optimization.topology = no
+optimization.topology.nstep=4
+optimization.topology.numfirst=no
+optimization.topology.tolerance.before=100
+optimization.topology.tolerance.during=100
+optimization.scale_first=no
+optimization.verbose=3
+
+# Should we write the resulting tree? none or file name.
+output.tree.file = $(DATA).ML.dnd
+output.tree.format = Newick
+
+# Alignment information log file (site specific rates, etc):
+output.infos = $(DATA).infos
+
+# Write numerical parameter estimated values:
+output.estimates = $(DATA).params.txt
+
+# ----------------------------------------------------------------------------------------
+#                                     Bootstrap
+# ----------------------------------------------------------------------------------------
+
+bootstrap.number = 0
+# Tell if numerical parameters should be kept to their initial value when bootstrapping: 
+bootstrap.approximate = no
+# Set this to yes for detailed output when bootstrapping. 
+bootstrap.verbose = no
+bootstrap.output.file = $(DATA).ML_bstrees.dnd
+
diff --git a/Examples/MaximumLikelihood/Proteins/Homogeneous/Ancestor.bpp b/Examples/MaximumLikelihood/Proteins/Homogeneous/Ancestor.bpp
new file mode 100644
index 0000000..43bc212
--- /dev/null
+++ b/Examples/MaximumLikelihood/Proteins/Homogeneous/Ancestor.bpp
@@ -0,0 +1,63 @@
+# WARNING!!! You need to run bppml on the ML.bpp example file first to be able to run this example!
+
+
+# Global variables:
+DATA = Myo
+
+# Sequences:
+
+# The alphabet to use:
+# DNA, RNA or Protein
+alphabet=Protein
+
+# The sequence file to use (sequences must be aligned!)
+input.sequence.file=../../../Data/$(DATA).mase
+
+# The alignment format:
+input.sequence.format=Mase
+
+#Sites to use:
+# all, nogap or complete (=only resolved chars)
+input.sequence.sites_to_use = all
+# Specify a maximum amount of gaps: may be an absolute number or a percentage.
+input.sequence.max_gap_allowed = 100%
+
+input.tree.file = $(DATA).ML.dnd
+input.tree.format = Newick
+
+# ----------------------------------------------------------------------------------------
+#                                     Model specification
+# ----------------------------------------------------------------------------------------
+
+# the same syntax as in bppML!
+# Here we directly use the output file from example ML.bpp to load the model:
+param = Myo.params.txt
+
+# ----------------------------------------------------------------------------------------
+#                                     Ancestral Sequence Reconstruction
+# ----------------------------------------------------------------------------------------
+
+asr.method = marginal //only option for now
+
+# Shall we output the site specific probabilities in each case:
+asr.probabilities = yes
+
+# Should we sample from the posterior distribution instead of using the maximum probability?
+asr.sample = no
+
+# How many samples should we use?
+asr.sample.number = 10
+
+# Shall we add extant sequences to output file?
+asr.add_extant = yes
+
+# Alignment information log file (site specific rates, probabilities, etc):
+output.sites.file = $(DATA).sites.csv
+
+# Nodes information log file
+output.nodes.file = $(DATA).nodes.csv
+
+# Write sequences:
+output.sequence.file = $(DATA).ancestors.fasta
+output.sequence.format = Fasta
+
diff --git a/Examples/MaximumLikelihood/Proteins/Homogeneous/ML.bpp b/Examples/MaximumLikelihood/Proteins/Homogeneous/ML.bpp
new file mode 100644
index 0000000..a392526
--- /dev/null
+++ b/Examples/MaximumLikelihood/Proteins/Homogeneous/ML.bpp
@@ -0,0 +1,155 @@
+#initial logL: -5140.62864568291
+#final   logL: 
+
+# Global variables:
+DATA = Myo
+
+# Sequences:
+
+# The alphabet to use:
+# DNA, RNA or Protein
+alphabet=Protein
+
+# The sequence file to use (sequences must be aligned!)
+input.sequence.file=../../../Data/$(DATA).mase
+
+# The alignment format:
+input.sequence.format=Mase
+
+#Sites to use:
+# all, nogap or complete (=only resolved chars)
+input.sequence.sites_to_use = all
+# Specify a maximum amount of gaps: may be an absolute number or a percentage.
+input.sequence.max_gap_allowed = 50%
+
+# ----------------------------------------------------------------------------------------
+#                                     Input tree file
+# ----------------------------------------------------------------------------------------
+
+# user or random
+init.tree = user
+
+input.tree.file = ../../../Data/$(DATA).dnd
+input.tree.format = Newick
+
+init.brlen.method = Input
+
+# ----------------------------------------------------------------------------------------
+#                                     Model specification
+# ----------------------------------------------------------------------------------------
+# See the manual for a description of the syntax and available options.
+#
+model = JTT92+F(useObservedFreqs=yes)
+
+rate_distribution = Gamma(n=4, alpha=0.5)
+
+# Likelihood recursion option:
+# - simple: derivatives takes more time to compute, but likelihood computation is faster.
+#   For big data sets, it can save a lot of memory usage too, particularly when the data are compressed.
+# - double: Uses more memory and need more time to compute likelihood, due to the double recursion.
+#   Analytical derivatives are however faster to compute.
+# This option has no effect in the following cases:
+# - Topology estimation: this requires a double recursive algorithm,
+# - Optimization with a molecular clock: a simple recursion with data compression is used in this case,
+#   due to the impossibility of computing analytical derivatives.
+likelihood.recursion = simple
+
+# Site compression for the simple recursion:
+# - simple: identical sites are not computed twice
+# - recursive: look for site patterns to save computation time during optimization, but
+#   requires extra time for building the patterns.
+#   This is usually the best option, particularly for nucleotide data sets.
+likelihood.recursion_simple.compression = recursive
+
+# ----------------------------------------------------------------------------------------
+#                                     Optimization
+# ----------------------------------------------------------------------------------------
+
+# Should we reestimate likelihood parameters? Tree topology will not be optimized.
+# (recommanded)
+# Method to use for optimizing numerical parameters:
+# - None, no optimization performed
+# - DB derivatives for branch lengths + Brent for other parameters
+# - FullD derivatives for all parameters, using numerical derivatives for non-branch lengths parameters.
+optimization = FullD(derivatives=Newton)
+
+# Tell if the parameter should be transformed in order to remove constraints.
+# This can improves the optimization, but might be a bit slower.
+optimization.reparametrization = no
+
+# Final optimization step, may be useful if numerical derivatives are used:
+# powell or simplex or none.
+optimization.final = none
+
+# Set the quantity of output to the screen:
+optimization.verbose = 3
+
+# Parameters to ignore (for instance equilibrium frequencies)
+optimization.ignore_parameter =
+
+# Maximum number of likelihood evaluations:
+optimization.max_number_f_eval = 10000
+
+# Precision to reach:
+optimization.tolerance = 0.000001
+
+# idem for error or warning messages:
+optimization.message_handler = $(DATA).messages
+
+# A file where to dump optimization steps (a file path or std for standard output)
+optimization.profiler = $(DATA).profile
+
+# Shall we optimize tree topology as well?
+optimization.topology = yes
+
+# Algorithm to use for topology estimation: only NNI for now
+optimization.topology.algorithm = NNI
+
+# NNI method: fast, better or phyml
+# You should use the phyml option, since it is really more efficient!
+optimization.topology.algorithm_nni.method = phyml
+
+# Number of phyml topology movement steps before reoptimizing parameters:
+optimization.topology.nstep = 4
+
+# Shall we estimate parameters before looking for topology movements?
+optimization.topology.numfirst = no
+
+# Tolerances: These numbers should not be too low, in order to save computation
+# time and also for a better topology estimation.
+# The optimization.tolerance parameter will be used for the final optimization
+# of numerical parameters.
+#
+# Tolerance for the prior-topology estimation
+optimization.topology.tolerance.before = 100
+
+# Tolerance for the during-topology estimation
+optimization.topology.tolerance.during = 100
+
+# Shall we first scale the tree before optimizing parameters? [deprecated]
+optimization.scale_first = no
+
+
+
+
+# Should we write the resulting tree? none or file name.
+output.tree.file = $(DATA).ML.dnd
+output.tree.format = Newick
+
+# Alignment information log file (site specific rates, etc):
+output.infos = $(DATA).infos
+
+# Write numerical parameter estimated values:
+output.estimates = $(DATA).params.txt
+
+# ----------------------------------------------------------------------------------------
+#                                     Bootstrap
+# ----------------------------------------------------------------------------------------
+
+bootstrap.number = 0
+# Tell if numerical parameters should be kept to their initial value when bootstrapping: 
+bootstrap.approximate = no
+# Set this to yes for detailed output when bootstrapping. 
+bootstrap.verbose = no
+bootstrap.output.file = $(DATA).ML_bstrees.dnd
+
diff --git a/Examples/Parsimony/Pars.bpp b/Examples/Parsimony/Pars.bpp
new file mode 100644
index 0000000..b6660b6
--- /dev/null
+++ b/Examples/Parsimony/Pars.bpp
@@ -0,0 +1,34 @@
+# Global variables:
+DATA = LSU
+
+# Sequences:
+
+# The laphabet to use:
+# DNA, RNA or Protein
+alphabet=DNA
+
+# The sequence file to use (sequences must be aligned!)
+input.sequence.file=../Data/$(DATA).phy
+
+# The alignment format:
+input.sequence.format=Phylip(order=sequential, type=extended)
+
+#Sites to use:
+# all, nogap or complete (=only resolved chars)
+input.sequence.sites_to_use = complete
+# Specify a maximum amount of gaps: may be an absolute number or a percentage.
+input.sequence.max_gap_allowed = 100%
+
+input.tree.file = ../Data/$(DATA).dnd
+input.tree.format = Newick
+
+optimization.topology = yes
+
+# Should we write the resulting tree? none or file name.
+output.tree.file = $(DATA).pars.dnd
+output.tree.format = Newick
+
+# Bootstrap:
+bootstrap.number = 1000
+bootstrap.output.file = $(DATA).pars_bstrees.dnd
+
diff --git a/Examples/PhylogeneticSampling/PhySamp.bpp b/Examples/PhylogeneticSampling/PhySamp.bpp
new file mode 100755
index 0000000..21d7b62
--- /dev/null
+++ b/Examples/PhylogeneticSampling/PhySamp.bpp
@@ -0,0 +1,48 @@
+# Global variables:
+DATA = LSU
+
+# Sequences:
+
+# The alphabet to use:
+# DNA, RNA or Protein
+alphabet=DNA
+
+# The sequence file to use (sequences must be aligned!)
+input.sequence.file=../Data/$(DATA).phy
+
+# The alignment format:
+# Must be one of Mase, Fasta, Phylip, Clustal, DCSE or GenBank 
+input.sequence.format=Phylip(order=sequential, type=extended)
+
+# Input method: tree or matrix
+input.method=tree
+
+# Tree file if the tree method has been selected:
+input.tree.file=../Data/$(DATA).dnd
+input.tree.format=Newick
+
+# Matrix file if the matrix method has been selected:
+input.matrix=
+
+#threshold or sample
+deletion_method=sample
+# Threshold to use (same unit as distances on the tree/matrix)
+TYPE=05
+threshold=0.$(TYPE)
+# OR sample size:
+TYPE=20
+sample_size=$(TYPE)
+
+
+# Criterion to choose between sequences:
+# - length: keep the sequence with the highest number of positions
+# - length.complete: keep the sequence with the highest number of complete positions
+# - random: Keep a sequence randomly
+choice_criterion=length.complete
+
+# Output sequence file
+output.sequence.file=$(DATA).$(TYPE).fasta
+
+# Ouput format:
+output.sequence.format=Fasta()
+
diff --git a/Examples/README b/Examples/README
new file mode 100644
index 0000000..3844099
--- /dev/null
+++ b/Examples/README
@@ -0,0 +1,28 @@
+                     ..:: Data files ::..
+
+Data/
+  LSU.phy                        Sequence file in phylip format.
+  LSU.dnd                        Unrooted tree in newick format.
+  LSUrooted.dnd                  Rooted tree in newick format.
+  tree.dnd                       A candidate tree.
+  treeList.dnd                   A list of trees in newick format.
+  treeList2.dnd                  Another list of trees in newick format.
+  OutGroup.txt                   A list of taxons to be used with BppReRoot.
+
+
+                   ..:: Options files ::..
+
+These option files are split in their respective program directory:
+  Dist.bpp                       BppDist option file.
+  Pars.bpp                       BppPars option file.
+  ML.bpp                         BppML option file. Homogeneous model. 
+  MLNHGG.bpp                     BppML option file. Galtier & Gouy non-homogeneous model, like in the MHNL package.
+  MLNH.bpp                       BppML option file. Gemeral non-homogeneous models.
+  SeqGen.bpp                     BppSeqGen option file.
+  SeqGenHomogeneousModel.bpp     File included by SeqGen.bpp. Not to be used directly.
+  SeqGenNonHomogeneousModel.bpp  File included by SeqGen.bpp. Not to be used directly.
+  Consense.bpp                   BppConsense option file.
+  SeqMan.bpp                     BppSeqMan option file.
+  PhySamp.bpp                    BppPhyloSampler option file.
+  ReRoot.bpp                     BppReRoot option file.
+
diff --git a/Examples/ReRooting/ReRoot.bpp b/Examples/ReRooting/ReRoot.bpp
new file mode 100644
index 0000000..327e004
--- /dev/null
+++ b/Examples/ReRooting/ReRoot.bpp
@@ -0,0 +1,9 @@
+input.list.file = ../Data/treeList2.dnd
+# [input|consensus]
+tree = input
+outgroups.file = ../Data/OutGroup.txt
+# yes = the unrootable trees are printed as unrooted in the output.tree.file
+# no = the unrootable trees are not printed in the output.tree.file
+print.option = no
+output.trees.file = treeList2_rooted.dnd
+
diff --git a/Examples/SequenceManipulation/SeqMan.bpp b/Examples/SequenceManipulation/SeqMan.bpp
new file mode 100644
index 0000000..325e203
--- /dev/null
+++ b/Examples/SequenceManipulation/SeqMan.bpp
@@ -0,0 +1,32 @@
+# Global variables:
+DATA = LSU
+
+# ---------------
+# Input sequences
+# ---------------
+
+# The alphabet to use:
+# [DNA|RNA|Protein|Generic]
+alphabet=DNA
+
+# The sequence file to use (sequences must be aligned!)
+input.sequence.file=../Data/$(DATA).phy
+
+# The file format:
+input.sequence.format=Phylip(order=sequential, type=extended)
+
+# ----------------
+# Output sequences
+# ----------------
+
+output.sequence.file=$(DATA).fas
+
+# The file format:
+output.sequence.format=Fasta()
+
+# -----------------------
+# Sequences manipulations
+# -----------------------
+#For example (see manual for a detailed list of available options):
+sequence.manip = Switch,Transcript,CoerceToAlignment,KeepComplete(maxGapAllowed=30%),GapToUnknown 
+
diff --git a/Examples/SequenceSimulation/SeqGen.bpp b/Examples/SequenceSimulation/SeqGen.bpp
new file mode 100644
index 0000000..56bdc2b
--- /dev/null
+++ b/Examples/SequenceSimulation/SeqGen.bpp
@@ -0,0 +1,39 @@
+# The alphabet to use:
+# DNA, RNA or Protein
+alphabet = DNA
+
+# Input tree to use:
+input.tree.file = ../Data/LSUrooted.dnd
+input.tree.Format=Newick
+
+# Print a tree with ids as bootstrap values.
+# This is helpful when setting up complexe non-homogeneous models.
+# Setting this option will cause the program to exit after printing the tree.
+//output.tree.path = LSUrooted_wid.dnd
+
+# Number of sites to simulate:
+number_of_sites = 300
+
+# The output file:
+output.sequence.file = LSUSim.fasta
+# The alignment format:
+# Must be one of Mase, Fasta, Phylip
+output.sequence.format = Fasta()
+
+# ----------------------------------------------------------------------------------------
+#                                     Model specification
+# ----------------------------------------------------------------------------------------
+
+# Homogeneous model?
+# no => Homogeneous case
+# general => Specify the model by hand.
+nonhomogeneous = general
+
+# Models are described in a separate file.
+# Choose one of the two following examples:
+//param = SeqGenHomogeneousModel.bpp
+param = SeqGenNonHomogeneousModel.bpp
+
+# Rate Across Sites variation
+rate_distribution = Gamma(n=4, alpha=0.358)
+
diff --git a/Examples/SequenceSimulation/SeqGenHomogeneousModel.bpp b/Examples/SequenceSimulation/SeqGenHomogeneousModel.bpp
new file mode 100644
index 0000000..64f4e0a
--- /dev/null
+++ b/Examples/SequenceSimulation/SeqGenHomogeneousModel.bpp
@@ -0,0 +1,9 @@
+# Options for homogeneous and one-per_branch models:
+
+# Available models.
+# For proteins, the DCmutt method is used for JTT92 and DSO78.
+# You can use the 'empirical' option to specify another model.
+# JCnuc, K80, T92, HKY85, F84, TN93, JCprot, DSO78, JTT92 or empirical
+# Append +G2001 or +TS98 to the model name to add a covarion model.
+model = HKY85(kappa=2.843, theta=0.7, theta1=0.4, theta2=0.6)
+
diff --git a/Examples/SequenceSimulation/SeqGenNonHomogeneousModel.bpp b/Examples/SequenceSimulation/SeqGenNonHomogeneousModel.bpp
new file mode 100644
index 0000000..538723e
--- /dev/null
+++ b/Examples/SequenceSimulation/SeqGenNonHomogeneousModel.bpp
@@ -0,0 +1,22 @@
+# How to deal with root frequencies:
+# balanced  : all frequencies are set to 1/size of the alphabet
+# observed  : use observed counts in the data set
+# init      : manually set the frequencies (they have to sum to one)
+# For nucleotides, one can use the GC rate (theta) parametrization, like in the T92 model:
+# balancedGC: ancestral GC set to 0.5
+# observedGC: use observed GC content
+# initGC    : manually set the ancestral GC content.
+nonhomogeneous.root_freq = GC(theta=0.9)
+
+# Now the general heterogeneous case:
+# Specify the number of distincts models.
+nonhomogeneous.number_of_models = 2
+# Set up each model:
+model1=T92(kappa=2, theta=0.1)
+model1.nodes_id=0:62 # The Ids of the nodes to which this model should be assigned.
+
+model2=T92(kappa=1, theta=0.9)
+model2.nodes_id=63:155
+
+#etc
+
diff --git a/Examples/tree.dnd b/Examples/tree.dnd
new file mode 100644
index 0000000..e6343c5
--- /dev/null
+++ b/Examples/tree.dnd
@@ -0,0 +1 @@
+(((((((HYRAXxxxxx:0.315535,(SIRENIANxx:0.169826,ELEPHANTxx:0.267975):0.017796):0.050578,(((TENRECIDxx:0.47299,GOLDENMOLE:0.257505):0.027327,(SHEARELESH:0.202822,LOEARELESH:0.172727):0.242647):0.008795,AARDVARKxx:0.271672):0.016041):0.082056,((SLOTHxxxxx:0.205728,ANTEATERxx:0.242188):0.038477,ARMADILLOx:0.224183):0.091261):0.008608,((((SHREWxxxxx:0.339617,HEDGEHOGxx:0.561674):0.03162,MOLExxxxxx:0.264116):0.035435,((((PHYLLOSTOM:0.32093,FLYINGFOXx:0.199321):0.05832,(PANGOLINxx:0.325569,(DO [...]
diff --git a/INSTALL.txt b/INSTALL.txt
new file mode 100644
index 0000000..c8859da
--- /dev/null
+++ b/INSTALL.txt
@@ -0,0 +1,12 @@
+This software needs cmake >= 2.6 to build.
+
+After installing cmake, run it with the following command:
+cmake -DCMAKE_INSTALL_PREFIX=[where to install, for instance /usr/local or $HOME/.local] .
+
+If available, you can also use ccmake instead of cmake for a more user-friendly interface.
+
+Then compile and install the software with
+make install
+
+You may also consider installing and using the software checkinstall for easier system administration.
+
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..e69de29
diff --git a/bppSuite.spec b/bppSuite.spec
new file mode 100644
index 0000000..2287203
--- /dev/null
+++ b/bppSuite.spec
@@ -0,0 +1,95 @@
+%define name bppsuite
+%define version 0.6.1
+%define release 1
+%define _prefix /usr
+
+Summary: The Bio++ Program Suite.
+Name: %{name}
+Version: %{version}
+Release: %{release}
+Vendor: Julien Dutheil
+Source: http://download.gna.org/bppsuite/%{name}-%{version}.tar.gz
+License: CeCILL 2
+Group: System Environment/Libraries
+BuildRoot: %{_builddir}/%{name}-root
+Packager: Julien Dutheil
+Prefix: %{_prefix}
+AutoReq: yes
+AutoProv: yes
+
+%description
+Bio++ program suite includes programs:
+ - BppML for maximum likelihood analysis,
+ - BppSeqGen for sequences simulation,
+ - BppAncestor for ancestral states reconstruction,
+ - BppDist for distance methods,
+ - BppPars for parsimony analysis,
+ - BppSeqMan for file conversion and sequence manipulation,
+ - BppConsense for building consensus tree and computing bootstrap values,
+ - BppPhySamp for phylogenetic sampling,
+ - BppReRoot for tree rerooting.
+ - BppTreeDraw for tree drawing.
+
+%prep
+%setup -q
+
+%build
+CFLAGS="-I%{_prefix}/include $RPM_OPT_FLAGS"
+CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=%{_prefix}"
+if [ %{_lib} == 'lib64' ] ; then
+  CMAKE_FLAGS="$CMAKE_FLAGS -DLIB_SUFFIX=64"
+fi
+cmake $CMAKE_FLAGS .
+make
+make info
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make DESTDIR=$RPM_BUILD_ROOT install
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root)
+%doc AUTHORS.txt COPYING.txt INSTALL.txt ChangeLog
+%{_prefix}/bin/bppml
+%{_prefix}/bin/bppseqgen
+%{_prefix}/bin/bppancestor
+%{_prefix}/bin/bppdist
+%{_prefix}/bin/bpppars
+%{_prefix}/bin/bppseqman
+%{_prefix}/bin/bppconsense
+%{_prefix}/bin/bppphysamp
+%{_prefix}/bin/bppreroot
+%{_prefix}/bin/bpptreedraw
+%{_prefix}/share/info/bppsuite.info.gz
+%{_prefix}/share/man/man1/bppml.1.gz
+%{_prefix}/share/man/man1/bppseqgen.1.gz
+%{_prefix}/share/man/man1/bppancestor.1.gz
+%{_prefix}/share/man/man1/bpppars.1.gz
+%{_prefix}/share/man/man1/bppdist.1.gz
+%{_prefix}/share/man/man1/bppconsense.1.gz
+%{_prefix}/share/man/man1/bppseqman.1.gz
+%{_prefix}/share/man/man1/bppreroot.1.gz
+%{_prefix}/share/man/man1/bppphysamp.1.gz
+%{_prefix}/share/man/man1/bpptreedraw.1.gz
+
+%changelog
+* Mon Feb 28 2011 Julien Dutheil <julien.dutheil at univ-montp2.fr>
+- BppSuite 0.6.1 release
+* Mon Feb 07 2011 Julien Dutheil <julien.dutheil at univ-montp2.fr>
+- BppSuite 0.6.0 release
+* Thu Mar 25 2010 Julien Dutheil <julien.dutheil at univ-montp2.fr>
+- BppSuite 0.5.0 release
+* Wed Jun 10 2009 Julien Dutheil <jdutheil at birc.au.dk>
+- BppSuite 0.4.0 release
+* Thu Dec 11 2008 Julien Dutheil <jdutheil at birc.au.dk>
+- BppSuite 0.3.1 release
+* Thu Sep 23 2008 Julien Dutheil <jdutheil at birc.au.dk>
+- BppSuite 0.3.0 release
+
diff --git a/bppSuite/CMakeLists.txt b/bppSuite/CMakeLists.txt
new file mode 100644
index 0000000..77f24d6
--- /dev/null
+++ b/bppSuite/CMakeLists.txt
@@ -0,0 +1,57 @@
+# CMake script for Bio++ Program Suite
+# Author: Julien Dutheil
+# Created: 22/08/2009
+
+ADD_EXECUTABLE(bppml bppML.cpp)
+TARGET_LINK_LIBRARIES(bppml ${LIBS})
+SET_TARGET_PROPERTIES(bppml PROPERTIES LINK_SEARCH_END_STATIC ${BUILD_STATIC})
+
+ADD_EXECUTABLE(bppseqgen bppSeqGen.cpp)
+TARGET_LINK_LIBRARIES(bppseqgen ${LIBS})
+SET_TARGET_PROPERTIES(bppseqgen PROPERTIES LINK_SEARCH_END_STATIC ${BUILD_STATIC})
+
+ADD_EXECUTABLE(bppdist bppDist.cpp)
+TARGET_LINK_LIBRARIES(bppdist ${LIBS})
+SET_TARGET_PROPERTIES(bppdist PROPERTIES LINK_SEARCH_END_STATIC ${BUILD_STATIC})
+
+ADD_EXECUTABLE(bpppars bppPars.cpp)
+TARGET_LINK_LIBRARIES(bpppars ${LIBS})
+SET_TARGET_PROPERTIES(bpppars PROPERTIES LINK_SEARCH_END_STATIC ${BUILD_STATIC})
+
+ADD_EXECUTABLE(bppseqman bppSeqMan.cpp)
+TARGET_LINK_LIBRARIES(bppseqman ${LIBS})
+SET_TARGET_PROPERTIES(bppseqman PROPERTIES LINK_SEARCH_END_STATIC ${BUILD_STATIC})
+
+ADD_EXECUTABLE(bppconsense bppConsense.cpp)
+TARGET_LINK_LIBRARIES(bppconsense ${LIBS})
+SET_TARGET_PROPERTIES(bppconsense PROPERTIES LINK_SEARCH_END_STATIC ${BUILD_STATIC})
+
+ADD_EXECUTABLE(bppancestor bppAncestor.cpp)
+TARGET_LINK_LIBRARIES(bppancestor ${LIBS})
+SET_TARGET_PROPERTIES(bppancestor PROPERTIES LINK_SEARCH_END_STATIC ${BUILD_STATIC})
+
+ADD_EXECUTABLE(bppreroot bppReRoot.cpp)
+TARGET_LINK_LIBRARIES(bppreroot ${LIBS})
+SET_TARGET_PROPERTIES(bppreroot PROPERTIES LINK_SEARCH_END_STATIC ${BUILD_STATIC})
+
+ADD_EXECUTABLE(bppphysamp bppPhyloSampler.cpp)
+TARGET_LINK_LIBRARIES(bppphysamp ${LIBS})
+SET_TARGET_PROPERTIES(bppphysamp PROPERTIES LINK_SEARCH_END_STATIC ${BUILD_STATIC})
+
+ADD_EXECUTABLE(bpptreedraw bppTreeDraw.cpp)
+TARGET_LINK_LIBRARIES(bpptreedraw ${LIBS})
+SET_TARGET_PROPERTIES(bpptreedraw PROPERTIES LINK_SEARCH_END_STATIC ${BUILD_STATIC})
+
+# Install progs
+INSTALL(TARGETS
+  bppml
+  bppseqgen
+  bppdist
+  bpppars
+  bppseqman
+  bppconsense
+  bppancestor
+  bppreroot
+  bppphysamp
+  bpptreedraw
+  DESTINATION bin)
diff --git a/bppSuite/bppAncestor.cpp b/bppSuite/bppAncestor.cpp
new file mode 100644
index 0000000..f2b3687
--- /dev/null
+++ b/bppSuite/bppAncestor.cpp
@@ -0,0 +1,481 @@
+//
+// File: bppAncestor.cpp
+// Created by: Julien Dutheil
+// Created on: Sep Wed 10 14:14 2008
+//
+
+/*
+Copyright or © or Copr. CNRS
+
+This software is a computer program whose purpose is to estimate
+phylogenies and evolutionary parameters from a dataset according to
+the maximum likelihood principle.
+
+This software is governed by the CeCILL  license under French law and
+abiding by the rules of distribution of free software.  You can  use, 
+modify and/ or redistribute the software under the terms of the CeCILL
+license as circulated by CEA, CNRS and INRIA at the following URL
+"http://www.cecill.info". 
+
+As a counterpart to the access to the source code and  rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty  and the software's author,  the holder of the
+economic rights,  and the successive licensors  have only  limited
+liability. 
+
+In this respect, the user's attention is drawn to the risks associated
+with loading,  using,  modifying and/or developing or reproducing the
+software by the user in light of its specific status of free software,
+that may mean  that it is complicated to manipulate,  and  that  also
+therefore means  that it is reserved for developers  and  experienced
+professionals having in-depth computer knowledge. Users are therefore
+encouraged to load and test the software's suitability as regards their
+requirements in conditions enabling the security of their systems and/or 
+data to be ensured and,  more generally, to use and operate it in the 
+same conditions as regards security. 
+
+The fact that you are presently reading this means that you have had
+knowledge of the CeCILL license and that you accept its terms.
+*/
+
+// From the STL:
+#include <iostream>
+#include <iomanip>
+
+using namespace std;
+
+#include <Bpp/App/BppApplication.h>
+#include <Bpp/App/ApplicationTools.h>
+#include <Bpp/Io/FileTools.h>
+#include <Bpp/Text/TextTools.h>
+#include <Bpp/Numeric/Prob/DiscreteDistribution.h>
+#include <Bpp/Numeric/Prob/ConstantDistribution.h>
+#include <Bpp/Numeric/DataTable.h>
+#include <Bpp/Numeric/Matrix/MatrixTools.h>
+#include <Bpp/Numeric/VectorTools.h>
+#include <Bpp/Numeric/AutoParameter.h>
+
+// From SeqLib:
+#include <Bpp/Seq/SiteTools.h>
+#include <Bpp/Seq/Alphabet/Alphabet.h>
+#include <Bpp/Seq/Container/VectorSiteContainer.h>
+#include <Bpp/Seq/Container/SequenceContainerTools.h>
+#include <Bpp/Seq/App/SequenceApplicationTools.h>
+
+// From PhylLib:
+#include <Bpp/Phyl/Tree.h>
+#include <Bpp/Phyl/Likelihood.all>
+#include <Bpp/Phyl/PatternTools.h>
+#include <Bpp/Phyl/App/PhylogeneticsApplicationTools.h>
+#include <Bpp/Phyl/OptimizationTools.h>
+#include <Bpp/Phyl/Model/MarkovModulatedSubstitutionModel.h>
+#include <Bpp/Phyl/Model/SubstitutionModelSet.h>
+#include <Bpp/Phyl/Model/SubstitutionModelSetTools.h>
+#include <Bpp/Phyl/Io/Newick.h>
+
+using namespace bpp;
+
+/******************************************************************************/
+
+void help()
+{
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+  (*ApplicationTools::message << "bppancestor parameter1_name=parameter1_value ").endLine();
+  (*ApplicationTools::message << "      parameter2_name=parameter2_value ... param=option_file").endLine();
+  (*ApplicationTools::message).endLine();
+  (*ApplicationTools::message << "  Refer to the Bio++ Program Suite Manual for a list of available options.").endLine();
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+}
+
+int main(int args, char ** argv)
+{
+  cout << "******************************************************************" << endl;
+  cout << "*     Bio++ Ancestral Sequence Reconstruction, version 0.4.0     *" << endl;
+  cout << "* Authors: J. Dutheil                       Created on: 10/09/08 *" << endl;
+  cout << "*          B. Boussau                       Last Modif: 09/11/10 *" << endl;
+  cout << "******************************************************************" << endl;
+  cout << endl;
+
+  if (args == 1)
+  {
+    help();
+    return 0;
+  }
+  
+  try {
+
+  BppApplication bppancestor(args, argv, "BppAncestor");
+  bppancestor.startTimer();
+
+  Alphabet* alphabet = SequenceApplicationTools::getAlphabet(bppancestor.getParams(), "", false);
+
+  VectorSiteContainer* allSites = SequenceApplicationTools::getSiteContainer(alphabet, bppancestor.getParams());
+  
+  VectorSiteContainer* sites = SequenceApplicationTools::getSitesToAnalyse(* allSites, bppancestor.getParams(), "", true, false);
+  delete allSites;
+
+  ApplicationTools::displayResult("Number of sequences", TextTools::toString(sites->getNumberOfSequences()));
+  ApplicationTools::displayResult("Number of sites", TextTools::toString(sites->getNumberOfSites()));
+  
+  // Get the initial tree
+  Tree* tree = PhylogeneticsApplicationTools::getTree(bppancestor.getParams());
+  ApplicationTools::displayResult("Number of leaves", TextTools::toString(tree->getNumberOfLeaves()));
+  
+  string treeWIdPath = ApplicationTools::getAFilePath("output.tree_ids.file", bppancestor.getParams(), false, false);
+  if (treeWIdPath != "none")
+  {
+    TreeTemplate<Node> ttree(*tree);
+    vector<Node *> nodes = ttree.getNodes();
+    for(unsigned int i = 0; i < nodes.size(); i++)
+    {
+      if(nodes[i]->isLeaf())
+        nodes[i]->setName(TextTools::toString(nodes[i]->getId()) + "_" + nodes[i]->getName());
+      else
+        nodes[i]->setBranchProperty("NodeId", BppString(TextTools::toString(nodes[i]->getId())));
+    }
+    Newick treeWriter;
+    treeWriter.enableExtendedBootstrapProperty("NodeId");
+    ApplicationTools::displayResult("Writing tagged tree to", treeWIdPath);
+    treeWriter.write(ttree, treeWIdPath);
+    delete tree;
+    cout << "BppML's done." << endl;
+    exit(0);
+  }
+
+  DRTreeLikelihood *tl;
+  string nhOpt = ApplicationTools::getStringParameter("nonhomogeneous", bppancestor.getParams(), "no", "", true, false);
+  ApplicationTools::displayResult("Heterogeneous model", nhOpt);
+
+  SubstitutionModel    *model    = 0;
+  SubstitutionModelSet *modelSet = 0;
+  DiscreteDistribution *rDist    = 0;
+  unsigned int nbStates;
+
+  if (nhOpt == "no")
+  {  
+    model = PhylogeneticsApplicationTools::getSubstitutionModel(alphabet, sites, bppancestor.getParams());
+    if (model->getName() != "RE08") SiteContainerTools::changeGapsToUnknownCharacters(*sites);
+    if(model->getNumberOfStates() > model->getAlphabet()->getSize())
+    {
+      //Markov-modulated Markov model!
+      rDist = new ConstantDistribution(1., true);
+    }
+    else
+    {
+      rDist = PhylogeneticsApplicationTools::getRateDistribution(bppancestor.getParams());
+    }
+    tl = new DRHomogeneousTreeLikelihood(*tree, *sites, model, rDist, true);
+    nbStates = model->getNumberOfStates();
+  }
+  else if (nhOpt == "one_per_branch")
+  {
+    model = PhylogeneticsApplicationTools::getSubstitutionModel(alphabet, sites, bppancestor.getParams());
+    if (model->getName() != "RE08") SiteContainerTools::changeGapsToUnknownCharacters(*sites);
+    if (model->getNumberOfStates() > model->getAlphabet()->getSize())
+    {
+      //Markov-modulated Markov model!
+      rDist = new ConstantDistribution(1., true);
+    }
+    else
+    {
+      rDist = PhylogeneticsApplicationTools::getRateDistribution(bppancestor.getParams());
+    }
+    vector<double> rateFreqs;
+    if (model->getNumberOfStates() != alphabet->getSize())
+    {
+      //Markov-Modulated Markov Model...
+      unsigned int n =(unsigned int)(model->getNumberOfStates() / alphabet->getSize());
+      rateFreqs = vector<double>(n, 1./(double)n); // Equal rates assumed for now, may be changed later (actually, in the most general case,
+                                                   // we should assume a rate distribution for the root also!!!  
+    }
+    FrequenciesSet * rootFreqs = PhylogeneticsApplicationTools::getRootFrequenciesSet(alphabet, sites, bppancestor.getParams(), rateFreqs);
+    vector<string> globalParameters = ApplicationTools::getVectorParameter<string>("nonhomogeneous_one_per_branch.shared_parameters", bppancestor.getParams(), ',', "");
+    modelSet = SubstitutionModelSetTools::createNonHomogeneousModelSet(model, rootFreqs, tree, globalParameters); 
+    model = 0;
+    tl = new DRNonHomogeneousTreeLikelihood(*tree, *sites, modelSet, rDist, true);
+    nbStates = modelSet->getNumberOfStates();
+  }
+  else if (nhOpt == "general")
+  {
+    modelSet = PhylogeneticsApplicationTools::getSubstitutionModelSet(alphabet, sites, bppancestor.getParams());
+    if (modelSet->getModel(0)->getName() != "RE08") SiteContainerTools::changeGapsToUnknownCharacters(*sites);
+    if (modelSet->getNumberOfStates() > modelSet->getAlphabet()->getSize())
+    {
+      //Markov-modulated Markov model!
+      rDist = new ConstantDistribution(1.);
+    }
+    else
+    {
+      rDist = PhylogeneticsApplicationTools::getRateDistribution(bppancestor.getParams());
+    }
+    tl = new DRNonHomogeneousTreeLikelihood(*tree, *sites, modelSet, rDist, true);
+    nbStates = modelSet->getNumberOfStates();
+  }
+  else throw Exception("Unknown option for nonhomogeneous: " + nhOpt);
+  tl->initialize();
+ 
+  delete tree;
+    
+  double logL = tl->getValue();
+  if (isinf(logL))
+  {
+    // This may be due to null branch lengths, leading to null likelihood!
+    ApplicationTools::displayWarning("!!! Warning!!! Likelihood is zero.");
+    ApplicationTools::displayWarning("!!! This may be due to branch length == 0.");
+    ApplicationTools::displayWarning("!!! All null branch lengths will be set to 0.000001.");
+    ParameterList pl = tl->getBranchLengthsParameters();
+    for(unsigned int i = 0; i < pl.size(); i++)
+    {
+      if(pl[i].getValue() < 0.000001) pl[i].setValue(0.000001);
+    }
+    tl->matchParametersValues(pl);
+    logL = tl->getValue();
+  }
+  if (isinf(logL))
+  {
+    ApplicationTools::displayError("!!! Unexpected likelihood == 0.");
+    ApplicationTools::displayError("!!! Looking at each site:");
+    for(unsigned int i = 0; i < sites->getNumberOfSites(); i++)
+    {
+      (*ApplicationTools::error << "Site " << sites->getSite(i).getPosition() << "\tlog likelihood = " << tl->getLogLikelihoodForASite(i)).endLine();
+    }
+    ApplicationTools::displayError("!!! 0 values (inf in log) may be due to computer overflow, particularily if datasets are big (>~500 sequences).");
+    exit(-1);
+  }
+  tree = new TreeTemplate<Node>(tl->getTree());
+
+  // Write parameters to screen:
+  ApplicationTools::displayResult("Log likelihood", TextTools::toString(tl->getValue(), 15));
+  ParameterList parameters = tl->getSubstitutionModelParameters();
+  for (unsigned int i = 0; i < parameters.size(); i++)
+  {
+    ApplicationTools::displayResult(parameters[i].getName(), TextTools::toString(parameters[i].getValue()));
+  }
+  parameters = tl->getRateDistributionParameters();
+  for (unsigned int i = 0; i < parameters.size(); i++)
+  {
+    ApplicationTools::displayResult(parameters[i].getName(), TextTools::toString(parameters[i].getValue()));
+  }
+
+  // Getting posterior rate class distribution:
+  DiscreteDistribution* prDist = RASTools::getPosteriorRateDistribution(*tl);
+  ApplicationTools::displayMessage("\nPosterior rate distribution for dataset:\n");
+  if (ApplicationTools::message) prDist->print(*ApplicationTools::message);
+  ApplicationTools::displayMessage("\n");
+  delete prDist;
+
+  // Reconstruct ancestral sequences:
+  string reconstruction = ApplicationTools::getStringParameter("asr.method", bppancestor.getParams(), "marginal", "", true, false);
+  ApplicationTools::displayResult("Ancestral state reconstruction method", reconstruction);
+  bool probs = false;
+
+  AncestralStateReconstruction *asr = 0;
+  bool probMethod = false;
+  if (reconstruction == "marginal")
+  {
+    asr = new MarginalAncestralStateReconstruction(tl);
+    probMethod = true;
+  }
+  else
+    throw Exception("Unknown ancestral state reconstruction method: " + reconstruction);
+
+  if (probMethod)
+  {
+    probs = ApplicationTools::getBooleanParameter("asr.probabilities", bppancestor.getParams(), false, "", true, false);
+    ApplicationTools::displayResult("Output probabilities", probs ? "yes" : "no");
+  }
+
+  // Write infos to file:
+  string outputFile = ApplicationTools::getAFilePath("output.sites.file", bppancestor.getParams(), false, false);
+  if (outputFile != "none")
+  {
+    ApplicationTools::displayResult("Output file for sites", outputFile);
+    ofstream out(outputFile.c_str(), ios::out);
+    TreeTemplate<Node> ttree(*tree);
+    vector<Node *> nodes = ttree.getInnerNodes();
+    unsigned int nbNodes = nodes.size();
+    
+    // Get the rate class with maximum posterior probability:
+    vector<unsigned int> classes = tl->getRateClassWithMaxPostProbOfEachSite();
+    // Get the posterior rate, i.e. rate averaged over all posterior probabilities:
+    Vdouble rates = tl->getPosteriorRateOfEachSite();
+    // Get the ancestral sequences:
+    vector<Sequence*> sequences(nbNodes);
+    vector<VVdouble*> probabilities(nbNodes);
+
+    vector<string> colNames;
+    colNames.push_back("Sites");
+    colNames.push_back("is.complete");
+    colNames.push_back("is.constant");
+    colNames.push_back("lnL");
+    colNames.push_back("rc");
+    colNames.push_back("pr");
+    for (unsigned int i = 0; i < nbNodes; i++) {
+      Node *node = nodes[i];
+      colNames.push_back("max." + TextTools::toString(node->getId()));
+      if (probs) {
+        probabilities[i] = new VVdouble();
+        //The cast will have to be updated when more probabilistic method will be available:
+        sequences[i] = dynamic_cast<MarginalAncestralStateReconstruction *>(asr)->getAncestralSequenceForNode(node->getId(), probabilities[i], false);
+
+        for (unsigned int j = 0; j < nbStates; j++) {
+          colNames.push_back("prob." + TextTools::toString(node->getId()) + "." + alphabet->intToChar((int)j));
+        }
+      }
+      else
+      {
+        if (node->isLeaf()) {
+
+        } else {
+          sequences[i] = asr->getAncestralSequenceForNode(node->getId());
+        }
+      }
+    }
+
+    //Now fill the table:
+    vector<string> row(colNames.size());
+    DataTable* infos = new DataTable(colNames);
+    
+    for (unsigned int i = 0; i < sites->getNumberOfSites(); i++)
+    {
+      double lnL = tl->getLogLikelihoodForASite(i);
+      const Site* currentSite = &sites->getSite(i);
+      int currentSitePosition = currentSite->getPosition();
+      string isCompl = "NA";
+      string isConst = "NA";
+      try { isCompl = (SiteTools::isComplete(*currentSite) ? "1" : "0"); }
+      catch(EmptySiteException& ex) {}
+      try { isConst = (SiteTools::isConstant(*currentSite) ? "1" : "0"); }
+      catch(EmptySiteException& ex) {}
+      row[0] = (string("[" + TextTools::toString(currentSitePosition) + "]"));
+      row[1] = isCompl;
+      row[2] = isConst;
+      row[3] = TextTools::toString(lnL);
+      row[4] = TextTools::toString(classes[i]);
+      row[5] = TextTools::toString(rates[i]);
+
+      unsigned int k = 6;
+      for (unsigned int j = 0; j < nbNodes; j++) {
+        row[k] = sequences[j]->getChar(i);
+        k++;
+        if (probs) {
+          for (unsigned int l = 0; l < nbStates; l++) {
+            row[k] = TextTools::toString((*probabilities[j])[i][l]);
+            k++;
+          }
+        }
+      }
+
+      infos->addRow(row);
+    }
+
+    DataTable::write(*infos, out, "\t");
+
+    delete infos;
+  }
+ 
+
+  outputFile = ApplicationTools::getAFilePath("output.nodes.file", bppancestor.getParams(), false, false);
+  if (outputFile != "none")
+  {
+    ApplicationTools::displayResult("Output file for nodes", outputFile);
+    ofstream out(outputFile.c_str(), ios::out);
+
+    map<int, vector<double> > frequencies;
+    TreeLikelihoodTools::getAncestralFrequencies(*tl, frequencies, false);
+    
+    vector<string> colNames;
+    colNames.push_back("Nodes");
+    for (unsigned int i = 0; i < tl->getNumberOfStates(); i++)
+      colNames.push_back("exp" + TextTools::toString(i));
+    for (unsigned int i = 0; i < tl->getNumberOfStates(); i++)
+      colNames.push_back("eb" + TextTools::toString(i));
+
+    //Now fill the table:
+    vector<string> row(colNames.size());
+    DataTable* infos = new DataTable(colNames);
+    
+    for (map<int, vector<double> >::iterator it = frequencies.begin(); it != frequencies.end(); it++)
+    {
+      row[0] = TextTools::toString(it->first);
+      Vdouble ebFreqs = DRTreeLikelihoodTools::getPosteriorStateFrequencies(*tl, it->first);
+      for (unsigned int i = 0; i < tl->getNumberOfStates(); i++)
+      {
+        row[i + 1] = TextTools::toString(it->second[i]);
+      }
+      for (unsigned int i = 0; i < tl->getNumberOfStates(); i++)
+      {
+        row[i + tl->getNumberOfStates() + 1] = TextTools::toString(ebFreqs[i]);
+      }
+      infos->addRow(row);
+    }
+    
+    DataTable::write(*infos, out, "\t");
+
+    delete infos;
+  }
+
+
+
+  SiteContainer* asSites = 0;
+  if (probMethod)
+  {
+    bool sample = ApplicationTools::getBooleanParameter("asr.sample", bppancestor.getParams(), false, "", true, false);
+    ApplicationTools::displayResult("Sample from posterior distribution", sample ? "yes" : "no");
+    if (sample)
+    {
+      unsigned int nbSamples = ApplicationTools::getParameter<unsigned int>("asr.sample.number", bppancestor.getParams(), 1, "", true, false);
+      asSites = new AlignedSequenceContainer(alphabet);
+      for (unsigned int i = 0; i < nbSamples; i++)
+      {
+        ApplicationTools::displayGauge(i, nbSamples-1, '=');
+        SequenceContainer *sampleSites = dynamic_cast<MarginalAncestralStateReconstruction *>(asr)->getAncestralSequences(true);
+        vector<string> names = sampleSites->getSequencesNames();
+        for (unsigned int j = 0; j < names.size(); j++)
+          names[j] += "_" + TextTools::toString(i+1);
+        sampleSites->setSequencesNames(names, false);
+        SequenceContainerTools::append(*asSites, *sampleSites);
+        delete sampleSites;
+      }
+      ApplicationTools::message->endLine();
+    }
+    else
+    {
+      asSites = asr->getAncestralSequences();
+    }
+  }
+  else
+  {
+    asSites = asr->getAncestralSequences();
+  }
+  
+  //Add existing sequence to output?
+  bool addExtant = ApplicationTools::getBooleanParameter("asr.add_extant", bppancestor.getParams(), false, "", true, false);
+  if (addExtant) {
+    SequenceContainerTools::append(*asSites, *sites);
+  }
+
+  //Write output:
+  SequenceApplicationTools::writeAlignmentFile(*asSites, bppancestor.getParams());
+  delete asSites;
+
+  delete asr;
+  delete alphabet;
+  delete sites;
+  if(model)    delete model;
+  if(modelSet) delete modelSet;
+  delete rDist;
+  delete tl;
+  delete tree;
+  bppancestor.done();
+
+  }
+  catch (exception & e)
+  {
+    cout << e.what() << endl;
+    return 1;
+  }
+
+  return 0;
+}
+
diff --git a/bppSuite/bppConsense.cpp b/bppSuite/bppConsense.cpp
new file mode 100644
index 0000000..1b74a88
--- /dev/null
+++ b/bppSuite/bppConsense.cpp
@@ -0,0 +1,133 @@
+//
+// File: bppConsense.cpp
+// Created by: Julien Dutheil
+// Created on: Jun Wed 06 11:17 2007
+//
+
+/*
+Copyright or © or Copr. CNRS
+
+This software is a computer program whose purpose is to estimate
+phylogenies and evolutionary parameters from a dataset according to
+the maximum likelihood principle.
+
+This software is governed by the CeCILL  license under French law and
+abiding by the rules of distribution of free software.  You can  use, 
+modify and/ or redistribute the software under the terms of the CeCILL
+license as circulated by CEA, CNRS and INRIA at the following URL
+"http://www.cecill.info". 
+
+As a counterpart to the access to the source code and  rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty  and the software's author,  the holder of the
+economic rights,  and the successive licensors  have only  limited
+liability. 
+
+In this respect, the user's attention is drawn to the risks associated
+with loading,  using,  modifying and/or developing or reproducing the
+software by the user in light of its specific status of free software,
+that may mean  that it is complicated to manipulate,  and  that  also
+therefore means  that it is reserved for developers  and  experienced
+professionals having in-depth computer knowledge. Users are therefore
+encouraged to load and test the software's suitability as regards their
+requirements in conditions enabling the security of their systems and/or 
+data to be ensured and,  more generally, to use and operate it in the 
+same conditions as regards security. 
+
+The fact that you are presently reading this means that you have had
+knowledge of the CeCILL license and that you accept its terms.
+*/
+
+// From the STL:
+#include <iostream>
+#include <iomanip>
+
+using namespace std;
+
+#include <Bpp/App/BppApplication.h>
+#include <Bpp/App/ApplicationTools.h>
+#include <Bpp/Io/FileTools.h>
+#include <Bpp/Text/TextTools.h>
+#include <Bpp/Text/KeyvalTools.h>
+
+// From PhylLib:
+#include <Bpp/Phyl/Tree.h>
+#include <Bpp/Phyl/Io/Newick.h>
+#include <Bpp/Phyl/App/PhylogeneticsApplicationTools.h>
+
+using namespace bpp;
+
+void help()
+{
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+  (*ApplicationTools::message << "bppconsense parameter1_name=parameter1_value").endLine();
+  (*ApplicationTools::message << "      parameter2_name=parameter2_value ... param=option_file").endLine();
+  (*ApplicationTools::message).endLine();
+  (*ApplicationTools::message << "  Refer to the Bio++ Program Suite Manual for a list of available options.").endLine();
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+}
+
+int main(int args, char ** argv)
+{
+  cout << "******************************************************************" << endl;
+  cout << "*       Bio++ Consensus and Bootstrap Methods, version 0.3.0     *" << endl;
+  cout << "* Authors: J. Dutheil                       Created     06/06/07 *" << endl;
+  cout << "*          N. Galtier                       Last Modif. 08/08/09 *" << endl;
+  cout << "******************************************************************" << endl;
+  cout << endl;
+
+  if(args == 1)
+  {
+    help();
+    return 0;
+  }
+  
+  try {
+  
+  BppApplication bppconsense(args, argv, "BppConsense");
+  bppconsense.startTimer();
+
+  vector<Tree*> list = PhylogeneticsApplicationTools::getTrees(bppconsense.getParams());
+
+  Tree* tree = 0;
+  string treeMethod = ApplicationTools::getStringParameter("tree", bppconsense.getParams(), "consensus");
+  string cmdName;
+  map<string, string> cmdArgs;
+  KeyvalTools::parseProcedure(treeMethod, cmdName, cmdArgs);
+  if(cmdName == "Input")
+  {
+    tree = PhylogeneticsApplicationTools::getTree(bppconsense.getParams());
+    ApplicationTools::displayResult("Number of leaves", tree->getNumberOfLeaves());
+  }
+  else if(cmdName == "Consensus")
+  {
+    double threshold = ApplicationTools::getDoubleParameter("threshold", cmdArgs, 0);
+    ApplicationTools::displayResult("Consensus threshold", TextTools::toString(threshold));
+    ApplicationTools::displayTask("Computing consensus tree");
+    tree = TreeTools::thresholdConsensus(list, threshold, true);
+    ApplicationTools::displayTaskDone();
+  }
+  else throw Exception("Unknown input tree method: " + treeMethod);
+  
+  ApplicationTools::displayTask("Compute bootstrap values");
+  TreeTools::computeBootstrapValues(*tree, list);
+  ApplicationTools::displayTaskDone();
+
+  //Write resulting tree:
+  PhylogeneticsApplicationTools::writeTree(*tree, bppconsense.getParams());
+  for (unsigned int i = 0; i < list.size(); i++)
+    delete list[i];
+  delete tree;
+
+  bppconsense.done();
+
+	}
+  catch(exception & e)
+  {
+		cout << e.what() << endl;
+		return 1;
+	}
+
+	return (0);
+}
+
diff --git a/bppSuite/bppDist.cpp b/bppSuite/bppDist.cpp
new file mode 100644
index 0000000..a47c69c
--- /dev/null
+++ b/bppSuite/bppDist.cpp
@@ -0,0 +1,346 @@
+//
+// File: bppDist.cpp
+// Created by: Julien Dutheil
+// Created on: May Sat 05 15:09 2007
+// From file bppML.cpp
+//
+
+/*
+Copyright or © or Copr. CNRS
+
+This software is a computer program whose purpose is to estimate
+phylogenies and evolutionary parameters from a dataset according to
+the maximum likelihood principle.
+
+This software is governed by the CeCILL  license under French law and
+abiding by the rules of distribution of free software.  You can  use, 
+modify and/ or redistribute the software under the terms of the CeCILL
+license as circulated by CEA, CNRS and INRIA at the following URL
+"http://www.cecill.info". 
+
+As a counterpart to the access to the source code and  rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty  and the software's author,  the holder of the
+economic rights,  and the successive licensors  have only  limited
+liability. 
+
+In this respect, the user's attention is drawn to the risks associated
+with loading,  using,  modifying and/or developing or reproducing the
+software by the user in light of its specific status of free software,
+that may mean  that it is complicated to manipulate,  and  that  also
+therefore means  that it is reserved for developers  and  experienced
+professionals having in-depth computer knowledge. Users are therefore
+encouraged to load and test the software's suitability as regards their
+requirements in conditions enabling the security of their systems and/or 
+data to be ensured and,  more generally, to use and operate it in the 
+same conditions as regards security. 
+
+The fact that you are presently reading this means that you have had
+knowledge of the CeCILL license and that you accept its terms.
+*/
+
+// From the STL:
+#include <iostream>
+#include <iomanip>
+
+using namespace std;
+
+#include <Bpp/Numeric/Prob/DiscreteDistribution.h>
+#include <Bpp/Numeric/Prob/ConstantDistribution.h>
+#include <Bpp/App/BppApplication.h>
+#include <Bpp/App/ApplicationTools.h>
+#include <Bpp/Io/FileTools.h>
+#include <Bpp/Text/TextTools.h>
+
+// From SeqLib:
+#include <Bpp/Seq/Alphabet/Alphabet.h>
+#include <Bpp/Seq/Container/VectorSiteContainer.h>
+#include <Bpp/Seq/SiteTools.h>
+#include <Bpp/Seq/App/SequenceApplicationTools.h>
+
+// From PhylLib:
+#include <Bpp/Phyl/Tree.h>
+#include <Bpp/Phyl/PatternTools.h>
+#include <Bpp/Phyl/App/PhylogeneticsApplicationTools.h>
+#include <Bpp/Phyl/Io.all>
+#include <Bpp/Phyl/Distance.all>
+#include <Bpp/Phyl/OptimizationTools.h>
+#include <Bpp/Phyl/Model/MarkovModulatedSubstitutionModel.h>
+
+using namespace bpp;
+
+void help()
+{
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+  (*ApplicationTools::message << "bppdist parameter1_name=parameter1_value parameter2_name=parameter2_value").endLine();
+  (*ApplicationTools::message << "      ... param=option_file").endLine();
+  (*ApplicationTools::message).endLine();
+  (*ApplicationTools::message << "  Refer to the Bio++ Program Suite Manual for a list of available options.").endLine();
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+}
+
+int main(int args, char ** argv)
+{
+  cout << "******************************************************************" << endl;
+  cout << "*              Bio++ Distance Methods, version 0.3.0             *" << endl;
+  cout << "* Author: J. Dutheil                        Created     05/05/07 *" << endl;
+  cout << "*                                           Last Modif. 08/08/09 *" << endl;
+  cout << "******************************************************************" << endl;
+  cout << endl;
+
+  if(args == 1)
+  {
+    help();
+    return 0;
+  }
+  
+  try {
+
+  BppApplication bppdist(args, argv, "BppDist");
+  bppdist.startTimer();
+
+  Alphabet* alphabet = SequenceApplicationTools::getAlphabet(bppdist.getParams(), "", false);
+
+  VectorSiteContainer* allSites = SequenceApplicationTools::getSiteContainer(alphabet, bppdist.getParams());
+  
+  VectorSiteContainer* sites = SequenceApplicationTools::getSitesToAnalyse(* allSites, bppdist.getParams());
+  delete allSites;
+
+  ApplicationTools::displayResult("Number of sequences", TextTools::toString(sites->getNumberOfSequences()));
+  ApplicationTools::displayResult("Number of sites", TextTools::toString(sites->getNumberOfSites()));
+  
+  SubstitutionModel* model = PhylogeneticsApplicationTools::getSubstitutionModel(alphabet, sites, bppdist.getParams());
+  
+	DiscreteDistribution* rDist = 0;
+  if(model->getNumberOfStates() > model->getAlphabet()->getSize())
+  {
+    //Markov-modulated Markov model!
+    rDist = new ConstantDistribution(1.);
+  }
+  else
+  {
+	  rDist = PhylogeneticsApplicationTools::getRateDistribution(bppdist.getParams());
+  }
+   
+  DistanceEstimation distEstimation(model, rDist, sites, 1, false);
+ 
+  string method = ApplicationTools::getStringParameter("method", bppdist.getParams(), "nj");
+  ApplicationTools::displayResult("Tree reconstruction method", method);
+  TreeTemplate<Node>* tree;
+  AgglomerativeDistanceMethod* distMethod = 0;
+  if(method == "wpgma")
+  {
+    PGMA* wpgma = new PGMA(true);
+    distMethod = wpgma;
+  }
+  else if(method == "upgma")
+  {
+    PGMA* upgma = new PGMA(false);
+    distMethod = upgma;
+  }
+  else if(method == "nj")
+  {
+    NeighborJoining* nj = new NeighborJoining();
+    nj->outputPositiveLengths(true);
+    distMethod = nj;
+  }
+  else if(method == "bionj")
+  {
+    BioNJ* bionj = new BioNJ();
+    bionj->outputPositiveLengths(true);
+    distMethod = bionj;
+  }
+  else throw Exception("Unknown tree reconstruction method.");
+  
+  string type = ApplicationTools::getStringParameter("optimization.method", bppdist.getParams(), "init");
+  ApplicationTools::displayResult("Model parameters estimation method", type);
+  if (type == "init") type = OptimizationTools::DISTANCEMETHOD_INIT;
+  else if (type == "pairwise") type = OptimizationTools::DISTANCEMETHOD_PAIRWISE;
+  else if (type == "iterations") type = OptimizationTools::DISTANCEMETHOD_ITERATIONS;
+  else throw Exception("Unknown parameter estimation procedure '" + type + "'.");
+  
+	unsigned int optVerbose = ApplicationTools::getParameter<unsigned int>("optimization.verbose", bppdist.getParams(), 2);
+	
+	string mhPath = ApplicationTools::getAFilePath("optimization.message_handler", bppdist.getParams(), false, false);
+	OutputStream* messenger = 
+		(mhPath == "none") ? 0 :
+			(mhPath == "std") ? ApplicationTools::message :
+				new StlOutputStream(auto_ptr<ostream>(new ofstream(mhPath.c_str(), ios::out)));
+	ApplicationTools::displayResult("Message handler", mhPath);
+
+	string prPath = ApplicationTools::getAFilePath("optimization.profiler", bppdist.getParams(), false, false);
+	OutputStream* profiler = 
+		(prPath == "none") ? 0 :
+			(prPath == "std") ? ApplicationTools::message :
+				new StlOutputStream(auto_ptr<ostream>(new ofstream(prPath.c_str(), ios::out)));
+	if(profiler) profiler->setPrecision(20);
+	ApplicationTools::displayResult("Profiler", prPath);
+
+	// Should I ignore some parameters?
+  ParameterList allParameters = model->getParameters();
+  allParameters.addParameters(rDist->getParameters());
+	ParameterList parametersToIgnore;
+  string paramListDesc = ApplicationTools::getStringParameter("optimization.ignore_parameter", bppdist.getParams(), "", "", true, false);
+	bool ignoreBrLen = false;
+  StringTokenizer st(paramListDesc, ",");
+	while (st.hasMoreToken())
+  {
+		try
+    {
+      string param = st.nextToken();
+      if (param == "BrLen")
+        ignoreBrLen = true;
+      else
+      {
+        if (allParameters.hasParameter(param))
+        {
+          Parameter* p = &allParameters.getParameter(param);
+          parametersToIgnore.addParameter(*p);
+        }
+        else ApplicationTools::displayWarning("Parameter '" + param + "' not found."); 
+      }
+		} 
+    catch (ParameterNotFoundException& pnfe)
+    {
+			ApplicationTools::displayError("Parameter '" + pnfe.getParameter() + "' not found, and so can't be ignored!");
+		}
+	}
+	
+	unsigned int nbEvalMax = ApplicationTools::getParameter<unsigned int>("optimization.max_number_f_eval", bppdist.getParams(), 1000000);
+	ApplicationTools::displayResult("Max # ML evaluations", TextTools::toString(nbEvalMax));
+	
+	double tolerance = ApplicationTools::getDoubleParameter("optimization.tolerance", bppdist.getParams(), .000001);
+	ApplicationTools::displayResult("Tolerance", TextTools::toString(tolerance));
+	
+  //Here it is:
+  ofstream warn("warnings", ios::out);
+  ApplicationTools::warning = new StlOutputStreamWrapper(&warn);
+  tree = OptimizationTools::buildDistanceTree(distEstimation, *distMethod, parametersToIgnore, !ignoreBrLen, false, type, tolerance, nbEvalMax, profiler, messenger, optVerbose);
+  warn.close();
+  delete ApplicationTools::warning;
+  ApplicationTools::warning = ApplicationTools::message;
+
+  string matrixPath = ApplicationTools::getAFilePath("output.matrix.file", bppdist.getParams(), false, false, "", false);
+  if (matrixPath != "none")
+  {
+    ApplicationTools::displayResult("Output matrix file", matrixPath);
+    ODistanceMatrix* odm = IODistanceMatrixFactory().createWriter(IODistanceMatrixFactory::PHYLIP_FORMAT);
+    odm->write(*distEstimation.getMatrix(), matrixPath, true);
+    delete odm;
+  }
+
+  PhylogeneticsApplicationTools::writeTree(*tree, bppdist.getParams());
+  
+  //Output some parameters:
+  if (type == OptimizationTools::DISTANCEMETHOD_ITERATIONS)
+  {
+    // Write parameters to screen:
+    ParameterList parameters = model->getParameters();
+    for (unsigned int i = 0; i < parameters.size(); i++)
+    {
+		  ApplicationTools::displayResult(parameters[i].getName(), TextTools::toString(parameters[i].getValue()));
+    }
+    parameters = rDist->getParameters();
+    for (unsigned int i = 0; i < parameters.size(); i++)
+    {
+		  ApplicationTools::displayResult(parameters[i].getName(), TextTools::toString(parameters[i].getValue()));
+    }
+    // Write parameters to file:
+	  string parametersFile = ApplicationTools::getAFilePath("output.estimates", bppdist.getParams(), false, false);
+    if (parametersFile != "none")
+    {
+		  ofstream out(parametersFile.c_str(), ios::out);
+      parameters = model->getParameters();
+      for (unsigned int i = 0; i < parameters.size(); i++)
+      {
+        out << parameters[i].getName() << " = " << parameters[i].getValue() << endl;
+      }
+      parameters = rDist->getParameters();
+      for (unsigned int i = 0; i < parameters.size(); i++)
+      {
+        out << parameters[i].getName() << " = " << parameters[i].getValue() << endl;
+      }
+      out.close();
+    }
+  }
+ 
+  //Bootstrap:
+  unsigned int nbBS = ApplicationTools::getParameter<unsigned int>("bootstrap.number", bppdist.getParams(), 0);
+  if(nbBS > 0)
+  {
+    ApplicationTools::displayResult("Number of bootstrap samples", TextTools::toString(nbBS));
+    bool approx = ApplicationTools::getBooleanParameter("bootstrap.approximate", bppdist.getParams(), true);
+    ApplicationTools::displayResult("Use approximate bootstrap", TextTools::toString(approx ? "yes" : "no"));
+    if(approx)
+    {
+      type = OptimizationTools::DISTANCEMETHOD_INIT;
+      parametersToIgnore = allParameters;
+      ignoreBrLen = true;
+    }
+    bool bootstrapVerbose = ApplicationTools::getBooleanParameter("bootstrap.verbose", bppdist.getParams(), false, "", true, false);
+ 
+    string bsTreesPath = ApplicationTools::getAFilePath("bootstrap.output.file", bppdist.getParams(), false, false);
+    ofstream *out = NULL;
+    if(bsTreesPath != "none")
+    {
+      ApplicationTools::displayResult("Bootstrap trees stored in file", bsTreesPath);
+      out = new ofstream(bsTreesPath.c_str(), ios::out);
+    }
+    Newick newick;
+    
+    vector<Tree *> bsTrees(nbBS);
+    ApplicationTools::displayTask("Bootstrapping", true);
+    for(unsigned int i = 0; i < nbBS; i++)
+    {
+      ApplicationTools::displayGauge(i, nbBS-1, '=');
+      VectorSiteContainer * sample = SiteContainerTools::bootstrapSites(*sites);
+      if(approx) model->setFreqFromData(*sample);
+      distEstimation.setData(sample);
+      bsTrees[i] = OptimizationTools::buildDistanceTree(
+          distEstimation,
+          *distMethod,
+          parametersToIgnore,
+          ignoreBrLen,
+          false,
+          type,
+          tolerance,
+          nbEvalMax,
+          NULL,
+          NULL,
+          (bootstrapVerbose ? 1 : 0)
+        );
+      if(out && i == 0) newick.write(*bsTrees[i], bsTreesPath, true);
+      if(out && i >  0) newick.write(*bsTrees[i], bsTreesPath, false);
+      delete sample;
+    }
+    if(out) out->close();
+    if(out) delete out;
+    ApplicationTools::displayTaskDone();
+    ApplicationTools::displayTask("Compute bootstrap values");
+    TreeTools::computeBootstrapValues(*tree, bsTrees);
+    ApplicationTools::displayTaskDone();
+    for(unsigned int i = 0; i < nbBS; i++) delete bsTrees[i];
+
+    //Write resulting tree:
+    PhylogeneticsApplicationTools::writeTree(*tree, bppdist.getParams());
+  }
+    
+  delete alphabet;
+  delete sites;
+  delete model;
+  delete rDist;
+  delete distMethod;
+  delete tree;
+
+  bppdist.done();
+
+  }
+  catch(exception & e)
+  {
+    cout << e.what() << endl;
+    return 1;
+  }
+
+  return 0;
+}
+
diff --git a/bppSuite/bppML.cpp b/bppSuite/bppML.cpp
new file mode 100644
index 0000000..5dbd077
--- /dev/null
+++ b/bppSuite/bppML.cpp
@@ -0,0 +1,702 @@
+//
+// File: bppML.cpp
+// Created by: Julien Dutheil
+// Created on: Dec Sat 03 16:41 2005
+//
+
+/*
+   Copyright or © or Copr. CNRS
+
+   This software is a computer program whose purpose is to estimate
+   phylogenies and evolutionary parameters from a dataset according to
+   the maximum likelihood principle.
+
+   This software is governed by the CeCILL  license under French law and
+   abiding by the rules of distribution of free software.  You can  use,
+   modify and/ or redistribute the software under the terms of the CeCILL
+   license as circulated by CEA, CNRS and INRIA at the following URL
+   "http://www.cecill.info".
+
+   As a counterpart to the access to the source code and  rights to copy,
+   modify and redistribute granted by the license, users are provided only
+   with a limited warranty  and the software's author,  the holder of the
+   economic rights,  and the successive licensors  have only  limited
+   liability.
+
+   In this respect, the user's attention is drawn to the risks associated
+   with loading,  using,  modifying and/or developing or reproducing the
+   software by the user in light of its specific status of free software,
+   that may mean  that it is complicated to manipulate,  and  that  also
+   therefore means  that it is reserved for developers  and  experienced
+   professionals having in-depth computer knowledge. Users are therefore
+   encouraged to load and test the software's suitability as regards their
+   requirements in conditions enabling the security of their systems and/or
+   data to be ensured and,  more generally, to use and operate it in the
+   same conditions as regards security.
+
+   The fact that you are presently reading this means that you have had
+   knowledge of the CeCILL license and that you accept its terms.
+ */
+
+// From the STL:
+#include <iostream>
+#include <iomanip>
+#include <limits>
+
+using namespace std;
+
+#include <Bpp/Numeric/Prob/DiscreteDistribution.h>
+#include <Bpp/Numeric/Prob/ConstantDistribution.h>
+#include <Bpp/Numeric/DataTable.h>
+#include <Bpp/Numeric/Matrix/MatrixTools.h>
+#include <Bpp/Numeric/VectorTools.h>
+#include <Bpp/Numeric/AutoParameter.h>
+#include <Bpp/App/BppApplication.h>
+#include <Bpp/App/ApplicationTools.h>
+#include <Bpp/Io/FileTools.h>
+#include <Bpp/Text/TextTools.h>
+#include <Bpp/Text/KeyvalTools.h>
+
+// From SeqLib:
+#include <Bpp/Seq/Alphabet/Alphabet.h>
+#include <Bpp/Seq/Container/VectorSiteContainer.h>
+#include <Bpp/Seq/SiteTools.h>
+#include <Bpp/Seq/App/SequenceApplicationTools.h>
+
+// From PhylLib:
+#include <Bpp/Phyl/Tree.h>
+#include <Bpp/Phyl/Likelihood.all>
+#include <Bpp/Phyl/PatternTools.h>
+#include <Bpp/Phyl/App/PhylogeneticsApplicationTools.h>
+#include <Bpp/Phyl/OptimizationTools.h>
+#include <Bpp/Phyl/Model.all>
+#include <Bpp/Phyl/Io/Newick.h>
+
+using namespace bpp;
+
+/******************************************************************************/
+
+void help()
+{
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+  (*ApplicationTools::message << "bppml parameter1_name=parameter1_value parameter2_name=parameter2_value").endLine();
+  (*ApplicationTools::message << "      ... param=option_file").endLine();
+  (*ApplicationTools::message).endLine();
+  (*ApplicationTools::message << "  Refer to the Bio++ Program Suite Manual for a list of available options.").endLine();
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+}
+
+int main(int args, char** argv)
+{
+  cout << "******************************************************************" << endl;
+  cout << "*       Bio++ Maximum Likelihood Computation, version 1.5.0      *" << endl;
+  cout << "*                                                                *" << endl;
+  cout << "* Authors: J. Dutheil                       Last Modif. 07/02/11 *" << endl;
+  cout << "*          B. Boussau                                            *" << endl;
+  cout << "*          L. Gueguen                                            *" << endl;
+  cout << "******************************************************************" << endl;
+  cout << endl;
+
+  if (args == 1)
+  {
+    help();
+    return 0;
+  }
+
+  try
+  {
+    BppApplication bppml(args, argv, "BppML");
+    bppml.startTimer();
+
+    Alphabet* alphabet = SequenceApplicationTools::getAlphabet(bppml.getParams(), "", false);
+
+    VectorSiteContainer* allSites = SequenceApplicationTools::getSiteContainer(alphabet, bppml.getParams());
+
+    VectorSiteContainer* sites = SequenceApplicationTools::getSitesToAnalyse(*allSites, bppml.getParams(), "", true, false);
+    delete allSites;
+
+    ApplicationTools::displayResult("Number of sequences", TextTools::toString(sites->getNumberOfSequences()));
+    ApplicationTools::displayResult("Number of sites", TextTools::toString(sites->getNumberOfSites()));
+
+    // Get the initial tree
+    Tree* tree = 0;
+    string initTreeOpt = ApplicationTools::getStringParameter("init.tree", bppml.getParams(), "user", "", false, false);
+    ApplicationTools::displayResult("Input tree", initTreeOpt);
+    if (initTreeOpt == "user")
+    {
+      tree = PhylogeneticsApplicationTools::getTree(bppml.getParams());
+      ApplicationTools::displayResult("Number of leaves", TextTools::toString(tree->getNumberOfLeaves()));
+    }
+    else if (initTreeOpt == "random")
+    {
+      vector<string> names = sites->getSequencesNames();
+      tree = TreeTemplateTools::getRandomTree(names);
+      tree->setBranchLengths(1.);
+    }
+    else throw Exception("Unknown init tree method.");
+
+    // Try to write the current tree to file. This will be overwritten by the optimized tree,
+    // but allow to check file existence before running optimization!
+    PhylogeneticsApplicationTools::writeTree(*tree, bppml.getParams());
+
+    bool computeLikelihood = ApplicationTools::getBooleanParameter("compute.likelihood", bppml.getParams(), true, "", false, false);
+    if (!computeLikelihood)
+    {
+      delete alphabet;
+      delete sites;
+      delete tree;
+      cout << "BppML's done. Bye." << endl;
+      return 0;
+    }
+
+    // Setting branch lengths?
+    string initBrLenMethod = ApplicationTools::getStringParameter("init.brlen.method", bppml.getParams(), "Input", "", true, false);
+    string cmdName;
+    map<string, string> cmdArgs;
+    KeyvalTools::parseProcedure(initBrLenMethod, cmdName, cmdArgs);
+    if (cmdName == "Input")
+    {
+      // Do nothing!
+    }
+    else if (cmdName == "Equal")
+    {
+      double value = ApplicationTools::getDoubleParameter("value", cmdArgs, 0.1, "", true, false);
+      if (value <= 0)
+        throw Exception("Value for branch length must be superior to 0");
+      ApplicationTools::displayResult("Branch lengths set to", value);
+      tree->setBranchLengths(value);
+    }
+    else if (cmdName == "Clock")
+    {
+      TreeTools::convertToClockTree(*tree, tree->getRootId(), true);
+    }
+    else if (cmdName == "Grafen")
+    {
+      string grafenHeight = ApplicationTools::getStringParameter("height", cmdArgs, "input", "", true, false);
+      double h;
+      if (grafenHeight == "input")
+      {
+        h = TreeTools::getHeight(*tree, tree->getRootId());
+      }
+      else
+      {
+        h = TextTools::toDouble(grafenHeight);
+        if (h <= 0) throw Exception("Height must be positive in Grafen's method.");
+      }
+      ApplicationTools::displayResult("Total height", TextTools::toString(h));
+
+      double rho = ApplicationTools::getDoubleParameter("rho", cmdArgs, 1., "", true, false);
+      ApplicationTools::displayResult("Grafen's rho", rho);
+      TreeTools::computeBranchLengthsGrafen(*tree, rho);
+      double nh = TreeTools::getHeight(*tree, tree->getRootId());
+      tree->scaleTree(h / nh);
+    }
+    else throw Exception("Method '" + initBrLenMethod + "' unknown for computing branch lengths.");
+    ApplicationTools::displayResult("Branch lengths", cmdName);
+
+    string treeWIdPath = ApplicationTools::getAFilePath("output.tree_ids.file", bppml.getParams(), false, false);
+    if (treeWIdPath != "none")
+    {
+      TreeTemplate<Node> ttree(*tree);
+      vector<Node*> nodes = ttree.getNodes();
+      for (unsigned int i = 0; i < nodes.size(); i++)
+      {
+        if (nodes[i]->isLeaf())
+          nodes[i]->setName(TextTools::toString(nodes[i]->getId()) + "_" + nodes[i]->getName());
+        else
+          nodes[i]->setBranchProperty("NodeId", BppString(TextTools::toString(nodes[i]->getId())));
+      }
+      Newick treeWriter;
+      treeWriter.enableExtendedBootstrapProperty("NodeId");
+      ApplicationTools::displayResult("Writing tagged tree to", treeWIdPath);
+      treeWriter.write(ttree, treeWIdPath);
+      delete tree;
+      cout << "BppML's done." << endl;
+      exit(0);
+    }
+
+    DiscreteRatesAcrossSitesTreeLikelihood* tl;
+    string optimizeClock = ApplicationTools::getStringParameter("optimization.clock", bppml.getParams(), "no", "", true, false);
+    ApplicationTools::displayResult("Clock", optimizeClock);
+    string nhOpt = ApplicationTools::getStringParameter("nonhomogeneous", bppml.getParams(), "no", "", true, false);
+    ApplicationTools::displayResult("Heterogeneous model", nhOpt);
+
+    bool optimizeTopo = ApplicationTools::getBooleanParameter("optimization.topology", bppml.getParams(), false, "", true, false);
+    unsigned int nbBS = ApplicationTools::getParameter<unsigned int>("bootstrap.number", bppml.getParams(), 0, "", true, false);
+
+    SubstitutionModel*    model    = 0;
+    SubstitutionModelSet* modelSet = 0;
+    DiscreteDistribution* rDist    = 0;
+
+    if (optimizeClock == "global")
+    {
+      model = PhylogeneticsApplicationTools::getSubstitutionModel(alphabet, sites, bppml.getParams());
+      if (model->getName() != "RE08") SiteContainerTools::changeGapsToUnknownCharacters(*sites);
+      if (model->getNumberOfStates() >= 2 * model->getAlphabet()->getSize())
+      {
+        // Markov-modulated Markov model!
+        rDist = new ConstantDistribution(1., true);
+      }
+      else
+      {
+        rDist = PhylogeneticsApplicationTools::getRateDistribution(bppml.getParams());
+      }
+      if (dynamic_cast<MixedSubstitutionModel*>(model) == 0)
+        tl = new RHomogeneousClockTreeLikelihood(*tree, *sites, model, rDist, true, true);
+      else
+        throw Exception("Molecular clock with Mixed model not supported yet, sorry :(");
+    }
+    else if (optimizeClock == "no")
+    {
+      if (optimizeTopo || nbBS > 0)
+      {
+        if (nhOpt != "no")
+          throw Exception("Topology estimation with NH model not supported yet, sorry :(");
+        model = PhylogeneticsApplicationTools::getSubstitutionModel(alphabet, sites, bppml.getParams());
+        if (model->getName() != "RE08") SiteContainerTools::changeGapsToUnknownCharacters(*sites);
+        if (model->getNumberOfStates() >= 2 * model->getAlphabet()->getSize())
+        {
+          // Markov-modulated Markov model!
+          rDist = new ConstantDistribution(1., true);
+        }
+        else
+        {
+          rDist = PhylogeneticsApplicationTools::getRateDistribution(bppml.getParams());
+        }
+        if (dynamic_cast<MixedSubstitutionModel*>(model) == 0)
+          tl = new NNIHomogeneousTreeLikelihood(*tree, *sites, model, rDist, true, true);
+        else
+          throw Exception("Topology estimation with Mixed model not supported yet, sorry :(");
+      }
+      else if (nhOpt == "no")
+      {
+        model = PhylogeneticsApplicationTools::getSubstitutionModel(alphabet, sites, bppml.getParams());
+        if (model->getName() != "RE08") SiteContainerTools::changeGapsToUnknownCharacters(*sites);
+        if (model->getNumberOfStates() >= 2 * model->getAlphabet()->getSize())
+        {
+          // Markov-modulated Markov model!
+          rDist = new ConstantDistribution(1., true);
+        }
+        else
+        {
+          rDist = PhylogeneticsApplicationTools::getRateDistribution(bppml.getParams());
+        }
+        string recursion = ApplicationTools::getStringParameter("likelihood.recursion", bppml.getParams(), "simple", "", true, false);
+        ApplicationTools::displayResult("Likelihood recursion", recursion);
+        if (recursion == "simple")
+        {
+          string compression = ApplicationTools::getStringParameter("likelihood.recursion_simple.compression", bppml.getParams(), "recursive", "", true, false);
+          ApplicationTools::displayResult("Likelihood data compression", compression);
+          if (compression == "simple")
+            if (dynamic_cast<MixedSubstitutionModel*>(model) == 0)
+              tl = new RHomogeneousTreeLikelihood(*tree, *sites, model, rDist, true, true, false);
+            else
+              tl = new RHomogeneousMixedTreeLikelihood(*tree, *sites, model, rDist, true, true, false);
+
+          else if (compression == "recursive")
+            if (dynamic_cast<MixedSubstitutionModel*>(model) == 0)
+              tl = new RHomogeneousTreeLikelihood(*tree, *sites, model, rDist, true, true, true);
+            else
+              tl = new RHomogeneousMixedTreeLikelihood(*tree, *sites, model, rDist, true, true, true);
+
+          else throw Exception("Unknown likelihood data compression method: " + compression);
+        }
+        else if (recursion == "double")
+        {
+          if (dynamic_cast<MixedSubstitutionModel*>(model) == 0)
+            tl = new DRHomogeneousTreeLikelihood(*tree, *sites, model, rDist, true);
+          else
+            tl = new DRHomogeneousMixedTreeLikelihood(*tree, *sites, model, rDist, true);
+        }
+        else throw Exception("Unknown recursion option: " + recursion);
+      }
+      else if (nhOpt == "one_per_branch")
+      {
+        model = PhylogeneticsApplicationTools::getSubstitutionModel(alphabet, sites, bppml.getParams());
+        if (model->getName() != "RE08") SiteContainerTools::changeGapsToUnknownCharacters(*sites);
+        if (model->getNumberOfStates() >= 2 * model->getAlphabet()->getSize())
+        {
+          // Markov-modulated Markov model!
+          rDist = new ConstantDistribution(1., true);
+        }
+        else
+        {
+          rDist = PhylogeneticsApplicationTools::getRateDistribution(bppml.getParams());
+        }
+        vector<double> rateFreqs;
+        if (model->getNumberOfStates() != alphabet->getSize())
+        {
+          // Markov-Modulated Markov Model...
+          unsigned int n = (unsigned int)(model->getNumberOfStates() / alphabet->getSize());
+          rateFreqs = vector<double>(n, 1. / (double)n); // Equal rates assumed for now, may be changed later (actually, in the most general case,
+                                                         // we should assume a rate distribution for the root also!!!
+        }
+
+        bool stationarity = ApplicationTools::getBooleanParameter("nonhomogeneous.stationarity", bppml.getParams(), false, "", false, false);
+        FrequenciesSet* rootFreqs = 0;
+        if (!stationarity)
+        {
+          rootFreqs = PhylogeneticsApplicationTools::getRootFrequenciesSet(alphabet, sites, bppml.getParams(), rateFreqs);
+          stationarity = !rootFreqs;
+        }
+        ApplicationTools::displayBooleanResult("Stationarity assumed", stationarity);
+   
+        vector<string> globalParameters = ApplicationTools::getVectorParameter<string>("nonhomogeneous_one_per_branch.shared_parameters", bppml.getParams(), ',', "");
+        for (unsigned int i = 0; i < globalParameters.size(); i++)
+          ApplicationTools::displayResult("Global parameter", globalParameters[i]);
+        modelSet = SubstitutionModelSetTools::createNonHomogeneousModelSet(model, rootFreqs, tree, globalParameters);
+        model = 0;
+
+        string recursion = ApplicationTools::getStringParameter("likelihood.recursion", bppml.getParams(), "simple", "", true, false);
+        ApplicationTools::displayResult("Likelihood recursion", recursion);
+        if (recursion == "simple")
+        {
+          if (modelSet->hasMixedSubstitutionModel())
+            tl = new RNonHomogeneousMixedTreeLikelihood(*tree, *sites, modelSet, rDist, true, true);
+          else
+            tl = new RNonHomogeneousTreeLikelihood(*tree, *sites, modelSet, rDist, true, true);
+        }
+        else if (recursion == "double")
+        {
+          if (modelSet->hasMixedSubstitutionModel())
+            throw Exception("Double recursion with non homogeneous mixed models is not implemented yet.");
+              //            tl = new DRNonHomogeneousMixedTreeLikelihood(*tree, *sites, modelSet, rDist, true);
+          else
+            tl = new DRNonHomogeneousTreeLikelihood(*tree, *sites, modelSet, rDist, true);
+        }
+        else throw Exception("Unknown recursion option: " + recursion);
+      }
+      else if (nhOpt == "general")
+      {
+        modelSet = PhylogeneticsApplicationTools::getSubstitutionModelSet(alphabet, sites, bppml.getParams());
+        if (modelSet->getModel(0)->getName() != "RE08") SiteContainerTools::changeGapsToUnknownCharacters(*sites);
+        if (modelSet->getNumberOfStates() >= 2 * modelSet->getAlphabet()->getSize())
+        {
+          // Markov-modulated Markov model!
+          rDist = new ConstantDistribution(1., true);
+        }
+        else
+        {
+          rDist = PhylogeneticsApplicationTools::getRateDistribution(bppml.getParams());
+        }
+
+        string recursion = ApplicationTools::getStringParameter("likelihood.recursion", bppml.getParams(), "simple", "", true, false);
+        ApplicationTools::displayResult("Likelihood recursion", recursion);
+        if (recursion == "simple")
+        {
+          if (modelSet->hasMixedSubstitutionModel())
+            tl = new RNonHomogeneousMixedTreeLikelihood(*tree, *sites, modelSet, rDist, true, true);
+          else
+            tl = new RNonHomogeneousTreeLikelihood(*tree, *sites, modelSet, rDist, true, true);
+        }
+        else if (recursion == "double")
+          if (modelSet->hasMixedSubstitutionModel())
+            throw Exception("Double recursion with non homogeneous mixed models is not implemented yet.");
+              //            tl = new DRNonHomogeneousMixedTreeLikelihood(*tree, *sites, modelSet, rDist, true);
+          else
+            tl = new DRNonHomogeneousTreeLikelihood(*tree, *sites, modelSet, rDist, true);
+        else throw Exception("Unknown recursion option: " + recursion);
+      }
+      else throw Exception("Unknown option for nonhomogeneous: " + nhOpt);
+    }
+    else throw Exception("Unknown option for optimization.clock: " + optimizeClock);
+
+    tl->initialize();
+
+    delete tree;
+
+    //Listing parameters
+    string paramNameFile = ApplicationTools::getAFilePath("output.parameter_names.file", bppml.getParams(), false, false);
+    if (paramNameFile != "none") {
+      ApplicationTools::displayResult("List parameters to", paramNameFile);
+      ofstream pnfile(paramNameFile.c_str(), ios::out);
+      ParameterList pl = tl->getParameters();
+      for (unsigned int i = 0; i < pl.size(); ++i) {
+        pnfile << pl[i].getName() << endl;
+      }
+      pnfile.close();
+      cout << "BppML's done." << endl;
+      exit(0);
+    }
+
+    //Check initial likelihood:
+    double logL = tl->getValue();
+    if (isinf(logL))
+    {
+      // This may be due to null branch lengths, leading to null likelihood!
+      ApplicationTools::displayWarning("!!! Warning!!! Initial likelihood is zero.");
+      ApplicationTools::displayWarning("!!! This may be due to branch length == 0.");
+      ApplicationTools::displayWarning("!!! All null branch lengths will be set to 0.000001.");
+      ParameterList pl = tl->getBranchLengthsParameters();
+      for (unsigned int i = 0; i < pl.size(); i++)
+      {
+        if (pl[i].getValue() < 0.000001) pl[i].setValue(0.000001);
+      }
+      tl->matchParametersValues(pl);
+      logL = tl->getValue();
+    }
+    ApplicationTools::displayResult("Initial log likelihood", TextTools::toString(-logL, 15));
+    if (isinf(logL))
+    {
+      ApplicationTools::displayError("!!! Unexpected initial likelihood == 0.");
+      CodonAlphabet *pca=dynamic_cast<CodonAlphabet*>(alphabet);
+      if (pca) {
+        bool f = false;
+        unsigned int  s;
+        for (unsigned int i = 0; i < sites->getNumberOfSites(); i++) {
+          if (isinf(tl->getLogLikelihoodForASite(i))) {
+            const Site& site=sites->getSite(i);
+            s = site.size();
+            for (unsigned int j = 0; j < s; j++) {
+              if (pca->isStop(site.getValue(j))) {
+                (*ApplicationTools::error << "Stop Codon at site " << site.getPosition() << " in sequence " << sites->getSequence(j).getName()).endLine();
+                f = true;
+              }
+            }
+          }
+        }
+        if (f)
+          exit(-1);
+      }
+      bool removeSaturated = ApplicationTools::getBooleanParameter("input.sequence.remove_saturated_sites", bppml.getParams(), false, "", true, false);
+      if (!removeSaturated) {
+        ApplicationTools::displayError("!!! Looking at each site:");
+        for (unsigned int i = 0; i < sites->getNumberOfSites(); i++) {
+          (*ApplicationTools::error << "Site " << sites->getSite(i).getPosition() << "\tlog likelihood = " << tl->getLogLikelihoodForASite(i)).endLine();
+        }
+        ApplicationTools::displayError("!!! 0 values (inf in log) may be due to computer overflow, particularily if datasets are big (>~500 sequences).");
+        ApplicationTools::displayError("!!! You may want to try input.sequence.remove_saturated_sites = yes to ignore positions with likelihood 0.");
+        exit(1);
+      } else {
+        ApplicationTools::displayBooleanResult("Saturated site removal enabled", true);
+        for (unsigned int i = sites->getNumberOfSites(); i > 0; --i) {
+          if (isinf(tl->getLogLikelihoodForASite(i - 1))) {
+            ApplicationTools::displayResult("Ignore saturated site", sites->getSite(i - 1).getPosition());
+            sites->deleteSite(i - 1);
+          }
+        }
+        ApplicationTools::displayResult("Number of sites retained", sites->getNumberOfSites());
+        tl->setData(*sites);
+        tl->initialize();
+        logL = tl->getValue();
+        if (isinf(logL)) {
+          ApplicationTools::displayError("This should not happen. Exiting now.");
+          exit(1);
+        }
+        ApplicationTools::displayResult("Initial log likelihood", TextTools::toString(-logL, 15));
+      }
+    }
+
+    if (optimizeClock == "global")
+    {
+      PhylogeneticsApplicationTools::optimizeParameters(
+        dynamic_cast<DiscreteRatesAcrossSitesClockTreeLikelihood*>(tl), tl->getParameters(), bppml.getParams());
+    }
+    else
+    {
+      tl = dynamic_cast<DiscreteRatesAcrossSitesTreeLikelihood*>(
+        PhylogeneticsApplicationTools::optimizeParameters(tl, tl->getParameters(), bppml.getParams()));
+    }
+
+    tree = new TreeTemplate<Node>(tl->getTree());
+    PhylogeneticsApplicationTools::writeTree(*tree, bppml.getParams());
+
+    // Write parameters to screen:
+    ApplicationTools::displayResult("Log likelihood", TextTools::toString(-tl->getValue(), 15));
+    ParameterList parameters = tl->getSubstitutionModelParameters();
+    for (unsigned int i = 0; i < parameters.size(); i++)
+    {
+      ApplicationTools::displayResult(parameters[i].getName(), TextTools::toString(parameters[i].getValue()));
+    }
+    parameters = tl->getRateDistributionParameters();
+    for (unsigned int i = 0; i < parameters.size(); i++)
+    {
+      ApplicationTools::displayResult(parameters[i].getName(), TextTools::toString(parameters[i].getValue()));
+    }
+
+    // Checking convergence:
+    PhylogeneticsApplicationTools::checkEstimatedParameters(tl->getParameters());
+
+    // Write parameters to file:
+    string parametersFile = ApplicationTools::getAFilePath("output.estimates", bppml.getParams(), false, false);
+    ApplicationTools::displayResult("Output estimates to file", parametersFile);
+    if (parametersFile != "none")
+    {
+      StlOutputStream out(auto_ptr<ostream>(new ofstream(parametersFile.c_str(), ios::out)));
+      out << "# Log likelihood = ";
+      out.setPrecision(20) << (-tl->getValue());
+      out.endLine();
+      out.endLine();
+      out << "# Substitution model parameters:";
+      out.endLine();
+      if (modelSet)
+      {
+        modelSet->matchParametersValues(tl->getParameters());
+        PhylogeneticsApplicationTools::printParameters(modelSet, out);
+      }
+      else
+      {
+        model->matchParametersValues(tl->getParameters());
+        PhylogeneticsApplicationTools::printParameters(model, out);
+      }
+      out.endLine();
+      (out << "# Rate distribution parameters:").endLine();
+      rDist->matchParametersValues(tl->getParameters());
+      PhylogeneticsApplicationTools::printParameters(rDist, out);
+    }
+
+    // Getting posterior rate class distribution:
+    DiscreteDistribution* prDist = RASTools::getPosteriorRateDistribution(*tl);
+    ApplicationTools::displayMessage("\nPosterior rate distribution for dataset:\n");
+    if (ApplicationTools::message) prDist->print(*ApplicationTools::message);
+    ApplicationTools::displayMessage("\n");
+    delete prDist;
+
+    // Write infos to file:
+    string infosFile = ApplicationTools::getAFilePath("output.infos", bppml.getParams(), false, false);
+    if (infosFile != "none")
+    {
+      ApplicationTools::displayResult("Alignment information logfile", infosFile);
+      ofstream out(infosFile.c_str(), ios::out);
+
+      // Get the rate class with maximum posterior probability:
+      vector<unsigned int> classes = tl->getRateClassWithMaxPostProbOfEachSite();
+      // Get the posterior rate, i.e. rate averaged over all posterior probabilities:
+      Vdouble rates = tl->getPosteriorRateOfEachSite();
+
+      vector<string> colNames;
+      colNames.push_back("Sites");
+      colNames.push_back("is.complete");
+      colNames.push_back("is.constant");
+      colNames.push_back("lnL");
+      colNames.push_back("rc");
+      colNames.push_back("pr");
+      vector<string> row(6);
+      DataTable* infos = new DataTable(colNames);
+
+      for (unsigned int i = 0; i < sites->getNumberOfSites(); i++)
+      {
+        double lnL = tl->getLogLikelihoodForASite(i);
+        const Site* currentSite = &sites->getSite(i);
+        int currentSitePosition = currentSite->getPosition();
+        string isCompl = "NA";
+        string isConst = "NA";
+        try { isCompl = (SiteTools::isComplete(*currentSite) ? "1" : "0"); }
+        catch(EmptySiteException& ex) {}
+        try { isConst = (SiteTools::isConstant(*currentSite) ? "1" : "0"); }
+        catch(EmptySiteException& ex) {}
+        row[0] = (string("[" + TextTools::toString(currentSitePosition) + "]"));
+        row[1] = isCompl;
+        row[2] = isConst;
+        row[3] = TextTools::toString(lnL);
+        row[4] = TextTools::toString(classes[i]);
+        row[5] = TextTools::toString(rates[i]);
+        infos->addRow(row);
+      }
+
+      DataTable::write(*infos, out, "\t");
+
+      delete infos;
+    }
+
+
+    // Bootstrap:
+    if (nbBS > 0 && optimizeClock != "no")
+    {
+      ApplicationTools::displayError("Bootstrap is not supported with clock trees.");
+    }
+    if (nbBS > 0 && optimizeClock == "no")
+    {
+      ApplicationTools::displayResult("Number of bootstrap samples", TextTools::toString(nbBS));
+      bool approx = ApplicationTools::getBooleanParameter("bootstrap.approximate", bppml.getParams(), true);
+      ApplicationTools::displayResult("Use approximate bootstrap", TextTools::toString(approx ? "yes" : "no"));
+      bool bootstrapVerbose = ApplicationTools::getBooleanParameter("bootstrap.verbose", bppml.getParams(), false, "", true, false);
+
+      const Tree* initTree = tree;
+      if (!bootstrapVerbose) bppml.getParam("optimization.verbose") = "0";
+      bppml.getParam("optimization.profiler") = "none";
+      bppml.getParam("optimization.messageHandler") = "none";
+      if (!optimizeTopo)
+      {
+        bppml.getParam("optimization.topology") = "yes";
+        tl = dynamic_cast<NNIHomogeneousTreeLikelihood*>(
+            PhylogeneticsApplicationTools::optimizeParameters(tl, tl->getParameters(), bppml.getParams(), "", true, false));
+        initTree = &tl->getTree();
+      }
+
+      string bsTreesPath = ApplicationTools::getAFilePath("bootstrap.output.file", bppml.getParams(), false, false);
+      ofstream* out = 0;
+      if (bsTreesPath != "none")
+      {
+        ApplicationTools::displayResult("Bootstrap trees stored in file", bsTreesPath);
+        out = new ofstream(bsTreesPath.c_str(), ios::out);
+      }
+      Newick newick;
+      ParameterList paramsToIgnore = tl->getSubstitutionModelParameters();
+      paramsToIgnore.addParameters(tl->getRateDistributionParameters());
+
+      ApplicationTools::displayTask("Bootstrapping", true);
+      vector<Tree*> bsTrees(nbBS);
+      for (unsigned int i = 0; i < nbBS; i++)
+      {
+        ApplicationTools::displayGauge(i, nbBS - 1, '=');
+        VectorSiteContainer* sample = SiteContainerTools::bootstrapSites(*sites);
+        if (!approx)
+        {
+          model->setFreqFromData(*sample);
+        }
+
+        if (dynamic_cast<MixedSubstitutionModel*>(model) != NULL)
+          throw Exception("Bootstrap estimation with Mixed model not supported yet, sorry :(");
+
+        NNIHomogeneousTreeLikelihood* tlRep = new NNIHomogeneousTreeLikelihood(*initTree, *sample, model, rDist, true, false);
+        tlRep->initialize();
+        ParameterList parametersRep = tlRep->getParameters();
+        if (approx)
+        {
+          parametersRep.deleteParameters(paramsToIgnore.getParameterNames());
+        }
+        tlRep = dynamic_cast<NNIHomogeneousTreeLikelihood*>(
+          PhylogeneticsApplicationTools::optimizeParameters(tlRep, parametersRep, bppml.getParams(), "", true, false));
+        bsTrees[i] = new TreeTemplate<Node>(tlRep->getTree());
+        if (out && i == 0) newick.write(*bsTrees[i], bsTreesPath, true);
+        if (out && i >  0) newick.write(*bsTrees[i], bsTreesPath, false);
+        delete tlRep;
+        delete sample;
+      }
+      if (out) out->close();
+      if (out) delete out;
+      ApplicationTools::displayTaskDone();
+
+
+      ApplicationTools::displayTask("Compute bootstrap values");
+      TreeTools::computeBootstrapValues(*tree, bsTrees);
+      ApplicationTools::displayTaskDone();
+      for (unsigned int i = 0; i < nbBS; i++)
+      {
+        delete bsTrees[i];
+      }
+
+      // Write resulting tree:
+      PhylogeneticsApplicationTools::writeTree(*tree, bppml.getParams());
+    }
+
+
+    delete alphabet;
+    delete sites;
+    if (model) delete model;
+    if (modelSet) delete modelSet;
+    delete rDist;
+    delete tl;
+    delete tree;
+    bppml.done();
+  }
+  catch (exception& e)
+  {
+    cout << e.what() << endl;
+    return 1;
+  }
+
+  return 0;
+}
+
diff --git a/bppSuite/bppPars.cpp b/bppSuite/bppPars.cpp
new file mode 100644
index 0000000..2b51d0e
--- /dev/null
+++ b/bppSuite/bppPars.cpp
@@ -0,0 +1,208 @@
+//
+// File: bppPars.cpp
+// Created by: Julien Dutheil
+// Created on: May Sat 05 15:09 2007
+// From file bppML.cpp
+//
+
+/*
+Copyright or © or Copr. CNRS
+
+This software is a computer program whose purpose is to estimate
+phylogenies and evolutionary parameters from a dataset according to
+the maximum likelihood principle.
+
+This software is governed by the CeCILL  license under French law and
+abiding by the rules of distribution of free software.  You can  use, 
+modify and/ or redistribute the software under the terms of the CeCILL
+license as circulated by CEA, CNRS and INRIA at the following URL
+"http://www.cecill.info". 
+
+As a counterpart to the access to the source code and  rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty  and the software's author,  the holder of the
+economic rights,  and the successive licensors  have only  limited
+liability. 
+
+In this respect, the user's attention is drawn to the risks associated
+with loading,  using,  modifying and/or developing or reproducing the
+software by the user in light of its specific status of free software,
+that may mean  that it is complicated to manipulate,  and  that  also
+therefore means  that it is reserved for developers  and  experienced
+professionals having in-depth computer knowledge. Users are therefore
+encouraged to load and test the software's suitability as regards their
+requirements in conditions enabling the security of their systems and/or 
+data to be ensured and,  more generally, to use and operate it in the 
+same conditions as regards security. 
+
+The fact that you are presently reading this means that you have had
+knowledge of the CeCILL license and that you accept its terms.
+*/
+
+// From the STL:
+#include <iostream>
+#include <iomanip>
+
+using namespace std;
+
+#include <Bpp/App/BppApplication.h>
+#include <Bpp/App/ApplicationTools.h>
+#include <Bpp/Io/FileTools.h>
+#include <Bpp/Text/TextTools.h>
+
+// From SeqLib:
+#include <Bpp/Seq/Alphabet/Alphabet.h>
+#include <Bpp/Seq/Container/VectorSiteContainer.h>
+#include <Bpp/Seq/SiteTools.h>
+#include <Bpp/Seq/App/SequenceApplicationTools.h>
+
+// From PhylLib:
+#include <Bpp/Phyl/Tree.h>
+#include <Bpp/Phyl/PatternTools.h>
+#include <Bpp/Phyl/App/PhylogeneticsApplicationTools.h>
+#include <Bpp/Phyl/Parsimony.all>
+#include <Bpp/Phyl/OptimizationTools.h>
+#include <Bpp/Phyl/Io/Newick.h>
+
+using namespace bpp;
+
+void help()
+{
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+  (*ApplicationTools::message << "bpppars parameter1_name=parameter1_value parameter2_name=parameter2_value").endLine();
+  (*ApplicationTools::message << "      ... param=option_file").endLine();
+  (*ApplicationTools::message).endLine();
+  (*ApplicationTools::message << "    Refer to the Bio++ Program Suite Manual for list of available options.").endLine();
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+}
+
+int main(int args, char ** argv)
+{
+  cout << "******************************************************************" << endl;
+  cout << "*             Bio++ Parsimony Methods, version 0.1.0             *" << endl;
+  cout << "* Author: J. Dutheil                        Created     05/05/07 *" << endl;
+  cout << "*                                           Last Modif. 08/08/09 *" << endl;
+  cout << "******************************************************************" << endl;
+  cout << endl;
+
+  if(args == 1)
+  {
+    help();
+    return 0;
+  }
+  
+  try {
+ 
+  BppApplication bpppars(args, argv, "BppPars");
+  bpppars.startTimer();
+
+	Alphabet * alphabet = SequenceApplicationTools::getAlphabet(bpppars.getParams(), "", false);
+
+	VectorSiteContainer * allSites = SequenceApplicationTools::getSiteContainer(alphabet, bpppars.getParams());
+	
+	VectorSiteContainer * sites = SequenceApplicationTools::getSitesToAnalyse(* allSites, bpppars.getParams());
+	delete allSites;
+
+  ApplicationTools::displayResult("Number of sequences", TextTools::toString(sites->getNumberOfSequences()));
+  ApplicationTools::displayResult("Number of sites", TextTools::toString(sites->getNumberOfSites()));
+	
+  // Get the initial tree
+  Tree* tree = 0;
+  string initTreeOpt = ApplicationTools::getStringParameter("init.tree", bpppars.getParams(), "user", "", false, false);
+  ApplicationTools::displayResult("Input tree", initTreeOpt);
+  if (initTreeOpt == "user")
+  {
+    tree = PhylogeneticsApplicationTools::getTree(bpppars.getParams());
+    ApplicationTools::displayResult("Number of leaves", TextTools::toString(tree->getNumberOfLeaves()));
+  }
+  else if (initTreeOpt == "random")
+  {
+    vector<string> names = sites->getSequencesNames();
+    tree = TreeTemplateTools::getRandomTree(names, false);
+    tree->setBranchLengths(1.);
+  }
+  else throw Exception("Unknown init tree method.");
+	
+  ApplicationTools::displayTask("Initializing parsimony");
+  DRTreeParsimonyScore* tp = new DRTreeParsimonyScore(*tree, *sites, false);
+  delete tree;
+  ApplicationTools::displayTaskDone();
+  double score = tp->getScore();
+  ApplicationTools::displayResult("Initial parsimony score", TextTools::toString(score, 15));
+  bool optTopo = ApplicationTools::getBooleanParameter("optimization.topology", bpppars.getParams(), false);
+  ApplicationTools::displayResult("Optimize topology", optTopo ? "yes" : "no");
+  if (optTopo)
+  {
+    tp = OptimizationTools::optimizeTreeNNI(tp, 1);
+    score = tp->getScore();
+    ApplicationTools::displayResult("Final parsimony score", TextTools::toString(score, 15));
+  }
+  tree = new TreeTemplate<Node>(tp->getTree());
+  
+	PhylogeneticsApplicationTools::writeTree(*tree, bpppars.getParams());
+  
+  //Bootstrap:
+  unsigned int nbBS = ApplicationTools::getParameter<unsigned int>("bootstrap.number", bpppars.getParams(), 0);
+  if(nbBS > 0)
+  {
+    ApplicationTools::displayResult("Number of bootstrap samples", TextTools::toString(nbBS));
+    const Tree* initTree = tree;
+    if (!optTopo)
+    {
+      tp = OptimizationTools::optimizeTreeNNI(tp, 1);
+      initTree = &tp->getTree();
+    }
+
+    
+    string bsTreesPath = ApplicationTools::getAFilePath("bootstrap.output.file", bpppars.getParams(), false, false);
+    ofstream *out = 0;
+    if(bsTreesPath != "none")
+    {
+      ApplicationTools::displayResult("Bootstrap trees stored in file", bsTreesPath);
+      out = new ofstream(bsTreesPath.c_str(), ios::out);
+    }
+    Newick newick;
+
+    ApplicationTools::displayTask("Bootstrapping", true);
+    vector<Tree*> bsTrees(nbBS);
+    for (unsigned int i = 0; i < nbBS; i++)
+    {
+      ApplicationTools::displayGauge(i, nbBS - 1, '=');
+      VectorSiteContainer* sample = SiteContainerTools::bootstrapSites(*sites);
+      DRTreeParsimonyScore* tpRep = new DRTreeParsimonyScore(*initTree, *sample, false);
+      tpRep = OptimizationTools::optimizeTreeNNI(tpRep, 0);
+      bsTrees[i] = new TreeTemplate<Node>(tpRep->getTree());
+      if (out && i==0) newick.write(*bsTrees[i], bsTreesPath, true);
+      if (out && i>0) newick.write(*bsTrees[i], bsTreesPath, false);
+      delete tpRep;
+      delete sample;
+    }
+    if(out) out->close();
+    if(out) delete out;
+    ApplicationTools::displayTaskDone();
+    
+
+    ApplicationTools::displayTask("Compute bootstrap values", true);
+    TreeTools::computeBootstrapValues(*tree, bsTrees);
+    ApplicationTools::displayTaskDone();
+    for(unsigned int i = 0; i < nbBS; i++) delete bsTrees[i];
+
+    //Write resulting tree:
+    PhylogeneticsApplicationTools::writeTree(*tree, bpppars.getParams());
+  }
+
+	delete sites;
+  delete tp;
+	delete alphabet;
+
+  bpppars.done();
+	}
+  catch(exception & e)
+  {
+		cout << e.what() << endl;
+		return 1;
+	}
+
+	return 0;
+}
+
diff --git a/bppSuite/bppPhyloSampler.cpp b/bppSuite/bppPhyloSampler.cpp
new file mode 100755
index 0000000..d9e2fa9
--- /dev/null
+++ b/bppSuite/bppPhyloSampler.cpp
@@ -0,0 +1,273 @@
+//
+// File: PhyloSample.cpp
+// Created by: Julien Dutheil
+// Created on: Sunday, December 2nd 2007 16:48
+//
+
+/*
+Copyright or © or Copr. CNRS
+
+This software is a computer program whose purpose is to estimate
+phylogenies and evolutionary parameters from a dataset according to
+the maximum likelihood principle.
+
+This software is governed by the CeCILL  license under French law and
+abiding by the rules of distribution of free software.  You can  use, 
+modify and/ or redistribute the software under the terms of the CeCILL
+license as circulated by CEA, CNRS and INRIA at the following URL
+"http://www.cecill.info". 
+
+As a counterpart to the access to the source code and  rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty  and the software's author,  the holder of the
+economic rights,  and the successive licensors  have only  limited
+liability. 
+
+In this respect, the user's attention is drawn to the risks associated
+with loading,  using,  modifying and/or developing or reproducing the
+software by the user in light of its specific status of free software,
+that may mean  that it is complicated to manipulate,  and  that  also
+therefore means  that it is reserved for developers  and  experienced
+professionals having in-depth computer knowledge. Users are therefore
+encouraged to load and test the software's suitability as regards their
+requirements in conditions enabling the security of their systems and/or 
+data to be ensured and,  more generally, to use and operate it in the 
+same conditions as regards security. 
+
+The fact that you are presently reading this means that you have had
+knowledge of the CeCILL license and that you accept its terms.
+*/
+
+// From the STL:
+#include <iostream>
+#include <iomanip>
+
+using namespace std;
+
+#include <Bpp/App/BppApplication.h>
+#include <Bpp/App/ApplicationTools.h>
+#include <Bpp/Io/FileTools.h>
+#include <Bpp/Text/TextTools.h>
+#include <Bpp/Numeric/DataTable.h>
+#include <Bpp/Numeric/Random/RandomTools.h>
+
+// From SeqLib:
+#include <Bpp/Seq/Alphabet.all>
+#include <Bpp/Seq/Container.all>
+#include <Bpp/Seq/Io.all>
+#include <Bpp/Seq/SiteTools.h>
+#include <Bpp/Seq/SequenceTools.h>
+#include <Bpp/Seq/App/SequenceApplicationTools.h>
+
+// From PhylLib:
+#include <Bpp/Phyl/Tree.h>
+#include <Bpp/Phyl/App/PhylogeneticsApplicationTools.h>
+#include <Bpp/Phyl/Io/PhylipDistanceMatrixFormat.h>
+
+using namespace bpp;
+
+void help()
+{
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+  (*ApplicationTools::message << "bppphysamp parameter1_name=parameter1_value").endLine();
+  (*ApplicationTools::message << "      parameter2_name=parameter2_value ... param=option_file").endLine();
+  (*ApplicationTools::message).endLine();
+  (*ApplicationTools::message << "  Refer to the Bio++ Program Suite Manual for a list of available options.").endLine();
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+}
+
+class Index {
+  public:
+    double distance;
+    unsigned int i1, i2;
+
+  public:
+    Index(double dist, unsigned int i, unsigned int j) : distance(dist), i1(i), i2(j) {}
+
+  public:
+    bool operator==(const Index& index) const { return distance == index.distance; }
+    bool operator<(const Index& index) const { return distance < index.distance; }
+};
+
+class Test {
+  private:
+    unsigned int pos_;
+
+  public:
+    Test(unsigned int pos) : pos_(pos) {}
+    
+  public:
+    bool operator()(const Index& index) { return index.i1 == pos_ || index.i2 == pos_; }
+};
+
+int main(int args, char ** argv)
+{
+  cout << "******************************************************************" << endl;
+  cout << "*           Bio++ Phylogenetic Sampler, version 0.2              *" << endl;
+  cout << "* Author: J. Dutheil                        Last Modif. 03/06/10 *" << endl;
+  cout << "******************************************************************" << endl;
+  cout << endl;
+  
+  if(args == 1)
+  {
+    help();
+    return 0;
+  }
+  
+  try {
+
+  BppApplication bppphysamp(args, argv, "BppPhySamp");
+  bppphysamp.startTimer();
+
+  //Get sequences:
+  Alphabet* alphabet      = SequenceApplicationTools::getAlphabet(bppphysamp.getParams());
+  SequenceContainer* seqs = SequenceApplicationTools::getSequenceContainer(alphabet, bppphysamp.getParams());
+
+  string inputMethod = ApplicationTools::getStringParameter("input.method", bppphysamp.getParams(), "tree");
+  ApplicationTools::displayResult("Input method", inputMethod);
+
+  DistanceMatrix* dist = 0;
+  if(inputMethod == "tree")
+  {
+    Tree* tree = PhylogeneticsApplicationTools::getTree(bppphysamp.getParams());
+    dist = TreeTemplateTools::getDistanceMatrix(*tree);
+  }
+  else if(inputMethod == "matrix")
+  {
+    string distPath = ApplicationTools::getAFilePath("input.matrix", bppphysamp.getParams(), true, true);
+    PhylipDistanceMatrixFormat matIO;
+    dist = matIO.read(distPath);
+  }
+  else throw Exception("Unknown input method: " + inputMethod);
+
+  string deleteMeth = ApplicationTools::getStringParameter("deletion_method", bppphysamp.getParams(), "threshold");
+  ApplicationTools::displayResult("Deletion method", deleteMeth);
+
+  string critMeth = ApplicationTools::getStringParameter("choice_criterion", bppphysamp.getParams(), "length");
+  ApplicationTools::displayResult("Sequence choice criterion", critMeth);
+
+  //Compute lengths:
+  vector<string> seqNames;
+  vector<unsigned int> seqLen(dist->size());
+  string name;
+  for(unsigned int i = 0; i < dist->size(); i++)
+  {
+    name = dist->getName(i);
+    if(critMeth == "length.complete")
+      seqLen[i] = SequenceTools::getNumberOfCompleteSites(seqs->getSequence(name));
+    else
+      seqLen[i] = SequenceTools::getNumberOfSites(seqs->getSequence(name));
+    seqNames.push_back(name);
+  }
+
+  //Sort matrix entries:
+  vector<Index> distances;
+  for (unsigned int i = 0; i < dist->size()-1; i++)
+    for (unsigned int j = i+1; j < dist->size(); j++)
+      distances.push_back(Index((*dist)(i, j), i , j));
+  sort(distances.begin(), distances.end());
+
+  if (deleteMeth == "random")
+  {
+    unsigned int sampleSize = ApplicationTools::getParameter<unsigned int>("sample_size", bppphysamp.getParams(), 10);
+    ApplicationTools::displayResult("Sample size", sampleSize);
+    vector<string> sample(sampleSize);
+    RandomTools::getSample(seqNames, sample, false);
+    seqNames = sample;
+    
+    double mini = -log(0.);
+    for (unsigned int i =  0; i < seqNames.size() - 1; ++i)
+      for (unsigned int j = i + 1; j < seqNames.size(); ++j)
+      {
+        double d = (*dist)(seqNames[i], seqNames[j]);
+        if (d < mini) mini = d;
+      }
+    ApplicationTools::displayResult("Minimal distance in final data set:", mini);
+  }
+  else if (deleteMeth == "threshold")
+  {
+    double threshold = ApplicationTools::getDoubleParameter("threshold", bppphysamp.getParams(), 0.01);
+    ApplicationTools::displayResult("Distance threshold", threshold);
+
+    unsigned int rm = 0;
+    while (distances[0].distance <= threshold)
+    {
+      //We need to chose between the two sequences:
+      if (critMeth == "length" || critMeth == "length.complete")
+      {
+        if (seqLen[distances[0].i1] > seqLen[distances[0].i2]) rm = distances[0].i2;
+        else rm = distances[0].i1;
+      }
+      else if (critMeth == "random")
+      {
+        if (RandomTools::flipCoin()) rm = distances[0].i2;
+        else rm = distances[0].i1;
+      }
+      else throw Exception("Unknown criterion: " + critMeth);
+
+      //Remove sequence in list:
+      unsigned int pos = VectorTools::which(seqNames, dist->getName(rm));
+      ApplicationTools::displayResult("Remove sequence", seqNames[pos]);
+      seqNames.erase(seqNames.begin() + pos); 
+        
+      //Ignore all distances from this sequence:
+      remove_if(distances.begin(), distances.end(), Test(rm));
+      if (distances.size() == 0)
+        throw Exception("Error, all sequences have been removed with this criterion!");
+    }
+    ApplicationTools::displayResult("Number of sequences kept:", seqNames.size());
+  }
+  else if (deleteMeth == "sample")
+  {
+    unsigned int sampleSize = ApplicationTools::getParameter<unsigned int>("sample_size", bppphysamp.getParams(), 10);
+    ApplicationTools::displayResult("Sample size", sampleSize);
+    
+    unsigned int rm = 0;
+    while (seqNames.size() > sampleSize)
+    {
+      //We need to chose between the two sequences:
+      if (critMeth == "length" || critMeth == "length.complete")
+      {
+        if (seqLen[distances[0].i1] > seqLen[distances[0].i2]) rm = distances[0].i2;
+        else rm = distances[0].i1;
+      }
+      else if (critMeth == "random")
+      {
+        if (RandomTools::flipCoin()) rm = distances[0].i2;
+        else rm = distances[0].i1;
+      }
+      else throw Exception("Unknown criterion: " + critMeth);
+
+      //Remove sequence in list:
+      unsigned int pos = VectorTools::which(seqNames, dist->getName(rm));
+      ApplicationTools::displayResult("Remove sequence", seqNames[pos]);
+      seqNames.erase(seqNames.begin() + pos); 
+        
+      //Ignore all distances from this sequence:
+      remove_if(distances.begin(), distances.end(), Test(rm));
+    }
+    ApplicationTools::displayResult("Minimal distance in final data set:", distances[0].distance);
+  }
+  else throw Exception("Unknown deletion method: " + deleteMeth + ".");
+
+  //Write sequences to file:
+  AlignedSequenceContainer asc(alphabet);
+  for(unsigned int i = 0; i < seqNames.size(); i++)
+    asc.addSequence(seqs->getSequence(seqNames[i]));
+   
+  SequenceApplicationTools::writeAlignmentFile(asc, bppphysamp.getParams());
+
+  bppphysamp.done();
+  }
+  catch (exception& e)
+  {
+    cout << endl;
+    cout << "_____________________________________________________" << endl;
+    cout << "ERROR!!!" << endl;
+    cout << e.what() << endl;
+    return 1;
+  }
+
+  return 0;
+}
+
diff --git a/bppSuite/bppReRoot.cpp b/bppSuite/bppReRoot.cpp
new file mode 100644
index 0000000..5260c6f
--- /dev/null
+++ b/bppSuite/bppReRoot.cpp
@@ -0,0 +1,329 @@
+//
+// File: bppReRoot.cpp
+// Created by: Celine Scornavacca
+// Created on: Jan Tue 15 18:15 2008
+//
+
+/*
+Copyright or © or Copr. CNRS
+
+This software is a computer program whose purpose is to estimate
+phylogenies and evolutionary parameters from a dataset according to
+the maximum likelihood principle.
+
+This software is governed by the CeCILL  license under French law and
+abiding by the rules of distribution of free software.  You can  use, 
+modify and/ or redistribute the software under the terms of the CeCILL
+license as circulated by CEA, CNRS and INRIA at the following URL
+"http://www.cecill.info". 
+
+As a counterpart to the access to the source code and  rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty  and the software's author,  the holder of the
+economic rights,  and the successive licensors  have only  limited
+liability. 
+
+In this respect, the user's attention is drawn to the risks associated
+with loading,  using,  modifying and/or developing or reproducing the
+software by the user in light of its specific status of free software,
+that may mean  that it is complicated to manipulate,  and  that  also
+therefore means  that it is reserved for developers  and  experienced
+professionals having in-depth computer knowledge. Users are therefore
+encouraged to load and test the software's suitability as regards their
+requirements in conditions enabling the security of their systems and/or 
+data to be ensured and,  more generally, to use and operate it in the 
+same conditions as regards security. 
+
+The fact that you are presently reading this means that you have had
+knowledge of the CeCILL license and that you accept its terms.
+*/
+
+// From the STL:
+#include <iostream>
+
+using namespace std;
+
+#include <Bpp/Numeric/VectorTools.h>
+#include <Bpp/Io/FileTools.h>
+#include <Bpp/Text/TextTools.h>
+#include <Bpp/Text/StringTokenizer.h>
+#include <Bpp/App/BppApplication.h>
+#include <Bpp/App/ApplicationTools.h>
+
+// From PhylLib:
+#include <Bpp/Phyl/Io.all>
+#include <Bpp/Phyl/Tree.h>
+#include <Bpp/Phyl/Node.h>
+#include <Bpp/Phyl/TreeExceptions.h>
+#include <Bpp/Phyl/TreeTemplateTools.h>
+#include <Bpp/Phyl/App/PhylogeneticsApplicationTools.h>
+
+using namespace bpp;
+
+typedef TreeTemplate<Node> MyTree;
+
+
+void help()
+{
+  (*ApplicationTools::message << "bppreroot parameter1_name=parameter1_value").endLine();
+  (*ApplicationTools::message << "      parameter2_name=parameter2_value ... param=option_file").endLine();
+  (*ApplicationTools::message).endLine();
+  (*ApplicationTools::message << "  Refer to the Bio++ Program Suite Manual for a list of available options.").endLine();
+}
+
+
+
+
+int main(int args, char ** argv)
+{
+  
+  cout << "******************************************************************" << endl;
+  cout << "*                  Bio++ ReRoot, version 0.1.3                   *" << endl;
+  cout << "* Author: C. Scornavacca                    Created     15/01/08 *" << endl;
+  cout << "*                                           Last Modif. 08/08/09 *" << endl;
+  cout << "******************************************************************" << endl;
+  cout << endl;
+
+  if(args == 1)
+  {
+    help();
+    return 0;
+  }
+  
+  try {
+  
+  BppApplication bppreroot(args, argv, "BppReRoot");
+  bppreroot.startTimer();
+
+  Newick newick;
+  string listPath = ApplicationTools::getAFilePath("input.list.file", bppreroot.getParams());
+  ApplicationTools::displayResult("Input list file", listPath);
+  if(listPath == "none") throw Exception("You must provide an input tree list file.");
+     
+  string outgroupsPath = ApplicationTools::getAFilePath("outgroups.file", bppreroot.getParams());
+  ApplicationTools::displayResult("Outgroups file", outgroupsPath);
+  if(outgroupsPath == "none") throw Exception("You must provide an outgroup list file.");
+       
+  string outputPath = ApplicationTools::getAFilePath("output.trees.file", bppreroot.getParams(), true, false);
+  ApplicationTools::displayResult("Output file", outputPath);
+  if(outputPath == "none") throw Exception("You must provide an output file.");
+     
+  bool printOption = ApplicationTools::getBooleanParameter("print.option", bppreroot.getParams(), false);
+  bool tryAgain = ApplicationTools::getBooleanParameter("tryAgain.option", bppreroot.getParams(), true);
+          
+  vector<Tree*> tempTrees;
+  vector<MyTree*> trees;
+
+  //ApplicationTools::displayResult("Number of trees found", TextTools::toString(trees.size()));
+            
+  const string path = outgroupsPath;  
+  ifstream file(path.c_str(), ios::in);
+  string temp, description, taxon;
+
+  vector < vector<string> > levelOutgroup;
+    
+  //Reading outgroup levels  
+  while (!file.eof()) 
+  {
+    vector <string> tempTaxa;
+    getline(file, temp, '\n');  
+    StringTokenizer line = StringTokenizer(temp, " ,"); 
+    while (line.hasMoreToken())
+    {
+      tempTaxa.push_back(line.nextToken());  
+    }
+    levelOutgroup.push_back(tempTaxa);
+  }
+  file.close();  
+  
+  const string path2 = listPath;  
+  ifstream treePath(path2.c_str(), ios::in);  
+
+  if (!treePath) { throw IOException ("Newick::read: failed to read from stream"); }
+
+  string temp2, description2;// Initialization
+  string::size_type index;  
+  
+  int k = 0;
+  
+  while (!treePath.eof())
+  {
+    k++;
+    bool printOrNot =true;
+    Tree * tempTree = NULL;
+
+    getline(treePath, temp2, '\n');  // Copy current line in temporary string
+   
+    index = temp2.find(";");
+    if (temp2 != "")
+    {
+      if (index != string::npos)
+      {
+        description2 += temp2.substr(0, index + 1);
+        tempTree = TreeTemplateTools::parenthesisToTree(description2);    
+        description2 = temp2.substr(index + 1);       
+      }
+      else description2 += temp;
+
+      MyTree* tree = dynamic_cast <MyTree* >(tempTree);
+      //ApplicationTools::displayGauge(tr, trees.size() - 1, '=');
+
+      vector<string> leavesTree;      
+      leavesTree = (*tree).getLeavesNames();  
+  
+      unsigned int numNodes = tree->getNumberOfNodes() - 1;
+      unsigned int numNodeWithBranchLength = 0;
+      vector<Node *>  nodes = tree->getNodes();
+      for (unsigned int i = 0; i < nodes.size(); i++)
+      {
+        if(nodes[i]->hasDistanceToFather())
+          numNodeWithBranchLength++;
+      }
+      if ((numNodes != numNodeWithBranchLength) && (numNodeWithBranchLength != 0))\
+      {
+        cout << "Could not execute due to a source tree with missing branch lengths \n(reminder: a source tree must either have no branch length, either length for all branches\n";
+        exit(-1);
+      }
+      vector<string> outGroup;
+      bool found = false;
+      bool analyseOutgroupLevel = true;
+      for (unsigned int t = 0; t < levelOutgroup.size() && analyseOutgroupLevel; t++)
+      {      
+        outGroup.clear();
+        vector<string>::iterator Iterator;  
+        for(Iterator = levelOutgroup[t].begin(); Iterator != levelOutgroup[t].end(); Iterator++ )
+        {
+          if(VectorTools::contains(leavesTree, *Iterator))
+          {
+            outGroup.push_back(*Iterator);
+          }
+        }
+        if(outGroup.size() > 0)
+        {
+          vector<string> remainingTaxa;
+          VectorTools::diff(leavesTree, outGroup, remainingTaxa);
+          if(remainingTaxa.size() > 0)
+          {
+            tree->newOutGroup(tree->getNode(remainingTaxa[0]));
+            Node * newRoot = tree->getNode(outGroup[0]);
+            vector<string>  tempLeaves = TreeTemplateTools::getLeavesNames(* newRoot);
+           
+            while(newRoot->hasFather() && !(VectorTools::containsAll(tempLeaves, outGroup)))
+            {   
+              newRoot = newRoot->getFather();
+              tempLeaves = TreeTemplateTools::getLeavesNames(* newRoot);
+            }
+          
+            tempLeaves = TreeTemplateTools::getLeavesNames(* newRoot);
+            std::sort(tempLeaves.begin(), tempLeaves.end());
+      
+            if(tempLeaves.size() == outGroup.size())
+            {
+              tree->newOutGroup(newRoot);
+              found = true;
+              analyseOutgroupLevel = false;
+            }
+            else
+            {
+              bool monophylOk = true;
+
+              for(unsigned f = 0; f < newRoot->getNumberOfSons() && monophylOk; f++)
+              {
+                tempLeaves = TreeTemplateTools::getLeavesNames(*newRoot->getSon(f));
+                vector<string> diff;
+                VectorTools::diff(outGroup, tempLeaves, diff);
+
+                unsigned int difference = diff.size();
+                if (!( (difference == 0) || (difference == tempLeaves.size()) ) )
+                {
+                  //The proposed outgroup is not monophyletic. The analysis for this tree is interrupted
+                  //No more outgroup are analysed
+                  monophylOk = false;
+                }
+              }
+              if (monophylOk)
+              {
+                tempLeaves = TreeTemplateTools::getLeavesNames(* newRoot);
+
+                std::sort(tempLeaves.begin(), tempLeaves.end());      
+                if (tempLeaves.size() != leavesTree.size())
+                {
+                  MyTree* low = new MyTree(TreeTemplateTools::cloneSubtree<Node>(* newRoot));
+                  tree->newOutGroup(newRoot);
+                  Node* sonUpper;
+                  vector<string>  tempLeaves2 = TreeTemplateTools::getLeavesNames(* (tree->getRootNode())->getSon(0));
+                  std::sort(tempLeaves2.begin(), tempLeaves2.end());
+                  if((VectorTools::vectorIntersection(tempLeaves2,outGroup).size()) !=0)
+                  {
+                    sonUpper = (tree->getRootNode())->getSon(1);
+                  }
+                  else
+                  {
+                    sonUpper = (tree->getRootNode())->getSon(0);
+                  }
+                  int ident = TreeTools::getMaxId(* low, low->getRootId());
+                  vector <Node *> nodesTemp= TreeTemplateTools::getNodes( * sonUpper);
+                  for(unsigned int F = 0; F < nodesTemp.size(); F++)
+                    ( * nodesTemp[F]).setId(ident + F + 1);
+                  low->getRootNode()->addSon(sonUpper);
+                  tree = low;
+                }
+                //A good outgroup was found
+
+                found = true;
+                analyseOutgroupLevel = false;
+              }
+            }                  
+          }
+          if(!tryAgain)
+            analyseOutgroupLevel = false;
+        }    
+      }
+      if (!found)
+      {  
+        if(!printOption)
+          printOrNot = false;
+        else
+          printOrNot = true;
+        cout << "Sorry but I can't root your tree " << k << " ; or none of the taxa in your list is present in the tree or the outgroup is not monophyletic!\n";
+      }
+      else
+      {
+        printOrNot = (true);
+        tree->resetNodesId();
+      }
+      if (printOrNot)
+      {
+        if(k == 1)
+          newick.write(* tree, outputPath, true);
+        else
+          newick.write(* tree, outputPath, false);
+      }  
+
+      delete tree;
+    }
+  }
+  ApplicationTools::displayTaskDone();
+     
+  //Write rooted trees:  
+
+     
+  for (unsigned int i = 0; i < trees.size(); i++) delete trees[i];
+    
+  bppreroot.done();
+  }
+  catch(exception & e)
+  {
+    cout << e.what() << endl;
+    return 1;
+  }
+
+  return 0;
+};
+
+
+
+
+
+
+
diff --git a/bppSuite/bppSeqGen.cpp b/bppSuite/bppSeqGen.cpp
new file mode 100644
index 0000000..04c0601
--- /dev/null
+++ b/bppSuite/bppSeqGen.cpp
@@ -0,0 +1,356 @@
+//
+// File: bppSeqGen.cpp
+// Created by: Julien Dutheil
+// Created on: Oct Mon 24 18:50 2005
+//
+
+/*
+Copyright or � or Copr. CNRS
+
+This software is a computer program whose purpose is to simulate sequence
+data according to a phylogenetic tree and an evolutionary model.
+
+This software is governed by the CeCILL  license under French law and
+abiding by the rules of distribution of free software.  You can  use, 
+modify and/ or redistribute the software under the terms of the CeCILL
+license as circulated by CEA, CNRS and INRIA at the following URL
+"http://www.cecill.info". 
+
+As a counterpart to the access to the source code and  rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty  and the software's author,  the holder of the
+economic rights,  and the successive licensors  have only  limited
+liability. 
+
+In this respect, the user's attention is drawn to the risks associated
+with loading,  using,  modifying and/or developing or reproducing the
+software by the user in light of its specific status of free software,
+that may mean  that it is complicated to manipulate,  and  that  also
+therefore means  that it is reserved for developers  and  experienced
+professionals having in-depth computer knowledge. Users are therefore
+encouraged to load and test the software's suitability as regards their
+requirements in conditions enabling the security of their systems and/or 
+data to be ensured and,  more generally, to use and operate it in the 
+same conditions as regards security. 
+
+The fact that you are presently reading this means that you have had
+knowledge of the CeCILL license and that you accept its terms.
+*/
+
+// From the STL:
+#include <iostream>
+#include <fstream>
+#include <iomanip>
+
+using namespace std;
+
+#include <Bpp/App/BppApplication.h>
+#include <Bpp/App/ApplicationTools.h>
+#include <Bpp/Io/FileTools.h>
+#include <Bpp/Numeric/Number.h>
+#include <Bpp/Numeric/Prob/DiscreteDistribution.h>
+#include <Bpp/Numeric/Prob/ConstantDistribution.h>
+#include <Bpp/Numeric/DataTable.h>
+
+// From SeqLib:
+#include <Bpp/Seq/Alphabet/Alphabet.h>
+#include <Bpp/Seq/Container/VectorSiteContainer.h>
+#include <Bpp/Seq/App/SequenceApplicationTools.h>
+
+// From PhylLib:
+#include <Bpp/Phyl/TreeTemplate.h>
+#include <Bpp/Phyl/App/PhylogeneticsApplicationTools.h>
+#include <Bpp/Phyl/Simulation.all>
+#include <Bpp/Phyl/Model/SubstitutionModelSetTools.h>
+#include <Bpp/Phyl/Io/Newick.h>
+
+using namespace bpp;
+
+/**
+ * @brief Read trees from an input file, with segment annotations.
+ */
+void readTrees(ifstream& file, vector<Tree*>& trees, vector<double>& pos) throw (Exception)
+{
+  string line = "";
+  double begin, end;
+  string::size_type index1, index2, index3;
+  double previousPos = 0;
+  pos.push_back(0);
+  string newickStr;
+  while (!file.eof())
+  {
+    string tmp = TextTools::removeSurroundingWhiteSpaces(FileTools::getNextLine(file));
+    if (tmp.size() == 0 || tmp.substr(0, 1) == "#") continue;
+    line += tmp;
+        
+    index1 = line.find_first_of(" \t");
+    if (index1 == string::npos) throw Exception("Error when parsing tree file: now begining position.");
+    index2 = line.find_first_of(" \t", index1 + 1);
+    if (index2 == string::npos) throw Exception("Error when parsing tree file: now ending position.");
+    begin  = TextTools::toDouble(line.substr(0, index1));
+    end    = TextTools::toDouble(line.substr(index1 + 1, index2 - index1 - 1));
+    index3 = line.find_first_of(";", index2 + 1);
+    while (index3 == string::npos)
+    {
+      if (file.eof()) throw Exception("Error when parsing tree file: incomplete tree.");
+      line += FileTools::getNextLine(file);
+      index3 = line.find_first_of(";", index3);
+    }
+    newickStr = line.substr(index2 + 1, index3 - index2);
+    TreeTemplate<Node>* t = TreeTemplateTools::parenthesisToTree(newickStr);
+    if (trees.size() > 0)
+    {
+      //Check leave names:
+      if (!VectorTools::haveSameElements(t->getLeavesNames(), trees[trees.size()-1]->getLeavesNames()))
+        throw Exception("Error: all trees must have the same leaf names.");
+    }
+    trees.push_back(t);
+    if(begin != previousPos) throw Exception("Error when parsing tree file: segments do not match: " + TextTools::toString(begin) + " against " + TextTools::toString(previousPos) + ".");
+    pos.push_back(end);
+    previousPos = end;
+
+    line = line.substr(index3 + 1);
+  }
+}
+
+void help()
+{
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+  (*ApplicationTools::message << "bppseqgen parameter1_name=parameter1_value").endLine();
+  (*ApplicationTools::message << "      parameter2_name=parameter2_value ... param=option_file").endLine();
+  (*ApplicationTools::message).endLine();
+  (*ApplicationTools::message << "  Refer to the Bio++ Program Suite Manual for a list of available options.").endLine();
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+}
+
+int main(int args, char ** argv)
+{
+  cout << "******************************************************************" << endl;
+  cout << "*            Bio++ Sequence Generator, version 1.1.0             *" << endl;
+  cout << "* Author: J. Dutheil                                             *" << endl;
+  cout << "*         B. Boussau                        Last Modif. 08/08/09 *" << endl;
+  cout << "******************************************************************" << endl;
+  cout << endl;
+  
+  if(args == 1)
+  {
+    help();
+    return 0;
+  }
+  
+  try {
+
+  BppApplication bppseqgen(args, argv, "BppSeqGen");
+  bppseqgen.startTimer();
+
+  Alphabet* alphabet = SequenceApplicationTools::getAlphabet(bppseqgen.getParams(), "", false);
+
+  vector<Tree*> trees;
+  vector<double> positions;
+  string inputTrees = ApplicationTools::getStringParameter("input.tree.method", bppseqgen.getParams(), "single", "", true, false);
+  if (inputTrees == "single")
+  {
+    trees.push_back(PhylogeneticsApplicationTools::getTree(bppseqgen.getParams()));
+    positions.push_back(0);
+    positions.push_back(1);
+    ApplicationTools::displayResult("Number of leaves", TextTools::toString(trees[0]->getNumberOfLeaves()));
+    string treeWIdPath = ApplicationTools::getAFilePath("output.tree_ids.file", bppseqgen.getParams(), false, false);
+    if (treeWIdPath != "none")
+    {
+      TreeTemplate<Node> ttree(*trees[0]);
+      vector<Node*> nodes = ttree.getNodes();
+      for (size_t i = 0; i < nodes.size(); i++)
+      {
+        if (nodes[i]->isLeaf())
+          nodes[i]->setName(TextTools::toString(nodes[i]->getId()) + "_" + nodes[i]->getName());
+        else
+          nodes[i]->setBranchProperty("NodeId", BppString(TextTools::toString(nodes[i]->getId())));
+      }
+      Newick treeWriter;
+      treeWriter.enableExtendedBootstrapProperty("NodeId");
+      ApplicationTools::displayResult("Writing tagged tree to", treeWIdPath);
+      treeWriter.write(ttree, treeWIdPath);
+      delete trees[0];
+      cout << "BppSegGen's done." << endl;
+      exit(0);
+    }
+  }
+  else if (inputTrees == "multiple")
+  {
+    string treesPath = ApplicationTools::getAFilePath("input.tree.file", bppseqgen.getParams(), false, true);
+    ApplicationTools::displayResult("Trees file", treesPath);
+    ifstream treesFile(treesPath.c_str(), ios::in);
+    readTrees(treesFile, trees, positions);
+  }
+  else throw Exception("Unknown input.tree.method option: " + inputTrees);
+
+  string infosFile = ApplicationTools::getAFilePath("input.infos", bppseqgen.getParams(), false, true);
+  ApplicationTools::displayResult("Site information", infosFile);
+
+  string nhOpt = ApplicationTools::getStringParameter("nonhomogeneous", bppseqgen.getParams(), "no", "", true, false);
+  ApplicationTools::displayResult("Heterogeneous model", nhOpt);
+
+  SubstitutionModelSet* modelSet = 0;
+
+  //Homogeneous case:
+  if (nhOpt == "no")
+  {
+    SubstitutionModel* model = PhylogeneticsApplicationTools::getSubstitutionModel(alphabet, 0, bppseqgen.getParams());
+    FrequenciesSet* fSet = new FixedFrequenciesSet(model->getAlphabet(), model->getFrequencies());
+    modelSet = SubstitutionModelSetTools::createHomogeneousModelSet(model, fSet, trees[0]);
+  }
+  //Galtier-Gouy case:
+  else if (nhOpt == "one_per_branch")
+  {
+    if(inputTrees == "multiple")
+      throw Exception("Multiple input trees cannot be used with non-homogeneous simulations.");
+    SubstitutionModel* model = PhylogeneticsApplicationTools::getSubstitutionModel(alphabet, 0, bppseqgen.getParams());
+    vector<string> globalParameters = ApplicationTools::getVectorParameter<string>("nonhomogeneous_one_per_branch.shared_parameters", bppseqgen.getParams(), ',', "");
+    vector<double> rateFreqs;
+    if (model->getNumberOfStates() != alphabet->getSize())
+    {
+      //Markov-Modulated Markov Model...
+      unsigned int n =(unsigned int)(model->getNumberOfStates() / alphabet->getSize());
+      rateFreqs = vector<double>(n, 1./(double)n); // Equal rates assumed for now, may be changed later (actually, in the most general case,
+                                                   // we should assume a rate distribution for the root also!!!  
+    }
+    FrequenciesSet* rootFreqs = PhylogeneticsApplicationTools::getRootFrequenciesSet(alphabet, 0, bppseqgen.getParams(), rateFreqs);
+    modelSet = SubstitutionModelSetTools::createNonHomogeneousModelSet(model, rootFreqs, trees[0], globalParameters); 
+  }
+  //General case:
+  else if (nhOpt == "general")
+  {
+    if(inputTrees == "multiple")
+      throw Exception("Multiple input trees cannot be used with non-homogeneous simulations.");
+    modelSet = PhylogeneticsApplicationTools::getSubstitutionModelSet(alphabet, 0, bppseqgen.getParams());
+  }
+  else throw Exception("Unknown non-homogeneous option: " + nhOpt);
+
+	DiscreteDistribution* rDist = 0;
+  NonHomogeneousSequenceSimulator* seqsim = 0;
+  SiteContainer* sites = 0;
+  if (infosFile != "none")
+  {
+    ifstream in(infosFile.c_str());
+    DataTable* infos = DataTable::read(in, "\t");
+    rDist = new ConstantDistribution(1., true);
+    unsigned int nbSites = infos->getNumberOfRows();
+    ApplicationTools::displayResult("Number of sites", TextTools::toString(nbSites));
+    vector<double> rates(nbSites);
+    vector<string> ratesStrings = infos->getColumn(string("pr"));
+    for(unsigned int i = 0; i < nbSites; i++)
+    {
+      rates[i] = TextTools::toDouble(ratesStrings[i]);
+    }
+
+    if (trees.size() == 1)
+    {
+      seqsim = new NonHomogeneousSequenceSimulator(modelSet, rDist, trees[0]);
+      ApplicationTools::displayTask("Perform simulations");
+      sites = SequenceSimulationTools::simulateSites(*seqsim, rates);
+      delete seqsim;    
+    }
+    else
+    {
+      ApplicationTools::displayTask("Perform simulations", true);
+      ApplicationTools::displayGauge(0, trees.size() - 1, '=');
+      seqsim = new NonHomogeneousSequenceSimulator(modelSet, rDist, trees[0]);
+      unsigned int previousPos = 0;
+      unsigned int currentPos = static_cast<unsigned int>(round(positions[1]*static_cast<double>(nbSites)));
+      vector<double> tmpRates(rates.begin() + previousPos, rates.begin() + currentPos);
+      SequenceContainer* tmpCont1 = SequenceSimulationTools::simulateSites(*seqsim, tmpRates);
+      previousPos = currentPos;
+      delete seqsim;
+
+      for(unsigned int i = 1; i < trees.size(); i++)
+      {
+        ApplicationTools::displayGauge(i, trees.size() - 1, '=');
+        seqsim = new NonHomogeneousSequenceSimulator(modelSet, rDist, trees[i]);
+        currentPos = static_cast<unsigned int>(round(positions[i+1]) * static_cast<double>(nbSites));
+        tmpRates = vector<double>(rates.begin() + previousPos + 1, rates.begin() + currentPos);
+        SequenceContainer* tmpCont2 = SequenceSimulationTools::simulateSites(*seqsim, tmpRates);
+        previousPos = currentPos;
+        delete seqsim;
+        VectorSequenceContainer* mergedCont = new VectorSequenceContainer(alphabet);
+        SequenceContainerTools::merge(*tmpCont1, *tmpCont2, *reinterpret_cast<SequenceContainer*>(mergedCont));
+        delete tmpCont1;
+        delete tmpCont2;
+        tmpCont1 = mergedCont;
+      }
+      sites = new VectorSiteContainer(*tmpCont1);
+      delete tmpCont1;
+    }
+    ApplicationTools::displayTaskDone();
+  }
+  else
+  {
+    if (modelSet->getNumberOfStates() > modelSet->getAlphabet()->getSize())
+    {
+      //Markov-modulated Markov model!
+      rDist = new ConstantDistribution(1., true);
+    }
+    else
+    {
+	    rDist = PhylogeneticsApplicationTools::getRateDistribution(bppseqgen.getParams());
+    }
+
+    unsigned int nbSites = ApplicationTools::getParameter<unsigned int>("number_of_sites", bppseqgen.getParams(), 100);
+    if (trees.size() == 1)
+    {
+      seqsim = new NonHomogeneousSequenceSimulator(modelSet, rDist, trees[0]);
+      ApplicationTools::displayResult("Number of sites", TextTools::toString(nbSites));
+      ApplicationTools::displayTask("Perform simulations");
+      sites = seqsim->simulate(nbSites);
+      ApplicationTools::displayTaskDone();
+    }
+    else
+    {
+      ApplicationTools::displayTask("Perform simulations", true);
+      ApplicationTools::displayGauge(0, trees.size() - 1, '=');
+      seqsim = new NonHomogeneousSequenceSimulator(modelSet, rDist, trees[0]);
+      unsigned int previousPos = 0;
+      unsigned int currentPos = static_cast<unsigned int>(round(positions[1]*static_cast<double>(nbSites)));
+      SequenceContainer* tmpCont1 = seqsim->simulate(currentPos - previousPos);
+      previousPos = currentPos;
+      delete seqsim;
+ 
+      for (unsigned int i = 1; i < trees.size(); i++)
+      {
+        ApplicationTools::displayGauge(i, trees.size() - 1, '=');
+        seqsim = new NonHomogeneousSequenceSimulator(modelSet, rDist, trees[i]);
+        currentPos = static_cast<unsigned int>(round(positions[i+1] * static_cast<double>(nbSites)));
+        SequenceContainer* tmpCont2 = seqsim->simulate(currentPos - previousPos);
+        previousPos = currentPos;
+        delete seqsim;
+        VectorSequenceContainer* mergedCont = new VectorSequenceContainer(alphabet);
+        SequenceContainerTools::merge(*tmpCont1, *tmpCont2, *reinterpret_cast<SequenceContainer*>(mergedCont));
+        delete tmpCont1;
+        delete tmpCont2;
+        tmpCont1 = mergedCont;
+      }
+      sites = new VectorSiteContainer(*tmpCont1);
+      ApplicationTools::displayTaskDone();
+      delete tmpCont1;
+    }
+  }
+  
+  // Write to file:
+  SequenceApplicationTools::writeAlignmentFile(*sites, bppseqgen.getParams());
+
+  delete alphabet;
+  for (unsigned int i = 0; i < trees.size(); i++)
+    delete trees[i];
+  delete rDist;
+
+  bppseqgen.done();
+
+  }
+  catch (exception& e)
+  {
+    cout << e.what() << endl;
+    return 1;
+  }
+
+  return 0;
+}
+
diff --git a/bppSuite/bppSeqMan.cpp b/bppSuite/bppSeqMan.cpp
new file mode 100644
index 0000000..285756a
--- /dev/null
+++ b/bppSuite/bppSeqMan.cpp
@@ -0,0 +1,417 @@
+//
+// File: bppSeqMan.cpp
+// Created by: Julien Dutheil
+// Created on: Oct Tue 02 9:00 2007
+//
+
+/*
+Copyright or � or Copr. CNRS
+
+This software is a computer program whose purpose is to simulate sequence
+data according to a phylogenetic tree and an evolutionary model.
+
+This software is governed by the CeCILL  license under French law and
+abiding by the rules of distribution of free software.  You can  use, 
+modify and/ or redistribute the software under the terms of the CeCILL
+license as circulated by CEA, CNRS and INRIA at the following URL
+"http://www.cecill.info". 
+
+As a counterpart to the access to the source code and  rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty  and the software's author,  the holder of the
+economic rights,  and the successive licensors  have only  limited
+liability. 
+
+In this respect, the user's attention is drawn to the risks associated
+with loading,  using,  modifying and/or developing or reproducing the
+software by the user in light of its specific status of free software,
+that may mean  that it is complicated to manipulate,  and  that  also
+therefore means  that it is reserved for developers  and  experienced
+professionals having in-depth computer knowledge. Users are therefore
+encouraged to load and test the software's suitability as regards their
+requirements in conditions enabling the security of their systems and/or 
+data to be ensured and,  more generally, to use and operate it in the 
+same conditions as regards security. 
+
+The fact that you are presently reading this means that you have had
+knowledge of the CeCILL license and that you accept its terms.
+*/
+
+// From the STL:
+#include <iostream>
+#include <fstream>
+#include <iomanip>
+
+using namespace std;
+
+#include <Bpp/App/BppApplication.h>
+#include <Bpp/App/ApplicationTools.h>
+#include <Bpp/Io/FileTools.h>
+#include <Bpp/Text/KeyvalTools.h>
+
+// From SeqLib:
+#include <Bpp/Seq/SiteTools.h>
+#include <Bpp/Seq/Alphabet/Alphabet.h>
+#include <Bpp/Seq/Container/VectorSiteContainer.h>
+#include <Bpp/Seq/App/SequenceApplicationTools.h>
+#include <Bpp/Seq/Io.all>
+#include <Bpp/Seq/Container.all>
+#include <Bpp/Seq/SequenceTools.h>
+#include <Bpp/Seq/GeneticCode.all>
+
+using namespace bpp;
+
+void help()
+{
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+  (*ApplicationTools::message << "bppseqman parameter1_name=parameter1_value").endLine();
+  (*ApplicationTools::message << "      parameter2_name=parameter2_value ... param=option_file").endLine();
+  (*ApplicationTools::message).endLine();
+  (*ApplicationTools::message << "  Refer to the Bio++ Program Suite Manual for a list of available options.").endLine();
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+}
+
+int main(int args, char** argv)
+{
+  cout << "******************************************************************" << endl;
+  cout << "*           Bio++ Sequence Manipulator, version 0.4              *" << endl;
+  cout << "* Author: J. Dutheil                        Last Modif. 07/02/11 *" << endl;
+  cout << "******************************************************************" << endl;
+  cout << endl;
+  
+  if (args == 1)
+  {
+    help();
+    return 0;
+  }
+  
+  try {
+
+  BppApplication bppseqman(args, argv, "BppSeqMan");
+  bppseqman.startTimer();
+  
+  // Get alphabet
+  Alphabet* alphabet = SequenceApplicationTools::getAlphabet(bppseqman.getParams(), "", false, true, true);
+
+  // Get sequences:
+  SequenceContainer* tmp = SequenceApplicationTools::getSequenceContainer(alphabet, bppseqman.getParams(), "", true, true);
+  OrderedSequenceContainer* sequences = new VectorSequenceContainer(*tmp);
+  delete tmp;
+  ApplicationTools::displayResult("Number of sequences", sequences->getNumberOfSequences());
+  
+  // Perform manipulations
+  
+  vector<string> actions = ApplicationTools::getVectorParameter<string>("sequence.manip", bppseqman.getParams(), ',', "", "", false, false);
+  
+  bool aligned = false;
+
+  for (unsigned int a = 0; a < actions.size(); a++)
+  {
+    string cmdName;
+    map<string, string> cmdArgs;
+    KeyvalTools::parseProcedure(actions[a], cmdName, cmdArgs);
+    ApplicationTools::displayResult("Performing action", cmdName);
+
+    // +-----------------+
+    // | Complementation |
+    // +-----------------+
+    if (cmdName == "Complement")
+    {
+      OrderedSequenceContainer* sc = 0;
+      if (aligned) sc = new VectorSiteContainer(sequences->getAlphabet());
+      else         sc = reinterpret_cast<OrderedSequenceContainer*>(new VectorSequenceContainer(sequences->getAlphabet()));
+      for (unsigned int i = 0; i < sequences->getNumberOfSequences(); i++)
+      {
+        Sequence* seq = SequenceTools::getComplement(sequences->getSequence(i));
+        sc->addSequence(*seq, false);
+        delete seq;
+      }
+      delete sequences;
+      sequences = sc;
+    }
+    // +------------------------+
+    // | (Reverse)Transcription |
+    // +------------------------+
+    else if (cmdName == "Transcript")
+    {
+      if (sequences->getAlphabet()->getAlphabetType() == AlphabetTools::DNA_ALPHABET.getAlphabetType())
+      {
+        OrderedSequenceContainer* sc = 0;
+        if (aligned) sc = new VectorSiteContainer(&AlphabetTools::RNA_ALPHABET);
+        else         sc = reinterpret_cast<OrderedSequenceContainer*>(new VectorSequenceContainer(&AlphabetTools::RNA_ALPHABET));
+        for (unsigned int i = 0; i < sequences->getNumberOfSequences(); i++)
+        {
+          Sequence* seq = SequenceTools::transcript(sequences->getSequence(i));
+          sc->addSequence(*seq, false);
+          delete seq;
+        }
+        delete sequences;
+        sequences = sc;
+      }
+      else if (sequences->getAlphabet()->getAlphabetType() == AlphabetTools::RNA_ALPHABET.getAlphabetType())
+      {
+        OrderedSequenceContainer* sc = 0;
+        if (aligned) sc = new VectorSiteContainer(&AlphabetTools::DNA_ALPHABET);
+        else         sc = reinterpret_cast<OrderedSequenceContainer*>(new VectorSequenceContainer(&AlphabetTools::DNA_ALPHABET));
+        for (unsigned int i = 0; i < sequences->getNumberOfSequences(); i++)
+        {
+          Sequence* seq = SequenceTools::reverseTranscript(sequences->getSequence(i));
+          sc->addSequence(*seq, false);
+          delete seq;
+        }
+        delete sequences;
+        sequences = sc;
+      }
+      else throw Exception("Transcription error: input alphabet must be of type 'nucleic'.");
+    }
+    // +-------------------------------+
+    // | Switching nucleotide alphabet |
+    // +-------------------------------+
+    else if (cmdName == "Switch")
+    {
+      const Alphabet* alpha = 0;
+      if (sequences->getAlphabet()->getAlphabetType() == AlphabetTools::DNA_ALPHABET.getAlphabetType())
+      {
+        alpha = &AlphabetTools::RNA_ALPHABET;
+      }
+      else if (sequences->getAlphabet()->getAlphabetType() == AlphabetTools::RNA_ALPHABET.getAlphabetType())
+      {
+        alpha = &AlphabetTools::DNA_ALPHABET;
+      }
+      else throw Exception("Cannot switch alphabet type, alphabet is not of type 'nucleic'.");
+      OrderedSequenceContainer* sc = 0;
+      if (aligned) sc = new VectorSiteContainer(alpha);
+      else         sc = reinterpret_cast<OrderedSequenceContainer*>(new VectorSequenceContainer(alpha));
+      for (unsigned int i = 0; i < sequences->getNumberOfSequences(); i++)
+      {
+        const Sequence* old = &sequences->getSequence(i);
+        Sequence* seq = new BasicSequence(old->getName(), old->getContent(), old->getComments(), alpha);
+        sc->addSequence(*seq, false);
+        delete seq;
+      }
+      delete sequences;
+      sequences = sc;
+    }
+    // +-------------+
+    // | Translation |
+    // +-------------+
+    else if (cmdName == "Translate")
+    {
+      if (!AlphabetTools::isNucleicAlphabet(sequences->getAlphabet()))
+        throw Exception("Error in translation: alphabet is not of type 'nucleic'.");
+      GeneticCode* gc = NULL;
+      string gcstr = ApplicationTools::getStringParameter("code", cmdArgs, "Standard");
+      gc = SequenceApplicationTools::getGeneticCode(dynamic_cast<const NucleicAlphabet *>(sequences->getAlphabet()), gcstr);
+
+      OrderedSequenceContainer* sc = 0;
+      if (aligned) sc = new VectorSiteContainer(sequences->getAlphabet());
+      else         sc = reinterpret_cast<OrderedSequenceContainer*>(new VectorSequenceContainer(sequences->getAlphabet()));
+      for (unsigned int i = 0; i < sequences->getNumberOfSequences(); i++)
+      {
+        Sequence* seq = gc->translate(sequences->getSequence(i));
+        sc->addSequence(*seq, false);
+        delete seq;
+      }
+      delete sequences;
+      sequences = sc;      
+    }
+    // +-------------+
+    // | Remove gaps |
+    // +-------------+
+    else if (cmdName == "RemoveGaps")
+    {
+      VectorSequenceContainer* sc = new VectorSequenceContainer(sequences->getAlphabet());
+      for (unsigned int i = 0; i < sequences->getNumberOfSequences(); i++)
+      {
+        Sequence* seq = SequenceTools::removeGaps(sequences->getSequence(i));
+        sc->addSequence(*seq);
+        delete seq;
+      }
+      delete sequences;
+      sequences = sc;
+      aligned = false;
+    }
+    // +---------------------------+
+    // | Change gaps to unresolved |
+    // +---------------------------+
+    else if (cmdName == "GapToUnknown")
+    {
+      OrderedSequenceContainer* sc = 0;
+      if (aligned) sc = new VectorSiteContainer(sequences->getAlphabet());
+      else         sc = reinterpret_cast<OrderedSequenceContainer*>(new VectorSequenceContainer(sequences->getAlphabet()));
+      for (unsigned int i = 0; i < sequences->getNumberOfSequences(); i++)
+      {
+        Sequence* seq = new BasicSequence(sequences->getSequence(i));
+        SymbolListTools::changeGapsToUnknownCharacters(*seq);
+        sc->addSequence(*seq, false);
+        delete seq;
+      }
+      delete sequences;
+      sequences = sc;
+    }
+    // +---------------------------+
+    // | Change unresolved to gaps |
+    // +---------------------------+
+    else if (cmdName == "UnknownToGap")
+    {
+      OrderedSequenceContainer* sc = 0;
+      if (aligned) sc = new VectorSiteContainer(sequences->getAlphabet());
+      else         sc = new VectorSequenceContainer(sequences->getAlphabet());
+      for (unsigned int i = 0; i < sequences->getNumberOfSequences(); i++)
+      {
+        Sequence* seq = new BasicSequence(sequences->getSequence(i));
+        SymbolListTools::changeUnresolvedCharactersToGaps(*seq);
+        sc->addSequence(*seq, false);
+        delete seq;
+      }
+      delete sequences;
+      sequences = sc;
+    }
+    
+    // +--------------+
+    // | Remove stops |
+    // +--------------+
+    else if (cmdName == "RemoveStops")
+    {
+      SiteContainer* sites = dynamic_cast<SiteContainer *>(sequences);
+      if (!sites)
+      {
+        throw Exception("'RemoveStops' can only be used on alignment. You may consider using the 'CoerceToAlignment' command.");
+      }
+
+      for (unsigned int i = sites->getNumberOfSites(); i > 0; i--)
+      {
+        if (SiteTools::hasStopCodon(sites->getSite(i-1)))
+          sites->deleteSite(i - 1);
+      }
+    }
+
+    // +---------+
+    // | Get CDS |
+    // +---------+
+    else if (cmdName == "GetCDS")
+    {
+      OrderedSequenceContainer* sc = 0;
+      if (aligned) sc = new VectorSiteContainer(sequences->getAlphabet());
+      else         sc = reinterpret_cast<OrderedSequenceContainer*>(new VectorSequenceContainer(sequences->getAlphabet()));
+      for (unsigned int i = 0; i < sequences->getNumberOfSequences(); i++)
+      {
+        BasicSequence seq = sequences->getSequence(i);
+        SequenceTools::getCDS(seq, false, true, true, false);
+        sc->addSequence(seq, false);
+      }
+      delete sequences;
+      sequences = sc;
+    }
+
+    // +--------------------------+
+    // | Resolve dotted alignment |
+    // +--------------------------+
+    else if (actions[a] == "CoerceToAlignment")
+    {
+      SiteContainer* sites = dynamic_cast<SiteContainer*>(sequences);
+      if(! sites)
+      {
+        sites = new VectorSiteContainer(*sequences);
+        delete sequences;
+        sequences = sites;
+      }
+      aligned = true;
+    }
+    else if (actions[a] == "ResolvedDotted")
+    {
+      SiteContainer* sites = dynamic_cast<SiteContainer *>(sequences);
+      if (!sites)
+      {
+        throw Exception("'ResolvedDotted' can only be used on alignment. You may consider using the 'CoerceToAlignment' command.");
+      }
+
+      const Alphabet* alpha = 0;
+      string alphastr = ApplicationTools::getStringParameter("alphabet", cmdArgs, "DNA");
+      if (alphastr == "DNA") alpha = &AlphabetTools::DNA_ALPHABET;
+      else if (alphastr == "RNA") alpha = &AlphabetTools::RNA_ALPHABET;
+      else if (alphastr == "Protein") alpha = &AlphabetTools::PROTEIN_ALPHABET;
+      else throw Exception("Resolved alphabet must be one of [DNA|RNA|Protein] for solving dotted alignment.");
+      OrderedSequenceContainer* resolvedCont = SiteContainerTools::resolveDottedAlignment(*sites, alpha);
+      delete sequences;
+      sequences = resolvedCont;
+    }
+    // +---------------------+
+    // | Keep complete sites |
+    // +---------------------+
+    else if (cmdName == "KeepComplete")
+    {
+      SiteContainer* sites = dynamic_cast<SiteContainer *>(sequences);
+      if (!sites)
+      {
+        throw Exception("'KeepComplete' can only be used on alignment. You may consider using the 'CoerceToAlignment' command.");
+      }
+
+      string maxGapOption = ApplicationTools::getStringParameter("maxGapAllowed", cmdArgs, "100%");
+      if (maxGapOption[maxGapOption.size()-1] == '%')
+      {
+        double gapFreq = TextTools::toDouble(maxGapOption.substr(0, maxGapOption.size()-1)) / 100.;
+        for (unsigned int i = sites->getNumberOfSites(); i > 0; i--)
+        {
+          map<int, double> freqs;
+          SiteTools::getFrequencies(sites->getSite(i - 1), freqs);
+          if (freqs[-1] >= gapFreq) sites->deleteSite(i - 1);
+        }
+      }
+      else
+      {
+        unsigned int gapNum=TextTools::to<unsigned int>(maxGapOption);
+        for (unsigned int i = sites->getNumberOfSites(); i > 0; i--)
+        {
+          map<int, unsigned int> counts;
+          SiteTools::getCounts(sites->getSite(i - 1), counts);
+          counts[-1]; //Needed in case this entry does not exist in the map. This will set it to 0.
+          if (counts[-1] > gapNum) sites->deleteSite(i-1);
+        }
+      }
+    }
+    // +-----------------+
+    // | Invert sequence |
+    // +-----------------+
+    else if (cmdName == "Invert")
+    {
+      OrderedSequenceContainer* sc = 0;
+      if (aligned) sc = new VectorSiteContainer(sequences->getAlphabet());
+      else         sc = reinterpret_cast<OrderedSequenceContainer*>(new VectorSequenceContainer(sequences->getAlphabet()));
+      for (unsigned int i = 0; i < sequences->getNumberOfSequences(); i++)
+      {
+        const Sequence* old = &sequences->getSequence(i);
+        Sequence* seq = SequenceTools::getInvert(*old);
+        sc->addSequence(*seq, false);
+        delete seq;
+      }
+      delete sequences;
+      sequences = sc;
+    }
+    else throw Exception("Unknown action: " + cmdName);
+  }
+  
+  // Write sequences
+  ApplicationTools::displayBooleanResult("Final sequences are aligned", aligned);
+  if (aligned)
+  {
+    SequenceApplicationTools::writeAlignmentFile(*dynamic_cast<SiteContainer*>(sequences), bppseqman.getParams(), "", true);
+  }
+  else
+  {
+    SequenceApplicationTools::writeSequenceFile(*sequences, bppseqman.getParams(), "", true);
+  }
+
+  delete alphabet;
+  delete sequences;
+
+  bppseqman.done();
+
+  } catch(exception & e) {
+    cout << e.what() << endl;
+    return 1;
+  }
+
+  return 0;
+}
+
diff --git a/bppSuite/bppTreeDraw.cpp b/bppSuite/bppTreeDraw.cpp
new file mode 100644
index 0000000..873c12f
--- /dev/null
+++ b/bppSuite/bppTreeDraw.cpp
@@ -0,0 +1,209 @@
+//
+// File: bppTreeDraw.cpp
+// Created by: Julien Dutheil
+// Created on: Jul Tue 21 13:40 2009
+//
+
+/*
+Copyright or © or Copr. Bio++ Development Team
+
+This software is a computer program whose purpose is to draw phylogenies.
+
+This software is governed by the CeCILL  license under French law and
+abiding by the rules of distribution of free software.  You can  use, 
+modify and/ or redistribute the software under the terms of the CeCILL
+license as circulated by CEA, CNRS and INRIA at the following URL
+"http://www.cecill.info". 
+
+As a counterpart to the access to the source code and  rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty  and the software's author,  the holder of the
+economic rights,  and the successive licensors  have only  limited
+liability. 
+
+In this respect, the user's attention is drawn to the risks associated
+with loading,  using,  modifying and/or developing or reproducing the
+software by the user in light of its specific status of free software,
+that may mean  that it is complicated to manipulate,  and  that  also
+therefore means  that it is reserved for developers  and  experienced
+professionals having in-depth computer knowledge. Users are therefore
+encouraged to load and test the software's suitability as regards their
+requirements in conditions enabling the security of their systems and/or 
+data to be ensured and,  more generally, to use and operate it in the 
+same conditions as regards security. 
+
+The fact that you are presently reading this means that you have had
+knowledge of the CeCILL license and that you accept its terms.
+*/
+
+// From the STL:
+#include <iostream>
+#include <iomanip>
+
+using namespace std;
+
+// From Utils:
+#include <Bpp/App/BppApplication.h>
+#include <Bpp/App/ApplicationTools.h>
+#include <Bpp/Text/KeyvalTools.h>
+#include <Bpp/Graphics.all>
+#include <Bpp/Graphics/Svg.all>
+#include <Bpp/Graphics/Latex.all>
+#include <Bpp/Graphics/Fig.all>
+
+// From PhylLib:
+#include <Bpp/Phyl/Tree.h>
+#include <Bpp/Phyl/App/PhylogeneticsApplicationTools.h>
+#include <Bpp/Phyl/Graphics.all>
+
+using namespace bpp;
+
+/******************************************************************************/
+
+void help()
+{
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+  (*ApplicationTools::message << "bpptreedraw parameter1_name=parameter1_value parameter2_name=parameter2_value").endLine();
+  (*ApplicationTools::message << "      ... param=option_file").endLine();
+  (*ApplicationTools::message).endLine();
+  (*ApplicationTools::message << "  Refer to the Bio++ Program Suite Manual for a list of available options.").endLine();
+  (*ApplicationTools::message << "__________________________________________________________________________").endLine();
+}
+
+int main(int args, char ** argv)
+{
+  cout << "******************************************************************" << endl;
+  cout << "*       Bio++ Tree Drawing program, version 0.1.0                *" << endl;
+  cout << "*                                                                *" << endl; 
+  cout << "* Authors: J. Dutheil                       Last Modif. 18/05/10 *" << endl;
+  cout << "******************************************************************" << endl;
+  cout << endl;
+
+  if (args == 1)
+  {
+    help();
+    return 0;
+  }
+  
+  try {
+
+  BppApplication bpptreedraw(args, argv, "BppTreeDraw");
+  bpptreedraw.startTimer();
+
+  // Get the tree to plot:
+  Tree* tree = PhylogeneticsApplicationTools::getTree(bpptreedraw.getParams());
+  ApplicationTools::displayResult("Number of leaves", TextTools::toString(tree->getNumberOfLeaves()));
+  
+  // Get the graphic device:
+  GraphicDevice* gd = 0;
+	string outputPath = ApplicationTools::getAFilePath("output.drawing.file", bpptreedraw.getParams(), true, false, "", false);
+  ofstream file(outputPath.c_str(), ios::out);
+  string graphicTypeCmd = ApplicationTools::getStringParameter("output.drawing.format", bpptreedraw.getParams(), "Svg");
+  string graphicType;
+  map<string, string> graphicTypeArgs;
+  KeyvalTools::parseProcedure(graphicTypeCmd, graphicType, graphicTypeArgs);
+  if (graphicType == "Svg")
+  {
+    gd = new SvgGraphicDevice(file);
+  }
+  else if (graphicType == "Inkscape")
+  {
+    gd = new SvgGraphicDevice(file, true);
+  }
+  else if (graphicType == "Xfig")
+  {
+    gd = new XFigGraphicDevice(file);
+    dynamic_cast<XFigGraphicDevice *>(gd)->setFontFlag(XFigGraphicDevice::FONTFLAG_POSTSCRIPT);
+  }
+  else if (graphicType == "Pgf")
+  {
+    gd = new PgfGraphicDevice(file, 0.045);
+  }
+  else throw Exception("Unknown output format: " + graphicType);
+
+  // Get the tree plotter:
+  TreeDrawing* td = 0;
+  string plotTypeCmd = ApplicationTools::getStringParameter("output.drawing.plot", bpptreedraw.getParams(), "Cladogram");
+  string plotType;
+  map<string, string> plotTypeArgs;
+  KeyvalTools::parseProcedure(plotTypeCmd, plotType, plotTypeArgs);
+  if (plotType == "Cladogram")
+  {
+    td = reinterpret_cast<TreeDrawing*>(new CladogramPlot());
+  }
+  else if (plotType == "Phylogram")
+  {
+    td = reinterpret_cast<TreeDrawing*>(new PhylogramPlot());
+  }
+  else throw Exception("Unknown output format: " + plotType);
+  td->setTree(tree);
+  ApplicationTools::displayResult("Plot type", plotType);
+  double xunit = ApplicationTools::getDoubleParameter("xu", plotTypeArgs, 10);
+  double yunit = ApplicationTools::getDoubleParameter("yu", plotTypeArgs, 10);
+  td->setXUnit(xunit);
+  td->setYUnit(yunit);
+  string hOrientation = ApplicationTools::getStringParameter("direction.h", plotTypeArgs, "left2right");
+  if (hOrientation == "left2right")
+  {
+    dynamic_cast<AbstractDendrogramPlot*>(td)->setHorizontalOrientation(AbstractDendrogramPlot::ORIENTATION_LEFT_TO_RIGHT);
+  }
+  else if (hOrientation == "right2left")
+  {
+    dynamic_cast<AbstractDendrogramPlot*>(td)->setHorizontalOrientation(AbstractDendrogramPlot::ORIENTATION_RIGHT_TO_LEFT);
+  }
+  else throw Exception("Unknown orientation option: " + hOrientation);
+  string vOrientation = ApplicationTools::getStringParameter("direction.v", plotTypeArgs, "top2bottom");
+  if (vOrientation == "top2bottom")
+  {
+    dynamic_cast<AbstractDendrogramPlot*>(td)->setVerticalOrientation(AbstractDendrogramPlot::ORIENTATION_TOP_TO_BOTTOM);
+  }
+  else if (vOrientation == "bottom2top")
+  {
+    dynamic_cast<AbstractDendrogramPlot*>(td)->setVerticalOrientation(AbstractDendrogramPlot::ORIENTATION_BOTTOM_TO_TOP);
+  }
+  else throw Exception("Unknown orientation option: " + vOrientation);
+ 
+  //Plotting option:
+  TreeDrawingSettings tds;
+  BasicTreeDrawingDisplayControler* controler = new BasicTreeDrawingDisplayControler(&tds);
+  controler->registerTreeDrawing(td);
+
+  bool drawLeafNames       = ApplicationTools::getBooleanParameter("draw.leaves", plotTypeArgs, true);
+  bool drawNodesId         = ApplicationTools::getBooleanParameter("draw.ids"   , plotTypeArgs, false);
+  bool drawBranchLengths   = ApplicationTools::getBooleanParameter("draw.brlen" , plotTypeArgs, false);
+  bool drawBootstrapValues = ApplicationTools::getBooleanParameter("draw.bs"    , plotTypeArgs, false);
+
+  controler->enableListener(controler->PROPERTY_LEAF_NAMES, drawLeafNames);
+  controler->enableListener(controler->PROPERTY_NODE_IDS, drawNodesId);
+  controler->enableListener(controler->PROPERTY_BRANCH_LENGTHS, drawBranchLengths);
+  controler->enableListener(controler->PROPERTY_BOOTSTRAP_VALUES, drawBootstrapValues);
+  
+  ApplicationTools::displayBooleanResult("Draw leaf names"      , drawLeafNames);
+  ApplicationTools::displayBooleanResult("Draw node ids"        , drawNodesId);
+  ApplicationTools::displayBooleanResult("Draw branch lengths"  , drawBranchLengths);
+  ApplicationTools::displayBooleanResult("Draw bootstrap values", drawBootstrapValues);
+  
+  //Now draw the tree:
+  gd->begin();
+  td->plot(*gd);
+  gd->end();
+
+  //Finishing things:
+  file.close();
+  delete controler;
+  delete tree;
+  delete td;
+  delete gd;
+
+  bpptreedraw.done(); 
+ 
+  }
+  catch(exception & e)
+  {
+    cout << e.what() << endl;
+    return 1;
+  }
+
+  return 0;
+}
+
diff --git a/debian/bppsuite.manpages b/debian/bppsuite.manpages
new file mode 100644
index 0000000..008318e
--- /dev/null
+++ b/debian/bppsuite.manpages
@@ -0,0 +1,10 @@
+man/bppml.1.gz
+man/bppseqgen.1.gz
+man/bppancestor.1.gz
+man/bppdist.1.gz
+man/bpppars.1.gz
+man/bppseqman.1.gz
+man/bppphysamp.1.gz
+man/bppreroot.1.gz
+man/bppconsense.1.gz
+man/bpptreedraw.1.gz
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..cd1de72
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,49 @@
+bppsuite (0.6.2-1) unstable; urgency=low
+
+  * RFP: Bio++ -- The Bio++ bioinformatics libraries. (Closes: #616373).
+  * Packages are now non-native.
+
+ -- Julien Dutheil <julien.dutheil at univ-montp2.fr>  Thu, 09 Jun 2011 11:00:00 +0100
+
+bppsuite (0.6.1) unstable; urgency=low
+
+  * Compatibility update with bpp-phyl 2.0.1.
+
+ -- Julien Dutheil <julien.dutheil at univ-montp2.fr>  Mon, 28 Feb 2011 09:00:00 +0100
+
+bppsuite (0.6.0) unstable; urgency=low
+
+  * Compatibility update with Bio++ 2.0.0.
+  * New mixed substitution models.
+  * More sequence manipulation tools.
+  * Several bug fixed and syntax improvements.
+
+ -- Julien Dutheil <julien.dutheil at univ-montp2.fr>  Mon, 07 Feb 2011 09:00:00 +0100
+
+bppsuite (0.5.0) unstable; urgency=low
+
+  * New substitution models.
+  * New tree drawing program.
+  * Compatibility update with Bio++ 1.9.0.
+
+ -- Julien Dutheil <julien.dutheil at univ-montp2.fr>  Thu, 25 Mar 2010 21:17:37 +0100
+
+bppsuite (0.4.0) unstable; urgency=low
+
+  * Major syntax update, using keyvals.
+  * Compatibility update with Bio++ 1.8.0.
+
+ -- Julien Dutheil <jdutheil at birc.au.dk>  Wed, 10 Jun 2009 11:28:58 +0100
+
+bppsuite (0.3.1) unstable; urgency=low
+
+  * Several bug fixed.
+
+ -- Julien Dutheil <jdutheil at birc.au.dk>  Thu, 11 Dec 2008 12:21:37 +0100
+
+bppsuite (0.3.0) unstable; urgency=low
+
+  * Initial release
+
+ -- Julien Dutheil <jdutheil at birc.au.dk>  Fri, 25 Sep 2008 14:28:21 +0200
+
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..5053b90
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,24 @@
+Source: bppsuite
+Section: science
+Priority: optional
+Maintainer: Loic Dachary <loic at dachary.org>
+Uploaders: Julien Dutheil <julien.dutheil at univ-montp2.fr>
+Build-Depends: debhelper (>= 5), cmake (>= 2.6), dpkg (>= 1.15.4) | install-info, texinfo,
+  libbpp-phyl-dev (>= 2.0.1)
+Standards-Version: 3.9.1
+
+Package: bppsuite
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, libbpp-phyl9 (>= 2.0.1)
+Description: Bio++ program suite
+ Includes programs:
+  - BppML for maximum likelihood analysis,
+  - BppSeqGen for sequences simulation,
+  - BppAncestor for ancestral states reconstruction,
+  - BppDist for distance methods,
+  - BppPars for parsimony analysis,
+  - BppSeqMan for file conversion and sequence manipulation,
+  - BppConsense for building consensus tree and computing bootstrap values,
+  - BppPhySamp for phylogenetic sampling,
+  - BppReRoot for tree rerooting.
+
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..c5ecbbd
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,62 @@
+This package was debianized by Julien Dutheil <julien.dutheil at univ-montp2.fr> on
+Mon, 28 Feb 2011 09:00:00 +0100.
+
+It was downloaded from <http://download.gna.org/bppsuite/source>
+
+Upstream Author(s): 
+
+    Julien Dutheil <julien.dutheil at univ-montp2.fr>
+
+Copyright: 
+
+    Copyright (C) 2011 Bio++ Development Team
+
+License:
+
+    This package 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 2 of the License, or
+    (at your option) any later version.
+ 
+    This package 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 package; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+The Debian packaging is (C) 2011, Julien Dutheil <julien.dutheil at univ-montp2.fr> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+The provided software is distributed under the CeCILL license:
+
+    This software is governed by the CeCILL license under French law and
+    abiding by the rules of distribution of free software.  You can  use, 
+    modify and/ or redistribute the software under the terms of the CeCILL
+    license as circulated by CEA, CNRS and INRIA at the following URL
+    "http://www.cecill.info". 
+
+    As a counterpart to the access to the source code and  rights to copy,
+    modify and redistribute granted by the license, users are provided only
+    with a limited warranty  and the software's author,  the holder of the
+    economic rights,  and the successive licensors  have only  limited
+    liability. 
+
+    In this respect, the user's attention is drawn to the risks associated
+    with loading,  using,  modifying and/or developing or reproducing the
+    software by the user in light of its specific status of free software,
+    that may mean  that it is complicated to manipulate,  and  that  also
+    therefore means  that it is reserved for developers  and  experienced
+    professionals having in-depth computer knowledge. Users are therefore
+    encouraged to load and test the software's suitability as regards their
+    requirements in conditions enabling the security of their systems and/or 
+    data to be ensured and,  more generally, to use and operate it in the 
+    same conditions as regards security. 
+
+    The fact that you are presently reading this means that you have had
+    knowledge of the CeCILL license and that you accept its terms.
+    
+The complete text of the license may be found here:
+http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
diff --git a/debian/docs b/debian/docs
new file mode 100644
index 0000000..e69de29
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..2270004
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,147 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+#
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+#
+# Modified to make a template file for a multi-binary package with separated
+# build-arch and build-indep targets  by Bill Allombert 2001
+
+# 25/03/10 Modification for use with CMake by Julien Dutheil.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+
+configure:
+	cmake -DCMAKE_INSTALL_PREFIX=/usr .
+
+config.status: configure
+	dh_testdir
+
+#Architecture 
+build: build-arch build-indep
+
+build-arch: build-arch-stamp
+build-arch-stamp:  config.status
+
+	# Add here commands to compile the arch part of the package.
+	#$(MAKE) 
+	touch $@
+
+build-indep: build-indep-stamp
+build-indep-stamp:  config.status
+
+	# Add here commands to compile the indep part of the package.
+	#$(MAKE) doc
+	touch $@
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-arch-stamp build-indep-stamp #CONFIGURE-STAMP#
+	rm -f CMakeCache.txt
+
+	# Add here commands to clean up after the build process.
+	[ ! -f Makefile ] || $(MAKE) clean;
+	[ ! -f Makefile ] || rm Makefile;
+	[ ! -f Makefile ] || rm bppSuite/Makefile;
+	rm -f config.sub config.guess
+	rm -f build-stamp
+	rm -f CMakeCache.txt
+	rm -f *.cmake
+	rm -f bppSuite/*.cmake
+	#rm -f test/*.cmake
+	rm -rf CMakeFiles
+	rm -rf bppSuite/CMakeFiles
+	#rm -rf test/CMakeFiles
+	rm -rf _CPack_Packages
+	#rm -rf Testing
+	#rm -f DartConfiguration.tcl
+
+	dh_clean 
+
+install: install-indep install-arch
+install-indep:
+	dh_testdir
+	dh_testroot
+	dh_prep -i 
+	dh_installdirs -i
+
+	# Add here commands to install the indep part of the package into
+	# debian/<package>-doc.
+	#INSTALLDOC#
+
+	dh_install -i
+
+install-arch:
+	dh_testdir
+	dh_testroot
+	dh_prep -s 
+	dh_installdirs -s
+
+	# Add here commands to install the arch part of the package into 
+	# debian/tmp.
+	$(MAKE) DESTDIR=$(CURDIR)/debian/bppsuite man doc install
+
+	dh_install -s
+# Must not depend on anything. This is to be called by
+# binary-arch/binary-indep
+# in another 'make' thread.
+binary-common:
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs ChangeLog
+	dh_installdocs
+	dh_installexamples
+#	dh_installmenu
+#	dh_installdebconf	
+#	dh_installlogrotate	
+#	dh_installemacsen
+#	dh_installpam
+#	dh_installmime
+#	dh_python
+#	dh_installinit
+#	dh_installcron
+	dh_installinfo
+	dh_installman
+	dh_link
+	dh_strip
+	dh_compress 
+	dh_fixperms
+#	dh_perl
+#	dh_makeshlibs
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+# Build architecture independant packages using the common target.
+binary-indep: build-indep install-indep
+	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+
+# Build architecture dependant packages using the common target.
+binary-arch: build-arch install-arch
+	$(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
+
+binary: binary-arch binary-indep
+.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch 
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
new file mode 100644
index 0000000..42678ec
--- /dev/null
+++ b/doc/CMakeLists.txt
@@ -0,0 +1,7 @@
+# CMake script for Bio++ Program Suite
+# Author: Julien Dutheil
+# Created: 22/08/2009
+
+IF(INFO)
+  INSTALL(FILES bppsuite.info DESTINATION share/info)
+ENDIF(INFO)
diff --git a/doc/bppsuite.texi b/doc/bppsuite.texi
new file mode 100644
index 0000000..c0c67ae
--- /dev/null
+++ b/doc/bppsuite.texi
@@ -0,0 +1,1908 @@
+\input texinfo   @c -*-texinfo-*-
+ at c %**start of header
+ at setfilename bppsuite.info
+ at settitle BppSuite Manual 0.6.0
+ at documentencoding UTF-8
+ at afourpaper
+ at dircategory Science Biology Genetics
+ at direntry
+* bppml: (bppml)                Bio++ Maximum Likelihood.
+* bppseqgen: (bppseqgen)        Bio++ Sequence Generator.
+* bppancestor: (bppancestor)    Bio++ Ancestral Sequences and Rates reconstruction.
+* bppdist: (bppdist)            Bio++ Distance Methods.
+* bpppars: (bpppars)            Bio++ Maximum Parsimony.
+* bppconsense: (bppconsense)    Bio++ Consensus Trees.
+* bppphysamp: (bppphysamp)      Bio++ Phylogenetic Sampler.
+* bppreroot: (bppreroot)        Bio++ Serial Tree Re-rooting.
+* bppseqman: (bppseqman)        Bio++ Sequences Manipulation.
+* bpptreedraw: (bpptreedraw)    Bio++ Tree Drawing.
+ at end direntry
+ at c %**end of header
+
+ at include version.texi
+
+ at copying
+This is the manual of the Bio++ Program Suite, version @value{VERSION}, @value{UPDATED}.
+
+Copyright @copyright{} 2007, 2008, 2009, 2010, 2011 Bio++ development team
+ at end copying
+
+ at titlepage
+ at title BppSuite Manual
+ at author Julien Dutheil, Laurent Guéguen
+ at author @email{julien.dutheil@@univ-montp2.fr}
+
+ at c The following two commands start the copyright page.
+ at page
+ at vskip 0pt plus 1fill1
+ at insertcopying
+ at end titlepage
+
+ at c Output the table of contents at the beginning.
+ at contents
+
+ at ifnottex
+ at node Top, Introduction, (dir), (dir)
+ at top The Bio++ Program Suite Manual
+
+ at insertcopying
+ at end ifnottex
+
+ at menu
+* Introduction::                Introducing the Bio++ Program Suite and this manual.                
+* Syntax::                      A general description of the syntax used to communicate with the programs.
+* Common::                      Common options shared by several programs.                      
+* Reference::                   The exhaustive list of options available for all programs in the Bio++ Program Suite.
+
+ at detailmenu
+ --- The Detailed Node Listing ---
+
+Common options encountered in several programs.
+
+* Sequences::                   Loading sequences/alignments.
+* Tree::                        Loading trees.
+* Model::                       Setting up a substitution model.
+* Estimation::                  Estimating parameters by maximizing a likelihood function.
+* WritingSequences::            Writing sequences/alignments to files. 
+
+Bio++ Program Suite Reference
+
+* bppml::                       Bio++ Maximum Likelihood.
+* bppseqgen::                   Bio++ Sequence Generator.
+* bppancestor::                 Bio++ Ancestral Sequences and Rates reconstruction.
+* bppdist::                     Bio++ Distance Methods.
+* bpppars::                     Bio++ Maximum Parsimony.
+* bppconsense::                 Bio++ Consensus Trees.
+* bppphysamp::                  Bio++ Phylogenetic Sampler.
+* bppreroot::                   Bio++ Serial Tree Re-rooting.
+* bppseqman::                   Bio++ Sequences Manipulation.
+* bpptreedraw::                 Bio++ Tree Drawing.
+
+ at end detailmenu
+ at end menu
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node Introduction, Syntax, Top, Top
+ at chapter Introduction
+
+The Bio++ Program Suite is a package of programs using the Bio++ libraries and dedicated to Phylogenetics and Molecular Evolution.
+All programs are independent, but can be combined to perform rather complex analyses.
+These programs use the interface helper tools of the libraries, and hence share the same syntax.
+They also have several options in common, which may also be shared by third-party software.
+This manual was hence split into three parts: 
+ at table @emph
+ at item Bio++ option file syntax
+A general description of the language used to interact with the programs.
+
+ at item Shared options
+A more detailed description about several options that are encountered in several programs.
+This includes input/output of data and model specifications.
+
+ at item The Bio++ Program Suite reference
+Include a reference of all available options for each program in the package.
+
+ at end table
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node Syntax, Common, Introduction, Top
+ at chapter Syntax description
+
+ at section Calling the programs and writing the option files.
+
+The programs in the Bio++ Program Suite are command line-driven.
+Arguments may be passed as @command{parameter=value} options, either directly to the command line or
+using an option file:
+ at cartouche
+ at example
+@{program@} parameter1=value1 parameter2=value2 ... parameterN=valueN
+ at end example
+ at end cartouche
+or
+ at cartouche
+ at example
+@{program@} param=option_file
+ at end example
+ at end cartouche
+where @{program@} is the name of the program to use (bppml, bppseqgen, etc.).
+Option files contain @command{parameter=value} lines, with only one parameter per line.
+They can be written from scratch using a regular text editor, but since these files can potentially turn to be quite complex, it is probably wiser to start with a sample provided along with the program (if any!).
+
+Extra-space may be included between parameter names, equal sign and value:
+ at cartouche
+ at example
+first_parameter   = value1
+second_parameter  = value2
+ at end example
+ at end cartouche
+and lines can be broken using the backslash character:
+ at cartouche
+ at example
+parameter = value1,\
+            value2,\
+            value3
+ at end example
+ at end cartouche
+
+Comment may be included, in either scripting format:
+ at cartouche
+ at example
+# This is a comment
+ at end example
+ at end cartouche
+C format:
+ at cartouche
+ at example
+/* This is a comment
+*/
+ at end example
+ at end cartouche
+or C++ format:
+ at cartouche
+ at example
+// This is a comment
+ at end example
+ at end cartouche
+Command line and file options may be combined:
+ at cartouche
+ at example
+@{program@} param=option_file parameterX=valueX
+ at end example
+ at end cartouche
+In case @command{parameterX} is specified in both option file and command line, the command line value will be used.
+This allows to run the programs several times by changing a single option, like the name of the data set for instance.
+
+Option files can be nested, by using @command{param=nestedoptionfile} within an option file, as with the command line.
+It is possible to use this option as often as needed, this will load all the required option files.
+
+ at section Different types of options
+
+The next chapters describe the whole set of options available in BppSuite.
+For each parameter, the type of parameter value expected is defined as:
+ at table @command
+ at item @{chars@}
+A character chain
+
+ at item @{path@}
+A file path, which may be absolute or related to the current directory
+
+ at item @{int@}
+An integer
+
+ at item @{int@}, @{int>0@}, @{int>=0@}, @{int[2,10]@}
+An integer, a positive integer, a positive non-null integer, an
+integer falling between 2 and 10
+
+ at item @{real@}, @{real>0@}, etc
+A real number, a positive real number, etc.
+
+ at item @{boolean@}
+A Boolean value, which may be one of 'yes', 'no', 'true' or 'false'
+
+ at item @{xxx|yyy|zzz@}
+A set of allowed values
+
+ at item @{list<type>@}
+A list of values of specified type, separated by comas.
+
+ at end table
+
+If an option availability or choice depends on another parameters, it will be noted as
+
+ at example
+parameter1=@{xxx|yyy|zzz@}
+
+parameter2=@{chars@} [[parameter1=zzz]]
+ at end example
+meaning that parameter2 is available only if parameter1 is set to 'zzz'.
+
+Any optional argument will be noted within hooks [].
+
+In some cases, the argument value is more complexe and follows the 'keyval'
+syntax.
+This syntax will be quite familiar for users using languages like R, Python, or
+certain LaTeX packages.
+A keyval procedure is a name that does no contain any space, together with some
+arguments within parentheses.
+The arguments take the form @command{key=value}, separated by comas:
+ at cartouche
+ at example
+parameter=Function(name1=value1, name2=value2)
+ at end example
+ at end cartouche
+Space characters are allowed around the '=' and ',' ponctuations.
+
+ at section Variables
+
+It is possible to recall anywhere the value of an option by using $(parameter).
+ at cartouche
+ at example
+optimization.topology.algorithm = NNI
+optimization.topology.algorithm_nni.method = phyml
+output.tree = MyData_$(optimization.topology.algorithm)_$(optimization.topology.algorithm_nni.method).dnd
+ at end example
+ at end cartouche
+You can use this syntax to define global variables:
+ at cartouche
+ at example
+data=MyData
+sequence.file=$(data).fasta
+input.tree=$(data).dnd
+output.infos=$(data).infos
+ at end example
+ at end cartouche
+
+Important note: it is not possible to use a macro with the 'param' option.
+This is because all nested option files are parsed before the variable resolution.
+Writing @command{param=$(model1).bpp} will not work, but this allows the user to override variables in nested files, as with the command line.
+For instance:
+ at cartouche
+ at example
+#Option file 1:
+param=options2.bpp
+sequence.file=$(data).fasta
+sequence.format=Fasta
+ at end example
+ at end cartouche
+ at cartouche
+ at example
+#Option file 2:
+data=LSU
+#etc
+ at end example
+ at end cartouche
+ 
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node Common, Reference, Syntax, Top
+ at chapter Common options encountered in several programs.
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at menu
+* Sequences::                   Loading sequences/alignments.
+* Tree::                        Loading trees.
+* Model::                       Setting up a substitution model.
+* Estimation::                  Estimating parameters by maximizing a likelihood function.
+* WritingSequences::            Writing sequences/alignments to files. 
+ at end menu
+
+ at node Sequences, Tree, Common, Common
+ at section Setting alphabet and reading sequences
+
+ at table @command
+ at item alphabet =
+@{DNA|RNA|Protein|Word(letter=@{DNA|RNA|Protein@},length=@{int@})|
+Codon(letter=@{DNA|RNA@}, type=@{Standard|EchinodermMitochondrial|InvertebrateMitochondrial|\
+VertebrateMitochondrial@})@}
+The alphabet to use when reading sequences. 
+
+ at item input.sequence.file=@{path@}
+The sequence file to use. Depending on the program, these sequences have or do not have to be aligned.
+
+ at item input.sequence.format = @{sequence format description@}
+The sequence file format.
+
+ at end table
+Since Bio++ Program Suite version 0.4.0, the format description uses the keyval syntax.
+The format is a function, with optional parameters:
+
+ at table @command
+
+ at item Fasta()
+The fasta format.
+
+ at item Mase(siteSelection=@{chars@})
+The Mase format (as read by Seaview and Phylo_win for instance), with an optional site selection name.
+
+ at item Phylip(order=@{interleaved|sequential@}, type=@{classic|extended@}, split=@{spaces|tab@})
+The Phylip format, with several variations.
+The argument @command{order} distinguishes between sequential and interleaved format, while the option @command{type} distinguished between the plain old Phylip format and the more recent extension allowing for sequence names longer than 10 characters, as understood by PAML and PhyML.
+Finally, the @command{split} argument specifies the type of character that separates the sequence name from the sequence content.
+The conventional option is to use one (classic) or more (extended) spaces, but tabs can also be used instead.
+
+ at item Clustal(extraSpaces=@{int@})
+The Clustal format.
+In its basic set up, sequence names do not have space characters, and one space splits the sequence content from its name.
+The parser can however be configured to allow for spaces in the sequence names, providing a minimum number of space characters is used to split the content from the name.
+Setting @command{extraSpaces} to 5 for instance, the sequences are expected to be at least 6 spaces away for their names.
+
+ at item Dcse()
+The DCSE alignment format. The secondary structure annotation will be ignored.
+
+ at item Nexus()
+The Nexus alignment format.
+Only very basic support is provided.
+
+ at end table
+
+For programs that do not require the sequences to be aligned, the following formats are also available:
+ at table @command
+
+ at item GenBank()
+Very basic support: only retrieves the sequence content for now, all features are ignored.
+
+ at end table
+
+Basic operations can be performed on the sequences:
+
+ at table @command
+
+ at item input.sequence.sites_to_use = @{all|nogap|complete@}
+This option only works if the program requires an alignment.
+Tells which sites to use.
+The @option{nogap} option removes all sites containing at least one
+gap, and the @option{complete} option removes all sites containing at
+least one gap or one generic character, as 'X' for instance.
+
+ at item input.sequence.remove_stop_codons = @{boolean@}
+This option only works if the alphabet is a codon alphabet. Removes
+the sites where there is a stop codon (default: 'yes').
+
+ at item input.sequence.max_gap_allowed=100%
+This option only works if the program requires an alignment.
+Only works when the @option{all} option is selected.
+It specifies the maximum amount of gap allowed per site, as a number
+of sequence or a percentage.
+Sites not matching the criterion will not be included in the analysis, but the
+original site numbering will be used in the output files (if relevant).
+
+ at end table
+ 
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node Tree, Model, Sequences, Common
+ at section Reading trees
+
+ at table @command
+ at item input.tree.file = @{path@}
+The phylogenetic tree file to use.
+
+ at item input.tree.format = @{Newick|Nexus@}
+The format of the input tree file.
+
+ at end table
+
+Some programs may require that your file contains several trees.
+The corresponding options are then:
+
+ at table @command
+ at item input.trees.file = @{path@}
+The file containing multiple trees.
+
+ at item input.trees.format = @{Newick|Nexus@}
+The format of the input tree file.
+
+ at end table
+
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node Model, Estimation, Tree, Common
+ at section Model specification
+
+The substitution model specification over the tree is set up in different parts.
+ at table @command
+ at item nonhomogeneous = @{no|one_per_branch|general@}
+Set the type of model. The @option{no} option is used for homogeneous
+models. The @option{one_per_branch} option is used as a short cut for
+setting branch models (for instance Galtier and Gouy 97 for branch GC content, or PAML branch model), and the
+ at option{general} option for the more general case, including PAML clade models.
+In either of the last two cases, the model is potentially non-stationary, that is, possibly not at the equilibrium and hence
+includes the root frequencies as additional parameters. If the
+substitution model is not the same across the tree, then the model is
+also non-homogeneous.
+ at end table
+
+In combination with those models, one can also specify a distribution of site-specific rate.
+
+ at subsection Setting up the substitution model
+
+ at table @command
+
+ at item model = @{model description@}
+A description of the substitution model to use, using the keyval syntax.
+
+ at end table
+From version 0.4.0 of BppSuite, the model specification uses a
+completely new syntax, based on the keyval (key = value) scheme. The
+old option files will hence not be compatible with new version of the
+software. The new syntax however is hopefully more intuitive, and more
+generalizable, so that few changes are expected when new models will
+be built. The substitution model is a function, potentially including
+parameters. The following table lists the set of usable functions, and
+their parameters.
+
+ at subsubsection Nucleotide models
+
+ at table @command
+
+ at item JC69
+The Jukes and Cantor model. This model has no additional parameter.
+
+ at item K80(kappa=@{real>0@})
+The Kimura 2 parameters model. @var{kappa} is the transition over transversion ratio.
+
+ at item F84(kappa=@{real>0@}, theta=@{real]0,1[@}, theta1=@{real]0,1[@}, theta2=@{real]0,1[@}, useObservedFreqs=@{boolean@}, useObservedFreqs.pseudoCount=@{int>0@})
+Felsenstein's 1984 substitution model, with
+transition/transversion ratio and 4 distinct equilibrium frequencies,
+set using three independent parameters: @var{theta} is the GC content,
+ at var{theta1} is the proportion of G / (G + C) and @var{theta2} is the
+proportion of A / (A + T or U). The @var{useObservedFreqs} option set
+the @var{theta}s parameters according to the observed counts in the
+data set, and @var{useObservedFreqs.pseudoCount} is a quantity,
+defaulting to 0, that can be used in case some counts are zero, on
+small data sets for instance. The corrected values are computed as:
+ at tex
+$$\pi_i = {f_i + \psi \over 4\cdot\psi + \sum_j f_j}$$
+ at end tex
+
+ at item HKY85(kappa=@{real>0@}, theta=@{real]0,1[@}, theta1=@{real]0,1[@}, theta2=@{real]0,1[@}, useObservedFreqs=@{boolean@}, useObservedFreqs.pseudoCount=@{int>0@})
+Hasegawa, Kishino and Yano 1985's substitution model.
+The model is similar to @command{F84}, but with a different implementation.
+The @var{kappa} parameter used here is comparable to the one in @command{K80}.
+
+ at item T92(kappa=@{real>0@}, theta=@{real]0,1[@}, useObservedFreqs=@{boolean@}, useObservedFreqs.pseudoCount=@{int>0@})
+Tamura 1992's model for nucleotides, similar to @command{HKY85}, yet assuming that the frequencies of A = T/U and G = C.
+
+ at item TN93(kappa1=@{real>0@}, kappa2=@{real>0@}, theta=@{real]0,1[@}, theta1=@{real]0,1[@}, theta2=@{real]0,1[@}, useObservedFreqs=@{boolean@}, useObservedFreqs.pseudoCount=@{int>0@})
+Tamura and Nei 1993's model, similar to @command{HKY85}, but allowing for two distinct transition/transversion ratios.
+
+ at item GTR(a=@{real>0@}, b=@{real>0@}, c=@{real>0@}, d=@{real>0@}, e=@{real>0@}, theta=@{real]0,1[@}, theta1=@{real]0,1[@}, theta2=@{real]0,1[@}, useObservedFreqs=@{boolean@}, useObservedFreqs.pseudoCount=@{int>0@})
+The General Time-Reversible substitution model.
+Parameters @var{a}, @var{b}, @var{c}, @var{d}, @var{e} are the entries of the exchangeability matrix.
+
+ at item L95(beta=@{real>0@}, gamma=@{real>0@}, delta=@{real>0@}, theta=@{real]0,1[@}, theta1=@{real]0,1[@}, theta2=@{real]0,1[@}, useObservedFreqs=@{boolean@}, useObservedFreqs.pseudoCount=@{int>0@})
+The strand-symmetric model of Lobry 1995, for nucleotides.
+
+ at end table
+
+ at subsubsection Protein models
+
+ at table @command
+
+ at item JC69
+The Jukes and Cantor model. This model has no additional parameter.
+
+ at item DSO78
+Protein substitution model, using the dcmutt implementation of Kosiol and Goldman 2005.
+
+ at item JTT92
+Protein substitution model, using the dcmutt implementation of Kosiol and Goldman 2005.
+
+ at item WAG01
+Protein substitution model, from Whelan & Goldman 2001.
+
+ at item LG08
+Protein substitution model, from Le & Gascuel 2008.
+
+ at item LLG08_EX2(relrate1=@{real]0,1[@}, relproba1=@{real]0,1[@})
+Protein substitution model, from Le, Lartillot & Gascuel 2008. See
+the meaning of the variables in the Mixture model below.
+
+ at item LLG08_EX3(relrate1=@{real]0,1[@}, relrate2=@{real]0,1[@}, relproba1=@{real]0,1[@}, relproba2=@{real]0,1[@})
+Protein substitution model, from Le, Lartillot & Gascuel 2008.  See
+the meaning of the variables in the Mixture model below.
+
+ at item LLG08_EHO(relrate1=@{real]0,1[@}, relrate2=@{real]0,1[@}, relproba1=@{real]0,1[@}, relproba2=@{real]0,1[@})
+Protein substitution model, from Le, Lartillot & Gascuel 2008. See
+the meaning of the variables in the Mixture model below.
+
+ at item LLG08_UL2(relrate1=@{real]0,1[@}, relproba1=@{real]0,1[@})
+Protein substitution model, from Le, Lartillot & Gascuel 2008. See
+the meaning of the variables in the Mixture model below.
+
+ at item LLG08_UL3(relrate1=@{real]0,1[@}, relrate2=@{real]0,1[@}, relproba1=@{real]0,1[@}, relproba2=@{real]0,1[@})
+Protein substitution model, from Le, Lartillot & Gascuel 2008. See
+the meaning of the variables in the Mixture model below.
+
+ at item DSO78+F(theta=@{real]0,1[@}, theta1=@{real]0,1[@}, theta2=@{real]0,1[@}, ..., useObservedFreqs=@{boolean@}, useObservedFreqs.pseudoCount=@{int>0@})
+Protein substitution model, using the dcmutt implementation of Kosiol
+and Goldman 2005 and free equilibrium frequencies. The @var{thetaX}
+are frequencies parameters, where X is 1 to 19. Parameter @var{theta1}
+is the proportion of A, @var{theta2} is the proportion of R over
+(1-A), @var{theta3} the proportion of N over (1-A-R), etc.
+
+ at item JTT92+F(theta=@{real]0,1[@}, theta1=@{real]0,1[@}, theta2=@{real]0,1[@}, ..., useObservedFreqs=@{boolean@}, useObservedFreqs.pseudoCount=@{int>0@})
+Protein substitution model, using the dcmutt implementation of Kosiol
+and Goldman 2005 and free equilibrium frequencies.
+
+ at item WAG01+F(theta=@{real]0,1[@}, theta1=@{real]0,1[@}, theta2=@{real]0,1[@}, ..., useObservedFreqs=@{boolean@}, useObservedFreqs.pseudoCount=@{int>0@})
+Protein substitution model, from Whelan & Goldman 2001, and free
+equilibrium frequencies.
+
+ at item LG08+F(theta=@{real]0,1[@}, theta1=@{real]0,1[@}, theta2=@{real]0,1[@}, ..., useObservedFreqs=@{boolean@}, useObservedFreqs.pseudoCount=@{int>0@})
+Protein substitution model, from Le & Gascuel 2008, and free
+equilibrium frequencies.
+
+ at item Empirical(name=@{chars@}, file=@{path@})
+Build a protein substitution model from a file in PAML format, and use 'name' as a namespace for parameters.
+
+ at item Empirical+F(name=@{chars@}, file=@{path@}, theta=@{real]0,1[@}, theta1=@{real]0,1[@}, theta2=@{real]0,1[@}, ..., useObservedFreqs=@{boolean@}, useObservedFreqs.pseudoCount=@{int>0@})
+Build a protein substitution model from a file in PAML format, and use free equilibrium frequencies. 'name' will be used as a parameter namespace, including for frequencies.
+
+ at end table
+
+ at subsubsection Codon models
+
+Standard codon models: the optional @var{genetic_code} argument describes the genetic code. If
+it is not given, the one related with the alphabet is used. The several values available are described below.
+
+ at itemize
+ at item EchinodermMitochondrialGeneticCode
+ at item InvertebrateMitochondrialGeneticCode
+ at item StandardGeneticCode
+ at item VertebrateMitochondrialGeneticCode
+ at item YeastMitochondrialGeneticCode
+ at end itemize
+
+The next codon models also take as argument a @var{frequencies} option 
+specifying the equilirium frequencies of the model. Any frequencies description can be used here, but the syntax also supports
+options similar to the ones used in the PAML software:
+ at itemize
+ at item F0: all frequencies are assumed to be fixed and equal to 1/61, 0 for stop codons.
+ at item F1X4: 4 distinct frequencies are used, with parameters theta, theta1, theta2 (@xref{Frequencies sets}, ``Full'' method).
+ at item F3X4: 4 distinct frequencies are used for each position, resulting in 9 parameters in total (3 independent ``Full'' frequencies set).
+ at item F61: free equilibrium frequencies, stop codons set to 0.
+ at end itemize
+
+The same words can be used to specify root frequencies for codon
+models, in the case of non reversibility.
+
+ at table @command
+
+ at item GY94([genetic_code=@{genetic code description@} , kappa=@{real>0@}, V=@{real>0@}])
+Goldman and Yang (1994) substitution model for codons (default values:
+ at var{kappa}=1 and @var{V}=10000).
+
+ at item MG94([genetic_code=@{genetic code description@}, rho=@{real>0@}])
+Muse and Gaut (1994) substitution model for codons (default values:
+ at var{rho}=1).
+
+ at item YN98([genetic_code=@{genetic code description@}, kappa=@{real>0@}, omega=@{real>0@}])
+Yang and Nielsen (1998) substitution model for codons (default values:
+ at var{kappa}=1 and @var{omega}=1).
+
+ at item YNGKP_M0([genetic_code=@{genetic code description@}, kappa=@{real>0@}, omega=@{real>0@}])
+The M0 model of PAML, ie the same as YN98.
+
+ at item YNGKP_M1([genetic_code=@{genetic code description@},kappa=@{real>0@}, omega=@{real>0@}, p0=@{real>0 and <1 @}])
+The M1a model of PAML, see Yang, Z., R. Nielsen, N. Goldman, and A.-M.
+K. Pedersen (2000) (default values: @var{kappa}=1, @var{p0}=0.5,
+ at var{omega}=0.5).
+
+ at item YNGKP_M2([genetic_code=@{genetic code description@},kappa=@{real>0@}, omega0=@{real>0 and <1@}, theta1=@{real>0 and <1 @}],  omega1=@{real>1@},  theta2=@{real>0 and <1 @}])
+
+The M2a model of PAML, see Yang, Z., R. Nielsen, N. Goldman, and A.-M.
+K. Pedersen (2000), with  p0=theta1  and
+p1=(1-theta1)*theta2 (default values: @var{kappa}=1, @var{theta1}=0.33333,
+ at var{theta2}=0.5, @var{omega0}=0.5, @var{omega2}=0.5).
+
+ at item YNGKP_M3(genetic_code=@{genetic code description@}, n=@{integer>0@}, kappa=@{real>0@}, omega0=@{real>0 and <1@}, delta1=@{real>0@}, ..., delta at var{n-1}=@{real>0@}, theta1=@{real>0 and <1 @}, ..., theta at var{n-1}1=@{real>0 and <1 @}])
+
+The M3 model of PAML, see Yang, Z., R. Nielsen, N. Goldman, and A.-M.
+K. Pedersen (2000), with @var{n} discrete values, with p0=theta1
+and pk=(1-theta1)*...*(1-thetak)*theta(k+1), and
+omegak=omega0+delta1+....+deltak (default values: @var{n}=3,
+ at var{kappa}=1, @var{thetak}=1/(n-k+1), @var{omega0}=0.5, @var{deltak}=0.5).
+
+ at item YNGKP_M7(n=@{integer>0@}, [genetic_code=@{genetic code description@},kappa=@{real>0@}, p=@{real>1@}, q=@{real>1 @}])
+
+The M7 model of PAML, see Yang, Z., R. Nielsen, N. Goldman, and A.-M.
+K. Pedersen (2000), with the Beta distribution discretized in @var{n}
+classes (default values: @var{kappa}=1, @var{p}=2, @var{q}=2).
+
+ at item YNGKP_M7(n=@{integer>0@}, [genetic_code=@{genetic code description@},kappa=@{real>0@}, omegas=@{real>1@}, p0=@{real>0@},p=@{real>1@}, q=@{real>1 @}])
+
+The M8 model of PAML, see Yang, Z., R. Nielsen, N. Goldman, and A.-M.
+K. Pedersen (2000), with the Beta distribution discretized in @var{n}
+classes (default values: @var{kappa}=1, @var{p}=2, @var{q}=2,
+ at var{p0}=0.5, @var{omegas}=2).
+
+ at end table
+
+It is also possible to setup more specific models, by specifying a nucleotide model for each position.
+Model parameters names then take the form of CodonModel.<position set>_<position model name>.<position specific parameter name>.
+
+ at table @command
+
+ at item CodonNeutral(model=@{model name@} [, relrate1=@{real>0@}, relrate2=@{real>0@}]) 
+or 
+ at item CodonNeutral(model1=@{model name@}, model2=@{model name@}, model3=@{model name@}[, relrate1=@{real>0@}, relrate2=@{real>0@}]) 
+
+Substitution model on codons. The arguments @var{model} and
+ at var{model@{i@}} are for descriptions of models on bases. The alphabet
+must be a codon alphabet.
+
+If the argument is @var{model}, the @emph{same} single site model is
+used on all positions (ie the parameters are shared between all
+positions).
+
+If the arguments are @var{model1}, @var{model2}, @var{model3}, each
+single site model stands for a single-site substitution model. In that
+case, all single site models parameters are position dependent.
+
+Each single site model is normalized and the substitution rates
+between codons that differ on more than one letter are null.
+
+Arguments @var{relrate@{i@}} stands for the relative substitution rates
+of the sites. Default: @var{relrate@{i@}=1/@{4-i@}}, such that the rate
+of each site is 1/3.
+
+The generator is first computed with these models and parameters on
+the whole triplet alphabet, and then the substitution rates to and
+from stop codons are set to zero and the generator is normalized with
+this modification.
+
+ at example
+alphabet=Codon(letter=DNA, type=Standard)
+model=CodonNeutral(model=T92)
+ at end example
+builds a model on codons, such all sites follow the same T92 model.
+The parameters names are @var{CodonNeutral.123_T92.kappa},
+ at var{CodonNeutral.relrate1}, @var{CodonNeutral.relrate2}.
+
+ at example
+alphabet=Codon(letter=DNA, type=Standard)
+model=CodonNeutral(model1=T92, model2=T92, model3=JC69)
+ at end example
+builds a model on codons, such that first and second sites follow
+independent T92 models, and third site follows a JC69 model. Then the
+parameters names are @var{CodonNeutral.1_T92.kappa},
+ at var{CodonNeutral.2_T92.kappa}, @var{CodonNeutral.relrate1},
+ at var{CodonNeutral.relrate2}, and can be initialized as is:
+
+ at example
+model=CodonNeutral(model1=T92, model2=T92, model3=JC69,\
+    1_T92.theta=0.5, 1_T92.kappa=2.0, 2_T92.theta=0.4, 2_T92.kappa=2.0)
+ at end example
+
+ at item CodonAsynonymous(model=@{model name@}[, genetic_code=@{genetic code description@}, beta=@{real>0@}])
+
+or
+
+ at item CodonAsynonymous(model1=@{model name@}, model2=@{model name@}, model3=@{model name@}[, geneticcode=@{genetic code description@}, beta=@{real>0@}]) 
+
+substitution model on codons. 
+
+The arguments @var{model} and @var{model@{i@}} are for descriptions of
+models on bases. The alphabet must be a codon alphabet.
+
+If the argument is @var{model}, the @emph{same} single site model is
+used on all positions (ie the parameters are shared between all
+positions).
+
+If the arguments are @var{model1}, @var{model2}, @var{model3}, each
+single site model stands for a single-site substitution model. In that
+case, all single site models parameters are position dependent.
+
+Each single site model is normalized and the substitution rates
+between codons that differ on more than one letter are null.
+
+In addition to these models, the optional @var{geneticcode} argument
+describes the genetic code. If it is not given, the one related with
+the alphabet is used. The several values available are described
+below.
+
+Optional argument @var{beta} is the ratio between non-synonymous
+substitution rate and synonymous substitution rate. Default value: 1.
+
+ at example
+alphabet=Codon(letter=DNA, type=Standard)
+model=CodonAsynonymous(model=T92)
+ at end example
+builds a model on codons, such all sites follow the same T92 model.
+The parameters names are @var{CodonAsynonymous.123_T92.kappa} and 
+ at var{CodonAsynonymous.beta}.
+
+ at example
+alphabet=Codon(letter=DNA, type=Standard)
+model=CodonNeutral(model1=T92, model2=T92, model3=JC69)
+ at end example
+builds a model on codons, such that first and second sites follow
+independent T92 models, and third site follows a JC69 model. Then the
+parameters names are @var{CodonAsynonymous.1_T92.kappa},
+ at var{CodonAsynonymous.2_T92.kappa}, @var{CodonAsynonymous.beta}.
+
+ at item CodonNeutralFrequencies(frequencies=@{frequencies set description@} [, relrate1=@{real>0@}, relrate2=@{real>0@}]) 
+
+substitution model on codons. The exchangeability model on each site
+is the same K80 model, and the equilibrium distribution of the model
+is description by the @var{frequencies} argument. See the description
+of the Frequencies Set below.
+
+Each single site model is normalized and the substitution rates
+between codons that differ on more than one letter are null.
+
+Arguments @var{relrate@{i@}} stands for the relative substitution rates
+of the sites. Default: @var{relrate@{i@}=1/@{4-i@}}, such that the rate
+of each site is 1/3.
+
+The generator is first computed with these model and distribution on
+the whole triplet alphabet, and then the substitution rates to and
+from stop codons are set to zero and the generator is normalized with
+this modification.
+
+ at example
+alphabet=Codon(letter=DNA, type=Standard)
+model=CodonNeutralFrequencies(frequencies=Full())
+ at end example
+has parameters @var{CodonNeutralFrequencies.123_K80.kappa},
+ at var{CodonNeutralFrequencies.Full.theta_1}, ...,
+ at var{CodonNeutralFrequencies.Full.theta_60},
+ at var{CodonNeutralFrequencies.relrate1},
+ at var{CodonNeutralFrequencies.relrate2}.
+
+ at item CodonAsynonymousFrequencies(frequencies=@{frequencies set description@} [geneticcode=@{genetic code description@}, beta=@{real>0@}])
+
+substitution model on codons. The exchangeability model on each site
+is the same K80 model, and the equilibrium distribution of the model
+is description by the @var{frequencies} argument. See the description
+of the Frequencies Set below.
+
+Each single site model is normalized and the substitution rates
+between codons that differ on more than one letter are null.
+
+In addition to these models, the optional @var{geneticcode} argument
+describes the genetic code. If it is not given, the one related with
+the alphabet is used. The several values available are described
+below.
+
+Optional argument @var{beta} is the ratio between non-synonymous
+substitution rate and synonymous substitution rate. Default value: 1.
+
+The generator is first computed with these model and distribution on
+the whole triplet alphabet, and then the substitution rates to and
+from stop codons are set to zero and the generator is normalized with
+this modification.
+
+ at example
+alphabet=Codon(letter=DNA, type=Standard)
+model=CodonAsynonymousFrequencies(frequencies=Full())
+ at end example
+has parameters @var{CodonAsynonymousFrequencies.012_T92.kappa},
+ at var{CodonAsynonymousFrequencies.Full.theta_1}, ...,
+ at var{CodonAsynonymousFrequencies.Full.theta_60},
+ at var{CodonAsynonymousFrequencies.beta}.
+
+
+ at end table
+
+
+
+ at subsubsection General multiple site models
+
+ at table @command
+
+ at item Word(model=@{model name@} [,relrate1=@{1>real>0@}, ..., relrate@{n-1@}=@{1>real>0@}]) 
+or 
+ at item Word(model1=@{model name@}, model1=@{model name@}, ..., modeln=@{model name@}[, relrate1=@{1> real>0@}, ..., relrate@{n-1@}=@{1> real>0@}])
+
+substitution model on words. The arguments @var{model} and
+ at var{model@{i@}} are for descriptions of models on single sites such
+as nucleotides or proteins. The alphabet must be a Word alphabet.
+
+If the argument is @var{model}, the length of the words in the
+substitution model is determined by the length of the words in the
+alphabet, and the @emph{same} single site model is used (ie the
+parameters are shared between all positions).
+
+If the arguments are @var{model1}, ..., @var{model@{n@}}, the length
+of the words in the alphabet must be @var{n}, and each single site
+model stands for a single-site substitution model. In that case, all
+single site models parameters are position dependent.
+
+Each single site model is normalized and the substitution rates
+between words that differ on more than one letter are null.
+
+Arguments @var{relrate@{i@}} stands for the relative substitution rates
+of the sites. Default: @var{relrate@{i@}=1/@{n-i+1@}}, such that the rate
+of each site is 1/n.
+
+ at example
+alphabet=Word(letter=DNA,length=4)
+model=Word(model=T92())
+ at end example
+builds a model on 4 bases words, such all sites follow the same T92
+model. The parameters names are @var{Word.1234_T92.kappa},
+ at var{Word.relrate1}, @var{Word.relrate2}, @var{Word.relrate3}.
+
+ at example
+alphabet=Word(letter=DNA,length=4)
+model=Word(model1=T92(), model2=T92(), model3=JC69(), model4=HKY85())
+ at end example
+builds a model on 4 bases words, such first and second sites follow
+independent T92 models, third site follows a JC69 model, and fourth
+site follows a HKY85 model. Then the parameters names are
+ at var{Word.1_T92.kappa}, @var{Word.2_T92.kappa},
+ at var{Word.4_HKY85.kappa}, @var{Word.4_HKY85.theta},
+ at var{Word.4_HKY85.theta1}, @var{Word.4_HKY85.theta2},
+ at var{Word.relrate1}, @var{Word.relrate2}, @var{Word.relrate3}.
+
+ at item Triplet(model=@{model description@} [, relrate1=@{real>0@}, relrate2=@{real>0@}]) 
+or 
+ at item Triplet(model1=@{model description@}, model2=@{model description@}, model3=@{model description@}[, relrate1=@{real>0@}, relrate2=@{real>0@}]) 
+
+substitution model on 3 letters words. The arguments @var{model} and
+ at var{model@{i@}} are for descriptions of models on single sites such as
+nucleotides or proteins. The alphabet must be a 3-letters word
+alphabet or a codon alphabet.
+
+If the argument is @var{model}, the @emph{same} single site model is
+used on all positions (ie the parameters are shared between all
+positions).
+
+If the arguments are @var{model1}, @var{model2}, @var{model3}, each
+single site model stands for a single-site substitution model. In that
+case, all single site models parameters are position dependent.
+
+Each single site model is normalized and the substitution rates
+between triplets that differ on more than one letter are null.
+
+Arguments @var{relrate@{i@}} stands for the relative substitution rates
+of the sites. Default: @var{relrate@{i@}=1/@{4-i@}}, such that the rate
+of each site is 1/3.
+
+ at example
+alphabet=Codon(letter=DNA, type=Standard)
+model=Word(model=T92)
+ at end example
+builds a model on codons, such all sites follow the same T92 model.
+The parameters names are @var{Triplet.123_T92.kappa},
+ at var{Triplet.relrate1}, @var{Triplet.relrate2}.
+
+ at example
+alphabet=Word(letter=DNA, length=3)
+model=Triplet(model1=T92, model2=T92, model3=JC69)
+ at end example
+builds a model on 3 bases words, such first and second sites follow
+independent T92 models, and third site follows a JC69 model. Then the
+parameters names are @var{Triplet.1_T92.kappa},
+ at var{Triplet.2_T92.kappa}, @var{Triplet.relrate1},
+ at var{Triplet.relrate2}.
+
+ at end table
+
+
+
+ at subsubsection Meta models
+
+These substitution models take as argument another substitution model, and add several parameters.
+ 
+ at table @command
+
+ at item TS98(model=@{model description@}, s1=@{real>0@}, s2=@{real>0@})
+Tuffley and Steel 1998's 'covarion' model, taking a nested substitution model as argument for @var{model}.
+The nested model can be any substitution model for any alphabet.
+
+ at item G01(model=@{model description@}, rdist=@{rate distribution description@}, mu=@{real>0@})
+Galtier 2001's 'covarion' model, taking a nested substitution model as argument for @var{model} and a rate distribution for parameter @var{rdist} (see below).
+The nested model can be any substitution model for any alphabet.
+
+ at item RE08(model=@{model description@}, lambda=@{real>0@}, mu=@{real>0@})
+Rivas and Eddy 2008's substitution model with gaps, taking a nested substitution model as argument for @var{model}.
+Parameter @var{lambda} is the insertion rate, while @var{mu} is the deletion rate.
+
+ at end table
+
+ at subsubsection Mixture of models (beta feature)
+
+ at table @command
+
+Mixed models combine any sustitution models with a priori distribution
+of parameters. Such models are still experimental and have not been
+yet fully tested. They should hence be used wih extra care!
+
+During the likelihood computation process, all the submodels of the
+mixture are successively applied on the branches, and the mean of all
+the likelihoods is computed. With nonhomogeneous reconstruction, since
+a mixed model is a random variable, affecting a mixed model to a set
+of branches means that all these branches are dependent, and in this
+case all the branches of the set have the same submodel at the same
+time.
+
+ at item MixedModel(model=@{model description@})
+Mixture model from a given @var{model} in which some parameters follow
+a probabilistic distribution. Any discrete distribution available can
+be used @xref{Discrete distributions}. The description of the
+parameters distributions is described below.
+
+ at example
+model=MixedModel(model=TN93(kappa1=Gamma(n=4,alpha=3,beta=1),\
+                            kappa2=Exponential(lambda=2),\
+                            theta=0.5,theta1=0.2,theta2=0.1))
+ at end example
+has parameters @var{TN93.kappa1_Gamma.alpha},
+ at var{TN93.kappa1_Gamma.beta},
+ at var{TN93.kappa2_Exponential.lamba},
+ at var{TN93.theta}, @var{MixedModel.TN93.theta1},
+ at var{TN93.theta2}.
+
+ at item Mixture(model1=@{model description@},..., modeln=@{model description@} [, relrate1=@{1>real>0@},..., relrate@{n-1@}=@{1>real>0@}, relproba1=@{1>real>0@}, ..., relproba@{n-1@}=@{1>real>0@}])
+Mixture model built from several @var{models}: each model has its own
+probability and rate. 
+
+Arguments @var{relproba@{i@}} stands for the relative probability and
+ at var{relrate@{i@}} stands for the relative rate of each model (in the
+order the models are given). Default: @var{relproba@{i@}=1/@{n-i+1@}},
+such that the probabilty of each site is 1/n, and
+ at var{relrate@{i@}=1/@{n-i+1@}} such that the rate of each site is 1.
+
+ at example
+model=Mixture(model1=GY94(), model2=YN98(), relrate1=0.1)
+ at end example
+has parameters at var{Mixture.relrate1}, @var{Mixture.relproba1},
+ at var{Mixture.1_GY94.kappa}, @var{Mixture.1_GY94.V},
+ at var{Mixture.2_YN98.kappa}, @var{Mixture.2_YN98.omega}.
+ at end table
+
+ at subsubsection Linking parameters
+
+It is possible to reduce the parameter space by putting extra constraints on parameters, using for instance
+ at example
+model=TN93(kappa1=1.0, kappa2=kappa1, theta=0.5)
+ at end example
+In that particular case the resulting model is strictly equivalent to the HKY85 model. This syntax however allows to define a larger set of models.
+
+
+
+
+
+
+
+ at subsection Setting up non-stationary / non-homogeneous models
+
+You can specify a wide range of non-homogeneous models, by combining different options.
+
+ at subsubsection One-per-branch non-homogeneous models
+
+This option share the same parameters as the homogeneous case, since the same kind of model is used for each branch. The additional options are the following:
+ at table @command
+
+ at item nonhomogeneous_one_per_branch.shared_parameters = @{list<chars>@}
+List the names of the parameters that are shared by all branches.
+In Galtier & Gouy model, that would be @var{T92.kappa}, since only the theta parameter is branch-specific.
+
+The '*' wildcard can be used as a suffix, as in
+ at command{YN98.freq_Word.1_*} for all the parameters whose names start
+with @command{YN98.freq_Word.1_}.
+
+
+ at end table
+
+ at subsubsection General non-homogeneous models
+
+Bio++ provides a general syntax to specify almost any non-homogeneous model.
+
+ at table @command
+
+ at item nonhomogeneous.number_of_models = @{int>0@}
+Set the number of distinct models to use.
+
+ at end table
+
+You now have to configure each model individually, using the syntax introduced for the homogeneous case, excepted that model will be numbered, for instance:
+
+ at example
+model1 = T92(theta=0.39, kappa=2.79)
+ at end example
+
+The additional option is available to attach the model to branches in the tree, specified by the id of the upper node in the tree:
+
+ at table @command
+
+ at item model1.nodes_id = 1,5,10:15,19
+Specify the ids of the nodes to which the node is attached.
+Id ranges can be specified using the @option{begin:end} syntax.
+
+ at end table
+
+You can also make a given model share parameters with another one by writing for instance:
+ at example
+model2 = T92(theta=0.39, kappa=model1.T92.kappa)
+ at end example
+Please note the syntax, parameters are referred to as [model name].[parameter name] in that case. Only parameter from identical models can be aliased in this manner.
+To link parameters from different models, you have to use the more general option (warning, currently beta feature!)
+
+ at table @command
+
+ at item nonhomogeneous.alias = @{list of aliases@}
+
+where each alias is described as `param1->param2'. The full name of the parameters have to be used, see for example:
+
+ at example
+model1 = T92(theta=0.4, kappa=4)
+model2 = GTR(theta=0.4, a = 1.1, b=0.4, c=0.4, d=0.25, e=0.1)
+nonhomogeneous.alias=GTR.theta_1->T92.theta_1
+ at end example
+
+This option can be used to link parameters of the root frequencies if the model is non-stationary:
+ at example
+nonhomogeneous.root_freq=Full(init=balanced)
+nonhomogeneous.alias=Full.theta->GTR.theta_1
+ at end example
+
+ at end table
+
+Finally, you may find useful the following options:
+
+ at table @command
+
+ at item output.tree_ids.file = @{@{path@}|none@}
+A tree file in newick format, with node ids instead of bootstrap
+values, and leaf names with their id as suffix.
+The use of that option will cause the program to exit just after producing the tagged tree.
+
+ at item output.parameter_names.file = @{@{path@}|none@}
+A text file listing all parameter names. This might come handy in order to specify the parameter that should not be optimized (see optimization.ignore_parameter) or aliased (see above).
+The use of that option will cause the program to exit just after producing the list file.
+
+ at end table
+
+ at subsubsection Root frequencies
+
+In case of nonstationary models, the ancestral frequencies are distinct parameters. If a model is assumed to be stationary,
+the ``None'' parameter value can be used, which is strictly equivalent to setting
+ at command{nonhomogeneous.stationary=yes}.
+
+As since version 0.4.0, BppSuite uses the keyval syntax to set up root frequencies,
+ at table @command
+ at item nonhomogeneous.root_freq=@{frequency set description@}
+ at end table
+
+The Frequencies set used can be any of the ones described below @xref{Frequencies sets}, depending on the alphabet used.
+
+
+ at subsection Frequencies sets
+ at anchor{Frequencies sets}
+
+The following frequencies distributions are available:
+
+ at table @command
+
+ at item Fixed()
+All frequencies are fixed to their initial value and are not estimated.
+
+ at item GC(theta=@{real]0,1[@})
+For nucleotides only, set the G content equal to the C content.
+
+ at item Full(theta1=@{real]0,1[@}, theta2=@{real]0,1[@}, ..., thetaN=@{real]0,1[@})
+Full parametrization. Contains N free parameters, where N is equal to the size of the alphabet - 1. For codon models, N is the size of the alphabet - 1 - the number of stop codons, whose frequencies are set to 0.
+For nucleotide sequences, theta is the GC content, theta1 is the proportion of A over A+T, and theta2 is the proportion of G over G+C.
+
+ at item Word(frequency=@{frequency set description@})
+
+or 
+
+ at item Word(frequency1=@{frequency set description@}, frequency2=@{frequency set description@}, ..., frequencyn=@{frequency set description@})
+
+frequencies on words computed as the product of frequencies on the
+letters. The arguments @var{frequency} and @var{frequency@{i@}} are for
+descriptions of frequency sets on single sites such as nucleotides or
+proteins. The alphabet must be a Word alphabet.
+
+If the argument is @var{frequency}, the number of multiplied single
+site frequencies is the length of the words in the alphabet, and the
+ at emph{same} single site frequency set is used (ie the parameters are
+shared between all positions).
+
+If the arguments are @var{frequency1}, ..., @var{frequency@{n@}}, the
+length of the words in the alphabet must be @var{n}, and all single
+site frequency sets are independent. In that case, all single site
+frequency set parameters are position dependent.
+
+ at example
+alphabet=Word(letter=DNA,length=4)
+Word(frequency=GC())
+ at end example
+builds a frequency set on 4 bases words, such that all sites
+frequencies follow the same GC frequency set model. The parameter
+name is @var{Word.1234_GC.theta}.
+
+ at example
+alphabet=Word(letter=DNA,length=4)
+Word(frequency1=GC(),frequency2=GC(),frequency3=Fixed(),\
+                      frequency4=Full())
+ at end example
+builds a frequency set on 4 bases words, such first and second sites
+follow independent GC frequency sets, third site follows a Fixed
+frequency set, and fourth site follows a Full frequency set. Then the
+parameters names are @var{Word.1_GC.theta},
+ at var{Word.2_GC.theta}, @var{Word.4_Full.theta_1},
+ at var{Word.4_Full.theta_2}, @var{Word.4_Full.theta_3}.
+
+ at end table
+
+All functions accept the following arguments, that take priority over the parameter specification:
+ at table @command
+
+ at item init=@{balanced,observed@}
+Set all frequencies to the same value, or to their observed counts.
+
+ at item pseudoCount=@{integer@}
+If the frequencies are set from observed counts, a pseudoCount is
+added to all the counts.
+
+ at item values=(@{vector<double>@})
+Explicitly set all frequencies manually. The size of the input vector should equal the number of resolved states in the alphabet, be in alphabetical order of states, and sum to one.
+
+ at end table
+
+
+
+ at subsection Rate across site distribution
+
+From version 0.4.0, BppSuite uses the keyval syntax for specifying the distributions of substitution rate across sites.
+
+ at table @command
+
+ at item rate_distribution = @{rate distribution description@}
+Specify the rate across sites distribution.
+
+ at end table
+
+The rate distribution is set to have a mean of 1.
+The following distributions are currently available:
+
+ at table @command
+
+ at item Uniform
+Uses a constant rate across sites.
+
+ at item Gamma(n=@{int>=2@}, alpha=@{float>0@})
+A discretized gamma distribution of rates, with @var{n} classes, and a
+given shape, with mean 1 (scale=shape).
+
+ at item Invariant(dist=@{rate distribution description@}, p=@{real[0,1]@})
+A composite distribution allowing a special class of invariant site,
+with a probability @var{p}.
+
+ at end table
+
+
+ at section Discrete distributions
+ at anchor{Discrete distributions}
+
+Bio++ contains several probability distributions (currently only
+dicrete or discretized ones). These are:
+
+ at subsection Standard Distributions
+
+ at table @command
+
+ at item Constant(value=@{float@})
+a Dirac distribution on @var{value}, with parameter @var{value}.
+
+ at item Beta(n=@{int>=2@}, alpha=@{float>0@}, beta=@{float>0@}) 
+a discretized beta distribution, with @var{n} classes, with standard
+parameters @var{alpha} and @var{beta}.
+
+ at item Gamma(n=@{int>=2@}, alpha=@{float>0@}, beta=@{float>0@}) 
+a discretized gamma distribution, with @var{n} classes, a shape
+ at var{alpha} and a rate @var{beta}, with parameters @var{alpha} and
+ at var{beta}.
+
+ at item Gaussian(n=@{int>=1@}, mu=@{float@}, sigma=@{float>0@}) 
+a discretized gaussian distribution, with @var{n} classes, a mean
+ at var{mu} and a standard deviation @var{sigma}, with parameters
+ at var{mu} and @var{sigma}.
+
+ at item Exponential(n=@{int>=2@}, lambda=@{float>0@})
+a discretized exponential distribution, with @var{n} classes and
+parameter @var{lambda}.
+
+ at item Simple(values=@{vector<double>@}, probas=@{vector<double>@})
+a discrete distribution with specific values (in @var{values}) and
+their respective non-negative probabibilities (in @var{probas}). The
+parameters are @var{V1}, @var{V2}, ..., @var{Vn} for all the values
+and the relative probabibility parameters are @var{theta1},
+ at var{theta2}, ..., @var{thetan-1}.
+
+ at item TruncExponential(n=@{int>=2@}, lambda=@{float>0@}, tp=@{float>0@})
+a discretized truncated exponential distribution, with @var{n}
+classes, parameter @var{lambda} and a truncation point @var{tp}. The
+parameters are @var{lambda} and @var{tp}.
+
+ at item Uniform(n=@{int>=1@}, begin=@{float>0@}, end=@{float>0@})
+a uniform distribution, with @var{n} classes in interval
+[@var{begin}, at var{end}]. There are no parameters.
+
+ at end table
+
+ at subsection Mixture Distributions
+
+ at table @command
+
+ at item Mixture(probas=@{vector<double>@}, distribution1=@{distribution description@}, ..., distributionn=@{distribution description@}) 
+
+a Mixture of discrete distributions with specific probabilities (in
+ at var{probas}) and their respective desccriptions. (in @var{probas}).
+The parameters are the relative probabibility parameters @var{theta1},
+ at var{theta2}, ..., @var{thetan-1}, and the parameters of the included
+distributions prefixed by @var{Mixture.i_} where @var{i} is the order
+of the distribution.
+
+For example:
+ at example
+Mixture(probas=(0.3,0.7),distribution1=Beta(n=5,alpha=2,beta=3),\
+                       distribution2=Gamma(n=10,alpha=9,beta=2)) 
+ at end example
+builds a mixture of a discrete beta distribution and of a discrete
+gamma distribution, with a total of 15 classes. The parameters names
+are @var{Mixture.theta1}, @var{Mixture.1_Beta.alpha},
+ at var{Mixture.1_Beta.beta}, @var{Mixture.2_Gamma.alpha} and
+ at var{Mixture.2_Gamma.beta}.
+
+ at end table
+
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node Estimation, WritingSequences, Model, Common
+ at section Numerical parameters estimation
+
+Some programs allow you to (re-)estimate numerical parameters, including
+ at itemize @bullet
+ at item
+Branch lengths
+
+ at item
+Entries of the substitution matrices, included base frequencies values)
+
+ at item
+Parameters of the rate distribution (currently shape parameter of the gamma law, proportion of invariant sites).
+
+ at end itemize
+
+ at table @command
+
+ at item optimization = @{method@}
+where ``method'' can be one of
+
+ at table @command
+ at item None
+  (no optimization is performed, initial values are kept ``as is''.
+
+ at item FullD(derivatives=@{Newton|Gradient@})
+Full-derivatives method. Branch length derivatives are computed
+analytically, others numerically. The @var{derivatives} arguments
+specifies if first or second order derivatives should be used. In the
+first case, the optimization method used is the so-called conjugate
+gradient method, otherwise the Newton-Raphson method will be used.
+
+ at item D-Brent(derivatives=@{Newton|Gradient@}, nstep=@{int>0@})
+Branch lengths parameters are optimized using either the conjugate
+gradient or the Newton-Raphson method, other parameters are estimated
+using the Brent method in one dimension. The algorithm then loops over
+all parameters until convergence. The @var{nstep} arguments allow to
+specify a number of progressive steps to perform during optimization.
+If @option{nstep=3} and @option{precision=E-6}, a first optimization
+with @option{precision=E-2}, will be performed, then a round with
+ at option{precision} set to E-4 and finally @option{precision} will be
+set to E-6. This approach generally increases convergence time.
+
+ at item D-BFGS(derivatives=@{Newton|Gradient@}, nstep=@{int>0@})
+Branch lengths parameters are optimized using either the conjugate
+gradient or the Newton-Raphson method, other parameters are estimated
+using the BFGS method. The algorithm then loops over all parameters
+until convergence. The @var{nstep} arguments allow to specify a number
+of progressive steps to perform during optimization. If
+ at option{nstep=3} and @option{precision=E-6}, a first optimization with
+ at option{precision=E-2}, will be performed, then a round with
+ at option{precision} set to E-4 and finally @option{precision} will be
+set to E-6. This approach generally increases convergence time.
+ at end table
+
+ at item optimization.reparametrization = @{boolean@}
+Tells if parameters should be transformed in order to remove constraints
+(for instance positivie-only parameters will be log transformed in order to obtain
+ parameters defined from -inf to +inf).
+This may improve the optimization, particularly for parameter-rich models,
+but the likelihood calculations will take a bit more time.
+
+ at item optimization.final = @{powell|simplex@}
+Optional final optimization step, useful if numerical derivatives are to be used.
+Leave the field empty in order to skip this step.
+
+ at item optimization.profiler = @{@{path@}|std|none@}
+A file where to dump optimization steps (a file path or std for
+standard output or none for no output).
+
+ at item optimization.message_handler = @{@{path@}|std|none@}
+A file where to dump warning messages.
+
+ at item optimization.max_number_f_eval = @{int<0@}
+The maximum number of likelihood evaluations to perform.
+
+ at item optimization.ignore_parameter = @{list<chars>@}
+A list of parameters to ignore during the estimation process. The
+parameter name should include there "namespace", that is their model
+name, for instance K80.kappa, TN93.theta, GTR.a, Gamma.alpha, etc. For
+nested models, the syntax is the following:
+ at command{G01.rdist_Gamma.alpha}, @command{TS98.model_T92.kappa},
+ at command{RE08.lamba}, @command{RE08.model_G01.model_GTR.a}, etc.
+'Ancient' will ignore all parameters in the ancestral frequency set
+(non-homogeneous models), and 'BrLen' will ignore all branch lengths.
+
+The '*' wildcard can be used as a suffix, as in
+ at command{YN98.freq_Word.1_*} for all the parameters whose names start
+with @command{YN98.freq_Word.1_}.
+
+ at item optimization.tolerance = @{float>0@}
+The precision on the log-likelihood to reach.
+
+ at item output.tree.file = @{@{path@}|none@}
+File path where to write the optimized tree.
+
+ at item output.infos = @{@{path@}|none@}
+A text file containing several statistics for each site in the
+alignment.
+These statistics include the posterior rate, rate class with maximum posterior probability and whether the site is conserved or not.
+
+ at end table
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node WritingSequences,  , Estimation, Common
+ at section Writing sequences/alignments to files
+
+ at table @command
+
+ at item output.sequence.file = @{path@}
+The output file where to write the sequences.
+
+ at item output.sequence.format = @{sequence format description@}
+The output file format, using the same syntax as for reading (@pxref{Sequences}).
+Only formats Fasta, Mase and Phylip are supported for writing.
+In addition, most of the formats support the @command{length} argument, that specifies the maximum number of sequence characters to output on each line (default set to 100).
+
+ at end table
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node Reference,  , Common, Top
+ at chapter Bio++ Program Suite Reference
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+This section now details the specific options for each program in the Bio++ Program suite.
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at menu
+* bppml::                       Bio++ Maximum Likelihood.
+* bppseqgen::                   Bio++ Sequence Generator.
+* bppancestor::                 Bio++ Ancestral Sequences and Rates reconstruction.
+* bppdist::                     Bio++ Distance Methods.
+* bpppars::                     Bio++ Maximum Parsimony.
+* bppconsense::                 Bio++ Consensus Trees.
+* bppphysamp::                  Bio++ Phylogenetic Sampler.
+* bppreroot::                   Bio++ Serial Tree Re-rooting.
+* bppseqman::                   Bio++ Sequences Manipulation.
+* bpptreedraw::                 Bio++ Tree Drawing.
+ at end menu
+
+ at node bppml, bppseqgen, Reference, Reference
+ at section BppML: Bio++ Maximum Likelihood
+
+The BppML program uses the common syntax introduced in the previous section for setting the alphabet, loading the sequences (@pxref{Sequences}), specifying the model (@pxref{Model}), and estimating parameters (@pxref{Estimation}).
+
+The BppML program allows you to optimize tree topologies and model parameters and perform a bootstrap analysis.
+
+ at subsection Branch lengths initial values
+
+ at table @command
+
+ at item init.tree = @{user|random@}
+Set the method for the initial tree to use.
+The @option{user} option allows you to use an existing file using the method described in the Common options section.
+This file may have been built using another method like neighbor joining or parsimony for instance.
+The @option{random} option picks a random tree, which is handy to test convergence.
+This may however slows down significantly the optimization process.
+
+ at item init.brlen.method = @{method description@}
+Set how to initialize the branch lengths.
+Available methods include:
+
+ at table @command
+
+ at item Input
+Keep initial branch lengths as is.
+
+ at item Equal(value=@{float>0@})
+Set all branch lengths to the same value, provided as argumet.
+
+ at item Clock
+Coerce to a clock tree.
+
+ at item Grafen(height=@{@{real>0@}|input@}, rho = @{real>0@})
+Uses Grafen's method to compute branch lengths.
+In Grafen's method, each node is given a weight equal to the number of underlying leaves.
+The length of each branch is then computed as the difference of the weights of the connected nodes, and further divided by the number of leaves in the tree.
+The height of all nodes are then raised to the power of 'rho', a user specified value.
+The tree is finally scaled to match a given total height, which can be the original one (@option{height=input}), or fixed to a certain value (usually @option{height=1}).
+A value of rho=0 provides a star tree, and the greater the value of rho, the more recent the inner nodes. 
+
+ at end table
+ at end table
+
+ at subsection Topology optimization
+
+ at table @command
+
+ at item optimization.topology = @{boolean@}
+Enable the tree topology estimation.
+
+ at item optimization.topology.algorithm = @{NNI@}
+Algorithm to use for topology estimation: only NNI available for now.
+
+ at item optimization.topology.algorithm_nni.method = @{fast|better|phyml@}
+Set the NNI method to use.
+ at option{fast}: test sequentially all NNI, if a NNI improving the likelihood is found, it is performed.
+ at option{better}: test all possible NNIs, do the one with the biggest likelihood increase.
+ at option{phyml}: test all possible NNIs, try doing all the improving ones.
+If the final likelihoods is better, perform all NNIs.
+Otherwise, try to do half of them, and so on. 
+In most cases the @option{phyml} option shows the best performance.
+
+ at item optimization.topology.nstep = @{int>0@}
+Number of phyml topology movement steps before re-optimizing parameters.
+
+ at item optimization.topology.numfirst = @{boolean@}
+Shall we estimate parameters before looking for topology movements?
+
+ at item optimization.topology.tolerance.before = @{real>0@}
+Tolerance for the prior-topology estimation.
+The tolerance numbers should not be too low, in order to save computation time and also for a better topology estimation.
+The @option{optimization.tolerance} parameter will be used for the final optimization of numerical parameters (see Common options).
+
+ at item optimization.topology.tolerance.during = 100
+Tolerance for the during-topology estimation
+
+ at item optimization.scale_first = no
+Shall we first scale the tree before optimizing parameters?
+
+ at item optimization.scale_first.tolerance = @{double@}
+The convergence criterion to achieve in the optimization.
+
+ at end table
+
+
+ at subsection Molecular clock
+
+BppML can also optimize branch lengths with a molecular clock:
+
+ at table @command
+
+ at item optimize.clock=@{no|global@}
+Tell if a molecular clock should be assumed.
+Topology estimation is not possible with a clock constraint.
+
+ at end table
+
+
+ at subsection Output results
+
+ at table @command
+
+ at item output.infos = @{@{path@}|none@}
+Alignment information log file (site specific rates, etc):
+
+ at item output.estimates = @{@{path@}|none@}
+Write numerical parameter estimated values.
+
+ at end table
+
+ at subsection Bootstrap analysis
+
+ at table @command
+
+ at item bootstrap.number = @{int>0@}
+Number of replicates. A reasonable value would be >= 100.
+
+ at item bootstrap.approximate = @{boolean@}
+Tell if numerical parameters should be kept to their initial value when bootstrapping. 
+
+ at item bootstrap.verbose = @{boolean@}
+Set this to yes for detailed output when bootstrapping. 
+
+ at item bootstrap.output.file = @{@{path@}|none@}
+Where to write the resulting trees (multi-trees newick format).
+
+ at end table
+
+ at subsection Rather technical options
+
+Theses options are mainly for debugging or testing purpose, in most case you will be happy with the default setting.
+
+ at table @command
+
+ at item likelihood.recursion = @{simple|double@}
+Set the type of likelihood recursion to use.
+ at option{simple}: derivatives take more time to compute, but likelihood computation is faster.
+For big data sets, it can save a lot of memory usage too, particularly when the data are compressed.
+ at option{double}: uses more memory and need more time to compute likelihood, due to the double recursion.
+Analytical derivatives are however faster to compute.
+
+This command has no effect in the following cases: (i) topology estimation: this requires a double recursive algorithm, (ii) optimization with a molecular clock: a simple recursion with data compression is used in this case, due to the impossibility of computing analytical derivatives.
+
+ at item likelihood.recursion_simple.compression = @{simple|recursive@}
+
+Site compression for the simple recursion:
+ at option{simple}: identical sites are not computed twice, @option{recursive}: look for site patterns to save computation time during optimization, but requires extra time for building the patterns.
+This is usually the best option, particularly for nucleotide data sets.
+
+ at end table
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node bppseqgen, bppancestor, bppml, Reference
+ at section BppSeqGen: Bio++ Sequence Simulator
+
+The BppSeqGen program uses the common syntax introduced in the previous section for setting the alphabet, loading the sequences (@pxref{Sequences}) and tree (@pxref{Tree}), specifying the model (@pxref{Model}) and writing sequence data (@pxref{WritingSequences}).
+
+ at table @command
+
+ at item number_of_sites = @{int>0@}
+The number of site positions to simulate.
+
+ at item input.infos = @{path@}
+A info file like the one output by bppML.
+The estimated site-specific rates will then be used to simulate the same number of sites as found in the info file, with the corresponding rates.
+
+ at end table
+ 
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node bppancestor, bppdist, bppseqgen, Reference
+ at section BppAncestor: Bio++ Ancestral Sequence and Rate Reconstruction
+
+The BppAncestor program uses the common syntax introduced in the previous section for setting the alphabet, loading the sequences (@pxref{Sequences}) and tree (@pxref{Tree}), specifying the model (@pxref{Model}) and writing sequence data (@pxref{WritingSequences}).
+
+Specific options are:
+ at table @command
+
+ at item asr.method = @{marginal@}
+That's the only option for now!
+
+ at item asr.probabilities = @{boolean@}
+Tells if we should output the site specific probabilities in each case.
+
+ at item asr.sample = @{boolean@}
+Tell if we should sample from the posterior distribution instead of using the maximum probability.
+
+ at item asr.sample.number = 10 [[asr.sample=yes]]
+Number of sample sequences to output.
+
+ at item asr.add_extant = @{boolean@}
+Should extant (observed) sequences be added to the output sequence file?
+The sequences added are the ones which are used for the actual calculation.
+It they contained gaps for instance, and that these have been replaced by the unknown character (N or X for example),
+then the sequence with unknown characters will be used.
+
+ at item output.sites.file = @{@{path@}|none@}
+Alignment information log file (site specific rates, probabilities, etc).
+
+ at item output.nodes.file = @{@{path@}|none@}
+Ancestral nodes information: expected frequencies of ancestral states.
+
+ at end table
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node bppdist, bpppars, bppancestor, Reference
+ at section BppDist: Bio++ Distance Methods
+ 
+The BppDist program uses the common syntax introduced in the previous section for setting the alphabet, loading the sequences (@pxref{Sequences}) and tree (@pxref{Tree}) and specifying the model (@pxref{Model}, only the section corresponding to the homogeneous case).
+
+Specific options are:
+ at table @command
+
+ at item output.matrix.file = @{@{path@}|none@}
+Where to write the matrix file (only philip format supported for now).
+
+ at item method = @{wpgma|upgma|nj|bionj@}
+The algorithm to use to build the tree.
+
+ at item optimization.method = @{init|pairwise|iterations@}
+There are several ways to optimize substitution parameters.
+The @option{init} option corresponds to the standard behavior, that is, keeping them to their initial, user-provided value.
+The @option{pairwise} option estimate those parameters in a pairwise manner.
+This should be avoided, particularly with parameter-rich models.
+Finally the @option{iterations} option corresponds to Ninio et al, Bioinformatics (2007) recursive algorithm:
+After each distance tree, a global ML estimation of the substitution parameters is performed.
+The estimated values are then used to rebuild a distance matrix and a tree.
+The algorithm stops when the topology does not change anymore.
+The ML optimization uses the parameters described in (@pxref{Estimation}).
+
+ at item output.tree.file = @{@{path@}|none@}
+The final tree, possibly with bootstrap values:
+BppDist uses the same options for bootstrap analysis than the BppML program (@pxref{bppml}).
+ at end table
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node bpppars, bppconsense, bppdist, Reference
+ at section BppPars: Bio++ Maximum Parsimony
+ 
+The BppPars program is currently quite limited and should not be used for serious phylogenetic analysis.
+It can compute parsimony scores and perform topology estimation using the same algorithm of BppML.
+It uses the common syntax introduced in the previous section for setting the alphabet, loading the sequences (@pxref{Sequences}) and tree (@pxref{Tree})).
+
+Specific options are:
+ at table @command
+
+ at item optimization.topology = @{boolean@}
+Tell if topology has to be estimated.
+
+ at item output.tree.file = @{@{path@}|none@}
+Where to print the output file.
+
+ at item bootstrap.number = @{int>0@}
+Number of bootstrap replicates to perform.
+
+ at item bootstrap.output.file = @{@{path@}|none@}
+Where to write bootstrap trees.
+
+ at end table
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node bppconsense, bppphysamp, bpppars, Reference
+ at section BppConsense: Bio++ Consensus Trees
+
+Probably one of the simplest program to use in the suite, just takes a list of trees (for instance produced by BppML, BppDist or BppPars with the bootstrap option enabled) and compute bootstrap values for a reference tree, provided as input, or constructed using a consensus method.
+The program uses the multiple-trees reading options for input (@pxref{Tree}) and single-tree writing options for output.
+
+There are only specific options here:
+ at table @command
+
+ at item tree = @{tree methods@}
+The method to use for getting the reference tree.
+Available function are:
+
+ at table @command
+
+ at item Input
+The tree is loaded using the single-tree reading options (@pxref{Tree}). 
+
+ at item Consensus(threshold = @{int[0,1]@})
+Build a consensus tree according to a given threshold.
+0 will output a fully resolved tree, 0.5 corresponds to the majority rule and 1 to the strict consensus, but any intermediate value can be specified.
+
+ at end table
+
+ at end table
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node bppphysamp, bppreroot, bppconsense, Reference
+ at section BppPhySamp: Bio++ Phylogenetic Sampler
+ 
+The Bio++ Phylogenetic Sampler samples sequences from a file according to phylogenetic information.
+The goal is to clean a big data set by removing redundant sequences, bringing only few additional information for evolutionary analyses.
+
+The BppPhySamp programs uses the common options for setting the alphabet, loading the sequences (@pxref{Sequences}) and (@pxref{Tree}) and writing the resulting data set (@pxref{WritingSequences}).
+
+ at table @command
+
+ at item input.method = @{tree|matrix@}
+The method to provide phylogenetic information, either by a tree or a matrix.
+If the @option{tree} option is used, then the options for reading trees are used (@pxref{Tree}).
+
+ at item input.matrix = @{path@} [[input.method = matrix]]
+The input matrix file.
+
+ at item deletion_method = @{random|threshold|sample@}
+Method to use to remove sequence. 
+
+ at item threshold = @{float>0@} [[deletion_method = threshold ]]
+The minimum distance separating two sequences in the sampled data set.
+Any sequences closer than this threshold in the original data set will be confronted so that only one is kept.
+
+ at item sample_size = @{int>0@} [[deletion_method = sample|random ]]
+The number of sequences to keep in the final data set.
+
+ at item choice_criterion = @{length|length.complete|random@}
+How to chose between closely related sequences? @option{length} takes the longest (maximum number of non-gap positions), @option{length.complete} takes the sequence with the maximum number of fully resolved positions and @option{random} picks one sequence at random.
+ at end table 
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node bppreroot, bppseqman, bppphysamp, Reference
+ at section BppReroot: Bio++ Serial Tree Re-rooting
+ 
+ at table @command
+
+ at item input.trees.file=@{path@}
+A path toward multi-trees file (newick).
+
+ at item outgroups.file=@{path@}
+A path toward a file containing the different levels of outgroups.
+
+ at item print.option=@{boolean@}
+If set to true, the unrootable trees are printed as unrooted in the output file, otherwise the unrootable trees are not printed.
+  
+ at item tryAgain.option=@{boolean@}
+If set to true and ReRoot finds a non-monophyletic outgroup, it tries the next outgroup.
+Otherwise, if ReRoot finds a non-monophyletic outgroup, the analysis for this tree is interrupted.
+No more outgroup are analysed.
+
+ at item output.trees.file=@{path@}
+File where to write the rerooted trees.
+
+ at end table
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node bppseqman, bpptreedraw, bppreroot, Reference
+ at section BppSeqMan: Bio++ Sequence Manipulation
+
+The Bio++ Sequence Manipulator convert between various file formats, and can also perform various operations on sequences.
+It uses the common options for setting the alphabet, loading the sequences (@pxref{Sequences}) and writing the resulting data set (@pxref{WritingSequences}).
+It can use the ``Generic'' option for alphabets if only file format conversion is to be performed, but the correct alphabet must be specified for more advanced manipulations, like in silico molecular biology.
+
+BppSeqMan can perform any number of elementary operation, in any order, providing the output of operation n is compatible with input of operation n+1, and that the input of operation 1 is compatible with the input data.
+
+Specific options:
+ at table @command
+
+ at item sequence.manip = @{list<string>@}
+The list, in appropriate order, of elementary operations to perform.
+See below for a list of these operations.
+ at end table
+
+ at table @option
+ at item Complement [[alphabet = DNA or RNA]]
+Convert to the complementary sequence, keeping the original alphabet.
+
+ at item Transcript [[alphabet = DNA or RNA]]
+Convert to the complementary sequence, switching the type of alphabet (DNA<->RNA).
+
+ at item Switch [[alphabet = DNA or RNA]]
+Change the alphabet type (DNA<->RNA).
+
+ at item Translate(code = @{genetic code@}) [[alphabet = DNA or RNA]]
+Convert to proteins. You have to specify a genetic code, see specific options.
+ at option{code}: The genetic code to use for the translation, one of
+ at itemize
+ at item EchinodermMitochondrialGeneticCode
+ at item InvertebrateMitochondrialGeneticCode
+ at item StandardGeneticCode
+ at item VertebrateMitochondrialGeneticCode
+ at item YeastMitochondrialGeneticCode
+ at end itemize
+
+ at item Invert
+Invert the sequence 5' <-> 3' or N <-> C
+
+ at item RemoveGaps
+Remove all gaps in sequences (ie, 'unalign').
+
+ at item GapToUnknown
+Change gaps to fully unresolved characters, N for nucleotides and X for proteins.
+
+ at item UnknownToGap
+Change (partially) unresolved characters to gaps.
+
+ at item RemoveStops
+Remove all sites with at least one stop codon.
+
+ at item GetCDS
+Remove the first stop codon and everything after in codon sequences.
+
+ at item CoerceToAlignment
+Try to convert a set of sequence to an alignment. This will fail if sequences do not have the same length.
+This step is required before trying commands 'ResolveDotted' or 'KeepComplete'.
+
+ at item ResolveDotted(alphabet=@{RNA|DNA|Proteins@}) [[Aligned sequences]]
+Convert a human-readable alignment to a machine-readable alignment.
+This manipulation must be first if it is used, and the data must be load with the @option{Generic} alphabet.
+ at option{alphabet}: The alphabet to use in order to resolve a dotted alignment.
+
+ at item KeepComplete(maxGapAllowed=@{int>0@} or @{float[0,100]@}+%) [[Aligned sequences]]
+Keep only complete sites, ie sites without any gap. Sites with unresolved characters are not removed.
+It is also possible to fix a maximum proportion of gaps, see specific options.
+ at option{maxGapAllowed}: The maximum proportion of gaps allowed.
+
+ at end table
+
+Examples of use:
+
+ at table @bullet
+
+ at item Just change file format:
+ at example
+sequence.manip=
+ at end example
+
+ at item Change DNA to RNA:
+ at example
+sequence.manip=Switch
+ at end example
+
+ at item Unalign sequences, perform transcription and translate to proteins:
+ at example
+sequence.manip=RemoveGaps,Transcript,Translate
+ at end example
+
+ at item Change all unresolved characters to gaps and keep only positions with less than 5 gaps:
+ at example
+sequence.manip=UnknownToGap,KeepComplete(maxGapAllowed=5)
+ at end example
+
+ at item Keep only positions with less than 30% of gaps, and change them to unresolved characters:
+ at example
+sequence.manip=KeepComplete(maxGapAllowed=30%),GapToUnknown
+ at end example
+
+ at end table
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at node bpptreedraw, , bppseqman, Reference
+ at section BppTreeDraw: Bio++ Tree Drawing
+
+This is a simple program that outputs a tree in various vector formats.
+It takes as input a tree following the standard syntax.
+
+Specific options:
+ at table @command
+
+ at item output.drawing.file = @{path@}
+The file where to output the figure.
+
+ at item output.drawing.format = @{Svg|Xfig|Inkscape|Pgf@}
+The file format.
+ at item output.drawing.plot = @{plotting algorithm@}
+The plotting algorithm can be either Phylogram or Cladogram.
+They follow the keyval syntax, with the following arguments:
+ at end table
+
+ at table @option
+ at item xu, yu @{float@}
+The scale units for x and y axis.
+
+ at item direction.h @{left2right|right2left@}
+Horizontal orientation of the tree plot.
+
+ at item direction.v @{top2bottom|bottom2top@}
+Vertical orientation of the tree plot.
+
+ at item draw.leaves, draw.ids, draw.brlen, draw.bs @{boolean@}
+Tell if leaf names, node ids, branch lengths and/or bootstrap should be drawn.
+
+ at end table
+
+ at c ------------------------------------------------------------------------------------------------------------------
+
+ at c ------------------------------------------------------------------------------------------------------------------
+ at c end of document
+
+ at c @node Index,  , Reference, Top
+ at c @unnumbered Index
+ at c
+ at c @printindex cp
+
+ at bye
diff --git a/doc/version.texi b/doc/version.texi
new file mode 100644
index 0000000..7db2c33
--- /dev/null
+++ b/doc/version.texi
@@ -0,0 +1,2 @@
+ at set VERSION 0.4
+ at set UPDATED 1
diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt
new file mode 100644
index 0000000..a97b2d6
--- /dev/null
+++ b/man/CMakeLists.txt
@@ -0,0 +1,16 @@
+# CMake script for Bio++ Program Suite
+# Author: Julien Dutheil
+# Created: 22/08/2009
+
+IF(MAN)
+  INSTALL(FILES bppml.1.gz DESTINATION share/man/man1)
+  INSTALL(FILES bppseqgen.1.gz DESTINATION share/man/man1)
+  INSTALL(FILES bppancestor.1.gz DESTINATION share/man/man1)
+  INSTALL(FILES bpppars.1.gz DESTINATION share/man/man1)
+  INSTALL(FILES bppdist.1.gz DESTINATION share/man/man1)
+  INSTALL(FILES bppconsense.1.gz DESTINATION share/man/man1)
+  INSTALL(FILES bppseqman.1.gz DESTINATION share/man/man1)
+  INSTALL(FILES bppreroot.1.gz DESTINATION share/man/man1)
+  INSTALL(FILES bppphysamp.1.gz DESTINATION share/man/man1)
+  INSTALL(FILES bpptreedraw.1.gz DESTINATION share/man/man1)
+ENDIF(MAN)
diff --git a/man/bppancestor.1.txt b/man/bppancestor.1.txt
new file mode 100644
index 0000000..80e465f
--- /dev/null
+++ b/man/bppancestor.1.txt
@@ -0,0 +1,37 @@
+.TH BPPANCESTOR 1 LOCAL
+
+.SH NAME
+
+bppml - Ancestral sequence reconstruction with Bio++
+
+.SH SYNOPSIS
+
+.B bppancestor [options]
+
+.SH AVAILABILITY
+
+All UNIX flavors
+
+.SH DESCRIPTION
+
+bppancestor performs ancestral sequence reconstructions under a large variety of models, including non-homogeneous ones.
+
+.SH OPTIONS
+
+You should refer to 'info bppsuite' or to the online manual of bppsuite for a complete list of available options.
+
+.TP 5
+
+--noninteractive
+
+generates output for redirection in a file.
+
+.TP
+
+param=file
+
+reads a file for loading options
+
+.SH AUTHOR
+
+The Bio++ Development Team.
diff --git a/man/bppconsense.1.txt b/man/bppconsense.1.txt
new file mode 100644
index 0000000..c1ea246
--- /dev/null
+++ b/man/bppconsense.1.txt
@@ -0,0 +1,37 @@
+.TH BPPCONSENSE 1 LOCAL
+
+.SH NAME
+
+bppconsense - Tree consensus analysis with Bio++
+
+.SH SYNOPSIS
+
+.B bppconsense [options]
+
+.SH AVAILABILITY
+
+All UNIX flavors
+
+.SH DESCRIPTION
+
+bppconsense performs tree consensus construction under a large variety of rules.
+
+.SH OPTIONS
+
+You should refer to 'info bppsuite' or to the online manual of bppsuite for a complete list of available options.
+
+.TP 5
+
+--noninteractive
+
+generates output for redirection in a file.
+
+.TP
+
+param=file
+
+reads a file for loading options
+
+.SH AUTHOR
+
+The Bio++ Development Team.
diff --git a/man/bppdist.1.txt b/man/bppdist.1.txt
new file mode 100644
index 0000000..16dcab8
--- /dev/null
+++ b/man/bppdist.1.txt
@@ -0,0 +1,37 @@
+.TH BPPDIST 1 LOCAL
+
+.SH NAME
+
+bppdist - Distance methods for phylogenetic reconstruction with Bio++
+
+.SH SYNOPSIS
+
+.B bppdist [options]
+
+.SH AVAILABILITY
+
+All UNIX flavors
+
+.SH DESCRIPTION
+
+bppdist performs phylogenetic reconstruction using distance methods (like neighbor joining or bioNJ).
+
+.SH OPTIONS
+
+You should refer to 'info bppsuite' or to the online manual of bppsuite for a complete list of available options.
+
+.TP 5
+
+--noninteractive
+
+generates output for redirection in a file.
+
+.TP
+
+param=file
+
+reads a file for loading options
+
+.SH AUTHOR
+
+The Bio++ Development Team.
diff --git a/man/bppml.1.txt b/man/bppml.1.txt
new file mode 100644
index 0000000..16d11cc
--- /dev/null
+++ b/man/bppml.1.txt
@@ -0,0 +1,37 @@
+.TH BPPML 1 LOCAL
+
+.SH NAME
+
+bppml - Maximum likelihood phylogenetic analysis with Bio++
+
+.SH SYNOPSIS
+
+.B bppml [options]
+
+.SH AVAILABILITY
+
+All UNIX flavors
+
+.SH DESCRIPTION
+
+bppml performs maximum likelihood (ML) estimation of phylogenies and models.
+
+.SH OPTIONS
+
+You should refer to 'info bppsuite' or to the online manual of bppsuite for a complete list of available options.
+
+.TP 5
+
+--noninteractive
+
+generates output for redirection in a file.
+
+.TP
+
+param=file
+
+reads a file for loading options
+
+.SH AUTHOR
+
+The Bio++ Development Team.
diff --git a/man/bpppars.1.txt b/man/bpppars.1.txt
new file mode 100644
index 0000000..49bff92
--- /dev/null
+++ b/man/bpppars.1.txt
@@ -0,0 +1,37 @@
+.TH BPPPARS 1 LOCAL
+
+.SH NAME
+
+bpppars - Parsimony phylogenetic analysis with Bio++
+
+.SH SYNOPSIS
+
+.B bpppars [options]
+
+.SH AVAILABILITY
+
+All UNIX flavors
+
+.SH DESCRIPTION
+
+bpppars performs parsimony reconstruction of phylogenies and models.
+
+.SH OPTIONS
+
+You should refer to 'info bppsuite' or to the online manual of bppsuite for a complete list of available options.
+
+.TP 5
+
+--noninteractive
+
+generates output for redirection in a file.
+
+.TP
+
+param=file
+
+reads a file for loading options
+
+.SH AUTHOR
+
+The Bio++ Development Team.
diff --git a/man/bppphysamp.1.txt b/man/bppphysamp.1.txt
new file mode 100644
index 0000000..09e85d7
--- /dev/null
+++ b/man/bppphysamp.1.txt
@@ -0,0 +1,37 @@
+.TH BPPPHYSAMP 1 LOCAL
+
+.SH NAME
+
+bppphysamp - Phylogenetic sampling with Bio++
+
+.SH SYNOPSIS
+
+.B bppphysamp [options]
+
+.SH AVAILABILITY
+
+All UNIX flavors
+
+.SH DESCRIPTION
+
+bppphysamp samples a sequence alignment according to a given phylogenetic tree, in order to control the set of redundancy in the data.
+
+.SH OPTIONS
+
+You should refer to 'info bppsuite' or to the online manual of bppsuite for a complete list of available options.
+
+.TP 5
+
+--noninteractive
+
+generates output for redirection in a file.
+
+.TP
+
+param=file
+
+reads a file for loading options
+
+.SH AUTHOR
+
+The Bio++ Development Team.
diff --git a/man/bppreroot.1.txt b/man/bppreroot.1.txt
new file mode 100644
index 0000000..8067265
--- /dev/null
+++ b/man/bppreroot.1.txt
@@ -0,0 +1,37 @@
+.TH BPPREROOT 1 LOCAL
+
+.SH NAME
+
+bppreroot - Sequential rerooting of trees with Bio++
+
+.SH SYNOPSIS
+
+.B bppreroot [options]
+
+.SH AVAILABILITY
+
+All UNIX flavors
+
+.SH DESCRIPTION
+
+bppreroot reroots a set of trees according to a list of outgroup species.
+
+.SH OPTIONS
+
+You should refer to 'info bppsuite' or to the online manual of bppsuite for a complete list of available options.
+
+.TP 5
+
+--noninteractive
+
+generates output for redirection in a file.
+
+.TP
+
+param=file
+
+reads a file for loading options
+
+.SH AUTHOR
+
+The Bio++ Development Team.
diff --git a/man/bppseqgen.1.txt b/man/bppseqgen.1.txt
new file mode 100644
index 0000000..c9e9358
--- /dev/null
+++ b/man/bppseqgen.1.txt
@@ -0,0 +1,37 @@
+.TH BPPSEQGEN 1 LOCAL
+
+.SH NAME
+
+bppseqgen - Sequence simulation with Bio++
+
+.SH SYNOPSIS
+
+.B bppseqgen [options]
+
+.SH AVAILABILITY
+
+All UNIX flavors
+
+.SH DESCRIPTION
+
+bppml performs sequence simulation under a given phylogeny or ancestral recombination graph and a large variety of models.
+
+.SH OPTIONS
+
+You should refer to 'info bppsuite' or to the online manual of bppsuite for a complete list of available options.
+
+.TP 5
+
+--noninteractive
+
+generates output for redirection in a file.
+
+.TP
+
+param=file
+
+reads a file for loading options
+
+.SH AUTHOR
+
+The Bio++ Development Team.
diff --git a/man/bppseqman.1.txt b/man/bppseqman.1.txt
new file mode 100644
index 0000000..d0d6491
--- /dev/null
+++ b/man/bppseqman.1.txt
@@ -0,0 +1,37 @@
+.TH BPPSEQMAN 1 LOCAL
+
+.SH NAME
+
+bppseqman - Bio++ sequence manipulation and in silico molecular biology with Bio++
+
+.SH SYNOPSIS
+
+.B bppseqman [options]
+
+.SH AVAILABILITY
+
+All UNIX flavors
+
+.SH DESCRIPTION
+
+bppseqman performs several in silico molecular biology operations like transcription, translation or traduction. It also allows conversion between various file format, and bioinformatics tasks like removing of gaps, unknow characters or stop codons.
+
+.SH OPTIONS
+
+You should refer to 'info bppsuite' or to the online manual of bppsuite for a complete list of available options.
+
+.TP 5
+
+--noninteractive
+
+generates output for redirection in a file.
+
+.TP
+
+param=file
+
+reads a file for loading options
+
+.SH AUTHOR
+
+Bio++ Development Team.
diff --git a/man/bpptreedraw.1.txt b/man/bpptreedraw.1.txt
new file mode 100644
index 0000000..132b070
--- /dev/null
+++ b/man/bpptreedraw.1.txt
@@ -0,0 +1,37 @@
+.TH BPPTREEDRAW 1 LOCAL
+
+.SH NAME
+
+bpptreedraw - Phylogenetic tree drawing with Bio++
+
+.SH SYNOPSIS
+
+.B bpptreedraw [options]
+
+.SH AVAILABILITY
+
+All UNIX flavors
+
+.SH DESCRIPTION
+
+bpptreedraw generates a figure of a phylogenetic tree in vector format (SVG, LaTex/PGF, Fig), so that it can be easily edited with a dedicated software like Inkscape or XFig.
+
+.SH OPTIONS
+
+You should refer to 'info bppsuite' or to the online manual of bppsuite for a complete list of available options.
+
+.TP 5
+
+--noninteractive
+
+generates output for redirection in a file.
+
+.TP
+
+param=file
+
+reads a file for loading options
+
+.SH AUTHOR
+
+The Bio++ Development Team.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/bppsuite.git



More information about the debian-med-commit mailing list