diff --git a/CMakeLists.txt b/CMakeLists.txt index 3f3053d..4afa5ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,211 +5,32 @@ SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Modules") PROJECT(SPAGeDi) SET(SPAGEDI_NAME "SPAGeDi") -SET(SPAGEDI_VERSION "1.4b-CUSTOM") # Default Version Number +SET(SPAGEDI_VERSION "1.5d") # Default Version Number +SET(SPAGEDI_VERSION_MAJOR "1") +SET(SPAGEDI_VERSION_MINOR "5") -# Automatic Version Numbers -FIND_PACKAGE(Git) +SET(SPAGEDI_DIR "spagedi-${SPAGEDI_VERSION_MAJOR}.${SPAGEDI_VERSION_MINOR}") -INCLUDE("${CMAKE_SOURCE_DIR}/src/spagedi_version.h.pkg" OPTIONAL - RESULT_VARIABLE VERSION_FOUND) - -IF(VERSION_FOUND) - SET(SPAGEDI_VERSION "${PACKAGE_VERSION}") -ELSEIF(SPAGEDI_VERSION_GIT) - SET(SPAGEDI_VERSION "${SPAGEDI_VERSION_GIT}") -ELSEIF(GIT_FOUND) - EXECUTE_PROCESS( - COMMAND ${GIT_EXECUTABLE} describe --tags --dirty - RESULT_VARIABLE GIT_RESULT - OUTPUT_VARIABLE PKG_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_QUIET - ) - IF(GIT_RESULT EQUAL 0) - SET(SPAGEDI_VERSION "${PKG_VERSION}") - ENDIF() -ENDIF() - -IF(SPAGEDI_VERSION MATCHES "([0-9]+)\\.([0-9]+)([a-z]+)-?(.*)") - SET(SPAGEDI_VERSION_MAJOR ${CMAKE_MATCH_1}) - SET(SPAGEDI_VERSION_MINOR ${CMAKE_MATCH_2}) - SET(SPAGEDI_VERSION_PATCH ${CMAKE_MATCH_3}) - SET(SPAGEDI_VERSION_BUILD ${CMAKE_MATCH_4}) - SET(SPAGEDI_VERSION_MAIN "${SPAGEDI_VERSION_MAJOR}.${SPAGEDI_VERSION_MINOR}${SPAGEDI_VERSION_PATCH}") - - SET(LETTERS a b c d e f g h i j k l m n o p q r s t u v w x y z) - LIST(FIND LETTERS ${SPAGEDI_VERSION_PATCH} SPAGEDI_VERSION_PATCH_NUM) - SET(SPAGEDI_VERSION_NUMBERED "${SPAGEDI_VERSION_MAJOR}.${SPAGEDI_VERSION_MINOR}.${SPAGEDI_VERSION_PATCH_NUM}.0") -ENDIF() - -IF(WIN32 AND NOT UNIX) - SET(SPAGEDI_DIR) -ELSEIF(APPLE_BUNDLE) - SET(SPAGEDI_DIR) -ELSE(WIN32 AND NOT UNIX) - SET(CMAKE_INSTALL_DIR_VERSION_DEFAULT "${SPAGEDI_VERSION_MAJOR}.${SPAGEDI_VERSION_MINOR}") - SET(SPAGEDI_DIR "/spagedi-\${CMAKE_INSTALL_DIR_VERSION}") -ENDIF(WIN32 AND NOT UNIX) - -SET(CMAKE_DATA_DIR "share${SPAGEDI_DIR}" CACHE STRING +SET(CMAKE_DATA_DIR "share/${SPAGEDI_DIR}" CACHE STRING "Install location for data (relative to prefix).") -SET(CMAKE_DOC_DIR "doc${SPAGEDI_DIR}" CACHE STRING +SET(CMAKE_DOC_DIR "doc/${SPAGEDI_DIR}" CACHE STRING "Install location for documentation (relative to prefix).") SET(CMAKE_MAN_DIR "man" CACHE STRING "Install location for man pages (relative to prefix).") MARK_AS_ADVANCED(CMAKE_DATA_DIR CMAKE_DOC_DIR CMAKE_MAN_DIR) -SET(CPACK_SOURCE_IGNORE_FILES - "/CVS/" /\\\\\\\\.bzr/;/\\\\\\\\.hg/;/\\\\\\\\.git/;\\\\\\\\.swp$;\\\\\\\\.#;/#" - "/CVS/" "/\\\\.svn/" "/\\\\.bzr/" "/\\\\.hg/" "/\\\\.git/" "\\\\.swp$" - "\\\\.#" "/#" ".*~$" - "/releng/" "/build/" - "spagedi\\\\.exe" "spagedi$" - "/CMakeFiles/" "CMakeCache\\\\.txt" - "CPack.*Config\\\\.cmake" "cmake_install\\\\.cmake" - "install_manifest\\\\.txt$" - "_CPACK_PACKAGES" "_CPack_Packages" - "\\\\.vcproj" "\\\\.dir" "\\\\.ncb$" "\\\\.sln$" "\\\\.suo$" - "Makefile$" "\\\\.ilk" "\\\\.pdb" -) - -SET(CPACK_INSTALL_SCRIPT "${CMAKE_SOURCE_DIR}/Modules/new_install.cmake") - -SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${SPAGEDI_NAME}") -SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Spatial Pattern Analysis of Genetic Diversity") -SET(CPACK_PACKAGE_VERSION ${SPAGEDI_VERSION}) -SET(CPACK_PACKAGE_VERSION_MAJOR ${SPAGEDI_VERSION_MAJOR}) -SET(CPACK_PACKAGE_VERSION_MINOR ${SPAGEDI_VERSION_MINOR}) -SET(CPACK_PACKAGE_VERSION_PATCH ${SPAGEDI_VERSION_PATCH}) -SET(CPACK_PACKAGE_VENDOR "OlivierHardy") -SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/readme.txt") -SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/copying.txt") -SET(CPACK_PACKAGE_EXECUTABLES "spagedi" "SPAGeDi") - -SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}") - -IF(NOT DEFINED CPACK_SYSTEM_NAME) - if(APPLE) # work around a bug in CMakeDetermineSystem.cmake - exec_program(uname ARGS -m OUTPUT_VARIABLE CPACK_SYSTEM_PROCESSOR RETURN_VAL val) - IF("${CMAKE_C_FLAGS}" MATCHES "[-]m32") - SET(CPACK_SYSTEM_PROCESSOR i386) - ELSEIF("${CMAKE_C_FLAGS}" MATCHES "[-]m64") - SET(CPACK_SYSTEM_PROCESSOR x86_64) - ENDIF() - if(CPACK_SYSTEM_PROCESSOR STREQUAL "x86_64") - set(CPACK_SYSTEM_NAME Darwin64) - else() - set(CPACK_SYSTEM_NAME Darwin) - endif() - SET(CPACK_SYSTEM_NAME ${CPACK_SYSTEM_NAME}-${CPACK_SYSTEM_PROCESSOR}) - elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN") - SET(CPACK_SYSTEM_NAME Cygwin-x86) - elseif(UNIX) - set(CPACK_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR}) - # Check for building 32-bit binaries on 64-bit machines - # Adjust names as appropriate - IF("${CMAKE_C_FLAGS}" MATCHES "[-]m32") - IF(CPACK_SYSTEM_PROCESSOR MATCHES "x86") - SET(CPACK_SYSTEM_PROCESSOR x86_32) - ELSE() - SET(CPACK_SYSTEM_PROCESSOR i386) - ENDIF() - # Check for building 64-bit binaries on 32-bit machines - # Adjust names as appropriate - ELSEIF("${CMAKE_C_FLAGS}" MATCHES "[-]m64") - IF(CPACK_SYSTEM_PROCESSOR MATCHES "x86") - SET(CPACK_SYSTEM_PROCESSOR x86_64) - ELSE() - SET(CPACK_SYSTEM_PROCESSOR amd64) - ENDIF() - ENDIF() - SET(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CPACK_SYSTEM_PROCESSOR}) - ELSE() - SET(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}) - ENDIF() -ENDIF() - -IF(${CPACK_SYSTEM_NAME} MATCHES Windows) - IF(CMAKE_CL_64) - SET(CPACK_SYSTEM_NAME Win64-amd64) - SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64") - ELSE() - SET(CPACK_SYSTEM_NAME Win32-x86) - ENDIF() -ENDIF() - -IF(NOT DEFINED CPACK_PACKAGE_FILE_NAME) - SET(CPACK_PACKAGE_FILE_NAME - "${CPACK_SOURCE_PACKAGE_FILE_NAME}-${CPACK_SYSTEM_NAME}") -ENDIF() - -IF(WIN32 AND NOT UNIX) - # There is a bug in NSI that does not handle full unix paths properly. Make - # sure there is at least one set of four (4) backlasshes. - #SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/Utilities/Release\\\\InstallIcon.bmp") - SET(CPACK_SOURCE_GENERATOR "ZIP") - SET(CPACK_GENERATOR "ZIP;NSIS") - SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\spagedi.exe") - SET(CPACK_NSIS_DISPLAY_NAME "${SPAGEDI_NAME} ${SPAGEDI_VERSION_MAIN}") - SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\www.ulb.ac.be\\\\sciences\\\\ecoevol\\\\spagedi.html") - SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.ulb.ac.be\\\\sciences\\\\ecoevol\\\\spagedi.html") - SET(CPACK_NSIS_CONTACT "ohardy@ulb.ac.be") - SET(CPACK_NSIS_MODIFY_PATH ON) - SET(CPACK_NSIS_DEFINES " - VIProductVersion ${SPAGEDI_VERSION_NUMBERED} - VIAddVersionKey ProductName \\\"${SPAGEDI_NAME}\\\" - VIAddVersionKey FileDescription \\\"Spatial Pattern Analysis of Genetic Diversity\\\" - VIAddVersionKey Comments \\\"A binary installer for ${SPAGEDI_NAME}.\\\" - VIAddVersionKey CompanyName \\\"${CPACK_PACKAGE_VENDOR}\\\" - VIAddVersionKey LegalCopyright \\\"${CPACK_PACKAGE_VENDOR}\\\" - VIAddVersionKey InternalName \\\"${SPAGEDI_NAME} Installer\\\" - VIAddVersionKey LegalTrademarks \\\"\\\" - VIAddVersionKey OriginalFilename \\\"${CPACK_PACKAGE_FILE_NAME}.exe\\\" - VIAddVersionKey FileVersion ${SPAGEDI_VERSION_NUMBERED} - VIAddVersionKey ProductVersion ${SPAGEDI_VERSION_NUMBERED} - ") -ELSEIF(APPLE) - SET(CPACK_SOURCE_GENERATOR "TBZ2") - SET(CPACK_GENERATOR "PackageMaker" "TBZ2") - SET(CPACK_STRIP_FILES "bin/spagedi") -ELSE() - SET(CPACK_SOURCE_GENERATOR "TBZ2") - SET(CPACK_GENERATOR "TBZ2") - SET(CPACK_STRIP_FILES "bin/spagedi") -ENDIF() - -SET(CPACK_SOURCE_DIR ${CMAKE_SOURCE_DIR}) -SET(CPACK_BINARY_DIR ${CMAKE_BINARY_DIR}) -INCLUDE(CPack) - -ADD_CUSTOM_TARGET(version - ${CMAKE_COMMAND} -D SRC=${CMAKE_SOURCE_DIR} - -D DST=${CMAKE_BINARY_DIR} - -D GIT_EXECUTABLE=${GIT_EXECUTABLE} - -D PACKAGE_NAME=${SPAGEDI_NAME} - -D PACKAGE_VERSION=${SPAGEDI_VERSION} - -P ${CMAKE_SOURCE_DIR}/Modules/version.cmake -) - -ADD_CUSTOM_TARGET(new_package - COMMAND ${CMAKE_COMMAND} - -P ${CMAKE_SOURCE_DIR}/Modules/new_package.cmake -) - -ADD_CUSTOM_TARGET(new_package_source - COMMAND ${CMAKE_COMMAND} - -P ${CMAKE_SOURCE_DIR}/Modules/new_package_source.cmake -) - -ADD_DEPENDENCIES(new_package version spagedi) -ADD_DEPENDENCIES(new_package_source version) - ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(example_data) -INCLUDE(install_glue) - INSTALL(FILES manual.pdf copying.txt readme.txt DESTINATION ${CMAKE_DOC_DIR}) -#INCLUDE(InstallRequiredSystemLibraries) +# uninstall target +if(NOT TARGET uninstall) + configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" + IMMEDIATE @ONLY) + add_custom_target(uninstall + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) +endif() diff --git a/Modules/CMakeIngestOSXBundleLibraries.cmake b/Modules/CMakeIngestOSXBundleLibraries.cmake deleted file mode 100755 index 37e4701..0000000 --- a/Modules/CMakeIngestOSXBundleLibraries.cmake +++ /dev/null @@ -1,339 +0,0 @@ -# -# CMakeIngestOSXBundleLibraries.cmake -# -# Only for the Mac build. -# -# Depends on OS tools: -# otool -# install_name_tool -# -# This script ingests libraries and frameworks into an existing .app bundle and -# then uses install_name_tool to fixup the references to the newly embedded -# libraries so that they all refer to each other via "@executable_path." -# -# The main intent (and simplifying assumption used for developing the script) -# is to have a single executable .app bundle that becomes "self-contained" by -# copying all non-system libs that it depends on into itself. The further -# assumption is that all such dependencies are simple .dylib shared library -# files or Mac Framework libraries. -# -# This script can be used as part of the build via ADD_CUSTOM_COMMAND, or used -# only during make install via INSTALL SCRIPT. -# -if(NOT DEFINED input_file) - message(FATAL_ERROR " -${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): error: Variable input_file is not defined. - -Use a command line like this to use this script: - cmake \"-Dinput_file=filename\" \"-Dextra_libs=/path/to/lib1;/path/to/lib2\" \"-Dlib_path=/path/to/unqualified/libs\" -P \"${CMAKE_CURRENT_LIST_FILE}\" - -'input_file' should be the main executable inside a Mac bundle directory structure. -For example, use 'bin/paraview.app/Contents/MacOS/paraview' from a ParaView binary dir. - -'extra_libs' should be a semi-colon separated list of full path names to extra libraries -to copy into the bundle that cannot be derived from otool -L output. For example, you may -also want to fixup dynamically loaded plugins from your build tree and copy them into the -bundle. - -'lib_path' should be the path where to find libraries referenced without a path name in -otool -L output. - -") -endif(NOT DEFINED input_file) -message("ingest ${input_file}") -set(eol_char "E") - -if(APPLE) - set(dep_tool "otool") - set(dep_cmd_args "-L") - set(dep_regex "^\t([^\t]+) \\(compatibility version ([0-9]+.[0-9]+.[0-9]+), current version ([0-9]+.[0-9]+.[0-9]+)\\)${eol_char}$") -endif(APPLE) - -message("") -message("# Script \"${CMAKE_CURRENT_LIST_FILE}\" running...") -message("") -message("input_file: '${input_file}'") -message("extra_libs: '${extra_libs}'") -message("lib_path: '${lib_path}'") -message("") - -get_filename_component(input_file_full "${input_file}" ABSOLUTE) -message("input_file_full: '${input_file_full}'") - -get_filename_component(bundle "${input_file_full}/../../.." ABSOLUTE) -message("bundle: '${bundle}'") - - -find_program(dep_cmd ${dep_tool}) - -# find the full path to the framework in path set the result -# in pathout -macro(find_framework_full_path path pathout) - set(${pathout} "${path}") - if(NOT EXISTS "${path}") - set(FRAMEWORK_SEARCH "/Library/Frameworks" - "/System/Library/Frameworks" ) - set(__FOUND FALSE) - foreach(f ${FRAMEWORK_SEARCH}) - set(newd "${f}/${path}") - if(EXISTS "${newd}" AND NOT __FOUND) - set(${pathout} "${newd}") - set(__FOUND TRUE) - endif(EXISTS "${newd}" AND NOT __FOUND) - endforeach(f) - endif(NOT EXISTS "${path}") -endmacro(find_framework_full_path) - - -macro(append_unique au_list_var au_value) - set(${au_list_var} ${${au_list_var}} "${au_value}") -endmacro(append_unique) - - -macro(gather_dependents gd_target gd_dependents_var) - execute_process( - COMMAND ${dep_cmd} ${dep_cmd_args} ${gd_target} - OUTPUT_VARIABLE dep_tool_ov - ) - - string(REGEX REPLACE ";" "\\\\;" dep_candidates "${dep_tool_ov}") - string(REGEX REPLACE "\n" "${eol_char};" dep_candidates "${dep_candidates}") - - set(${gd_dependents_var} "") - - foreach(candidate ${dep_candidates}) - if("${candidate}" MATCHES "${dep_regex}") - string(REGEX REPLACE "${dep_regex}" "\\1" raw_item "${candidate}") - string(REGEX REPLACE "${dep_regex}" "\\2" raw_compat_version "${candidate}") - string(REGEX REPLACE "${dep_regex}" "\\3" raw_current_version "${candidate}") - - set(item "${raw_item}") - - string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\1" compat_major_version "${raw_compat_version}") - string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\2" compat_minor_version "${raw_compat_version}") - string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\3" compat_patch_version "${raw_compat_version}") - - string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\1" current_major_version "${raw_current_version}") - string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\2" current_minor_version "${raw_current_version}") - string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\3" current_patch_version "${raw_current_version}") - - #message("${raw_item} - compat ${raw_compat_version} - current ${raw_current_version}") - append_unique("${gd_dependents_var}" "${item}") - else("${candidate}" MATCHES "${dep_regex}") - if("${candidate}" STREQUAL "${gd_target}:${eol_char}") - #message("info: ignoring target name...") - else("${candidate}" STREQUAL "${gd_target}:${eol_char}") - message("error: candidate='${candidate}'") - endif("${candidate}" STREQUAL "${gd_target}:${eol_char}") - endif("${candidate}" MATCHES "${dep_regex}") - endforeach(candidate) -endmacro(gather_dependents) - - -message("Gathering dependent libraries for '${input_file_full}'...") -gather_dependents("${input_file_full}" deps) -message("") - - -# Order lexicographically: -# -list(SORT deps) - - -# Split into separate lists, "system" "embedded" and "nonsystem" libraries. -# System libs are assumed to be available on all target runtime Macs and do not -# need to be copied/fixed-up by this script. Embedded libraries are assumed to -# be in the bundle and fixed-up already. Only non-system, non-embedded libs -# need copying and fixing up... -# -set(system_deps "") -set(embedded_deps "") -set(nonsystem_deps "") - -foreach(d ${deps}) - set(d_is_embedded_lib 0) - set(d_is_system_lib 0) - - if("${d}" MATCHES "^(/System/Library|/usr/lib)") - set(d_is_system_lib 1) - else("${d}" MATCHES "^(/System/Library|/usr/lib)") - if("${d}" MATCHES "^@executable_path") - set(d_is_embedded_lib 1) - endif("${d}" MATCHES "^@executable_path") - endif("${d}" MATCHES "^(/System/Library|/usr/lib)") - - if(d_is_system_lib) - set(system_deps ${system_deps} "${d}") - else(d_is_system_lib) - if(d_is_embedded_lib) - set(embedded_deps ${embedded_deps} "${d}") - else(d_is_embedded_lib) - set(nonsystem_deps ${nonsystem_deps} "${d}") - endif(d_is_embedded_lib) - endif(d_is_system_lib) -endforeach(d) - -message("") -message("system_deps:") -foreach(d ${system_deps}) - message("${d}") -endforeach(d ${system_deps}) - -message("") -message("embedded_deps:") -foreach(d ${embedded_deps}) - message("${d}") -endforeach(d ${embedded_deps}) - -message("") -message("nonsystem_deps:") -foreach(d ${nonsystem_deps}) - message("${d}") -endforeach(d ${nonsystem_deps}) - -message("") - - -macro(copy_library_into_bundle clib_bundle clib_libsrc clib_dstlibs clib_fixups) - # - # If the source library is a framework, copy just the shared lib bit of the framework - # into the bundle under "${clib_bundle}/Contents/Frameworks" - if it is just a dylib - # copy it into the same directory with the main bundle executable under - # "${clib_bundle}/Contents/MacOS" - # - if("${clib_libsrc}" MATCHES ".framework/.*/.*/.*") - # make sure clib_libsrc is a full path to the framework as a framework - # maybe linked in with relative paths in some cases - find_framework_full_path("${clib_libsrc}" fw_full_src) - get_filename_component(fw_src "${fw_full_src}" ABSOLUTE) - get_filename_component(fw_srcdir "${clib_libsrc}/../../.." ABSOLUTE) - get_filename_component(fwdirname "${fw_srcdir}" NAME) - string(REGEX REPLACE "^(.*)\\.framework$" "\\1" fwname "${fwdirname}") - string(REGEX REPLACE "^.*/${fwname}\\.framework/(.*)$" "\\1" fwlibname "${clib_libsrc}") - set(fw_dstdir "${clib_bundle}/Contents/Frameworks/${fwdirname}") - -# message("") -# message("fwdirname: '${fwdirname}'") -# message("fwname: '${fwname}'") -# message("fwlibname: '${fwlibname}'") -# message("fw_src: '${fw_src}'") -# message("fw_srcdir: '${fw_srcdir}'") -# message("fw_dstdir: '${fw_dstdir}'") -# message("new_name: '@executable_path/../Frameworks/${fwdirname}/${fwlibname}'") -# message("") - - message("Copying ${fw_srcdir} into bundle...") - - # This command copies the *entire* framework recursively: - # -# execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory -# "${fw_srcdir}" "${fw_dstdir}" -# ) - - # This command copies just the main shared lib of the framework: - # (This technique will not work for frameworks that have necessary - # resource or auxiliary files...) - # - message("fw_src = [${fw_src}] fw_full_src = [${fw_full_src}]") - message("Copy: ${CMAKE_COMMAND} -E copy \"${fw_src}\" \"${fw_dstdir}/${fwlibname}\"") - execute_process(COMMAND ${CMAKE_COMMAND} -E copy - "${fw_src}" "${fw_dstdir}/${fwlibname}" - ) - - execute_process(COMMAND install_name_tool - -id "@executable_path/../Frameworks/${fwdirname}/${fwlibname}" - "${clib_bundle}/Contents/Frameworks/${fwdirname}/${fwlibname}" - ) - set(${clib_dstlibs} ${${clib_dstlibs}} - "${clib_bundle}/Contents/Frameworks/${fwdirname}/${fwlibname}" - ) - set(${clib_fixups} ${${clib_fixups}} - "-change" - "${clib_libsrc}" - "@executable_path/../Frameworks/${fwdirname}/${fwlibname}" - ) - else("${clib_libsrc}" MATCHES ".framework/.*/.*/.*") - if("${clib_libsrc}" MATCHES "/") - set(clib_libsrcfull "${clib_libsrc}") - else("${clib_libsrc}" MATCHES "/") - set(clib_libsrcfull "${lib_path}/${clib_libsrc}") - if(NOT EXISTS "${clib_libsrcfull}") - message(FATAL_ERROR "error: '${clib_libsrcfull}' does not exist...") - endif(NOT EXISTS "${clib_libsrcfull}") - endif("${clib_libsrc}" MATCHES "/") - - get_filename_component(dylib_src "${clib_libsrcfull}" ABSOLUTE) - get_filename_component(dylib_name "${dylib_src}" NAME) - set(dylib_dst "${clib_bundle}/Contents/MacOS/${dylib_name}") - -# message("dylib_src: ${dylib_src}") -# message("dylib_dst: ${dylib_dst}") -# message("new_name: '@executable_path/${dylib_name}'") - - message("Copying ${dylib_src} into bundle...") - execute_process(COMMAND ${CMAKE_COMMAND} -E copy - "${dylib_src}" "${dylib_dst}") - execute_process(COMMAND install_name_tool - -id "@executable_path/${dylib_name}" - "${dylib_dst}" - ) - set(${clib_dstlibs} ${${clib_dstlibs}} - "${dylib_dst}" - ) - set(${clib_fixups} ${${clib_fixups}} - "-change" - "${clib_libsrc}" - "@executable_path/${dylib_name}" - ) - endif("${clib_libsrc}" MATCHES ".framework/.*/.*/.*") -endmacro(copy_library_into_bundle) - - -# Copy dependent "nonsystem" libraries into the bundle: -# -message("Copying dependent libraries into bundle...") -set(srclibs ${nonsystem_deps} ${extra_libs}) -set(dstlibs "") -set(fixups "") -foreach(d ${srclibs}) - message("copy it --- ${d}") - copy_library_into_bundle("${bundle}" "${d}" dstlibs fixups) -endforeach(d) - -message("") -message("dstlibs='${dstlibs}'") -message("") -message("fixups='${fixups}'") -message("") - - -# Fixup references to copied libraries in the main bundle executable and in the -# copied libraries themselves: -# -if(NOT "${fixups}" STREQUAL "") - message("Fixing up references...") - foreach(d ${dstlibs} "${input_file_full}") - message("fixing up references in: '${d}'") - execute_process(COMMAND install_name_tool ${fixups} "${d}") - endforeach(d) - message("") -endif(NOT "${fixups}" STREQUAL "") - - -# List all references to eyeball them and make sure they look right: -# -message("Listing references...") -foreach(d ${dstlibs} "${input_file_full}") - execute_process(COMMAND otool -L "${d}") - message("") -endforeach(d) -message("") - - -# Output file: -# -#get_filename_component(script_name "${CMAKE_CURRENT_LIST_FILE}" NAME) -#file(WRITE "${input_file_full}_${script_name}" "# Script \"${CMAKE_CURRENT_LIST_FILE}\" completed.\n") -message("") -message("# Script \"${CMAKE_CURRENT_LIST_FILE}\" completed.") -message("") diff --git a/Modules/install_glue.cmake b/Modules/install_glue.cmake deleted file mode 100644 index 691a5fb..0000000 --- a/Modules/install_glue.cmake +++ /dev/null @@ -1,8 +0,0 @@ -INSTALL(CODE " -IF(DEFINED ENV{CMAKE_INSTALL_DIR_VERSION}) - SET(CMAKE_INSTALL_DIR_VERSION \"\$ENV{CMAKE_INSTALL_DIR_VERSION}\") -ELSE() - SET(CMAKE_INSTALL_DIR_VERSION \"${CMAKE_INSTALL_DIR_VERSION_DEFAULT}\") -ENDIF() -") - diff --git a/Modules/new_install.cmake b/Modules/new_install.cmake deleted file mode 100644 index d3716a4..0000000 --- a/Modules/new_install.cmake +++ /dev/null @@ -1,37 +0,0 @@ -# This shouldn't be run if we are using the built in packaging targets -IF(NOT NEW_PACKAGE) - IF(NOT CPACK_INSTALL_CMAKE_PROJECTS) - MESSAGE(WARNING "Use 'new_package_source' target instead of 'package_source'.") - ELSE() - MESSAGE(WARNING "Use 'new_package' target instead of 'package'.") - ENDIF() -# RETURN() -ENDIF() - -SET(VERFILE_BASE "src/spagedi_version.h") - -# Test if we are doing a source install -IF(NOT CPACK_INSTALL_CMAKE_PROJECTS) - IF(EXISTS "${CPACK_BINARY_DIR}/${VERFILE_BASE}") - # Copy Version File - EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${CPACK_BINARY_DIR}/${VERFILE_BASE}" - "${CMAKE_INSTALL_PREFIX}/${VERFILE_BASE}.pkg" - ) - ELSE() - # Constuct a pkg version file as needed - # Version number may be inaccurate - SET(PACKAGE_NAME ${CPACK_PACKAGE_NAME}) - SET(PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") - CONFIGURE_FILE("${CPACK_SOURCE_DIR}/${VERFILE_BASE}.in" - "${CMAKE_INSTALL_PREFIX}/${VERFILE_BASE}.pkg" - @ONLY) - ENDIF() - - # Construct Build Directory - FILE(MAKE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/build") - EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${CPACK_SOURCE_DIR}/readme.txt" - "${CMAKE_INSTALL_PREFIX}/build/readme.txt" - ) -ENDIF() diff --git a/Modules/new_package.cmake b/Modules/new_package.cmake deleted file mode 100644 index ea026ae..0000000 --- a/Modules/new_package.cmake +++ /dev/null @@ -1,25 +0,0 @@ -# Command for creating a package with defined name - -INCLUDE(CPackConfig.cmake) - -SET(PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") -SET(PACKAGE_NAME "${CPACK_PACKAGE_NAME}") - -INCLUDE("${CMAKE_BINARY_DIR}/src/spagedi_version.h") - -# Some files use directories that contain the version number -# Update as needed -IF(PACKAGE_VERSION MATCHES "([0-9]+)\\.([0-9]+)([a-z]+)-?(.*)") - SET(ENV{CMAKE_INSTALL_DIR_VERSION} ${CMAKE_MATCH_1}.${CMAKE_MATCH_2}) -ENDIF() - -EXECUTE_PROCESS(COMMAND ${CMAKE_CPACK_COMMAND} - -D NEW_PACKAGE=TRUE - -D CPACK_PACKAGE_FILE_NAME=${PACKAGE_NAME}-${PACKAGE_VERSION}-${CPACK_SYSTEM_NAME} - --config CPackConfig.cmake - -P "${PACKAGE_NAME}" - -R "${PACKAGE_VERSION}" - TIMEOUT 3600 - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} -) - diff --git a/Modules/new_package_source.cmake b/Modules/new_package_source.cmake deleted file mode 100644 index 71aa8b6..0000000 --- a/Modules/new_package_source.cmake +++ /dev/null @@ -1,19 +0,0 @@ -# Command for creating a package source with defined name - -INCLUDE(CPackSourceConfig.cmake) - -SET(PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") -SET(PACKAGE_NAME "${CPACK_PACKAGE_NAME}") - -INCLUDE("${CMAKE_BINARY_DIR}/src/spagedi_version.h") - -EXECUTE_PROCESS(COMMAND ${CMAKE_CPACK_COMMAND} - -D NEW_PACKAGE=TRUE - -D CPACK_PACKAGE_FILE_NAME=${PACKAGE_NAME}-${PACKAGE_VERSION} - --config CPackSourceConfig.cmake - -P "${PACKAGE_NAME}" - -R "${PACKAGE_VERSION}" - TIMEOUT 3600 - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} -) - diff --git a/Modules/version.cmake b/Modules/version.cmake deleted file mode 100644 index cbc5218..0000000 --- a/Modules/version.cmake +++ /dev/null @@ -1,30 +0,0 @@ -#get_cmake_property(_variableNames VARIABLES) -#foreach (_variableName ${_variableNames}) -# message(STATUS "${_variableName}=${${_variableName}}") -#endforeach() - -SET(VERFILE_BASE "src/spagedi_version.h") - -# Update version if we can -IF(GIT_EXECUTABLE AND EXISTS "${SRC}/.git") - EXECUTE_PROCESS( - COMMAND ${GIT_EXECUTABLE} describe --tags --dirty - RESULT_VARIABLE GIT_RESULT - OUTPUT_VARIABLE PKG_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_QUIET - ) - IF(GIT_RESULT EQUAL 0) - SET(PACKAGE_VERSION "${PKG_VERSION}") - ENDIF() -ENDIF() - -# Prefer .pkg -IF(EXISTS ${SRC}/${VERFILE_BASE}.pkg) - SET(INFILE ${SRC}/${VERFILE_BASE}.pkg) -ELSE() - SET(INFILE ${SRC}/${VERFILE_BASE}.in) -ENDIF() - -CONFIGURE_FILE(${INFILE} ${DST}/${VERFILE_BASE} @ONLY) - diff --git a/README.md b/README.md index 9beb79a..5519cb3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -SPAGeDi -======= +# SPAGeDi SPAGeDi: Spatial Pattern Analysis of Genetic Diversity Copyright © 2002–2009 Olivier Hardy () and Xavier Vekemans @@ -8,10 +7,8 @@ Portable/Unix source code maintained by Reed A. Cartwright ( Website: GitHub: -Downloads: -License -------- +## License This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. @@ -19,35 +16,30 @@ This program is distributed in the hope that it will be useful, but **without an You should have received a copy of the GNU General Public License along with this program. If not, see . -Citation --------- +## Citation [Hardy OJ & Vekemans X (2002)](http://iee.ulb.ac.be/sciences/lagev/fichiers/Spagedi_MENotes2002.pdf) SPAGeDi: a versatile computer program to analyse spatial genetic structure at the individual or population levels. Molecular Ecology Notes 2: 618–620. -Nota Bene ---------- +## Nota Bene SPAGeDi has been tested on several data sets and results were checked for consistency with alternative softwares whenever possible. It may nevertheless still contain bugs (corrected bugs are listed at the end of the manual). Some of these bugs are probably easy to detect by causing the program to crash or leading to obvious erroneous results for particular data sets and analyses. But others, more critical, may just cause biased results that appear plausible. Hence, it is advised to take much care checking the consistency of the information from the results file. The authors would appreciate being informed of any detected bug. The authors claim no responsibility if or whenever a bug causes a misinterpretation of the results given by SPAGeDi. -Using SPAGeDi -------------- +## Using SPAGeDi See manual.pdf for detailed instructions on using SPAGeDi. -Downloading and Installing --------------------------- +## Downloading and Installing -Binary packages for SPAGeDi can be downloaded from . +Source code for SPAGeDi can be downloaded from . -Compiling from Source Code --------------------------- +### Compiling from Source Code -SPAGeDi requires CMake 2.8 () to build it from sources. Many Unix-like operating systems can install CMake through their package systems. +SPAGeDi requires CMake () to build it from sources. Many Unix-like operating systems can install CMake through their package systems. -Download the SPAGeDi source code () and issue the following commands: +Download the SPAGeDi source code (from ) and issue the following commands: - tar xvzf SPAGeDi-.*.tar.bz2 - cd SPAGeDi-.*/build + tar xvzf spagedi-*.tar.bz2 + cd spagedi-*/build cmake .. make make install @@ -60,9 +52,17 @@ The '-G' option to cmake is used to specify different build systems, e.g. Unix M make make install -This will build an optimized version of SPAGeDi and install it to '/usr/bin'. To specify your own build flags you need to set the environment variables CFLAGS and LDFLAGS as neccessary. Then specify +This will build an optimized version of SPAGeDi and install it to '/usr/bin'. To specify your own build flags you need to set the environment variables CFLAGS and LDFLAGS as necessary. Then specify cmake -DCMAKE_BUILD_TYPE= . See CMake's manual for additional information. +### Compiling from Source Code (alternative) + +If you are having trouble getting CMake to work, you can try to compile manually. + + cd spagedi-*/src + gcc -O2 -o ./spagedi *.c -lm + +You will then have a `spagedi-*/src/spagedi` binary that you can copy wherever is useful to you. diff --git a/cmake_uninstall.cmake.in b/cmake_uninstall.cmake.in new file mode 100644 index 0000000..4c07dc7 --- /dev/null +++ b/cmake_uninstall.cmake.in @@ -0,0 +1,21 @@ +if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") + message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt") +endif(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") + +file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files) +string(REGEX REPLACE "\n" ";" files "${files}") +foreach(file ${files}) + message(STATUS "Uninstalling $ENV{DESTDIR}${file}") + if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") + exec_program( + "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" + OUTPUT_VARIABLE rm_out + RETURN_VALUE rm_retval + ) + if(NOT "${rm_retval}" STREQUAL 0) + message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}") + endif(NOT "${rm_retval}" STREQUAL 0) + else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") + message(STATUS "File $ENV{DESTDIR}${file} does not exist.") + endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") +endforeach(file) diff --git a/example_data/CMakeLists.txt b/example_data/CMakeLists.txt index 52f843a..16a4861 100644 --- a/example_data/CMakeLists.txt +++ b/example_data/CMakeLists.txt @@ -1,10 +1,9 @@ INSTALL(FILES - DataAFLP-estimation_of_marker_heritability.txt - DataAFLP-kinship_estimation_corrected_by_heritability.txt - DataAllozymes-diploids_and_tetraploids.txt - DataHaplo-with_distance_matrix_between_haplotypes.txt - DataSSR-fine_scale_spatial_structure.txt - DataSSR-with_spatial_distance_matrix.txt - + DataHaplo-with_distance_matrix_between_haplotypes.txt + DataAFLP-estimation_of_marker_heritability.txt + DataSSR-fine_scale_spatial_structure.txt + DataAFLP-kinship_estimation_corrected_by_heritability.txt + DataSSR-with_spatial_distance_matrix.txt + DataAllozymes-diploids_and_tetraploids.txt DESTINATION "${CMAKE_DATA_DIR}/example_data") diff --git a/example_data/DataAFLP-estimation_of_marker_heritability.txt b/example_data/DataAFLP-estimation_of_marker_heritability.txt index fc98007..c8e8b65 100644 --- a/example_data/DataAFLP-estimation_of_marker_heritability.txt +++ b/example_data/DataAFLP-estimation_of_marker_heritability.txt @@ -1,129 +1,129 @@ -// Example of AFLP dataset to be used to estimate the broad-sense heritability (H2) of each AFLP marker, following Ley & Hardy 2013 (Mol Ecol, in press). -// 60 individuals were typed at 87 AFLP markers in two independent runs. 2= band present, 1=band absent. -// The broad-sense heritability of each marker is estimated by computing the Fst among categories (i.e. among individuals in this case). -// Permutation tests allow an adequate test of the null hypothesis that h2=0. -// Note that the dataset is formated as for an haploid organism (6th format digit = 1) rather than as for a dominant marker. -120 60 0 87 1 1 -0 -DuplicatedSample Individual L2_49.028 L2_73.956 L2_76.676 L2_99.967 L2_104.329 L2_108.254 L2_110.877 L2_112.862 L2_120.619 L2_124.114 L2_132.803 L2_137.654 L2_140.171 L2_145.326 L2_152.477 L2_156.359 L2_158.63 L2_165.548 L2_167.746 L2_172.133 L2_174.139 L2_177.405 L2_181.708 L2_186.238 L2_189.442 L2_192.638 L2_194.814 L2_203.315 L2_205.541 L2_210.75 L2_213.437 L2_215.552 L2_220.847 L2_224.507 L2_231.012 L2_233.35 L2_236.311 L2_242.786 L2_248.061 L2_253.731 L2_255.955 L2_258.065 L2_264.35 L2_267.775 L2_273.067 L2_276.011 L2_279.8 L2_281.833 L2_284.267 L2_288.619 L2_304.8 L2_309.28 L2_312.291 L2_314.443 L2_329.1 L2_332.6 L2_336.1 L2_337.95 L2_339.92 L2_343.336 L2_347 L2_354.3 L2_359 L2_361.9 L2_363.2 L2_366.3 L2_374.638 L2_378.305 L2_381.62 L2_382.95 L2_387.6 L2_392.987 L2_395.9 L2_398.3 L2_405.6 L2_421.3 L2_428.75 L2_433.163 L2_441.8 L2_451.54 L2_456.8 L2_462.967 L2_464.847 L2_483.1 L2_485.8 L2_492.4 L2_493.5 -ACL0035_F07 ACL0035 2 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0035_D11 ACL0035 2 2 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0037_A02 ACL0037 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0037_H01 ACL0037 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0040_A01 ACL0040 2 2 2 1 1 1 1 2 1 1 2 1 2 1 2 1 2 2 2 1 2 2 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0040Ext8_A07 ACL0040 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0040_A08 ACL0040b 2 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 2 2 2 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0040_D01 ACL0040b 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0048_A03 ACL0048 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 -ACL0048_A04 ACL0048 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 -ACL0049_G11 ACL0049 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0049Ext8_A11 ACL0049 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0051_F12 ACL0051 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0051Ext8_G05 ACL0051 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0058_A03 ACL0058 2 2 2 1 1 2 2 2 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0058Ext8_A01 ACL0058 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0624_C04 ACL0624 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0624_C10 ACL0624 2 2 2 1 1 1 1 2 2 2 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0651_C07 ACL0651 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 -ACL0651Ext8_E01 ACL0651 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0663_B01 ACL0663 2 2 1 1 1 1 1 2 2 1 2 1 2 2 2 1 2 2 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0663_D05 ACL0663 2 2 2 1 1 1 2 2 1 2 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0692_F04 ACL0692 2 2 1 2 1 2 1 2 1 1 1 1 1 1 2 2 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0692_H09 ACL0692 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0697_E01 ACL0697 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0697_E10 ACL0697 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0709_C02 ACL0709 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0709_C08 ACL0709 2 2 1 1 1 1 2 2 1 1 1 1 2 1 2 1 2 2 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 -ACL0709_C11 ACL0709b 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0709_F07 ACL0709b 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0711Ext8_A09 ACL0711 2 2 2 1 1 2 1 2 1 1 1 1 2 1 2 1 2 2 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0711_H07 ACL0711 2 2 2 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0719_B02 ACL0719 2 2 1 2 2 2 1 2 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0719_D06 ACL0719 2 2 1 2 1 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0720_G06 ACL0720 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0720_C07 ACL0720 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 2 1 2 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0721_E09 ACL0721 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0721_F03 ACL0721 2 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 1 2 2 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0724_A09 ACL0724 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0724_A10 ACL0724 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0736_B02 ACL0736 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0736_D07 ACL0736 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 -ACL0744_D04 ACL0744 2 2 1 1 1 1 2 2 1 2 1 1 1 2 2 1 2 1 2 1 2 1 2 1 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0744_E09 ACL0744 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 2 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0776_F02 ACL0776 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0776_F10 ACL0776 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0792_A11 ACL0792 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0792_G01 ACL0792 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0821_F03 ACL0821 2 2 2 1 2 1 1 2 2 2 2 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0821_H12 ACL0821 2 2 1 1 2 2 1 2 2 1 1 1 1 1 1 1 2 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0834Ext8_A11 ACL0834 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0834_D03 ACL0834 2 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0834_G04 ACL0834b 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0834_H10 ACL0834b 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0857Ext8_D05 ACL0857 2 2 2 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0857_E05 ACL0857 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0882_E07 ACL0882 2 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0882_H11 ACL0882 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0931_F06 ACL0931 2 2 1 1 2 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 2 2 1 2 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0931_F07 ACL0931 2 2 1 1 2 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 2 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 -ACL0992_F07 ACL0992 2 2 1 1 1 2 2 1 1 1 1 1 2 1 2 1 2 2 1 2 2 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0992_H06 ACL0992 2 2 1 1 1 1 2 1 2 1 1 2 2 1 1 1 2 2 1 2 2 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4438_C09 ACL4438 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 2 2 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 -ACL4438_D02 ACL4438 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 -ACL4439_A12 ACL4439 2 2 2 1 2 2 1 2 2 2 1 1 1 2 1 1 1 2 2 1 2 2 2 1 2 1 2 2 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4439_E04 ACL4439 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1026_B07 ACL1026 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1026_E03 ACL1026 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1045_C09 ACL1045 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1045Ext8_G07 ACL1045 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1047_A01 ACL1047 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1047_C01 ACL1047 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1051_G07 ACL1051 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1051_H03 ACL1051 2 2 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1055_A10 ACL1055 2 2 1 1 2 2 1 1 1 2 1 1 1 1 1 2 2 2 2 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1055Ext8_H07 ACL1055 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1058_A03 ACL1058 2 1 1 1 2 2 1 2 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1058_H03 ACL1058 2 2 1 2 1 2 1 2 1 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1071_B11 ACL1071 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1071_G07 ACL1071 2 2 1 2 1 1 1 2 1 2 2 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1077_B03 ACL1077 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1077Ext8_F09 ACL1077 2 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1084_F11 ACL1084 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1084_H01 ACL1084 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1092_A07 ACL1092 2 2 1 2 1 2 2 2 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1092_C03 ACL1092 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1112_B09 ACL1112 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1112_D12 ACL1112 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1116Ext8_G09 ACL1116 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1116_H05 ACL1116 1 2 2 2 1 1 1 2 1 1 1 2 2 1 1 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1118_A11 ACL1118 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 -ACL1118_C10 ACL1118 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1122_E12 ACL1122 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1122_H09 ACL1122 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1124_C03 ACL1124 2 2 2 1 2 1 1 2 1 2 1 1 1 1 2 1 1 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 -ACL1124_E03 ACL1124 2 2 2 1 1 1 1 2 1 2 1 1 1 1 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 -ACL1135_A02 ACL1135 2 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1135_C03 ACL1135 2 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1137_D11 ACL1137 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1137_G01 ACL1137 2 2 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1156_G12 ACL1156 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 2 1 1 2 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1156Ext5_C06 ACL1156 1 2 1 1 2 1 1 2 1 2 1 1 1 1 2 1 2 2 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1170_A12 ACL1170 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1170_G04 ACL1170 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1194_C08 ACL1194 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1194_E10 ACL1194 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1205_B07 ACL1205 2 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1205Ext8_F03 ACL1205 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1210_B03 ACL1210 2 1 2 1 2 1 1 2 1 2 2 2 1 2 2 2 1 2 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1210_E09 ACL1210 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1215Ext8_E11 ACL1215 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1215_H04 ACL1215 2 2 2 1 2 2 1 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4239_F04 ACL4239 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4239_A08 ACL4239 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4277_E06 ACL4277 2 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4277_F02 ACL4277 2 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4422_C07 ACL4422 2 2 1 1 2 2 1 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 -ACL4422Ext8_F05 ACL4422 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 -ACL4448_F01 ACL4448 2 2 1 2 2 1 1 2 1 1 1 1 2 2 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4448Ext8_B05 ACL4448 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -END +// Example of AFLP dataset to be used to estimate the broad-sense heritability (H2) of each AFLP marker, following Ley & Hardy 2013 (Mol Ecol, in press). +// 60 individuals were typed at 87 AFLP markers in two independent runs. 2= band present, 1=band absent. +// The broad-sense heritability of each marker is estimated by computing the Fst among categories (i.e. among individuals in this case). +// Permutation tests allow an adequate test of the null hypothesis that h2=0. +// Note that the dataset is formated as for an haploid organism (6th format digit = 1) rather than as for a dominant marker. +120 60 0 87 1 1 +0 +DuplicatedSample Individual L2_49.028 L2_73.956 L2_76.676 L2_99.967 L2_104.329 L2_108.254 L2_110.877 L2_112.862 L2_120.619 L2_124.114 L2_132.803 L2_137.654 L2_140.171 L2_145.326 L2_152.477 L2_156.359 L2_158.63 L2_165.548 L2_167.746 L2_172.133 L2_174.139 L2_177.405 L2_181.708 L2_186.238 L2_189.442 L2_192.638 L2_194.814 L2_203.315 L2_205.541 L2_210.75 L2_213.437 L2_215.552 L2_220.847 L2_224.507 L2_231.012 L2_233.35 L2_236.311 L2_242.786 L2_248.061 L2_253.731 L2_255.955 L2_258.065 L2_264.35 L2_267.775 L2_273.067 L2_276.011 L2_279.8 L2_281.833 L2_284.267 L2_288.619 L2_304.8 L2_309.28 L2_312.291 L2_314.443 L2_329.1 L2_332.6 L2_336.1 L2_337.95 L2_339.92 L2_343.336 L2_347 L2_354.3 L2_359 L2_361.9 L2_363.2 L2_366.3 L2_374.638 L2_378.305 L2_381.62 L2_382.95 L2_387.6 L2_392.987 L2_395.9 L2_398.3 L2_405.6 L2_421.3 L2_428.75 L2_433.163 L2_441.8 L2_451.54 L2_456.8 L2_462.967 L2_464.847 L2_483.1 L2_485.8 L2_492.4 L2_493.5 +ACL0035_F07 ACL0035 2 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0035_D11 ACL0035 2 2 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0037_A02 ACL0037 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0037_H01 ACL0037 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0040_A01 ACL0040 2 2 2 1 1 1 1 2 1 1 2 1 2 1 2 1 2 2 2 1 2 2 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0040Ext8_A07 ACL0040 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0040_A08 ACL0040b 2 2 2 1 1 1 1 2 1 1 1 1 2 1 2 1 2 2 2 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0040_D01 ACL0040b 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0048_A03 ACL0048 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 +ACL0048_A04 ACL0048 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 +ACL0049_G11 ACL0049 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0049Ext8_A11 ACL0049 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0051_F12 ACL0051 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0051Ext8_G05 ACL0051 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0058_A03 ACL0058 2 2 2 1 1 2 2 2 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0058Ext8_A01 ACL0058 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0624_C04 ACL0624 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0624_C10 ACL0624 2 2 2 1 1 1 1 2 2 2 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0651_C07 ACL0651 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 +ACL0651Ext8_E01 ACL0651 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0663_B01 ACL0663 2 2 1 1 1 1 1 2 2 1 2 1 2 2 2 1 2 2 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0663_D05 ACL0663 2 2 2 1 1 1 2 2 1 2 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0692_F04 ACL0692 2 2 1 2 1 2 1 2 1 1 1 1 1 1 2 2 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0692_H09 ACL0692 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0697_E01 ACL0697 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0697_E10 ACL0697 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0709_C02 ACL0709 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0709_C08 ACL0709 2 2 1 1 1 1 2 2 1 1 1 1 2 1 2 1 2 2 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 +ACL0709_C11 ACL0709b 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0709_F07 ACL0709b 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0711Ext8_A09 ACL0711 2 2 2 1 1 2 1 2 1 1 1 1 2 1 2 1 2 2 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0711_H07 ACL0711 2 2 2 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0719_B02 ACL0719 2 2 1 2 2 2 1 2 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0719_D06 ACL0719 2 2 1 2 1 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0720_G06 ACL0720 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0720_C07 ACL0720 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 2 1 2 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0721_E09 ACL0721 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0721_F03 ACL0721 2 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 1 2 2 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0724_A09 ACL0724 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0724_A10 ACL0724 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0736_B02 ACL0736 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0736_D07 ACL0736 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 +ACL0744_D04 ACL0744 2 2 1 1 1 1 2 2 1 2 1 1 1 2 2 1 2 1 2 1 2 1 2 1 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0744_E09 ACL0744 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 2 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0776_F02 ACL0776 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0776_F10 ACL0776 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0792_A11 ACL0792 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0792_G01 ACL0792 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0821_F03 ACL0821 2 2 2 1 2 1 1 2 2 2 2 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0821_H12 ACL0821 2 2 1 1 2 2 1 2 2 1 1 1 1 1 1 1 2 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0834Ext8_A11 ACL0834 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0834_D03 ACL0834 2 2 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0834_G04 ACL0834b 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0834_H10 ACL0834b 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0857Ext8_D05 ACL0857 2 2 2 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0857_E05 ACL0857 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0882_E07 ACL0882 2 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0882_H11 ACL0882 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0931_F06 ACL0931 2 2 1 1 2 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 2 2 1 2 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0931_F07 ACL0931 2 2 1 1 2 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 2 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 +ACL0992_F07 ACL0992 2 2 1 1 1 2 2 1 1 1 1 1 2 1 2 1 2 2 1 2 2 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0992_H06 ACL0992 2 2 1 1 1 1 2 1 2 1 1 2 2 1 1 1 2 2 1 2 2 1 1 1 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4438_C09 ACL4438 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 2 2 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 +ACL4438_D02 ACL4438 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 +ACL4439_A12 ACL4439 2 2 2 1 2 2 1 2 2 2 1 1 1 2 1 1 1 2 2 1 2 2 2 1 2 1 2 2 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4439_E04 ACL4439 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1026_B07 ACL1026 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1026_E03 ACL1026 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1045_C09 ACL1045 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1045Ext8_G07 ACL1045 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1047_A01 ACL1047 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1047_C01 ACL1047 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1051_G07 ACL1051 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1051_H03 ACL1051 2 2 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1055_A10 ACL1055 2 2 1 1 2 2 1 1 1 2 1 1 1 1 1 2 2 2 2 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1055Ext8_H07 ACL1055 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1058_A03 ACL1058 2 1 1 1 2 2 1 2 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1058_H03 ACL1058 2 2 1 2 1 2 1 2 1 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1071_B11 ACL1071 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1071_G07 ACL1071 2 2 1 2 1 1 1 2 1 2 2 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1077_B03 ACL1077 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1077Ext8_F09 ACL1077 2 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1084_F11 ACL1084 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1084_H01 ACL1084 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1092_A07 ACL1092 2 2 1 2 1 2 2 2 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1092_C03 ACL1092 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1112_B09 ACL1112 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1112_D12 ACL1112 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1116Ext8_G09 ACL1116 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1116_H05 ACL1116 1 2 2 2 1 1 1 2 1 1 1 2 2 1 1 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1118_A11 ACL1118 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 +ACL1118_C10 ACL1118 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1122_E12 ACL1122 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1122_H09 ACL1122 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1124_C03 ACL1124 2 2 2 1 2 1 1 2 1 2 1 1 1 1 2 1 1 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 +ACL1124_E03 ACL1124 2 2 2 1 1 1 1 2 1 2 1 1 1 1 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 +ACL1135_A02 ACL1135 2 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1135_C03 ACL1135 2 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1137_D11 ACL1137 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1137_G01 ACL1137 2 2 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1156_G12 ACL1156 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 2 1 1 2 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1156Ext5_C06 ACL1156 1 2 1 1 2 1 1 2 1 2 1 1 1 1 2 1 2 2 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1170_A12 ACL1170 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1170_G04 ACL1170 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1194_C08 ACL1194 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1194_E10 ACL1194 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1205_B07 ACL1205 2 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1205Ext8_F03 ACL1205 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1210_B03 ACL1210 2 1 2 1 2 1 1 2 1 2 2 2 1 2 2 2 1 2 2 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1210_E09 ACL1210 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1215Ext8_E11 ACL1215 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1215_H04 ACL1215 2 2 2 1 2 2 1 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4239_F04 ACL4239 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4239_A08 ACL4239 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4277_E06 ACL4277 2 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4277_F02 ACL4277 2 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4422_C07 ACL4422 2 2 1 1 2 2 1 2 1 2 1 1 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 +ACL4422Ext8_F05 ACL4422 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 +ACL4448_F01 ACL4448 2 2 1 2 2 1 1 2 1 1 1 1 2 2 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4448Ext8_B05 ACL4448 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +END diff --git a/example_data/DataAFLP-kinship_estimation_corrected_by_heritability.txt b/example_data/DataAFLP-kinship_estimation_corrected_by_heritability.txt index e4b28c6..708745f 100644 --- a/example_data/DataAFLP-kinship_estimation_corrected_by_heritability.txt +++ b/example_data/DataAFLP-kinship_estimation_corrected_by_heritability.txt @@ -1,209 +1,210 @@ -// Example of AFLP dataset to estimate pairwise kinship coefficients according to distance when the broad-sense heritability (H2) of each AFLP marker is given, following Ley & Hardy 2013 (Mol Ecol, in press). -// 197 individuals were typed at 87 AFLP markers, as indicated by the 1st and 4th format numbers. -// The 5th format number =0 indicates that the data set corresponds to dominant markers where 2= band present, 1=band absent, 0=missing data. An alternative notation could have been to set the 5th format number to a negative number (e.g. -9) in which case the phenotypes would have been interpreted as 1= band present, 0=band absent, -9=missing data. -// The 3rd format number =-2 indicates that the spatial coordinates of each individual are given in latitude and longitude (in this order) in degrees. -// The second line indicates that there are 7 distances classes defined by the upper distances, which are in km when spatial coordinates are given in degrees latitude and longitude (3rd format number=-2) -// The 2nd format number=2 indicates tha there are two categories of individuals. Here, these two categories design the morpho-species ('Danckel', 'Lieb'). This allows computing kinship-distance curves for pairs of inviduduals belonging to the same or different morpho-species. -// The broad-sense heritability of each marker is given at the end, just after the line with END (cf. other dataset example to see how to estimate H2) -197 2 -2 87 0 2 -7 10 20 50 100 200 300 400 -ID Cat Lat Long L2_49.028 L2_73.956 L2_76.676 L2_99.967 L2_104.329 L2_108.254 L2_110.877 L2_112.862 L2_120.619 L2_124.114 L2_132.803 L2_137.654 L2_140.171 L2_145.326 L2_152.477 L2_156.359 L2_158.63 L2_165.548 L2_167.746 L2_172.133 L2_174.139 L2_177.405 L2_181.708 L2_186.238 L2_189.442 L2_192.638 L2_194.814 L2_203.315 L2_205.541 L2_210.75 L2_213.437 L2_215.552 L2_220.847 L2_224.507 L2_231.012 L2_233.35 L2_236.311 L2_242.786 L2_248.061 L2_253.731 L2_255.955 L2_258.065 L2_264.35 L2_267.775 L2_273.067 L2_276.011 L2_279.8 L2_281.833 L2_284.267 L2_288.619 L2_304.8 L2_309.28 L2_312.291 L2_314.443 L2_329.1 L2_332.6 L2_336.1 L2_337.95 L2_339.92 L2_343.336 L2_347 L2_354.3 L2_359 L2_361.9 L2_363.2 L2_366.3 L2_374.638 L2_378.305 L2_381.62 L2_382.95 L2_387.6 L2_392.987 L2_395.9 L2_398.3 L2_405.6 L2_421.3 L2_428.75 L2_433.163 L2_441.8 L2_451.54 L2_456.8 L2_462.967 L2_464.847 L2_483.1 L2_485.8 L2_492.4 L2_493.5 -ACL0035_D11 Danckel -19.3556 1394.7333 2 2 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0037_A02 Danckel -18.2278 1389.3593 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0038_A01 Danckel 9.9037 1523.4704 2 2 1 1 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0040_D01 Danckel 10.9426 1523.313 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0041_B01 Danckel -21.0407 1395.437 2 2 1 1 1 2 1 2 1 2 2 1 1 2 2 1 2 2 1 1 2 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0043_B05 Danckel 64.3167 1250.6593 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 -ACL0044_F09 Danckel 59.0241 1237.9648 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 2 1 1 2 2 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0045_D10 Danckel 67.9796 1245.963 2 2 1 2 1 1 1 2 1 2 1 1 2 1 2 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0046_G10 Danckel 63.3630 1037.5722 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0048_A04 Danckel 64.0759 1036.9722 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 -ACL0049Ext8_A11 Danckel 45.9870 1054.463 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0050_D01 Danckel 46.2426 1054.2426 2 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 2 1 2 2 1 2 1 1 2 1 1 1 2 2 1 1 1 2 2 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 -ACL0051Ext8_G05 Danckel 96.3389 1502.1333 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0052_B08 Danckel 95.9130 1502.4093 2 2 2 1 1 2 1 2 1 2 1 1 1 1 2 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0054_F08 Danckel 94.7222 1506.1093 2 2 1 2 1 1 1 2 1 2 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 -ACL0055_D10 Danckel 96.0704 1505.7111 2 2 2 2 1 2 1 2 1 1 1 1 2 1 2 1 2 2 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0057_H11 Danckel -216.5537 1309.2296 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0058_A03 Danckel -216.8019 1309.3278 2 2 2 1 1 2 2 2 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0059_A05 Danckel -216.7333 1309.0278 2 2 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0079_D04 Danckel -114.2074 1253.963 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0616_G02 Danckel 67.5648 1246.0778 2 2 1 2 1 1 1 2 1 1 1 2 1 1 2 1 2 2 2 1 2 2 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0617_A04 Danckel 67.2889 1245.9481 2 2 1 2 1 2 1 2 1 2 2 1 1 1 1 1 2 2 1 1 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0624_C10 Danckel 62.8907 1039.8722 2 2 2 1 1 1 1 2 2 2 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0626_B03 Danckel 62.9222 1039.9944 2 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 2 1 2 2 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 -ACL0627_G01 Danckel 62.8722 1039.9759 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 -ACL0648_F06 Danckel 200.5778 1290.9407 2 2 1 1 2 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0651Ext8_E01 Danckel 200.5926 1288.9481 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0653_E02 Danckel 201.4204 1290.3944 2 2 1 1 2 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0656_B01 Danckel 150.7944 1289.987 1 1 2 1 1 2 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 -ACL0663_D05 Danckel 194.9185 1289.6963 2 2 2 1 1 1 2 2 1 2 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0677_C04 Danckel 10.6759 1523.387 2 1 2 2 1 1 2 2 1 1 2 1 1 1 1 1 2 2 2 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0686_D08 Danckel 96.1667 1502.35 2 2 1 1 1 2 1 2 1 1 1 2 1 1 1 2 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0692_F04 Danckel 111.5315 1466.1667 2 2 1 2 1 2 1 2 1 1 1 1 1 1 2 2 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0693_C06 Danckel 111.6185 1466.2074 2 2 1 1 1 2 1 2 1 2 1 1 2 1 1 1 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0697_E10 Danckel 120.8519 1466.7111 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0698_C05 Danckel 86.3963 1459.6889 2 2 1 1 1 1 1 2 1 2 2 1 2 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0699_F05 Danckel 87.5444 1458.6981 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 2 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0702_C12 Danckel 24.6944 1500.113 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0709_C02 Danckel 24.7222 1500.1741 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0710_G08 Danckel 24.6444 1500.0667 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0711_H07 Danckel 87.6796 1458.6019 2 2 2 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0714_H04 Danckel 87.2870 1458.7667 2 2 2 1 2 2 1 2 1 2 2 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0715_H11 Danckel 86.9963 1458.9074 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0719_B02 Danckel 135.7278 1287.5685 2 2 1 2 2 2 1 2 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0720_G06 Danckel -258.8074 1178.7204 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0721_F03 Danckel -258.8500 1178.8741 2 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 1 2 2 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0724_A09 Danckel -258.9481 1179.0093 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0732_B04 Danckel -186.7463 1150.2981 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0736_B02 Danckel -186.7481 1150.3444 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0737_D07 Danckel -184.3648 1148.65 2 2 1 1 2 2 1 2 1 2 1 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0739_E01 Danckel -184.4574 1148.65 2 2 1 1 2 1 1 2 1 1 1 1 2 2 1 1 2 2 2 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0744_E09 Danckel -184.7148 1148.6685 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 2 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0750_B10 Danckel -184.1796 1147.937 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0753_E08 Danckel -184.0593 1147.7463 2 2 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 1 1 1 2 1 1 2 2 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0768_D10 Danckel 68.0815 1245.8556 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 1 2 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0770_C02 Danckel 67.4093 1245.3778 2 2 1 1 1 2 2 2 1 1 2 2 1 1 1 1 2 2 1 1 2 2 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0773_F05 Danckel 62.5167 1234.3926 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0776_F02 Danckel -18.7167 1388.8111 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0777_B10 Danckel -19.5185 1393.0037 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 2 2 1 1 2 2 1 1 1 2 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0778_H02 Danckel -19.5759 1393.037 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 2 2 2 1 2 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0780_E08 Danckel -19.7185 1393.1037 2 2 2 1 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 -ACL0781_B07 Danckel -19.8815 1393.2481 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 2 2 1 2 2 1 2 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0792_G01 Danckel -20.5685 1395.25 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0794_A10 Danckel -19.2704 1394.8093 2 2 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 2 2 1 2 2 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0798_C12 Danckel -18.2796 1389.1315 2 2 1 1 1 2 1 2 1 2 2 1 1 1 1 2 1 2 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0799_C11 Danckel -18.5148 1389.0833 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0810_E12 Danckel 69.6000 1155.1481 2 2 1 1 2 2 1 2 1 2 1 2 1 1 2 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0820_G12 Danckel 68.0611 1155.9759 2 2 1 1 2 1 1 2 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0821_F03 Danckel 51.6296 1142.0889 2 2 2 1 2 1 1 2 2 2 2 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0831_C05 Danckel 52.6963 1141.8444 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0832_D01 Danckel 50.1833 1131.363 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0834Ext8_A11 Danckel 50.1963 1131.7259 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0846_H04 Danckel 238.9422 1797.4633 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 -ACL0853_D09 Danckel 233.7222 1810.4989 2 2 2 1 1 2 2 2 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 -ACL0857Ext8_D05 Danckel 373.0963 1415.0611 2 2 2 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0876_H05 Danckel 370.0870 1417.4241 2 2 2 1 2 2 1 2 2 2 1 1 1 1 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0882_B09 Danckel 368.9889 1183.513 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 2 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0883_D08 Danckel 367.5778 1183.3926 2 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0886_E12 Danckel 358.8426 1178.4648 2 2 1 1 2 1 2 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 -ACL0887_G04 Danckel 359.7000 1177.8537 2 2 1 1 1 2 1 2 1 1 1 2 2 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0901_H08 Danckel 360.8519 1177.2296 2 2 1 1 2 1 1 2 1 1 1 2 2 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 -ACL0912_B03 Danckel 376.8315 1413.8444 2 2 2 2 2 2 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0915_H01 Danckel 375.0611 1414.9222 2 2 2 1 2 2 1 2 1 1 2 1 1 2 1 1 2 2 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0921_B06 Danckel 374.6352 1414.7315 2 2 2 1 2 2 1 2 1 1 1 1 1 1 2 1 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0925_H06 Danckel 374.4759 1414.5926 2 2 2 2 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0926_G05 Danckel 360.1222 1178.2611 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 -ACL0930_C11 Danckel 420.3833 1228.9833 2 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 -ACL0931_F07 Danckel 426.9259 1216.5389 2 2 1 1 2 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 2 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 -ACL0941_H05 Danckel 421.7833 1133.6889 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 1 2 2 1 1 2 2 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0951_G02 Danckel 422.0648 1134.5019 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0956_B08 Danckel 436.7778 1118.9241 2 2 1 1 1 2 1 2 1 1 1 1 2 1 2 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 -ACL0961_D07 Danckel 429.1148 1119.4833 2 2 1 1 1 2 2 1 1 2 1 1 2 1 2 1 2 2 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 -ACL0963_G03 Danckel 303.5185 1097.1574 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0969_B10 Danckel 302.4500 1097.1778 2 2 2 1 2 2 2 2 1 1 1 1 2 1 1 1 2 2 1 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 -ACL0974_D03 Danckel 299.5222 1096.0204 2 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 -ACL0979_H02 Danckel 295.1815 1096.0241 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0983_C01 Danckel 295.0093 1096.2019 2 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0987_G04 Danckel 311.5519 1114.9519 2 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0989_H10 Danckel 311.5222 1114.6981 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0992_F07 Danckel 311.3981 1114.2704 2 2 1 1 1 2 2 1 1 1 1 1 2 1 2 1 2 2 1 2 2 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL0994_D06 Danckel 311.3241 1113.8352 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 2 1 2 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1003_B09 Danckel 310.9574 1113.3093 2 2 1 1 2 2 1 2 1 1 1 1 1 2 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 -ACL1004_G09 Danckel 311.2722 1115.1685 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1008_F12 Danckel 311.2019 1115.2 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1011_C03 Danckel 367.0778 1183.2167 2 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 -ACL4182_D12 Danckel -127.1111 1174.8889 2 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 -ACL4206_C02 Danckel 41.6667 1138.0111 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4300_B12 Danckel 34.1000 1386.8778 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4435_C04 Danckel -90.8796 1452.7667 2 2 1 1 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4438_C09 Danckel -90.2778 1452.9167 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 2 2 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 -ACL4439_E04 Danckel -90.2778 1452.9167 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4440_A06 Danckel -90.2778 1452.9167 2 2 1 1 1 1 1 2 2 1 2 1 1 2 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1019_F10 Lieb -118.0481 1222.137 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1023_F04 Lieb -118.5593 1222.4963 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1026_B07 Lieb -124.9074 1237.2019 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1029_C08 Lieb -125.2648 1237.2315 2 2 2 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1034_G10 Lieb -113.0333 1252.2222 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1035_H06 Lieb -114.4704 1253.8648 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1040_D02 Lieb -115.3870 1253.9278 2 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 1 2 2 1 1 2 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1043_D11 Lieb 95.0685 1505.8741 1 2 1 2 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1045Ext8_G07 Lieb 95.7574 1505.6574 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1047Ext8_A05 Lieb 11.0870 1523.3463 2 2 1 2 1 1 1 2 1 1 2 1 1 1 2 1 2 2 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1049_D07 Lieb 10.7907 1523.3722 2 2 2 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1051_G02 Lieb 10.9741 1523.3259 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1052_E08 Lieb -113.8778 1253.7648 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1053_H03 Lieb 95.7981 1502.0407 1 2 1 2 1 2 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1055_A10 Lieb 96.1648 1502.137 2 2 1 1 2 2 1 1 1 2 1 1 1 1 1 2 2 2 2 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1056_F01 Lieb 111.4204 1466.213 2 2 1 1 1 2 1 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1058_H03 Lieb 24.6944 1500.113 2 2 1 2 1 2 1 2 1 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1060_C12 Lieb 24.1315 1499.3111 2 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 -ACL1063_G09 Lieb 95.9889 1505.6815 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1064_D05 Lieb 96.1593 1505.6685 1 2 1 1 1 2 2 2 2 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1066_E05 Lieb -112.3704 1252.7648 2 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1071_B11 Lieb -105.6593 1250.3685 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1077_B03 Lieb -117.4519 1269.687 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1081_D02 Lieb -125.9185 1275.0944 2 2 1 2 2 1 1 2 2 2 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1084_H01 Lieb -127.9389 1276.4 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1088_F11 Lieb -74.3778 1136.2241 2 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1090_D06 Lieb -201.2889 1226.8463 2 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1092_A07 Lieb -199.5926 1227.3222 2 2 1 2 1 2 2 2 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1093_F10 Lieb -202.5796 1227.0204 2 2 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1094_D12 Lieb -202.9185 1227.1926 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1097_A06 Lieb -284.0815 1192.4352 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1102_H08 Lieb -282.7574 1194.9574 2 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1105_G05 Lieb -282.5481 1195.1685 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 2 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1109_H07 Lieb -283.1426 1193.9593 2 2 2 2 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 2 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1112_D12 Lieb -258.6907 1177.3074 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1116_D11 Lieb -257.4667 1176.7778 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1117_F09 Lieb -257.6778 1176.5667 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1118_A11 Lieb -258.8852 1178.4444 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 -ACL1120_B02 Lieb -259.1944 1178.887 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1122_E12 Lieb -259.1778 1178.787 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1123_C11 Lieb -188.0148 1150.7778 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1124_C03 Lieb -185.6093 1149.4944 2 2 2 1 2 1 1 2 1 2 1 1 1 1 2 1 1 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 -ACL1125_F08 Lieb -184.3630 1148.637 2 2 2 2 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1126_B12 Lieb -184.4630 1148.5407 2 2 1 2 2 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1127_C05 Lieb -192.3722 1154.9407 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1128_D01 Lieb -137.3685 1175.8352 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1129_H02 Lieb -90.7852 1151.9963 2 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1130_D09 Lieb -69.0389 1137.2019 2 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 -ACL1132_E03 Lieb -68.6741 1138.4352 2 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1135_A02 Lieb -68.7074 1138.9111 2 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1137_G01 Lieb -68.7148 1138.7852 2 2 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1139_B04 Lieb 67.5833 1246.1667 2 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1143_A09 Lieb 67.2852 1246.013 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1148_D12 Lieb 67.9241 1246.05 2 2 2 2 1 1 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1151_F12 Lieb 63.7833 1250.4148 2 2 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1156_G12 Lieb 63.0352 1250.7 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 2 1 1 2 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1158_G06 Lieb 63.0889 1250.9352 2 2 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1160_G06 Lieb 66.1981 1245.213 2 2 1 2 1 1 1 2 2 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1162_B05 Lieb 66.9926 1244.4148 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1166_G03 Lieb 66.6611 1244.0796 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1170_A12 Lieb 66.5056 1245.2204 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1172_G12 Lieb 66.3259 1244.9648 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1176_B10 Lieb 62.3815 1234.7981 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1181_D03 Lieb 62.3685 1234.4741 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1186_G08 Lieb 59.1815 1237.7963 2 2 1 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1189_E06 Lieb 58.4444 1238.0759 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1192_C10 Lieb -17.0778 1193.3315 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1194_C08 Lieb -17.0056 1193.3315 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1198_E07 Lieb -16.7130 1192.6907 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1203_D10 Lieb -18.6889 1388.8722 2 2 2 2 1 1 1 2 1 2 1 1 1 1 2 1 2 2 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1205Ext8_F03 Lieb 50.3944 1131.0148 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1210_E09 Lieb 50.6481 1130.7315 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1212_E06 Lieb 50.7148 1130.6463 2 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1214_H11 Lieb 55.0259 1241.9444 1 2 1 2 2 1 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1215_H04 Lieb 133.6267 1865.42 2 2 2 1 2 2 1 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL1217_C09 Lieb 135.5667 1870.8889 2 2 2 1 2 2 1 1 1 2 1 1 2 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 -ACL4152_E10 Danckel 37.6667 1023.8889 2 2 1 2 1 1 1 2 1 2 1 2 2 1 1 1 2 2 2 1 2 1 1 1 1 2 1 1 1 2 2 2 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4175_A04 Lieb 27.7778 1032.6667 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4200_D08 Lieb 21.7000 1117.2778 2 2 1 2 1 1 1 2 1 2 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4239_F04 Lieb -14.3000 1261.1444 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4277_E06 Lieb -13.7889 1262.5889 2 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4286_E11 Lieb -360.7000 1156.7889 2 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4422Ext8_F05 Lieb 417.4167 1251.7778 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 -ACL4448Ext8_B05 Lieb -33.5630 1300.2815 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -ACL4451_B08 Lieb -32.1167 1300.6259 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -END -H2 0 0.7944 0.3859 0.7646 0.4821 0.4026 0.4032 0.6446 0.3528 0.4815 0.4512 0.3059 0.444 0.0824 0.2081 0.307 0.286 0.8506 0.4732 0.704 0.7648 0.8674 0.9432 0.4709 0.7783 0.1873 0.1076 0.3811 0.745 0.5693 0.2494 0.7783 0.4064 0.8506 0.2045 0 0 0.5889 0.4709 0.4892 0.402 -0.1028 0 0.1245 1 0.6629 0 0.3432 1 0.6347 0 1 0.6999 0.4892 0 0 0 0 0 1 0 0 0 0 0 0 0.6629 0.6709 0 1 0 0.8028 0 1 0 1 0 0 0 0.6629 0 0.6629 0.4892 0 0 0 0 +// Example of AFLP dataset to estimate pairwise kinship coefficients according to distance when the broad-sense heritability (H2) of each AFLP marker is given, following Ley & Hardy 2013 (Mol Ecol, 22:1984-1997). +// 197 individuals were typed at 87 AFLP markers, as indicated by the 1st and 4th format numbers. +// The 2nd format number=2 indicates that there are two categories of individuals. Here, these two categories design the morpho-species ('Danckel', 'Lieb'). This allows computing kinship-distance curves for pairs of inviduduals belonging to the same or different morpho-species. +// The 3rd format number =-2 indicates that the spatial coordinates of each individual are given in latitude and longitude (in this order) in degrees. +// The 5th format number =0 indicates that the data set corresponds to dominant markers where 2= band present, 1=band absent, 0=missing data. An alternative notation could have been to set the 5th format number to a negative number (e.g. -9) in which case the phenotypes would have been interpreted as 1= band present, 0=band absent, -9=missing data. +// The 6th format number =2 indicates that the genome is diploid (currently SPAGeDi can treat dominant data only for diploids). +// The second line indicates that there are 7 distances classes defined by the upper distances, which are in km when spatial coordinates are given in degrees latitude and longitude (3rd format number=-2) +// The broad-sense heritability of each marker is given at the end, just after the line with END, on a line that must start with "H2". This line can be ommited, in which case the broad-sense heritability of each marker is assumed to be H2=1 (cf. other dataset example to see how to estimate H2) +197 2 -2 87 0 2 +7 10 20 50 100 200 300 400 +ID Cat Lat Long L2_49.028 L2_73.956 L2_76.676 L2_99.967 L2_104.329 L2_108.254 L2_110.877 L2_112.862 L2_120.619 L2_124.114 L2_132.803 L2_137.654 L2_140.171 L2_145.326 L2_152.477 L2_156.359 L2_158.63 L2_165.548 L2_167.746 L2_172.133 L2_174.139 L2_177.405 L2_181.708 L2_186.238 L2_189.442 L2_192.638 L2_194.814 L2_203.315 L2_205.541 L2_210.75 L2_213.437 L2_215.552 L2_220.847 L2_224.507 L2_231.012 L2_233.35 L2_236.311 L2_242.786 L2_248.061 L2_253.731 L2_255.955 L2_258.065 L2_264.35 L2_267.775 L2_273.067 L2_276.011 L2_279.8 L2_281.833 L2_284.267 L2_288.619 L2_304.8 L2_309.28 L2_312.291 L2_314.443 L2_329.1 L2_332.6 L2_336.1 L2_337.95 L2_339.92 L2_343.336 L2_347 L2_354.3 L2_359 L2_361.9 L2_363.2 L2_366.3 L2_374.638 L2_378.305 L2_381.62 L2_382.95 L2_387.6 L2_392.987 L2_395.9 L2_398.3 L2_405.6 L2_421.3 L2_428.75 L2_433.163 L2_441.8 L2_451.54 L2_456.8 L2_462.967 L2_464.847 L2_483.1 L2_485.8 L2_492.4 L2_493.5 +ACL0035_D11 Danckel -0.1742004 12.5525997 2 2 2 1 1 1 1 2 1 1 2 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0037_A02 Danckel -0.1640502 12.5042337 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0038_A01 Danckel 0.0891333 13.7112336 2 2 1 1 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0040_D01 Danckel 0.0984834 13.709817 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0041_B01 Danckel -0.1893663 12.558933 2 2 1 1 1 2 1 2 1 2 2 1 1 2 2 1 2 2 1 1 2 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0043_B05 Danckel 0.5788503 11.2559337 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 +ACL0044_F09 Danckel 0.5312169 11.1416832 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 2 1 1 2 2 1 1 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0045_D10 Danckel 0.6118164 11.213667 2 2 1 2 1 1 1 2 1 2 1 1 2 1 2 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0046_G10 Danckel 0.570267 9.3381498 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0048_A04 Danckel 0.5766831 9.3327498 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 +ACL0049Ext8_A11 Danckel 0.413883 9.490167 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0050_D01 Danckel 0.4161834 9.4881834 2 2 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 2 1 2 2 1 2 1 1 2 1 1 1 2 2 1 1 1 2 2 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 +ACL0051Ext8_G05 Danckel 0.8670501 13.5191997 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0052_B08 Danckel 0.863217 13.5216837 2 2 2 1 1 2 1 2 1 2 1 1 1 1 2 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0054_F08 Danckel 0.8524998 13.5549837 2 2 1 2 1 1 1 2 1 2 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 +ACL0055_D10 Danckel 0.8646336 13.5513999 2 2 2 2 1 2 1 2 1 1 1 1 2 1 2 1 2 2 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0057_H11 Danckel -1.9489833 11.7830664 2 2 2 2 1 2 2 2 2 1 2 1 2 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0058_A03 Danckel -1.9512171 11.7839502 2 2 2 1 1 2 2 2 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0059_A05 Danckel -1.9505997 11.7812502 2 2 1 1 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 2 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0079_D04 Danckel -1.0278666 11.285667 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0616_G02 Danckel 0.6080832 11.2147002 2 2 1 2 1 1 1 2 1 1 1 2 1 1 2 1 2 2 2 1 2 2 1 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0617_A04 Danckel 0.6056001 11.2135329 2 2 1 2 1 2 1 2 1 2 2 1 1 1 1 1 2 2 1 1 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0624_C10 Danckel 0.5660163 9.3588498 2 2 2 1 1 1 1 2 2 2 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0626_B03 Danckel 0.5662998 9.3599496 2 2 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 2 1 2 2 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 +ACL0627_G01 Danckel 0.5658498 9.3597831 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 +ACL0648_F06 Danckel 1.8052002 11.6184663 2 2 1 1 2 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0651Ext8_E01 Danckel 1.8053334 11.6005329 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0653_E02 Danckel 1.8127836 11.6135496 2 2 1 1 2 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0656_B01 Danckel 1.3571496 11.609883 1 1 2 1 1 2 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 +ACL0663_D05 Danckel 1.7542665 11.6072667 2 2 2 1 1 1 2 2 1 2 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0677_C04 Danckel 0.0960831 13.710483 2 1 2 2 1 1 2 2 1 1 2 1 1 1 1 1 2 2 2 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0686_D08 Danckel 0.8655003 13.52115 2 2 1 1 1 2 1 2 1 1 1 2 1 1 1 2 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0692_F04 Danckel 1.0037835 13.1955003 2 2 1 2 1 2 1 2 1 1 1 1 1 1 2 2 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0693_C06 Danckel 1.0045665 13.1958666 2 2 1 1 1 2 1 2 1 2 1 1 2 1 1 1 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0697_E10 Danckel 1.0876671 13.2003999 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0698_C05 Danckel 0.7775667 13.1372001 2 2 1 1 1 1 1 2 1 2 2 1 2 1 1 1 2 2 1 1 2 2 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0699_F05 Danckel 0.7878996 13.1282829 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 2 1 2 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0702_C12 Danckel 0.2222496 13.501017 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0709_C02 Danckel 0.2224998 13.5015669 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0710_G08 Danckel 0.2217996 13.5006003 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0711_H07 Danckel 0.7891164 13.1274171 2 2 2 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0714_H04 Danckel 0.785583 13.1289003 2 2 2 1 2 2 1 2 1 2 2 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0715_H11 Danckel 0.7829667 13.1301666 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0719_B02 Danckel 1.2215502 11.5881165 2 2 1 2 2 2 1 2 1 1 2 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0720_G06 Danckel -2.3292666 10.6084836 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0721_F03 Danckel -2.32965 10.6098669 2 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 1 1 2 2 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0724_A09 Danckel -2.3305329 10.6110837 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0732_B04 Danckel -1.6807167 10.3526829 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0736_B02 Danckel -1.6807329 10.3530996 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0737_D07 Danckel -1.6592832 10.33785 2 2 1 1 2 2 1 2 1 2 1 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0739_E01 Danckel -1.6601166 10.33785 2 2 1 1 2 1 1 2 1 1 1 1 2 2 1 1 2 2 2 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0744_E09 Danckel -1.6624332 10.3380165 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 2 1 1 2 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0750_B10 Danckel -1.6576164 10.331433 2 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0753_E08 Danckel -1.6565337 10.3297167 2 2 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 1 1 1 2 1 1 2 2 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0768_D10 Danckel 0.6127335 11.2127004 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 1 2 2 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0770_C02 Danckel 0.6066837 11.2084002 2 2 1 1 1 2 2 2 1 1 2 2 1 1 1 1 2 2 1 1 2 2 1 1 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0773_F05 Danckel 0.5626503 11.1095334 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0776_F02 Danckel -0.1684503 12.4992999 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0777_B10 Danckel -0.1756665 12.5370333 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 2 2 1 1 2 2 1 1 1 2 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0778_H02 Danckel -0.1761831 12.537333 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 2 2 2 1 2 2 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0780_E08 Danckel -0.1774665 12.5379333 2 2 2 1 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 +ACL0781_B07 Danckel -0.1789335 12.5392329 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 2 2 1 2 2 1 2 1 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0792_G01 Danckel -0.1851165 12.55725 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0794_A10 Danckel -0.1734336 12.5532837 2 2 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 2 2 1 2 2 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0798_C12 Danckel -0.1645164 12.5021835 2 2 1 1 1 2 1 2 1 2 2 1 1 1 1 2 1 2 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0799_C11 Danckel -0.1666332 12.5017497 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0810_E12 Danckel 0.6264 10.3963329 2 2 1 1 2 2 1 2 1 2 1 2 1 1 2 1 1 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0820_G12 Danckel 0.6125499 10.4037831 2 2 1 1 2 1 1 2 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0821_F03 Danckel 0.4646664 10.2788001 2 2 2 1 2 1 1 2 2 2 2 1 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0831_C05 Danckel 0.4742667 10.2765996 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0832_D01 Danckel 0.4516497 10.182267 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0834Ext8_A11 Danckel 0.4517667 10.1855331 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0846_H04 Danckel 2.1504798 16.1771697 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 +ACL0853_D09 Danckel 2.1034998 16.2944901 2 2 2 1 1 2 2 2 1 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 +ACL0857Ext8_D05 Danckel 3.3578667 12.7355499 2 2 2 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0876_H05 Danckel 3.330783 12.7568169 2 2 2 1 2 2 1 2 2 2 1 1 1 1 2 1 2 2 2 2 2 2 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0882_B09 Danckel 3.3209001 10.651617 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 2 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0883_D08 Danckel 3.3082002 10.6505334 2 2 1 1 1 2 1 2 1 1 1 1 2 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0886_E12 Danckel 3.2295834 10.6061832 2 2 1 1 2 1 2 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 +ACL0887_G04 Danckel 3.2373 10.6006833 2 2 1 1 1 2 1 2 1 1 1 2 2 2 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0901_H08 Danckel 3.2476671 10.5950664 2 2 1 1 2 1 1 2 1 1 1 2 2 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 +ACL0912_B03 Danckel 3.3914835 12.7245996 2 2 2 2 2 2 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 2 1 1 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0915_H01 Danckel 3.3755499 12.7342998 2 2 2 1 2 2 1 2 1 1 2 1 1 2 1 1 2 2 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0921_B06 Danckel 3.3717168 12.7325835 2 2 2 1 2 2 1 2 1 1 1 1 1 1 2 1 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0925_H06 Danckel 3.3702831 12.7313334 2 2 2 2 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0926_G05 Danckel 3.2410998 10.6043499 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 +ACL0930_C11 Danckel 3.7834497 11.0608497 2 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 +ACL0931_F07 Danckel 3.8423331 10.9488501 2 2 1 1 2 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 2 2 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 +ACL0941_H05 Danckel 3.7960497 10.2032001 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 1 2 2 1 1 2 2 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0951_G02 Danckel 3.7985832 10.2105171 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0956_B08 Danckel 3.9310002 10.0703169 2 2 1 1 1 2 1 2 1 1 1 1 2 1 2 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 +ACL0961_D07 Danckel 3.8620332 10.0753497 2 2 1 1 1 2 2 1 1 2 1 1 2 1 2 1 2 2 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 +ACL0963_G03 Danckel 2.7316665 9.8744166 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0969_B10 Danckel 2.72205 9.8746002 2 2 2 1 2 2 2 2 1 1 1 1 2 1 1 1 2 2 1 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 +ACL0974_D03 Danckel 2.6956998 9.8641836 2 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 +ACL0979_H02 Danckel 2.6566335 9.8642169 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0983_C01 Danckel 2.6550837 9.8658171 2 2 1 1 2 2 2 1 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 2 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0987_G04 Danckel 2.8039671 10.0345671 2 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0989_H10 Danckel 2.8036998 10.0322829 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0992_F07 Danckel 2.8025829 10.0284336 2 2 1 1 1 2 2 1 1 1 1 1 2 1 2 1 2 2 1 2 2 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL0994_D06 Danckel 2.8019169 10.0245168 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 2 1 2 2 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1003_B09 Danckel 2.7986166 10.0197837 2 2 1 1 2 2 1 2 1 1 1 1 1 2 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 +ACL1004_G09 Danckel 2.8014498 10.0365165 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1008_F12 Danckel 2.8008171 10.0368 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1011_C03 Danckel 3.3037002 10.6489503 2 2 1 1 1 2 1 2 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 +ACL4182_D12 Danckel -1.1439999 10.5740001 2 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 +ACL4206_C02 Danckel 0.3750003 10.2420999 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4300_B12 Danckel 0.3069 12.4819002 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4435_C04 Danckel -0.8179164 13.0749003 2 2 1 1 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 2 2 1 2 1 2 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4438_C09 Danckel -0.8125002 13.0762503 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 2 2 1 1 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 +ACL4439_E04 Danckel -0.8125002 13.0762503 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4440_A06 Danckel -0.8125002 13.0762503 2 2 1 1 1 1 1 2 2 1 2 1 1 2 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1019_F10 Lieb -1.0624329 10.999233 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1023_F04 Lieb -1.0670337 11.0024667 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1026_B07 Lieb -1.1241666 11.1348171 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1029_C08 Lieb -1.1273832 11.1350835 2 2 2 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1034_G10 Lieb -1.0172997 11.2699998 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1035_H06 Lieb -1.0302336 11.2847832 2 2 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1040_D02 Lieb -1.038483 11.2853502 2 2 1 2 1 1 1 2 1 1 1 1 2 2 2 1 1 2 2 1 1 2 1 1 2 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1043_D11 Lieb 0.8556165 13.5528669 1 2 1 2 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1045Ext8_G07 Lieb 0.8618166 13.5509166 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1047Ext8_A05 Lieb 0.099783 13.7101167 2 2 1 2 1 1 1 2 1 1 2 1 1 1 2 1 2 2 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1049_D07 Lieb 0.0971163 13.7103498 2 2 2 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1051_G02 Lieb 0.0987669 13.7099331 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1052_E08 Lieb -1.0249002 11.2838832 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1053_H03 Lieb 0.8621829 13.5183663 1 2 1 2 1 2 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1055_A10 Lieb 0.8654832 13.519233 2 2 1 1 2 2 1 1 1 2 1 1 1 1 1 2 2 2 2 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1056_F01 Lieb 1.0027836 13.195917 2 2 1 1 1 2 1 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1058_H03 Lieb 0.2222496 13.501017 2 2 1 2 1 2 1 2 1 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1060_C12 Lieb 0.2171835 13.4937999 2 1 2 1 2 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 +ACL1063_G09 Lieb 0.8639001 13.5511335 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1064_D05 Lieb 0.8654337 13.5510165 1 2 1 1 1 2 2 2 2 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1066_E05 Lieb -1.0113336 11.2748832 2 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1071_B11 Lieb -0.9509337 11.2533165 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1077_B03 Lieb -1.0570671 11.427183 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1081_D02 Lieb -1.1332665 11.4758496 2 2 1 2 2 1 1 2 2 2 1 1 1 2 1 1 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1084_H01 Lieb -1.1514501 11.4876 2 2 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1088_F11 Lieb -0.6694002 10.2260169 2 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1090_D06 Lieb -1.8116001 11.0416167 2 2 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1092_A07 Lieb -1.7963334 11.0458998 2 2 1 2 1 2 2 2 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1093_F10 Lieb -1.8232164 11.0431836 2 2 1 2 2 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 1 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1094_D12 Lieb -1.8262665 11.0447334 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1097_A06 Lieb -2.5567335 10.7319168 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1102_H08 Lieb -2.5448166 10.7546166 2 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1105_G05 Lieb -2.5429329 10.7565165 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 2 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1109_H07 Lieb -2.5482834 10.7456337 2 2 2 2 2 2 1 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 1 2 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1112_D12 Lieb -2.3282163 10.5957666 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1116_D11 Lieb -2.3172003 10.5910002 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1117_F09 Lieb -2.3191002 10.5891003 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1118_A11 Lieb -2.3299668 10.6059996 2 2 2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 +ACL1120_B02 Lieb -2.3327496 10.609983 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 2 1 2 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1122_E12 Lieb -2.3326002 10.609083 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1123_C11 Lieb -1.6921332 10.3570002 1 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1124_C03 Lieb -1.6704837 10.3454496 2 2 2 1 2 1 1 2 1 2 1 1 1 1 2 1 1 2 2 2 2 1 1 1 2 2 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 +ACL1125_F08 Lieb -1.659267 10.337733 2 2 2 2 1 2 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1126_B12 Lieb -1.660167 10.3368663 2 2 1 2 2 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1127_C05 Lieb -1.7313498 10.3944663 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1128_D01 Lieb -1.2363165 10.5825168 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1129_H02 Lieb -0.8170668 10.3679667 2 2 2 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1130_D09 Lieb -0.6213501 10.2348171 2 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 +ACL1132_E03 Lieb -0.6180669 10.2459168 2 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1135_A02 Lieb -0.6183666 10.2501999 2 2 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1137_G01 Lieb -0.6184332 10.2490668 2 2 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1139_B04 Lieb 0.6082497 11.2155003 2 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1143_A09 Lieb 0.6055668 11.214117 2 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 2 1 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1148_D12 Lieb 0.6113169 11.21445 2 2 2 2 1 1 1 2 1 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1151_F12 Lieb 0.5740497 11.2537332 2 2 1 2 1 2 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1156_G12 Lieb 0.5673168 11.2563 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 2 1 1 2 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1158_G06 Lieb 0.5678001 11.2584168 2 2 1 1 1 1 1 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1160_G06 Lieb 0.5957829 11.206917 2 2 1 2 1 1 1 2 2 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1162_B05 Lieb 0.6029334 11.1997332 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1166_G03 Lieb 0.5999499 11.1967164 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1170_A12 Lieb 0.5985504 11.2069836 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1172_G12 Lieb 0.5969331 11.2046832 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1176_B10 Lieb 0.5614335 11.1131829 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1181_D03 Lieb 0.5613165 11.1102669 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1186_G08 Lieb 0.5326335 11.1401667 2 2 1 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1189_E06 Lieb 0.5259996 11.1426831 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 2 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1192_C10 Lieb -0.1537002 10.7399835 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1194_C08 Lieb -0.1530504 10.7399835 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1198_E07 Lieb -0.150417 10.7342163 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1203_D10 Lieb -0.1682001 12.4998498 2 2 2 2 1 1 1 2 1 2 1 1 1 1 2 1 2 2 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1205Ext8_F03 Lieb 0.4535496 10.1791332 2 1 2 2 2 2 2 2 1 2 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1210_E09 Lieb 0.4558329 10.1765835 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1212_E06 Lieb 0.4564332 10.1758167 2 2 1 2 1 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1214_H11 Lieb 0.4952331 11.1774996 1 2 1 2 2 1 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1215_H04 Lieb 1.2026403 16.78878 2 2 2 1 2 2 1 2 1 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL1217_C09 Lieb 1.2201003 16.8380001 2 2 2 1 2 2 1 1 1 2 1 1 2 1 1 1 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 +ACL4152_E10 Danckel 0.3390003 9.2150001 2 2 1 2 1 1 1 2 1 2 1 2 2 1 1 1 2 2 2 1 2 1 1 1 1 2 1 1 1 2 2 2 2 1 1 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4175_A04 Lieb 0.2500002 9.2940003 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4200_D08 Lieb 0.1953 10.0555002 2 2 1 2 1 1 1 2 1 2 2 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4239_F04 Lieb -0.1287 11.3502996 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 2 2 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4277_E06 Lieb -0.1241001 11.3633001 2 2 2 2 1 1 1 2 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4286_E11 Lieb -3.2463 10.4111001 2 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4422Ext8_F05 Lieb 3.7567503 11.2660002 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 2 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 +ACL4448Ext8_B05 Lieb -0.302067 11.7025335 2 2 1 2 1 1 1 2 1 1 1 1 2 1 1 1 1 2 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ACL4451_B08 Lieb -0.2890503 11.7056331 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +END +H2 0 0.7944 0.3859 0.7646 0.4821 0.4026 0.4032 0.6446 0.3528 0.4815 0.4512 0.3059 0.444 0.0824 0.2081 0.307 0.286 0.8506 0.4732 0.704 0.7648 0.8674 0.9432 0.4709 0.7783 0.1873 0.1076 0.3811 0.745 0.5693 0.2494 0.7783 0.4064 0.8506 0.2045 0 0 0.5889 0.4709 0.4892 0.402 -0.1028 0 0.1245 1 0.6629 0 0.3432 1 0.6347 0 1 0.6999 0.4892 0 0 0 0 0 1 0 0 0 0 0 0 0.6629 0.6709 0 1 0 0.8028 0 1 0 1 0 0 0 0.6629 0 0.6629 0.4892 0 0 0 0 diff --git a/example_data/DataAllozymes-diploids_and_tetraploids.txt b/example_data/DataAllozymes-diploids_and_tetraploids.txt index eff45dc..bf979b1 100644 --- a/example_data/DataAllozymes-diploids_and_tetraploids.txt +++ b/example_data/DataAllozymes-diploids_and_tetraploids.txt @@ -1,166 +1,165 @@ -// This is an example of data file for the software SPAGeDi, written by O. Hardy and X. Vekemans -// -// Any line begining by // is a comment line, not read by the program. They can be put anywhere. -// Empty lines must also begin by // -// -// This example gives the genotypes at 5 enzymatic loci for 139 diploid and tetraploid individuals of -// Centaurea jacea (Asteraceae) that were collected within a 1 ha grassland -// (see Hardy and Vekemans 2001, Evolution 55: 943-954). -// The ploidy level is here identified by the categorical group. -// For this data set, SPAGeDi permits to check : -// - isolation by distance within each ploidy level -// (analysis at individual level, restricted within a given ploidy level, reference allele frequencies = within category) -// - whether the spatial structures of diploids and tetraploids are correlated -// (analysis at individual level, restricted between ploidy levels) -// - whether diploids and tetraploids are differentiated -// (analysis at the population level, population = categorical group) -// -// 1st non comment line : set of 6 numbers separated by a tabulation and representing : -// #individuals #categories #coordinates #loci #digits/allele max ploidy -// 2nd non comment line : # of distance intervals followed by the upper distance of each interval. -// 3rd non comment line : column labels (<=15 characters). -// 4th and next lines : data for each individual in the following order: Ind name, category, coordinates, genotypes -139 2 2 5 2 4 -6 2 4 6 10 20 30 -Ind ploidy X Y LAP PGD DIA PGM1 PGM2 -1 2x 3.2 -4.3 606 303 102 102 202 -2 2x 27.8 -1.0 505 303 101 101 202 -3 2x 29.6 -1.0 506 303 101 101 202 -4 2x 30.9 -0.8 505 303 202 102 202 -5 2x 29.8 1.0 405 303 0 102 202 -6 2x 33.0 -1.2 606 303 102 102 202 -7 2x 37.9 1.1 405 303 0 102 202 -8 2x 38.4 -1.0 506 303 102 102 202 -9 2x 39.4 -1.0 406 303 0 102 202 -10 2x 45.8 1.0 506 303 101 101 202 -11 2x 46.8 1.0 506 303 101 101 202 -12 2x 49.0 -0.8 0 303 0 101 102 -13 2x 52.8 -3.3 506 303 102 102 202 -14 2x 56.5 -2.8 405 303 101 202 202 -15 2x 58.5 -2.8 405 303 101 102 202 -16 2x 58.8 -4.8 507 303 101 202 202 -17 2x 63.9 -1.2 0 303 101 101 202 -18 2x 64.6 -2.7 607 303 102 101 202 -19 2x 66.1 -3.3 505 303 101 102 202 -20 2x 65.9 0.7 406 303 101 202 202 -21 2x 67.8 0.7 707 303 102 0 202 -22 2x 70.1 -3.0 507 203 102 202 202 -23 2x 71.2 -3.2 506 303 101 0 0 -24 2x 73.6 -3.1 506 203 102 101 202 -25 2x 72.9 -1.0 507 303 102 102 202 -26 2x 73.8 -0.6 405 303 101 202 202 -27 2x 75.2 -2.9 406 203 0 102 202 -28 2x 75.9 -1.3 507 303 102 101 202 -29 2x 75.6 0.5 505 303 101 102 202 -30 2x 76.6 1.1 405 303 0 102 202 -31 2x 80.4 0.8 606 303 102 101 202 -32 2x 83.4 -0.9 0 303 202 0 0 -33 2x 84.2 1.9 0 303 101 101 202 -34 2x 84.3 2.2 507 303 101 102 202 -35 2x 85.4 -0.9 406 303 202 0 202 -36 2x 41.1 6.3 407 303 101 101 202 -37 2x 41.1 6.9 404 303 101 101 202 -38 2x 40.8 10.5 505 303 102 202 202 -39 2x 45.6 10.3 507 303 102 0 202 -40 2x 45.3 11.1 405 303 102 102 202 -41 2x 45.2 25.0 506 303 101 101 202 -42 2x 45.7 25.3 0 303 101 101 202 -43 2x 44.6 26.8 0 303 101 101 202 -44 2x 47.6 29.3 506 303 101 102 202 -45 2x 48.1 31.1 506 303 102 102 202 -46 2x 49.1 30.8 0 303 102 102 202 -47 2x 50.0 31.2 506 303 102 101 202 -48 2x 49.2 37.3 506 303 101 101 202 -49 2x 31.2 -2.5 0 203 0 101 0 -50 2x 34.6 2.3 405 303 101 102 0 -51 2x 36.8 0.8 505 303 0 101 0 -52 2x 38.9 -1.0 406 303 102 102 0 -53 2x 46.2 0.6 606 303 101 102 0 -54 2x 56.9 0.8 0 303 101 102 0 -55 2x 67.8 2.1 606 303 102 101 0 -56 2x 70.9 1.3 407 303 102 101 202 -57 2x 73.2 1.2 407 303 102 202 0 -58 2x 39.1 7.2 607 303 101 202 202 -59 2x 41.0 15.7 407 303 101 101 0 -60 2x 49.2 36.8 505 303 101 101 0 -61 2x 49.4 38.8 505 303 102 102 0 -62 2x 50.8 40.7 505 203 101 102 202 -63 2x 18.6 11.3 407 303 102 101 0 -64 2x 28.0 9.0 506 303 101 202 0 -65 2x 32.6 9.0 506 303 101 101 0 -66 4x 1.8 -0.9 5050606 3030404 1020202 1010101 2020202 -67 4x 2.4 -0.5 5060909 2020303 0 1020202 2020202 -68 4x 5.0 -0.6 4050506 1020303 1020202 2020202 0 -69 4x 5.6 0.4 5050606 3030304 1020202 1010202 2020202 -70 4x 10.4 -0.3 5060909 3030303 1010202 0 2020202 -71 4x 11.5 0.4 5050506 2030303 0 1010101 1020204 -72 4x 13.7 0.4 5060606 3030303 1010202 0 2020202 -73 4x 18.0 0.4 4050508 2030303 2020202 1010101 2020202 -74 4x 20.8 0.6 4060606 3030304 1020202 1010202 1010202 -75 4x 24.0 -0.7 4050606 3030304 1020202 1010102 1020202 -76 4x 25.1 1.2 6080909 1020303 0 1020202 2020202 -77 4x 34.1 2.4 5060606 3030303 0 1010101 1010202 -78 4x 41.0 -0.8 3050505 3030404 2020202 0 0 -79 4x 48.5 1.2 6060606 3030303 1010101 1010202 2020202 -80 4x 49.2 -2.6 3050507 3030304 0 1010101 0 -81 4x 49.7 -1.0 2030305 2030304 0 1020202 2020202 -82 4x 50.8 -2.3 5050707 3030304 2020202 1010101 1010202 -83 4x 56.1 -1.2 5050606 2020303 1010202 1010102 1020202 -84 4x 56.7 -0.9 3050606 2030303 0 1010102 2020202 -85 4x 56.8 -2.8 4050606 2020303 1020202 1020202 2020204 -86 4x 57.6 -3.0 4050708 2030303 0 1020202 2020204 -87 4x 58.7 -2.7 3050506 2030303 2020202 0 0 -88 4x 62.5 0.5 5060606 3030303 0 1010202 1010202 -89 4x 65.6 -3.0 5060809 3030303 0 1010202 2020202 -90 4x 65.7 1.0 5050606 3030303 1010202 2020202 2020202 -91 4x 68.3 0.5 4050608 3030303 1020202 1010202 2020202 -92 4x 68.5 1.2 5050606 3030303 2020202 1010202 2020204 -94 4x 73.0 -2.6 6060606 3030304 0 1010101 2020202 -95 4x 77.9 0.3 3030506 3030303 2020202 1010101 1020202 -96 4x 78.4 1.0 5050505 1030303 0 1010102 2020202 -97 4x 79.4 0.8 5050606 3030303 1020202 1010101 1010202 -98 4x 80.2 1.0 4060606 3030404 0 0 0 -99 4x 81.8 0.9 6060606 2020303 1010202 1010101 1010102 -100 4x 82.0 0.8 0 2020304 2020202 1010101 1010102 -101 4x 82.7 2.0 5050606 2030304 0 0 0 -102 4x 82.3 0.0 3050606 2020203 1010202 1010101 1020202 -103 4x 82.3 -0.3 6060606 2030304 2020202 1010101 1020202 -104 4x 41.6 10.6 3050506 2030303 0 1010202 0 -105 4x 45.9 15.0 3050506 3030304 2020202 1010102 2020204 -106 4x 44.6 24.8 5050708 3030303 0 1020202 2020202 -107 4x 45.7 25.3 5050505 3030303 2020202 1010202 1010102 -108 4x 46.6 27.0 3030505 3030303 2020202 1010102 2020202 -109 4x 48.4 27.0 0 3030304 0 1010102 1010202 -110 4x 48.8 28.7 5080808 3030303 0 1010202 1020202 -111 4x 48.6 33.6 0 3030303 1020202 1010101 1020204 -112 4x 49.6 35.3 0 3030303 1020202 1010101 1010202 -113 4x 49.1 36.3 5050607 3030303 1020202 1010101 2020202 -114 4x 49.1 36.7 0 3030303 1010101 1010101 2020202 -115 4x 49.1 38.2 5050507 2020303 2020202 0 2020202 -116 4x 48.3 38.9 6060709 2020303 1020202 0 2020202 -117 4x 47.8 39.6 5050607 2020203 2020202 1010202 2020202 -118 4x 2.4 -5.0 5060606 1030303 1010202 0 0 -119 4x 5.0 -6.0 0 0 0 0 0 -120 4x 8.5 -2.6 1050505 3030303 1010202 0 0 -121 4x 10.6 1.2 5050508 2030303 1010202 1010202 0 -122 4x 10.8 -0.7 5050608 2030303 2020202 2020202 2020202 -123 4x 12.8 1.1 5050609 2020303 1020202 0 0 -124 4x 22.6 0.8 3050508 2030304 1010202 1010101 0 -125 4x 79.4 -5.5 5050606 2030304 1010202 1010101 0 -126 4x 37.6 14.3 0 2030304 1010202 0 2020204 -127 4x 50.6 27.0 5050505 3030304 1010202 0 0 -128 4x 50.8 33.3 5050606 2030304 1020202 1010101 0 -129 4x 50.1 35.1 3030505 3030303 1010202 1010202 0 -130 4x 47.8 37.3 5050506 3030303 1020202 1010202 0 -131 4x 45.6 41.0 5060609 2030303 1010202 0 0 -132 4x 14.6 18.8 4050506 3030303 1010202 1010101 0 -133 4x 13.3 19.0 5060606 3030304 1010202 1010101 0 -134 4x 18.3 16.7 0 0 0 0 1010202 -135 4x 19.9 10.8 6060608 3030303 1010202 0 0 -136 4x 19.6 8.8 6060909 2020303 1010102 2020202 0 -137 4x 30.6 9.0 6060609 1030303 1010102 0 0 -138 4x 34.1 15.3 5050506 1030304 1010202 1010202 1010202 -139 4x 27.6 6.8 5050606 3030303 1020202 1010102 1010202 -140 4x 23.6 6.7 5050606 1020303 1010102 0 2020204 -END -// the word END is compulsory at the end of the list of individuals data +// This is an example of data file for the software SPAGeDi, written by O. Hardy and X. Vekemans +// +// Any line begining by // is a comment line, not read by the program. They can be put anywhere. +// Empty lines must also begin by // +// +// This example gives the genotypes at 5 enzymatic loci for 139 diploid and tetraploid individuals of +// Centaurea jacea (Asteraceae) that were collected within a 1 ha grassland +// (see Hardy and Vekemans 2001, Evolution 55: 943-954). +// The ploidy level is here identified by the categorical group. +// For this data set, SPAGeDi permits to check : +// - isolation by distance within each ploidy level +// (analysis at individual level, restricted within a given ploidy level, reference allele frequencies = within category) +// - whether the spatial structures of diploids and tetraploids are correlated +// (analysis at individual level, restricted between ploidy levels) +// - whether diploids and tetraploids are differentiated +// (analysis at the population level, population = categorical group) +// +// 1st non comment line : set of 6 numbers separated by a tabulation and representing : +// #individuals #categories #coordinates #loci #digits/allele max ploidy +// 2nd non comment line : # of distance intervals followed by the upper distance of each interval. +// 3rd non comment line : column labels (<=15 characters). +// 4th and next lines : data for each individual in the following order: Ind name, category, coordinates, genotypes +139 2 2 5 2 4 +6 2 4 6 10 20 30 +Ind ploidy X Y LAP PGD DIA PGM1 PGM2 +1 2x 3.2 -4.3 606 303 102 102 202 +2 2x 27.8 -1.0 505 303 101 101 202 +3 2x 29.6 -1.0 506 303 101 101 202 +4 2x 30.9 -0.8 505 303 202 102 202 +5 2x 29.8 1.0 405 303 0 102 202 +6 2x 33.0 -1.2 606 303 102 102 202 +7 2x 37.9 1.1 405 303 0 102 202 +8 2x 38.4 -1.0 506 303 102 102 202 +9 2x 39.4 -1.0 406 303 0 102 202 +10 2x 45.8 1.0 506 303 101 101 202 +11 2x 46.8 1.0 506 303 101 101 202 +12 2x 49.0 -0.8 0 303 0 101 102 +13 2x 52.8 -3.3 506 303 102 102 202 +14 2x 56.5 -2.8 405 303 101 202 202 +15 2x 58.5 -2.8 405 303 101 102 202 +16 2x 58.8 -4.8 507 303 101 202 202 +17 2x 63.9 -1.2 0 303 101 101 202 +18 2x 64.6 -2.7 607 303 102 101 202 +19 2x 66.1 -3.3 505 303 101 102 202 +20 2x 65.9 0.7 406 303 101 202 202 +21 2x 67.8 0.7 707 303 102 0 202 +22 2x 70.1 -3.0 507 203 102 202 202 +23 2x 71.2 -3.2 506 303 101 0 0 +24 2x 73.6 -3.1 506 203 102 101 202 +25 2x 72.9 -1.0 507 303 102 102 202 +26 2x 73.8 -0.6 405 303 101 202 202 +27 2x 75.2 -2.9 406 203 0 102 202 +28 2x 75.9 -1.3 507 303 102 101 202 +29 2x 75.6 0.5 505 303 101 102 202 +30 2x 76.6 1.1 405 303 0 102 202 +31 2x 80.4 0.8 606 303 102 101 202 +32 2x 83.4 -0.9 0 303 202 0 0 +33 2x 84.2 1.9 0 303 101 101 202 +34 2x 84.3 2.2 507 303 101 102 202 +35 2x 85.4 -0.9 406 303 202 0 202 +36 2x 41.1 6.3 407 303 101 101 202 +37 2x 41.1 6.9 404 303 101 101 202 +38 2x 40.8 10.5 505 303 102 202 202 +39 2x 45.6 10.3 507 303 102 0 202 +40 2x 45.3 11.1 405 303 102 102 202 +41 2x 45.2 25.0 506 303 101 101 202 +42 2x 45.7 25.3 0 303 101 101 202 +43 2x 44.6 26.8 0 303 101 101 202 +44 2x 47.6 29.3 506 303 101 102 202 +45 2x 48.1 31.1 506 303 102 102 202 +46 2x 49.1 30.8 0 303 102 102 202 +47 2x 50.0 31.2 506 303 102 101 202 +48 2x 49.2 37.3 506 303 101 101 202 +49 2x 31.2 -2.5 0 203 0 101 0 +50 2x 34.6 2.3 405 303 101 102 0 +51 2x 36.8 0.8 505 303 0 101 0 +52 2x 38.9 -1.0 406 303 102 102 0 +53 2x 46.2 0.6 606 303 101 102 0 +54 2x 56.9 0.8 0 303 101 102 0 +55 2x 67.8 2.1 606 303 102 101 0 +56 2x 70.9 1.3 407 303 102 101 202 +57 2x 73.2 1.2 407 303 102 202 0 +58 2x 39.1 7.2 607 303 101 202 202 +59 2x 41.0 15.7 407 303 101 101 0 +60 2x 49.2 36.8 505 303 101 101 0 +61 2x 49.4 38.8 505 303 102 102 0 +62 2x 50.8 40.7 505 203 101 102 202 +63 2x 18.6 11.3 407 303 102 101 0 +64 2x 28.0 9.0 506 303 101 202 0 +65 2x 32.6 9.0 506 303 101 101 0 +66 4x 1.8 -0.9 5050606 3030404 1020202 1010101 2020202 +67 4x 2.4 -0.5 5060909 2020303 0 1020202 2020202 +68 4x 5.0 -0.6 4050506 1020303 1020202 2020202 0 +69 4x 5.6 0.4 5050606 3030304 1020202 1010202 2020202 +70 4x 10.4 -0.3 5060909 3030303 1010202 0 2020202 +71 4x 11.5 0.4 5050506 2030303 0 1010101 1020204 +72 4x 13.7 0.4 5060606 3030303 1010202 0 2020202 +73 4x 18.0 0.4 4050508 2030303 2020202 1010101 2020202 +74 4x 20.8 0.6 4060606 3030304 1020202 1010202 1010202 +75 4x 24.0 -0.7 4050606 3030304 1020202 1010102 1020202 +76 4x 25.1 1.2 6080909 1020303 0 1020202 2020202 +77 4x 34.1 2.4 5060606 3030303 0 1010101 1010202 +78 4x 41.0 -0.8 3050505 3030404 2020202 0 0 +79 4x 48.5 1.2 6060606 3030303 1010101 1010202 2020202 +80 4x 49.2 -2.6 3050507 3030304 0 1010101 0 +81 4x 49.7 -1.0 2030305 2030304 0 1020202 2020202 +82 4x 50.8 -2.3 5050707 3030304 2020202 1010101 1010202 +83 4x 56.1 -1.2 5050606 2020303 1010202 1010102 1020202 +84 4x 56.7 -0.9 3050606 2030303 0 1010102 2020202 +85 4x 56.8 -2.8 4050606 2020303 1020202 1020202 2020204 +86 4x 57.6 -3.0 4050708 2030303 0 1020202 2020204 +87 4x 58.7 -2.7 3050506 2030303 2020202 0 0 +88 4x 62.5 0.5 5060606 3030303 0 1010202 1010202 +89 4x 65.6 -3.0 5060809 3030303 0 1010202 2020202 +90 4x 65.7 1.0 5050606 3030303 1010202 2020202 2020202 +91 4x 68.3 0.5 4050608 3030303 1020202 1010202 2020202 +92 4x 68.5 1.2 5050606 3030303 2020202 1010202 2020204 +94 4x 73.0 -2.6 6060606 3030304 0 1010101 2020202 +95 4x 77.9 0.3 3030506 3030303 2020202 1010101 1020202 +96 4x 78.4 1.0 5050505 1030303 0 1010102 2020202 +97 4x 79.4 0.8 5050606 3030303 1020202 1010101 1010202 +98 4x 80.2 1.0 4060606 3030404 0 0 0 +99 4x 81.8 0.9 6060606 2020303 1010202 1010101 1010102 +100 4x 82.0 0.8 0 2020304 2020202 1010101 1010102 +101 4x 82.7 2.0 5050606 2030304 0 0 0 +102 4x 82.3 0.0 3050606 2020203 1010202 1010101 1020202 +103 4x 82.3 -0.3 6060606 2030304 2020202 1010101 1020202 +104 4x 41.6 10.6 3050506 2030303 0 1010202 0 +105 4x 45.9 15.0 3050506 3030304 2020202 1010102 2020204 +106 4x 44.6 24.8 5050708 3030303 0 1020202 2020202 +107 4x 45.7 25.3 5050505 3030303 2020202 1010202 1010102 +108 4x 46.6 27.0 3030505 3030303 2020202 1010102 2020202 +109 4x 48.4 27.0 0 3030304 0 1010102 1010202 +110 4x 48.8 28.7 5080808 3030303 0 1010202 1020202 +111 4x 48.6 33.6 0 3030303 1020202 1010101 1020204 +112 4x 49.6 35.3 0 3030303 1020202 1010101 1010202 +113 4x 49.1 36.3 5050607 3030303 1020202 1010101 2020202 +114 4x 49.1 36.7 0 3030303 1010101 1010101 2020202 +115 4x 49.1 38.2 5050507 2020303 2020202 0 2020202 +116 4x 48.3 38.9 6060709 2020303 1020202 0 2020202 +117 4x 47.8 39.6 5050607 2020203 2020202 1010202 2020202 +118 4x 2.4 -5.0 5060606 1030303 1010202 0 0 +119 4x 5.0 -6.0 0 0 0 0 0 +120 4x 8.5 -2.6 1050505 3030303 1010202 0 0 +121 4x 10.6 1.2 5050508 2030303 1010202 1010202 0 +122 4x 10.8 -0.7 5050608 2030303 2020202 2020202 2020202 +123 4x 12.8 1.1 5050609 2020303 1020202 0 0 +124 4x 22.6 0.8 3050508 2030304 1010202 1010101 0 +125 4x 79.4 -5.5 5050606 2030304 1010202 1010101 0 +126 4x 37.6 14.3 0 2030304 1010202 0 2020204 +127 4x 50.6 27.0 5050505 3030304 1010202 0 0 +128 4x 50.8 33.3 5050606 2030304 1020202 1010101 0 +129 4x 50.1 35.1 3030505 3030303 1010202 1010202 0 +130 4x 47.8 37.3 5050506 3030303 1020202 1010202 0 +131 4x 45.6 41.0 5060609 2030303 1010202 0 0 +132 4x 14.6 18.8 4050506 3030303 1010202 1010101 0 +133 4x 13.3 19.0 5060606 3030304 1010202 1010101 0 +134 4x 18.3 16.7 0 0 0 0 1010202 +135 4x 19.9 10.8 6060608 3030303 1010202 0 0 +136 4x 19.6 8.8 6060909 2020303 1010102 2020202 0 +137 4x 30.6 9.0 6060609 1030303 1010102 0 0 +138 4x 34.1 15.3 5050506 1030304 1010202 1010202 1010202 +139 4x 27.6 6.8 5050606 3030303 1020202 1010102 1010202 +140 4x 23.6 6.7 5050606 1020303 1010102 0 2020204 +END diff --git a/example_data/DataHaplo-with_distance_matrix_between_haplotypes.txt b/example_data/DataHaplo-with_distance_matrix_between_haplotypes.txt index 1711611..0750c5d 100644 --- a/example_data/DataHaplo-with_distance_matrix_between_haplotypes.txt +++ b/example_data/DataHaplo-with_distance_matrix_between_haplotypes.txt @@ -1,141 +1,141 @@ -119 5 2 1 2 1 -5 200 500 1000 2000 4000 -Ind cat Lat Long Hapl -1 Ea -1335.6 1932.2 9 -2 Ea -1588.9 1945.6 9 -3 Ea -1604.4 1840 9 -4 Ea -1350 1920 9 -5 E 780.2 289 6 -6 E 957.9 184.8 13 -7 E 777.1 292.1 6 -8 E 1027.6 172.5 5 -9 Ea -2025.8 2390 9 -10 Ea 1230 -464.4 12 -11 Ea 1230 -464.4 12 -12 E 312.1 1378.2 3 -13 E 311.4 1377.9 22 -14 E 279.8 1198.9 23 -15 E 379 1277 23 -16 E 438.2 1648 3 -17 E 524.4 1573.7 3 -18 E 254.3 1702.8 3 -19 E 335.5 1535.8 3 -20 E 342.8 1512.1 3 -21 Ei 612.2 1232.2 3 -22 E 254 1105.3 23 -23 E 253.7 1105.3 18 -24 E 562.3 982.1 23 -25 E 562.2 982.6 23 -26 E 563.2 984.3 23 -27 E 562.3 981.4 22 -28 E 562.3 982.1 23 -29 Es 1037.8 493.3 23 -30 E 257.5 1490.5 3 -31 E 263.9 1180.9 23 -32 Es 697.8 1375.6 3 -33 E 288.4 1470.5 3 -34 E 324.8 1445.1 3 -35 Ei 14.4 1172.2 3 -36 E 327.2 1666.4 3 -37 Es 276.7 1231.1 3 -38 E 371.8 1587.3 3 -39 E 334.3 1693 3 -40 Ei 497.8 1046.7 23 -41 E 279.7 1490.2 3 -42 E 398.8 1515.1 3 -43 E 497.3 1251.4 3 -44 E 326 1660.8 3 -45 E 391.6 1625.6 3 -46 E 224.8 1725.4 3 -47 E 230.5 1757.4 3 -48 E 418.8 1517.2 3 -49 E 421.8 1539.2 3 -50 E 374.6 1537.8 3 -51 E 366.4 1549 3 -52 E 1177.3 357.3 23 -53 E 1158.9 345.8 23 -54 E 220.2 1798.6 3 -55 E 354.7 1657.7 3 -56 Es 40 1598.9 3 -57 E 152.2 1781.1 3 -58 E 147.2 1822.5 3 -59 Es -472.6 1383.3 3 -60 E 176.8 1294.2 3 -61 E 176.8 1294.2 23 -62 E 190.8 1299.7 22 -63 E 190.8 1299.7 23 -64 E 123.9 1468.6 3 -65 E 60.4 1036.9 24 -66 E 46.8 1326.2 3 -67 E -77.2 1505.4 3 -68 E 66.4 1037.5 23 -69 E 66.4 1037.5 24 -70 E 78.3 1455.8 4 -71 E -53.7 1400 3 -72 E -53.7 1400 17 -73 E -1.9 1040.7 25 -74 E 87.3 1480 3 -75 E -265.4 1127.7 3 -76 E 37.9 1038.8 24 -77 E 16.1 1037.7 23 -78 E -118.3 1243.2 3 -79 E 1128.4 -100.1 3 -80 E 1131.5 -190 3 -81 E 1162.2 -162 3 -82 E 1133 -189.7 4 -83 E 1064.1 106.7 23 -84 E 1066.7 92.6 23 -85 E 1128.4 -100.1 23 -86 E 1035.9 -111.8 25 -87 E 1037.6 -110.7 25 -88 E 1041.3 -110.8 25 -89 Es 1457.8 -1808.9 7 -90 Es 598.9 -13.3 2 -91 Ea 1016.7 -167.8 10 -92 Es 1154.4 -1351.1 11 -93 Ea 1366.7 -1465.6 10 -94 Es 1338.9 -1353.3 7 -95 Es 1135.6 -1011.1 12 -96 Es 1245.6 -1373.3 12 -97 Ea 1341.1 -1561.1 10 -98 Es 167.8 1050 23 -99 Ei 165.6 1171.1 23 -100 Ei 134.4 1041.1 22 -101 Ea -2004.4 2363.3 9 -102 Es 822.2 2333.3 3 -103 Es 833.3 2333.3 3 -104 Ea 822.2 2333.3 10 -105 Es 1392.2 -1866.7 7 -106 Es 1391.1 -1866.7 7 -107 Es 1423.3 -1790 7 -108 Ea 1482.2 -1495.6 10 -109 Es 1360 -1814.4 7 -110 Es 1456.7 -1485.6 7 -111 El -2925.6 3556.7 4 -112 Ea -488.9 3484.4 9 -113 Ea -727.8 3590 9 -114 Ea -387.8 3594.4 9 -115 Ea -1157.8 3927.8 9 -116 Ea -934.4 3444.4 9 -117 E -1234.4 2678.9 10 -118 Ea -1478.9 3122.2 9 -119 Ea -1002.2 3497.8 9 -END -Hapl 2 3 4 5 6 7 9 10 11 12 13 17 18 22 23 24 25 -2 0 8 7 5 4 3 8 7 6 5 8 11 10 13 12 11 10 -3 8 0 1 3 4 5 2 3 4 5 4 9 10 9 10 11 12 -4 7 1 0 2 3 4 1 2 3 4 3 8 9 8 9 10 11 -5 5 3 2 0 1 2 3 2 1 2 3 6 7 8 7 8 9 -6 4 4 3 1 0 1 4 3 2 1 4 7 6 9 8 7 8 -7 3 5 4 2 1 0 5 4 3 2 5 8 7 10 9 8 7 -9 8 2 1 3 4 5 0 1 2 3 2 9 10 7 8 9 10 -10 7 3 2 2 3 4 1 0 1 2 1 8 9 6 7 8 9 -11 6 4 3 1 2 3 2 1 0 1 2 7 8 7 6 7 8 -12 5 5 4 2 1 2 3 2 1 0 3 8 7 8 7 6 7 -13 8 4 3 3 4 5 2 1 2 3 0 9 10 7 8 9 10 -17 11 9 8 6 7 8 9 8 7 8 9 0 1 2 1 2 3 -18 10 10 9 7 6 7 10 9 8 7 10 1 0 3 2 1 2 -22 13 9 8 8 9 10 7 6 7 8 7 2 3 0 1 2 3 -23 12 10 9 7 8 9 8 7 6 7 8 1 2 1 0 1 2 -24 11 11 10 8 7 8 9 8 7 6 9 2 1 2 1 0 1 -25 10 12 11 9 8 7 10 9 8 7 10 3 2 3 2 1 0 +119 5 2 1 2 1 +5 200 500 1000 2000 4000 +Ind cat Lat Long Hapl +1 Ea -1335.6 1932.2 9 +2 Ea -1588.9 1945.6 9 +3 Ea -1604.4 1840 9 +4 Ea -1350 1920 9 +5 E 780.2 289 6 +6 E 957.9 184.8 13 +7 E 777.1 292.1 6 +8 E 1027.6 172.5 5 +9 Ea -2025.8 2390 9 +10 Ea 1230 -464.4 12 +11 Ea 1230 -464.4 12 +12 E 312.1 1378.2 3 +13 E 311.4 1377.9 22 +14 E 279.8 1198.9 23 +15 E 379 1277 23 +16 E 438.2 1648 3 +17 E 524.4 1573.7 3 +18 E 254.3 1702.8 3 +19 E 335.5 1535.8 3 +20 E 342.8 1512.1 3 +21 Ei 612.2 1232.2 3 +22 E 254 1105.3 23 +23 E 253.7 1105.3 18 +24 E 562.3 982.1 23 +25 E 562.2 982.6 23 +26 E 563.2 984.3 23 +27 E 562.3 981.4 22 +28 E 562.3 982.1 23 +29 Es 1037.8 493.3 23 +30 E 257.5 1490.5 3 +31 E 263.9 1180.9 23 +32 Es 697.8 1375.6 3 +33 E 288.4 1470.5 3 +34 E 324.8 1445.1 3 +35 Ei 14.4 1172.2 3 +36 E 327.2 1666.4 3 +37 Es 276.7 1231.1 3 +38 E 371.8 1587.3 3 +39 E 334.3 1693 3 +40 Ei 497.8 1046.7 23 +41 E 279.7 1490.2 3 +42 E 398.8 1515.1 3 +43 E 497.3 1251.4 3 +44 E 326 1660.8 3 +45 E 391.6 1625.6 3 +46 E 224.8 1725.4 3 +47 E 230.5 1757.4 3 +48 E 418.8 1517.2 3 +49 E 421.8 1539.2 3 +50 E 374.6 1537.8 3 +51 E 366.4 1549 3 +52 E 1177.3 357.3 23 +53 E 1158.9 345.8 23 +54 E 220.2 1798.6 3 +55 E 354.7 1657.7 3 +56 Es 40 1598.9 3 +57 E 152.2 1781.1 3 +58 E 147.2 1822.5 3 +59 Es -472.6 1383.3 3 +60 E 176.8 1294.2 3 +61 E 176.8 1294.2 23 +62 E 190.8 1299.7 22 +63 E 190.8 1299.7 23 +64 E 123.9 1468.6 3 +65 E 60.4 1036.9 24 +66 E 46.8 1326.2 3 +67 E -77.2 1505.4 3 +68 E 66.4 1037.5 23 +69 E 66.4 1037.5 24 +70 E 78.3 1455.8 4 +71 E -53.7 1400 3 +72 E -53.7 1400 17 +73 E -1.9 1040.7 25 +74 E 87.3 1480 3 +75 E -265.4 1127.7 3 +76 E 37.9 1038.8 24 +77 E 16.1 1037.7 23 +78 E -118.3 1243.2 3 +79 E 1128.4 -100.1 3 +80 E 1131.5 -190 3 +81 E 1162.2 -162 3 +82 E 1133 -189.7 4 +83 E 1064.1 106.7 23 +84 E 1066.7 92.6 23 +85 E 1128.4 -100.1 23 +86 E 1035.9 -111.8 25 +87 E 1037.6 -110.7 25 +88 E 1041.3 -110.8 25 +89 Es 1457.8 -1808.9 7 +90 Es 598.9 -13.3 2 +91 Ea 1016.7 -167.8 10 +92 Es 1154.4 -1351.1 11 +93 Ea 1366.7 -1465.6 10 +94 Es 1338.9 -1353.3 7 +95 Es 1135.6 -1011.1 12 +96 Es 1245.6 -1373.3 12 +97 Ea 1341.1 -1561.1 10 +98 Es 167.8 1050 23 +99 Ei 165.6 1171.1 23 +100 Ei 134.4 1041.1 22 +101 Ea -2004.4 2363.3 9 +102 Es 822.2 2333.3 3 +103 Es 833.3 2333.3 3 +104 Ea 822.2 2333.3 10 +105 Es 1392.2 -1866.7 7 +106 Es 1391.1 -1866.7 7 +107 Es 1423.3 -1790 7 +108 Ea 1482.2 -1495.6 10 +109 Es 1360 -1814.4 7 +110 Es 1456.7 -1485.6 7 +111 El -2925.6 3556.7 4 +112 Ea -488.9 3484.4 9 +113 Ea -727.8 3590 9 +114 Ea -387.8 3594.4 9 +115 Ea -1157.8 3927.8 9 +116 Ea -934.4 3444.4 9 +117 E -1234.4 2678.9 10 +118 Ea -1478.9 3122.2 9 +119 Ea -1002.2 3497.8 9 +END +Hapl 2 3 4 5 6 7 9 10 11 12 13 17 18 22 23 24 25 +2 0 8 7 5 4 3 8 7 6 5 8 11 10 13 12 11 10 +3 8 0 1 3 4 5 2 3 4 5 4 9 10 9 10 11 12 +4 7 1 0 2 3 4 1 2 3 4 3 8 9 8 9 10 11 +5 5 3 2 0 1 2 3 2 1 2 3 6 7 8 7 8 9 +6 4 4 3 1 0 1 4 3 2 1 4 7 6 9 8 7 8 +7 3 5 4 2 1 0 5 4 3 2 5 8 7 10 9 8 7 +9 8 2 1 3 4 5 0 1 2 3 2 9 10 7 8 9 10 +10 7 3 2 2 3 4 1 0 1 2 1 8 9 6 7 8 9 +11 6 4 3 1 2 3 2 1 0 1 2 7 8 7 6 7 8 +12 5 5 4 2 1 2 3 2 1 0 3 8 7 8 7 6 7 +13 8 4 3 3 4 5 2 1 2 3 0 9 10 7 8 9 10 +17 11 9 8 6 7 8 9 8 7 8 9 0 1 2 1 2 3 +18 10 10 9 7 6 7 10 9 8 7 10 1 0 3 2 1 2 +22 13 9 8 8 9 10 7 6 7 8 7 2 3 0 1 2 3 +23 12 10 9 7 8 9 8 7 6 7 8 1 2 1 0 1 2 +24 11 11 10 8 7 8 9 8 7 6 9 2 1 2 1 0 1 +25 10 12 11 9 8 7 10 9 8 7 10 3 2 3 2 1 0 diff --git a/example_data/DataSSR-fine_scale_spatial_structure.txt b/example_data/DataSSR-fine_scale_spatial_structure.txt index ac281f0..8d488e9 100644 --- a/example_data/DataSSR-fine_scale_spatial_structure.txt +++ b/example_data/DataSSR-fine_scale_spatial_structure.txt @@ -1,657 +1,655 @@ -// This is an example of data file for the software SPAGeDi, written by O. Hardy and X. Vekemans -// -// Any line begining by // is a comment line, not read by the program. They can be put anywhere. -// Empty lines must also begin by // -// -// This example gives the genotypes at 6 enzymatic loci for 629 individuals of Chamaecrista fasciculata -// (Asteraceae) that were collected by C. B. Fenster in 10 subpopulations from a 1km x 2km metapopulation -// (the data set given here is incomplete). -// Subpopulations are identified by the categorical group. -// For this data set, SPAGeDi permits to assess : -// - isolation by distance within each subpopulation -// (analysis at individual level, restricted within a given subpopulation, reference allele frequencies = within category) -// - average isolation by distance within subpopulations -// (analysis at individual level, restricted within subpopulations, reference allele frequencies = within category) -// - isolation by distance among subpopulations -// (analysis at population level, population = categorical group) -// -// 1st non comment line : set of 6 numbers separated by a tabulation and representing : -// #individuals #categories #coordinates #loci #digits/allele max ploidy -// 2nd non comment line : # of distance intervals followed by the upper distance of each interval. -// 3rd non comment line : column labels (<=15 characters). -// 4th and next lines : data for each individual in the following order: Ind name, category, coordinates, genotypes -629 10 2 6 2 2 -13 0.75 1.25 1.75 2.25 3 4 5 20 75 200 500 1000 2000 -Ind SubPop X Y E1 E2 E3 E5 E7 E8 -1071 SP2-1 319570 155194 606 606 505 0 707 505 -1072 SP2-1 319570 155195.8 0 0 505 0 506 707 -1052 SP2-1 319570 155196 0 0 505 0 0 707 -1075 SP2-1 319570.01 155196 0 0 505 0 707 0 -1069 SP2-1 319570 155198.5 0 0 506 0 707 507 -1070 SP2-1 319570 155200 0 0 505 0 607 507 -1004 SP2-1 319570.1 155199.2 0 0 0 0 0 707 -1012 SP2-1 319570.3 155199.5 0 0 505 0 606 707 -1074 SP2-1 319570.4 155195.7 0 0 505 505 606 0 -1066 SP2-1 319570.5 155197 0 0 0 0 0 0 -1062 SP2-1 319570.7 155195 0 0 0 0 0 707 -1060 SP2-1 319570.8 155194 0 0 505 0 0 707 -1067 SP2-1 319570.8 155199.2 0 0 0 0 0 0 -1068 SP2-1 319570.81 155199.2 0 0 0 0 0 0 -1045 SP2-1 319571 155199 0 0 506 0 0 507 -1058 SP2-1 319571.01 155199 0 0 505 0 0 707 -1044 SP2-1 319571 155200 0 0 505 0 0 0 -1042 SP2-1 319571.5 155194 0 0 506 0 0 507 -1043 SP2-1 319571.5 155194.5 0 0 505 0 707 507 -1065 SP2-1 319571.5 155196.5 0 0 0 500 0 707 -1054 SP2-1 319572 155194.5 0 0 505 0 0 0 -1041 SP2-1 319572 155200 0 0 0 0 0 507 -1073 SP2-1 319572.4 155195.7 0 0 505 0 0 0 -1049 SP2-1 319572.5 155194 0 0 0 606 0 0 -1053 SP2-1 319572.5 155194.5 0 0 505 0 0 505 -1005 SP2-1 319572.5 155195 0 0 505 505 0 707 -1050 SP2-1 319573 155194 0 0 0 606 0 0 -1051 SP2-1 319573.01 155194 0 0 506 0 0 0 -1055 SP2-1 319574 155195 0 0 506 0 0 0 -1057 SP2-1 319574 155195.5 0 0 505 0 0 507 -1080 SP2-1 319574 155196 0 0 505 505 607 0 -1007 SP2-1 319574 155197 0 0 506 505 607 505 -1006 SP2-1 319574 155198 0 0 506 505 607 505 -1003 SP2-1 319574.2 155195.5 506 506 0 0 607 507 -1059 SP2-1 319574.2 155197.5 0 0 506 0 0 507 -1056 SP2-1 319574.4 155195.2 0 0 505 0 0 707 -1030 SP2-1 319574.5 155194 0 0 505 507 607 707 -1063 SP2-1 319574.5 155198 0 0 506 0 0 707 -1064 SP2-1 319574.51 155198 0 0 505 0 0 707 -1037 SP2-1 319575 155194 0 0 506 0 606 507 -1038 SP2-1 319575.01 155194 0 0 0 0 607 507 -1039 SP2-1 319575.02 155194 0 0 0 0 606 507 -1040 SP2-1 319575.03 155194 0 0 505 0 707 707 -1047 SP2-1 319575.04 155194 0 0 506 0 0 707 -1048 SP2-1 319575.05 155194 0 0 505 505 0 507 -1033 SP2-1 319575 155194.5 0 0 0 0 0 0 -1046 SP2-1 319575.01 155194.5 0 0 506 0 707 507 -1076 SP2-1 319575 155195.5 0 0 505 0 607 707 -1078 SP2-1 319575 155197.5 0 0 505 0 607 707 -1079 SP2-1 319575.01 155197.5 0 0 505 0 607 707 -1061 SP2-1 319575 155199 0 0 505 0 0 507 -1034 SP2-1 319575.5 155194 0 0 506 0 0 707 -1036 SP2-1 319575.51 155194 0 0 0 505 607 707 -1011 SP2-1 319575.6 155198 0 0 505 0 607 507 -1035 SP2-1 319576 155194 0 0 505 0 607 707 -1081 SP2-1 319576.01 155194 0 0 505 505 606 0 -1082 SP2-1 319576.02 155194 0 0 505 505 0 507 -1077 SP2-1 319576 155197 0 0 0 0 0 707 -1010 SP2-1 319576 155199.5 0 0 505 0 707 0 -1008 SP2-1 319576 155200 0 0 505 505 607 707 -1009 SP2-1 319576.01 155200 0 0 505 505 606 507 -1015 SP2-2 319570 155154 0 606 505 0 606 707 -1148 SP2-2 319570 155158 606 606 505 505 606 505 -1149 SP2-2 319570 155158.5 606 606 505 0 606 505 -1150 SP2-2 319570 155159.2 506 606 505 0 607 707 -1025 SP2-2 319570 155160 506 506 506 0 0 707 -1151 SP2-2 319570.01 155160 506 606 505 505 607 707 -1146 SP2-2 319570.4 155154 606 0 0 0 0 0 -1147 SP2-2 319570.4 155157.8 0 0 505 0 0 0 -1120 SP2-2 319570.4 155160 506 606 506 505 707 607 -1014 SP2-2 319570.5 155154 0 0 506 0 607 707 -1016 SP2-2 319570.51 155154 0 0 505 0 0 507 -1139 SP2-2 319570.5 155156 506 606 505 0 0 707 -1121 SP2-2 319571 155155 606 606 505 0 0 0 -1143 SP2-2 319571.01 155155 606 0 506 0 707 507 -1126 SP2-2 319571 155156 606 606 505 0 0 707 -1138 SP2-2 319571.01 155156 506 0 505 0 0 707 -1125 SP2-2 319571 155156.2 606 606 505 0 607 505 -1124 SP2-2 319571 155156.8 0 0 505 0 0 0 -1141 SP2-2 319571.2 155154 0 0 505 0 0 0 -1142 SP2-2 319571.21 155154 0 0 505 0 707 0 -1140 SP2-2 319571.2 155155 606 506 505 505 607 707 -1137 SP2-2 319571.2 155156 0 0 505 0 707 707 -1132 SP2-2 319571.2 155157 0 0 0 505 0 707 -1122 SP2-2 319571.2 155159 606 606 506 507 0 606 -1123 SP2-2 319571.2 155159.8 0 0 505 0 0 707 -1131 SP2-2 319571.5 155156.5 606 0 505 0 707 707 -1133 SP2-2 319571.5 155157.5 606 606 505 0 607 507 -1136 SP2-2 319572 155159 606 0 506 0 607 505 -1128 SP2-2 319572 155159.5 606 606 506 0 0 707 -1129 SP2-2 319572.01 155159.5 606 606 505 0 607 507 -1127 SP2-2 319572.2 155160 606 606 505 0 707 707 -1026 SP2-2 319573 155154 0 606 0 0 0 505 -1013 SP2-2 319573 155155.5 0 0 505 0 707 607 -1145 SP2-2 319573 155156 606 0 0 0 0 0 -1134 SP2-2 319573 155156.2 606 606 506 505 707 707 -1130 SP2-2 319573 155159 606 506 505 0 606 607 -1144 SP2-2 319573.01 155159 606 0 506 0 0 707 -1018 SP2-2 319573 155160 0 0 0 0 0 507 -1135 SP2-2 319573.5 155154 505 0 505 0 607 507 -1115 SP2-2 319573.5 155159 0 0 505 505 0 707 -1028 SP2-2 319574 155157 606 606 505 0 707 505 -1019 SP2-2 319574 155160 0 0 505 0 707 507 -1023 SP2-2 319574.5 155154.5 0 0 0 0 607 707 -1024 SP2-2 319574.51 155154.5 0 0 0 0 607 707 -1032 SP2-2 319574.5 155164.5 0 0 505 0 607 507 -1022 SP2-2 319575 155154.5 0 0 0 0 606 606 -1027 SP2-2 319575 155155 506 607 505 0 606 507 -1020 SP2-2 319576 155157 0 0 0 0 0 507 -1021 SP2-2 319576 155158.5 506 606 506 0 707 707 -1017 SP2-2 319576 155160 0 0 506 0 707 707 -1031 SP2-2 319576 155165 0 0 506 0 607 707 -1202 SP4-1 319476.5 154895 606 606 505 507 707 505 -1208 SP4-1 319476.5 154896 506 606 505 505 707 707 -1186 SP4-1 319476.5 154896.5 606 606 505 0 707 707 -1189 SP4-1 319476.51 154896.5 606 606 505 505 707 507 -1210 SP4-1 319476.52 154896.5 606 606 505 505 0 505 -1184 SP4-1 319476.5 154897 606 606 506 0 707 707 -1191 SP4-1 319476.8 154895 606 606 506 505 606 507 -1192 SP4-1 319476.81 154895 606 606 505 505 707 707 -1199 SP4-1 319476.82 154895 505 606 505 507 707 707 -1197 SP4-1 319476.8 154895.2 606 606 505 505 707 707 -1180 SP4-1 319476.8 154897 606 606 505 505 607 707 -1183 SP4-1 319476.81 154897 0 0 505 505 607 707 -1217 SP4-1 319476.8 154900 606 606 505 505 607 507 -1196 SP4-1 319477 154895 606 606 505 505 707 707 -1204 SP4-1 319477.01 154895 606 606 505 507 607 707 -1203 SP4-1 319477 154895.2 606 606 505 707 607 707 -1190 SP4-1 319477 154895.5 606 606 505 0 707 707 -1201 SP4-1 319477.01 154895.5 606 606 505 0 707 707 -1200 SP4-1 319477 154895.8 606 606 506 505 607 707 -1195 SP4-1 319477 154896 506 606 505 505 607 505 -1198 SP4-1 319477.01 154896 606 606 506 507 707 707 -1216 SP4-1 319477.02 154896 606 606 505 505 607 707 -1205 SP4-1 319477 154896.5 606 606 505 505 607 607 -1171 SP4-1 319477 154897 606 606 505 0 707 707 -1172 SP4-1 319477.01 154897 606 606 505 0 607 507 -1207 SP4-1 319477.02 154897 606 606 505 505 707 507 -1212 SP4-1 319477.03 154897 606 606 506 505 607 707 -1206 SP4-1 319477 154898 606 606 506 505 707 607 -1194 SP4-1 319477 154899 606 606 505 505 707 607 -1177 SP4-1 319477.2 154897 606 606 505 505 707 507 -1178 SP4-1 319477.21 154897 606 606 505 507 607 507 -1181 SP4-1 319477.2 154898 606 606 505 0 607 507 -1163 SP4-1 319477.5 154895 506 606 505 0 707 507 -1187 SP4-1 319477.5 154898 606 606 505 0 707 607 -1176 SP4-1 319477.5 154899 506 606 505 505 606 707 -1218 SP4-1 319477.51 154899 606 606 505 505 707 707 -1164 SP4-1 319478 154895 606 606 506 0 607 707 -1188 SP4-1 319478 154898 506 606 505 0 707 707 -1193 SP4-1 319478 154899 505 606 505 505 607 507 -1161 SP4-1 319478.5 154897 606 506 505 0 606 707 -1162 SP4-1 319478.51 154897 606 607 505 0 607 707 -1166 SP4-1 319479 154895 606 606 505 0 607 707 -1167 SP4-1 319479.01 154895 606 606 505 0 607 707 -1179 SP4-1 319479 154895.2 506 607 505 505 707 707 -1155 SP4-1 319479 154895.7 606 606 505 505 607 707 -1169 SP4-1 319479.3 154895.1 606 606 505 0 607 707 -1156 SP4-1 319479.5 154895 506 606 505 505 607 707 -1157 SP4-1 319479.51 154895 506 606 505 505 606 707 -1158 SP4-1 319479.52 154895 606 606 505 505 606 507 -1165 SP4-1 319479.53 154895 606 606 505 0 707 607 -1170 SP4-1 319479.54 154895 606 606 506 0 607 607 -1168 SP4-1 319479.5 154895.2 506 606 506 0 607 0 -1182 SP4-1 319479.5 154896.8 0 0 505 0 607 507 -1185 SP4-1 319479.51 154896.8 606 0 505 0 606 707 -1173 SP4-1 319479.6 154897.4 606 606 505 0 607 707 -1160 SP4-1 319480 154896.4 606 606 505 0 607 507 -1159 SP4-1 319480 154896.6 606 606 505 0 607 707 -1238 SP4-1 319480 154897.2 506 506 505 505 707 507 -1174 SP4-1 319480 154897.8 606 606 505 505 707 707 -1175 SP4-1 319480 154898.2 606 606 505 0 607 707 -1269 SP4-2 319440.3 154890 506 606 505 505 606 707 -1242 SP4-2 319440.3 154891.5 506 606 506 505 707 707 -1288 SP4-2 319440.4 154891.8 606 606 506 505 707 507 -1266 SP4-2 319440.8 154890 506 506 505 505 707 506 -1282 SP4-2 319441 154892.5 506 606 505 506 607 707 -1263 SP4-2 319441 154892.8 506 606 506 505 707 707 -1261 SP4-2 319441.01 154892.8 506 606 505 0 607 707 -1265 SP4-2 319441.5 154892.5 506 606 505 505 707 707 -1255 SP4-2 319441.5 154893 505 606 505 0 607 707 -1287 SP4-2 319441.8 154891.5 606 606 505 505 707 507 -1264 SP4-2 319442 154890 506 506 506 505 707 707 -1243 SP4-2 319442 154891 506 505 505 505 607 707 -1286 SP4-2 319442 154891.5 606 606 506 505 607 707 -1277 SP4-2 319442.2 154892 506 606 505 505 606 607 -1262 SP4-2 319442.3 154890 506 0 505 0 707 707 -1244 SP4-2 319442.4 154891.2 506 606 505 505 607 707 -1285 SP4-2 319442.5 154891.8 606 606 505 505 707 0 -1267 SP4-2 319442.5 154892.5 506 607 506 505 606 507 -1268 SP4-2 319442.51 154892.5 606 606 505 505 707 707 -1226 SP4-2 319442.6 154890 506 606 505 505 707 707 -1225 SP4-2 319442.7 154890 506 606 505 505 707 607 -1245 SP4-2 319442.7 154891.2 506 606 505 0 607 0 -1246 SP4-2 319442.8 154891 506 606 505 0 707 0 -1224 SP4-2 319443 154890.4 506 606 505 505 607 606 -1284 SP4-2 319443 154891.8 506 606 505 506 707 505 -1273 SP4-2 319443 154892.5 506 506 505 505 707 707 -1256 SP4-2 319443 154893 506 606 505 0 606 0 -1253 SP4-2 319443 154893.5 506 606 506 0 607 507 -1283 SP4-2 319443.2 154891.8 506 606 505 505 607 507 -1222 SP4-2 319443.3 154890.5 506 606 506 507 707 0 -1249 SP4-2 319443.3 154891.2 506 606 505 0 707 507 -1248 SP4-2 319443.3 154891.4 506 0 505 0 707 0 -1223 SP4-2 319443.5 154890.5 606 606 606 505 607 707 -1251 SP4-2 319443.5 154891 606 606 506 0 607 707 -1254 SP4-2 319443.5 154891.2 606 606 505 0 707 507 -1258 SP4-2 319443.5 154893 506 606 505 0 707 505 -1252 SP4-2 319443.5 154894.5 506 606 505 0 606 0 -1280 SP4-2 319443.7 154892 606 606 505 505 707 707 -1281 SP4-2 319443.71 154892 506 606 506 505 707 606 -1279 SP4-2 319443.8 154892 506 606 506 505 607 707 -1274 SP4-2 319443.8 154892.5 606 506 505 505 707 507 -1220 SP4-2 319443.9 154890.3 606 606 506 505 607 707 -1221 SP4-2 319443.91 154890.3 606 606 506 505 707 707 -1259 SP4-2 319444 154890 606 606 505 0 607 707 -1257 SP4-2 319444 154890.8 506 606 505 0 707 607 -1278 SP4-2 319444 154891.8 506 606 505 505 607 707 -1276 SP4-2 319444 154892 506 506 506 505 707 707 -1275 SP4-2 319444 154892.5 506 606 505 505 707 507 -1260 SP4-2 319444 154893 505 606 505 0 607 707 -1250 SP4-2 319444 154893.5 506 506 505 0 707 0 -1239 SP4-2 319444 154894 606 606 505 505 707 707 -1247 SP4-2 319444 154895 606 606 506 0 607 0 -323 SP7-1 319270 154356 506 606 506 505 607 507 -324 SP7-1 319270.01 154356 606 606 505 505 506 707 -325 SP7-1 319270.02 154356 606 606 505 505 606 707 -326 SP7-1 319270.03 154356 606 606 505 505 606 707 -327 SP7-1 319270.04 154356 606 606 505 505 607 505 -328 SP7-1 319270.05 154356 506 606 505 505 607 507 -329 SP7-1 319270.06 154356 506 606 505 505 606 507 -330 SP7-1 319270.07 154356 606 606 505 505 707 507 -331 SP7-1 319270.08 154356 606 606 506 505 707 507 -332 SP7-1 319270.09 154356 606 606 505 505 607 707 -333 SP7-1 319270.1 154356 606 606 506 505 607 506 -317 SP7-1 319270 154358.5 606 606 505 505 606 507 -318 SP7-1 319270.01 154358.5 606 606 505 505 707 707 -319 SP7-1 319270.02 154358.5 606 606 505 505 607 707 -320 SP7-1 319270.03 154358.5 506 606 506 505 607 505 -321 SP7-1 319270.04 154358.5 506 506 606 707 707 506 -322 SP7-1 319270.05 154358.5 606 606 505 505 606 707 -343 SP7-1 319271.8 154357.5 506 606 505 0 607 707 -310 SP7-1 319272 154355 606 606 505 0 707 707 -338 SP7-1 319272 154356 606 606 506 0 606 607 -337 SP7-1 319272 154356.5 606 606 606 0 606 507 -349 SP7-1 319272 154358.8 506 606 505 505 607 507 -344 SP7-1 319272.5 154358 606 606 505 0 707 707 -345 SP7-1 319272.51 154358 606 606 505 507 707 707 -346 SP7-1 319272.52 154358 606 606 505 505 607 707 -357 SP7-1 319272.53 154358 606 707 505 507 607 707 -348 SP7-1 319272.5 154359 506 506 505 505 607 707 -350 SP7-1 319272.51 154359 506 606 505 505 606 707 -351 SP7-1 319272.52 154359 606 606 505 507 707 707 -355 SP7-1 319272.53 154359 606 607 505 505 707 707 -342 SP7-1 319272.6 154359 606 607 506 505 607 507 -341 SP7-1 319273 154359 606 506 505 505 606 707 -311 SP7-1 319273.01 154359 606 606 506 0 607 506 -335 SP7-1 319273.5 154355.5 606 606 506 0 707 607 -334 SP7-1 319273.5 154356 506 606 505 505 707 707 -336 SP7-1 319273.51 154356 606 606 506 0 707 707 -356 SP7-1 319273.5 154359 606 606 506 505 606 507 -358 SP7-1 319273.51 154359 606 606 506 0 607 507 -312 SP7-1 319274 154356 506 606 505 505 607 507 -339 SP7-1 319274 154357 606 606 506 505 606 707 -340 SP7-1 319274 154357.5 606 606 505 505 707 507 -315 SP7-1 319274 154359 505 607 505 505 606 707 -347 SP7-1 319274.01 154359 506 606 505 0 607 507 -354 SP7-1 319274.2 154358.5 606 606 505 0 707 707 -353 SP7-1 319274.4 154358.8 606 606 505 0 607 607 -352 SP7-1 319274.5 154358.6 606 606 505 507 707 707 -316 SP7-1 319274.5 154359 406 606 505 505 0 707 -313 SP7-1 319275 154356 606 606 505 0 707 607 -314 SP7-1 319275 154359 506 606 505 505 707 707 -416 SP7-2 319237.6 154364 0 0 505 0 707 0 -374 SP7-2 319240 154357 0 606 606 0 0 707 -367 SP7-2 319240 154358 606 606 505 0 607 507 -419 SP7-2 319240 154361 0 0 505 0 707 607 -403 SP7-2 319240 154362 0 0 505 0 606 507 -406 SP7-2 319240.2 154362.4 0 0 0 0 0 0 -384 SP7-2 319240.5 154360.3 0 606 506 505 707 507 -380 SP7-2 319240.8 154360.2 0 606 506 0 607 507 -376 SP7-2 319240.8 154361 0 606 505 0 607 507 -375 SP7-2 319240.9 154359.8 0 606 505 507 707 507 -372 SP7-2 319240.9 154360.2 0 606 506 0 607 607 -398 SP7-2 319241 154357 0 0 505 0 707 506 -365 SP7-2 319241 154359 606 606 506 0 707 0 -382 SP7-2 319241 154359.7 0 606 506 0 707 507 -386 SP7-2 319241.01 154359.7 0 606 505 0 607 707 -370 SP7-2 319241 154360.2 0 606 505 0 607 707 -371 SP7-2 319241.01 154360.2 0 606 505 0 607 505 -373 SP7-2 319241.02 154360.2 0 606 506 0 607 507 -420 SP7-2 319241.1 154360.4 0 0 505 0 606 507 -422 SP7-2 319241.1 154360.5 0 0 505 0 707 707 -421 SP7-2 319241.1 154360.6 0 0 505 0 606 707 -397 SP7-2 319241.1 154360.9 0 0 505 0 607 607 -399 SP7-2 319241.11 154360.9 0 0 505 0 607 505 -424 SP7-2 319241.12 154360.9 0 607 506 0 707 707 -381 SP7-2 319241.2 154360.2 0 606 506 0 707 707 -408 SP7-2 319241.2 154362.8 0 0 505 0 707 507 -405 SP7-2 319241.3 154362.8 0 0 0 0 0 507 -377 SP7-2 319241.4 154359.5 0 606 506 0 707 507 -379 SP7-2 319241.41 154359.5 0 606 506 0 0 507 -359 SP7-2 319241.5 154353 0 606 505 0 607 707 -360 SP7-2 319241.51 154353 606 606 505 0 607 507 -361 SP7-2 319241.52 154353 506 606 505 505 707 607 -378 SP7-2 319241.5 154359.5 0 606 505 0 606 507 -368 SP7-2 319241.5 154359.6 606 606 606 0 707 707 -388 SP7-2 319241.5 154360.2 0 0 505 0 707 707 -400 SP7-2 319241.5 154361.2 0 0 505 0 606 707 -401 SP7-2 319241.51 154361.2 0 0 505 0 607 707 -402 SP7-2 319241.5 154362.5 0 0 505 0 607 507 -417 SP7-2 319241.5 154365 0 0 506 0 607 707 -369 SP7-2 319241.6 154360 606 606 505 0 607 707 -363 SP7-2 319241.8 154359.5 506 606 506 0 707 607 -413 SP7-2 319241.8 154361 0 0 505 0 607 507 -414 SP7-2 319241.81 154361 0 0 506 0 607 707 -362 SP7-2 319242 154358 0 606 505 0 707 507 -387 SP7-2 319242.01 154358 0 606 505 0 607 707 -423 SP7-2 319242 154360.8 0 0 505 0 707 505 -409 SP7-2 319242 154363 0 0 505 0 707 507 -392 SP7-2 319242 154365 0 0 505 0 707 607 -411 SP7-2 319242.2 154363 0 0 506 0 607 707 -412 SP7-2 319242.21 154363 0 0 505 0 707 607 -407 SP7-2 319242.3 154363 0 0 505 0 607 707 -410 SP7-2 319242.31 154363 0 0 506 0 707 507 -366 SP7-2 319243 154358 506 606 506 507 707 707 -385 SP7-2 319243.01 154358 0 606 506 0 607 505 -391 SP7-2 319243 154359.9 0 0 505 0 707 505 -390 SP7-2 319243 154360 0 0 506 0 607 707 -418 SP7-2 319243.01 154360 0 0 506 0 707 707 -383 SP7-2 319243 154361 606 606 505 0 707 607 -395 SP7-2 319243.01 154361 0 0 505 0 607 507 -396 SP7-2 319243 154362 0 0 505 0 606 707 -415 SP7-2 319243 154363 0 0 505 0 707 507 -393 SP7-2 319243 154365 0 0 505 0 606 707 -364 SP7-2 319244 154357 506 606 505 507 707 507 -389 SP7-2 319244 154359 0 0 505 0 606 607 -394 SP7-2 319244 154365 0 0 505 0 707 707 -404 SP7-2 319245 154362 0 0 506 0 707 507 -1650 SP12-1 319136 153696 506 606 505 505 707 707 -1657 SP12-1 319136 153696.5 606 606 505 505 606 707 -1612 SP12-1 319136 153696.8 606 606 506 505 607 707 -1653 SP12-1 319136 153697 606 606 505 505 506 607 -1564 SP12-1 319136 153701 606 606 505 505 606 707 -1613 SP12-1 319136.8 153696.8 506 606 505 507 606 707 -1608 SP12-1 319136.8 153697.8 506 606 505 505 606 507 -1655 SP12-1 319137.2 153696.5 607 606 505 505 606 707 -1610 SP12-1 319138.5 153698 606 506 505 505 606 506 -1560 SP12-1 319138.5 153701.5 606 607 505 505 607 507 -1595 SP12-1 319139 153697.5 606 606 506 506 606 707 -1559 SP12-1 319139 153700 606 606 505 505 606 607 -1606 SP12-1 319139.5 153697.5 506 606 505 505 607 507 -1607 SP12-1 319139.51 153697.5 606 606 505 505 607 506 -1558 SP12-1 319139.5 153702 606 606 505 505 606 507 -1566 SP12-1 319139.5 153703 606 506 505 505 606 507 -1568 SP12-1 319139.51 153703 606 506 506 505 607 507 -1659 SP12-1 319140 153696 606 606 505 505 607 707 -1656 SP12-1 319140.2 153696 506 606 505 507 707 507 -1569 SP12-1 319140.5 153703 505 606 505 505 707 606 -1584 SP12-1 319140.5 153704 606 606 505 505 606 507 -1585 SP12-1 319140.51 153704 606 606 505 507 606 505 -1658 SP12-1 319140.8 153696 606 606 505 505 707 707 -1592 SP12-1 319141 153697 606 606 506 505 606 707 -1593 SP12-1 319141.01 153697 506 606 506 506 507 506 -1553 SP12-1 319141 153698.5 606 506 505 505 607 707 -1552 SP12-1 319141 153699 506 606 505 505 707 506 -1556 SP12-1 319141 153699.5 506 606 505 505 507 707 -1570 SP12-1 319141 153703 505 606 505 505 606 707 -1583 SP12-1 319141 153704 606 606 505 507 606 505 -1576 SP12-1 319141.2 153696.8 606 606 505 505 606 707 -1661 SP12-1 319141.5 153696.2 606 606 506 507 0 0 -1591 SP12-1 319141.5 153696.5 606 606 505 505 606 707 -1660 SP12-1 319142 153696 606 606 505 505 607 507 -1561 SP12-1 319142 153697 606 506 505 505 707 0 -1563 SP12-1 319142 153697.5 606 606 505 505 607 707 -1567 SP12-1 319142.01 153697.5 606 606 505 505 607 707 -1574 SP12-1 319142.02 153697.5 606 606 505 505 606 607 -1575 SP12-1 319142.03 153697.5 606 606 505 606 707 707 -1590 SP12-1 319142.2 153697.5 606 606 505 505 606 707 -1652 SP12-1 319142.5 153696.5 506 606 505 505 506 707 -1651 SP12-1 319142.5 153697 606 606 505 505 607 707 -1573 SP12-1 319142.5 153704 606 606 505 506 507 0 -1582 SP12-1 319142.51 153704 606 606 505 505 0 707 -1604 SP12-1 319143 153696 606 606 505 505 707 607 -1581 SP12-1 319143 153698.5 506 606 505 505 0 607 -1609 SP12-1 319143.2 153697.8 606 506 505 505 606 0 -1662 SP12-1 319143.5 153696.4 606 606 505 505 606 707 -1611 SP12-1 319143.5 153696.8 606 606 506 505 507 606 -1602 SP12-1 319143.5 153697.8 606 606 506 505 607 507 -1580 SP12-1 319143.5 153698.5 506 606 505 505 0 707 -1605 SP12-1 319144 153696 606 606 505 506 606 707 -1654 SP12-1 319144 153696.2 606 606 505 505 506 707 -1562 SP12-1 319144 153696.5 606 607 505 505 606 707 -1551 SP12-1 319144 153697 606 606 505 505 606 507 -1601 SP12-1 319144 153697.8 606 606 505 505 607 0 -1578 SP12-1 319144 153698.5 606 606 505 507 707 607 -1579 SP12-1 319144.01 153698.5 606 606 505 507 707 607 -1554 SP12-1 319144 153699 606 606 505 505 606 707 -1555 SP12-1 319144.01 153699 506 606 506 505 607 707 -1565 SP12-1 319144.02 153699 606 606 505 505 607 707 -1557 SP12-1 319144 153699.5 606 707 505 505 607 707 -1571 SP12-1 319144 153703.5 606 606 505 505 606 507 -1572 SP12-1 319144.01 153703.5 606 606 505 505 0 707 -1577 SP12-1 319144 153704 606 606 505 505 606 507 -1486 SP12-2 319095 153696 505 606 505 505 606 707 -1524 SP12-2 319095.2 153696 606 606 505 505 607 505 -1550 SP12-2 319095.5 153695.5 606 606 506 707 606 507 -1545 SP12-2 319095.8 153695.2 505 606 505 505 607 507 -1512 SP12-2 319096 153695.5 606 606 505 507 707 507 -1526 SP12-2 319096 153696 606 606 505 505 606 507 -1479 SP12-2 319096.5 153694.5 606 606 506 507 606 607 -1513 SP12-2 319096.5 153695.5 606 606 505 505 606 505 -1480 SP12-2 319096.51 153694.5 405 606 505 505 607 607 -1540 SP12-2 319097 153694 606 606 505 505 606 507 -1527 SP12-2 319097 153696 606 506 505 506 607 707 -1529 SP12-2 319097.2 153696 406 505 505 507 606 507 -1506 SP12-2 319097.5 153694.5 506 606 505 505 607 606 -1546 SP12-2 319098 153693 506 606 505 507 606 507 -1477 SP12-2 319098 153695 606 606 505 707 707 607 -1487 SP12-2 319098 153695.5 606 606 505 505 707 507 -1478 SP12-2 319098.01 153695 506 606 505 507 607 707 -1535 SP12-2 319098.4 153692.6 506 606 505 505 606 707 -1536 SP12-2 319098.41 153692.6 606 606 505 505 607 507 -1587 SP12-2 319098.5 153689 606 606 505 507 506 507 -1586 SP12-2 319098.5 153691.5 506 606 505 505 606 607 -1481 SP12-2 319098.7 153694 406 606 506 507 707 507 -1541 SP12-2 319098.8 153692.2 606 506 506 505 607 707 -1492 SP12-2 319098.8 153694 606 606 505 507 707 507 -1491 SP12-2 319098.8 153694.5 606 506 506 507 707 707 -1494 SP12-2 319098.81 153694 606 606 505 505 607 707 -1534 SP12-2 319099 153692 506 606 505 507 707 507 -1476 SP12-2 319099 153695 506 606 506 507 707 507 -1537 SP12-2 319099.01 153692 506 606 505 505 606 707 -1542 SP12-2 319099.02 153692 606 607 505 505 607 707 -1543 SP12-2 319099.03 153692 606 606 505 507 707 506 -1594 SP12-2 319099.04 153692 606 606 505 407 607 507 -1495 SP12-2 319099.2 153694 606 606 506 505 707 507 -1547 SP12-2 319099.5 153691.5 506 606 505 507 707 507 -1496 SP12-2 319099.5 153694 606 606 506 505 707 505 -1517 SP12-2 319099.5 153695.8 606 606 505 506 707 707 -1589 SP12-2 319099.8 153691 506 606 506 505 607 507 -1603 SP12-2 319099.8 153691.2 606 606 505 505 707 707 -1533 SP12-2 319100 153691 606 606 505 505 507 707 -1596 SP12-2 319100 153692 606 506 505 505 607 707 -1600 SP12-2 319100 153692.2 606 606 505 505 707 507 -1532 SP12-2 319100 153692.6 506 506 505 505 607 507 -1498 SP12-2 319100 153694 606 606 505 507 607 607 -1488 SP12-2 319100 153695.5 606 506 506 506 707 707 -1482 SP12-2 319100 153696 506 607 505 505 607 607 -1538 SP12-2 319100.01 153691 506 606 505 507 607 707 -1597 SP12-2 319100.01 153692 606 707 505 505 707 707 -1483 SP12-2 319100.01 153696 506 606 505 507 607 607 -1539 SP12-2 319100.02 153691 606 606 505 505 606 707 -1484 SP12-2 319100.02 153696 606 606 505 505 707 507 -1548 SP12-2 319100.03 153691 506 506 505 505 607 707 -1485 SP12-2 319100.03 153696 606 506 505 505 607 507 -1549 SP12-2 319100.04 153691 506 606 506 507 707 707 -1588 SP12-2 319100.05 153691 505 606 505 505 606 607 -1490 SP12-2 319100.1 153695.5 606 607 505 505 707 707 -1518 SP12-2 319100.2 153693.5 506 606 505 507 606 606 -1522 SP12-2 319100.21 153693.5 606 506 505 505 607 607 -1598 SP12-2 319100.5 153692 606 606 505 507 607 707 -1599 SP12-2 319100.5 153692.2 606 606 505 505 607 707 -1519 SP12-2 319100.5 153693.5 606 606 505 606 606 707 -1501 SP12-2 319100.5 153694 0 606 505 507 607 507 -1499 SP12-2 319100.5 153694.2 606 606 506 507 607 707 -1474 SP12-2 319100.5 153695 606 606 505 507 707 707 -1489 SP12-2 319100.5 153695.5 606 606 506 507 607 707 -1531 SP12-2 319100.5 153696 606 505 506 505 607 507 -1502 SP12-2 319100.51 153694 606 606 505 505 606 507 -1500 SP12-2 319100.51 153694.2 606 606 505 707 707 606 -1475 SP12-2 319100.51 153695 606 607 505 507 707 505 -1725 SP12-2 319100.52 153695 606 505 505 505 606 606 -1520 SP12-2 319101 153693.8 406 606 505 505 607 507 -1503 SP12-2 319101 153694 606 606 505 505 707 707 -1507 SP12-2 319101 153694.5 606 606 505 507 607 707 -1516 SP12-2 319101 153696 606 506 505 505 606 506 -1530 SP12-2 319101.01 153696 506 505 505 506 607 507 -1521 SP12-2 319101.2 153693.8 606 606 505 505 606 505 -1523 SP12-2 319101.2 153696 606 606 505 507 607 507 -1525 SP12-2 319101.5 153696 606 506 505 707 607 507 -1504 SP12-2 319101.8 153694 506 506 506 707 607 707 -1528 SP12-2 319101.8 153696 404 505 505 505 606 707 -1505 SP12-2 319102 153694 606 606 505 507 707 507 -1508 SP12-2 319102 153694.5 506 606 505 505 707 505 -1510 SP12-2 319102 153695 505 506 505 505 707 507 -1493 SP12-2 319102 153696 405 606 505 507 707 707 -1509 SP12-2 319102.01 153694 606 606 505 505 607 607 -1511 SP12-2 319102.01 153695 606 606 505 505 707 707 -1497 SP12-2 319102.01 153696 506 606 505 507 607 507 -1514 SP12-2 319102.02 153696 606 606 505 505 607 507 -1515 SP12-2 319102.03 153696 606 606 505 505 606 507 -258 SP15-1 319557 153324.9 606 506 506 505 707 707 -256 SP15-1 319557 153325 606 0 505 505 0 506 -257 SP15-1 319557.01 153325 606 606 506 505 506 606 -259 SP15-1 319557 153326.2 606 505 505 707 606 505 -260 SP15-1 319557 153326.8 506 606 506 507 606 506 -255 SP15-1 319557.6 153324.7 606 0 0 505 707 707 -254 SP15-1 319558 153328 606 0 505 505 607 507 -240 SP15-1 319558.5 153327 606 606 505 0 606 707 -251 SP15-1 319558.51 153327 606 506 505 707 607 606 -252 SP15-1 319558.5 153327.2 606 606 506 505 607 707 -243 SP15-1 319559 153326.8 606 606 505 707 607 707 -250 SP15-1 319559 153327 506 606 505 505 606 507 -244 SP15-1 319559 153327.5 606 606 505 0 606 507 -253 SP15-1 319559.2 153329.5 606 0 505 505 607 507 -242 SP15-1 319559.5 153326 606 606 505 0 607 707 -248 SP15-1 319559.5 153327 606 0 506 505 607 507 -247 SP15-1 319560 153324.5 606 606 505 507 606 507 -197 SP15-1 319560 153327 0 0 505 505 606 707 -199 SP15-1 319560.01 153327 0 0 506 505 707 507 -246 SP15-1 319560 153328 606 0 505 0 606 507 -249 SP15-1 319560 153329.8 606 0 506 505 606 607 -218 SP15-1 319560.2 153327.2 0 606 505 505 607 507 -214 SP15-1 319560.3 153324.5 606 606 506 505 606 507 -217 SP15-1 319560.3 153328 506 606 506 505 606 507 -209 SP15-1 319560.5 153324 0 606 505 505 607 707 -215 SP15-1 319560.5 153325 606 606 506 507 606 507 -241 SP15-1 319560.5 153326.5 606 606 505 0 607 707 -213 SP15-1 319560.8 153323.8 0 606 505 505 607 707 -205 SP15-1 319561 153324 606 0 506 505 607 707 -212 SP15-1 319561 153324.2 0 606 505 505 606 707 -196 SP15-1 319561 153327 0 0 505 505 606 607 -211 SP15-1 319561.01 153327 0 606 505 507 606 507 -210 SP15-1 319561 153329 0 606 505 505 606 507 -206 SP15-1 319561.5 153325 606 0 506 505 606 707 -207 SP15-1 319561.5 153327 606 0 505 505 607 607 -208 SP15-1 319561.51 153327 606 0 506 505 607 707 -204 SP15-1 319561.8 153325 606 0 505 505 606 507 -203 SP15-1 319561.8 153326.2 606 0 506 505 607 505 -202 SP15-1 319562 153324 606 0 505 505 607 707 -191 SP15-1 319562 153326 0 0 506 0 606 507 -192 SP15-1 319562.01 153326 0 0 506 0 606 707 -193 SP15-1 319562.02 153326 0 0 506 0 606 707 -194 SP15-1 319562.03 153326 0 0 505 505 607 505 -195 SP15-1 319562.04 153326 0 0 506 505 606 507 -239 SP15-1 319562.05 153326 606 606 506 505 607 505 -245 SP15-1 319562.06 153326 606 0 505 505 707 505 -200 SP15-1 319562.5 153325.5 0 0 505 505 607 507 -198 SP15-1 319563 153324 0 0 505 505 606 707 -201 SP15-1 319563 153327 606 0 505 505 607 507 -130 SP15-2 319544 153285 606 606 506 505 0 707 -131 SP15-2 319544 153286 606 606 506 505 606 507 -132 SP15-2 319544.01 153286 606 606 505 505 607 707 -133 SP15-2 319544 153290.5 606 606 506 505 607 707 -129 SP15-2 319544 153291 606 606 505 505 707 707 -134 SP15-2 319544.01 153291 606 606 505 505 607 707 -135 SP15-2 319544.02 153291 606 606 505 505 607 707 -137 SP15-2 319545 153285.4 606 606 506 0 606 507 -138 SP15-2 319545 153286.2 506 606 505 0 607 707 -139 SP15-2 319545.01 153286.2 606 606 505 507 607 707 -141 SP15-2 319545 153287 606 606 505 505 707 505 -142 SP15-2 319545.01 153287 506 0 505 505 606 606 -143 SP15-2 319545 153290 506 0 506 507 607 506 -145 SP15-2 319545 153290.7 606 606 506 505 606 607 -146 SP15-2 319545 153291 606 606 505 505 607 607 -147 SP15-2 319545.01 153291 606 606 506 505 606 507 -148 SP15-2 319545.02 153291 606 606 506 505 607 707 -149 SP15-2 319545.03 153291 606 606 506 505 606 707 -136 SP15-2 319545.2 153285 606 606 505 505 707 707 -150 SP15-2 319545.21 153285 606 606 505 505 606 707 -140 SP15-2 319545.2 153286.2 505 606 505 505 606 707 -151 SP15-2 319545.5 153285 606 606 506 505 606 505 -154 SP15-2 319545.5 153285.8 606 606 505 505 606 707 -157 SP15-2 319545.5 153289 606 606 505 505 607 505 -156 SP15-2 319545.7 153287 506 606 506 505 607 707 -152 SP15-2 319545.8 153285.8 606 606 505 505 607 507 -153 SP15-2 319545.8 153286 606 606 505 505 607 606 -160 SP15-2 319546 153285 606 606 606 505 607 507 -161 SP15-2 319546.01 153285 606 606 505 505 607 707 -166 SP15-2 319546 153285.3 606 0 505 505 707 507 -158 SP15-2 319546 153290.8 606 606 505 505 607 707 -171 SP15-2 319546.2 153286 506 0 505 505 607 607 -168 SP15-2 319546.2 153286.8 606 606 505 507 607 707 -169 SP15-2 319546.2 153287 606 0 505 505 607 507 -170 SP15-2 319546.4 153285.8 606 0 505 505 607 707 -167 SP15-2 319546.7 153285.8 506 0 506 505 607 505 -178 SP15-2 319546.8 153290.2 606 0 506 505 607 707 -179 SP15-2 319546.8 153290.5 606 0 505 505 606 507 -162 SP15-2 319546.9 153285.2 606 606 505 505 606 505 -174 SP15-2 319546.9 153289.2 606 0 606 505 707 507 -180 SP15-2 319547 153285.1 606 0 505 505 607 507 -163 SP15-2 319547 153285.2 606 0 506 505 607 707 -164 SP15-2 319547 153285.4 606 0 505 505 607 507 -165 SP15-2 319547.01 153285.4 606 0 505 505 606 607 -185 SP15-2 319547 153286.4 606 0 505 505 606 707 -188 SP15-2 319547 153287 606 0 505 505 606 707 -173 SP15-2 319547 153289 506 0 505 505 606 507 -175 SP15-2 319547 153289.5 506 0 505 507 606 507 -176 SP15-2 319547 153289.9 606 0 505 507 506 507 -159 SP15-2 319547 153291 606 606 506 505 606 707 -181 SP15-2 319547.2 153285.2 506 0 505 505 506 707 -182 SP15-2 319547.2 153285.3 606 0 505 505 607 507 -184 SP15-2 319547.2 153286 606 0 505 505 607 607 -177 SP15-2 319547.2 153290 606 0 505 507 607 507 -183 SP15-2 319547.5 153286 606 0 505 505 607 507 -187 SP15-2 319547.5 153286.5 606 0 505 505 707 707 -144 SP15-2 319547.5 153291 606 0 506 507 606 507 -236 SP15-2 319547.51 153291 606 0 505 0 606 507 -237 SP15-2 319547.52 153291 606 606 505 505 606 507 -155 SP15-2 319547.7 153287 606 606 505 505 507 707 -189 SP15-2 319547.7 153288.8 606 0 505 505 606 707 -190 SP15-2 319547.8 153290 606 0 506 505 707 707 -235 SP15-2 319548 153285 606 606 505 0 606 507 -186 SP15-2 319548 153286.8 606 0 506 505 606 607 -229 SP15-2 319548 153287.5 606 0 0 507 0 707 -230 SP15-2 319548.01 153287.5 606 0 0 505 707 507 -231 SP15-2 319548.02 153287.5 606 0 505 505 707 707 -232 SP15-2 319548.03 153287.5 606 0 606 505 707 707 -228 SP15-2 319548 153290.5 606 606 505 505 607 507 -233 SP15-2 319548.2 153286 606 0 505 0 707 507 -234 SP15-2 319548.5 153286 606 0 0 0 607 507 -227 SP15-2 319548.5 153286.5 606 0 506 505 607 707 -223 SP15-2 319548.5 153290.8 606 606 505 505 606 507 -224 SP15-2 319548.8 153289 606 606 506 507 606 707 -226 SP15-2 319548.9 153287.9 606 606 506 0 707 707 -225 SP15-2 319549 153288 606 606 606 707 606 507 -222 SP15-2 319549 153290 606 606 506 507 607 507 -238 SP15-2 319549 153290.8 606 606 505 505 606 707 -219 SP15-2 319549.2 153288.2 606 606 506 0 707 707 -262 SP15-2 319549.3 153288.8 606 606 506 507 606 507 -221 SP15-2 319549.5 153286.5 606 606 506 505 606 506 -220 SP15-2 319549.6 153287.5 606 606 505 505 606 707 -261 SP15-2 319549.6 153288.2 606 606 505 505 607 707 -279 SP15-2 319549.9 153289.7 606 606 506 505 607 707 -276 SP15-2 319550 153285.2 606 606 505 0 707 707 -277 SP15-2 319550 153288.8 606 606 506 505 707 707 -278 SP15-2 319550 153289.5 606 606 606 505 707 707 -280 SP15-2 319550 153290 606 606 606 505 606 707 -END -// the word END is compulsory at the end of the list of individuals data - +// This is an example of data file for the software SPAGeDi, written by O. Hardy and X. Vekemans +// +// Any line begining by // is a comment line, not read by the program. They can be put anywhere. +// Empty lines must also begin by // +// +// This example gives the genotypes at 6 enzymatic loci for 629 individuals of Chamaecrista fasciculata +// (Asteraceae) that were collected by C. B. Fenster in 10 subpopulations from a 1km x 2km metapopulation +// (the data set given here is incomplete). +// Subpopulations are identified by the categorical group. +// For this data set, SPAGeDi permits to assess : +// - isolation by distance within each subpopulation +// (analysis at individual level, restricted within a given subpopulation, reference allele frequencies = within category) +// - average isolation by distance within subpopulations +// (analysis at individual level, restricted within subpopulations, reference allele frequencies = within category) +// - isolation by distance among subpopulations +// (analysis at population level, population = categorical group) +// +// 1st non comment line : set of 6 numbers separated by a tabulation and representing : +// #individuals #categories #coordinates #loci #digits/allele max ploidy +// 2nd non comment line : # of distance intervals followed by the upper distance of each interval. +// 3rd non comment line : column labels (<=15 characters). +// 4th and next lines : data for each individual in the following order: Ind name, category, coordinates, genotypes +629 10 2 6 2 2 +13 0.75 1.25 1.75 2.25 3 4 5 20 75 200 500 1000 2000 +Ind SubPop X Y E1 E2 E3 E5 E7 E8 +1071 SP2-1 319570 155194 606 606 505 0 707 505 +1072 SP2-1 319570 155195.8 0 0 505 0 506 707 +1052 SP2-1 319570 155196 0 0 505 0 0 707 +1075 SP2-1 319570.01 155196 0 0 505 0 707 0 +1069 SP2-1 319570 155198.5 0 0 506 0 707 507 +1070 SP2-1 319570 155200 0 0 505 0 607 507 +1004 SP2-1 319570.1 155199.2 0 0 0 0 0 707 +1012 SP2-1 319570.3 155199.5 0 0 505 0 606 707 +1074 SP2-1 319570.4 155195.7 0 0 505 505 606 0 +1066 SP2-1 319570.5 155197 0 0 0 0 0 0 +1062 SP2-1 319570.7 155195 0 0 0 0 0 707 +1060 SP2-1 319570.8 155194 0 0 505 0 0 707 +1067 SP2-1 319570.8 155199.2 0 0 0 0 0 0 +1068 SP2-1 319570.81 155199.2 0 0 0 0 0 0 +1045 SP2-1 319571 155199 0 0 506 0 0 507 +1058 SP2-1 319571.01 155199 0 0 505 0 0 707 +1044 SP2-1 319571 155200 0 0 505 0 0 0 +1042 SP2-1 319571.5 155194 0 0 506 0 0 507 +1043 SP2-1 319571.5 155194.5 0 0 505 0 707 507 +1065 SP2-1 319571.5 155196.5 0 0 0 500 0 707 +1054 SP2-1 319572 155194.5 0 0 505 0 0 0 +1041 SP2-1 319572 155200 0 0 0 0 0 507 +1073 SP2-1 319572.4 155195.7 0 0 505 0 0 0 +1049 SP2-1 319572.5 155194 0 0 0 606 0 0 +1053 SP2-1 319572.5 155194.5 0 0 505 0 0 505 +1005 SP2-1 319572.5 155195 0 0 505 505 0 707 +1050 SP2-1 319573 155194 0 0 0 606 0 0 +1051 SP2-1 319573.01 155194 0 0 506 0 0 0 +1055 SP2-1 319574 155195 0 0 506 0 0 0 +1057 SP2-1 319574 155195.5 0 0 505 0 0 507 +1080 SP2-1 319574 155196 0 0 505 505 607 0 +1007 SP2-1 319574 155197 0 0 506 505 607 505 +1006 SP2-1 319574 155198 0 0 506 505 607 505 +1003 SP2-1 319574.2 155195.5 506 506 0 0 607 507 +1059 SP2-1 319574.2 155197.5 0 0 506 0 0 507 +1056 SP2-1 319574.4 155195.2 0 0 505 0 0 707 +1030 SP2-1 319574.5 155194 0 0 505 507 607 707 +1063 SP2-1 319574.5 155198 0 0 506 0 0 707 +1064 SP2-1 319574.51 155198 0 0 505 0 0 707 +1037 SP2-1 319575 155194 0 0 506 0 606 507 +1038 SP2-1 319575.01 155194 0 0 0 0 607 507 +1039 SP2-1 319575.02 155194 0 0 0 0 606 507 +1040 SP2-1 319575.03 155194 0 0 505 0 707 707 +1047 SP2-1 319575.04 155194 0 0 506 0 0 707 +1048 SP2-1 319575.05 155194 0 0 505 505 0 507 +1033 SP2-1 319575 155194.5 0 0 0 0 0 0 +1046 SP2-1 319575.01 155194.5 0 0 506 0 707 507 +1076 SP2-1 319575 155195.5 0 0 505 0 607 707 +1078 SP2-1 319575 155197.5 0 0 505 0 607 707 +1079 SP2-1 319575.01 155197.5 0 0 505 0 607 707 +1061 SP2-1 319575 155199 0 0 505 0 0 507 +1034 SP2-1 319575.5 155194 0 0 506 0 0 707 +1036 SP2-1 319575.51 155194 0 0 0 505 607 707 +1011 SP2-1 319575.6 155198 0 0 505 0 607 507 +1035 SP2-1 319576 155194 0 0 505 0 607 707 +1081 SP2-1 319576.01 155194 0 0 505 505 606 0 +1082 SP2-1 319576.02 155194 0 0 505 505 0 507 +1077 SP2-1 319576 155197 0 0 0 0 0 707 +1010 SP2-1 319576 155199.5 0 0 505 0 707 0 +1008 SP2-1 319576 155200 0 0 505 505 607 707 +1009 SP2-1 319576.01 155200 0 0 505 505 606 507 +1015 SP2-2 319570 155154 0 606 505 0 606 707 +1148 SP2-2 319570 155158 606 606 505 505 606 505 +1149 SP2-2 319570 155158.5 606 606 505 0 606 505 +1150 SP2-2 319570 155159.2 506 606 505 0 607 707 +1025 SP2-2 319570 155160 506 506 506 0 0 707 +1151 SP2-2 319570.01 155160 506 606 505 505 607 707 +1146 SP2-2 319570.4 155154 606 0 0 0 0 0 +1147 SP2-2 319570.4 155157.8 0 0 505 0 0 0 +1120 SP2-2 319570.4 155160 506 606 506 505 707 607 +1014 SP2-2 319570.5 155154 0 0 506 0 607 707 +1016 SP2-2 319570.51 155154 0 0 505 0 0 507 +1139 SP2-2 319570.5 155156 506 606 505 0 0 707 +1121 SP2-2 319571 155155 606 606 505 0 0 0 +1143 SP2-2 319571.01 155155 606 0 506 0 707 507 +1126 SP2-2 319571 155156 606 606 505 0 0 707 +1138 SP2-2 319571.01 155156 506 0 505 0 0 707 +1125 SP2-2 319571 155156.2 606 606 505 0 607 505 +1124 SP2-2 319571 155156.8 0 0 505 0 0 0 +1141 SP2-2 319571.2 155154 0 0 505 0 0 0 +1142 SP2-2 319571.21 155154 0 0 505 0 707 0 +1140 SP2-2 319571.2 155155 606 506 505 505 607 707 +1137 SP2-2 319571.2 155156 0 0 505 0 707 707 +1132 SP2-2 319571.2 155157 0 0 0 505 0 707 +1122 SP2-2 319571.2 155159 606 606 506 507 0 606 +1123 SP2-2 319571.2 155159.8 0 0 505 0 0 707 +1131 SP2-2 319571.5 155156.5 606 0 505 0 707 707 +1133 SP2-2 319571.5 155157.5 606 606 505 0 607 507 +1136 SP2-2 319572 155159 606 0 506 0 607 505 +1128 SP2-2 319572 155159.5 606 606 506 0 0 707 +1129 SP2-2 319572.01 155159.5 606 606 505 0 607 507 +1127 SP2-2 319572.2 155160 606 606 505 0 707 707 +1026 SP2-2 319573 155154 0 606 0 0 0 505 +1013 SP2-2 319573 155155.5 0 0 505 0 707 607 +1145 SP2-2 319573 155156 606 0 0 0 0 0 +1134 SP2-2 319573 155156.2 606 606 506 505 707 707 +1130 SP2-2 319573 155159 606 506 505 0 606 607 +1144 SP2-2 319573.01 155159 606 0 506 0 0 707 +1018 SP2-2 319573 155160 0 0 0 0 0 507 +1135 SP2-2 319573.5 155154 505 0 505 0 607 507 +1115 SP2-2 319573.5 155159 0 0 505 505 0 707 +1028 SP2-2 319574 155157 606 606 505 0 707 505 +1019 SP2-2 319574 155160 0 0 505 0 707 507 +1023 SP2-2 319574.5 155154.5 0 0 0 0 607 707 +1024 SP2-2 319574.51 155154.5 0 0 0 0 607 707 +1032 SP2-2 319574.5 155164.5 0 0 505 0 607 507 +1022 SP2-2 319575 155154.5 0 0 0 0 606 606 +1027 SP2-2 319575 155155 506 607 505 0 606 507 +1020 SP2-2 319576 155157 0 0 0 0 0 507 +1021 SP2-2 319576 155158.5 506 606 506 0 707 707 +1017 SP2-2 319576 155160 0 0 506 0 707 707 +1031 SP2-2 319576 155165 0 0 506 0 607 707 +1202 SP4-1 319476.5 154895 606 606 505 507 707 505 +1208 SP4-1 319476.5 154896 506 606 505 505 707 707 +1186 SP4-1 319476.5 154896.5 606 606 505 0 707 707 +1189 SP4-1 319476.51 154896.5 606 606 505 505 707 507 +1210 SP4-1 319476.52 154896.5 606 606 505 505 0 505 +1184 SP4-1 319476.5 154897 606 606 506 0 707 707 +1191 SP4-1 319476.8 154895 606 606 506 505 606 507 +1192 SP4-1 319476.81 154895 606 606 505 505 707 707 +1199 SP4-1 319476.82 154895 505 606 505 507 707 707 +1197 SP4-1 319476.8 154895.2 606 606 505 505 707 707 +1180 SP4-1 319476.8 154897 606 606 505 505 607 707 +1183 SP4-1 319476.81 154897 0 0 505 505 607 707 +1217 SP4-1 319476.8 154900 606 606 505 505 607 507 +1196 SP4-1 319477 154895 606 606 505 505 707 707 +1204 SP4-1 319477.01 154895 606 606 505 507 607 707 +1203 SP4-1 319477 154895.2 606 606 505 707 607 707 +1190 SP4-1 319477 154895.5 606 606 505 0 707 707 +1201 SP4-1 319477.01 154895.5 606 606 505 0 707 707 +1200 SP4-1 319477 154895.8 606 606 506 505 607 707 +1195 SP4-1 319477 154896 506 606 505 505 607 505 +1198 SP4-1 319477.01 154896 606 606 506 507 707 707 +1216 SP4-1 319477.02 154896 606 606 505 505 607 707 +1205 SP4-1 319477 154896.5 606 606 505 505 607 607 +1171 SP4-1 319477 154897 606 606 505 0 707 707 +1172 SP4-1 319477.01 154897 606 606 505 0 607 507 +1207 SP4-1 319477.02 154897 606 606 505 505 707 507 +1212 SP4-1 319477.03 154897 606 606 506 505 607 707 +1206 SP4-1 319477 154898 606 606 506 505 707 607 +1194 SP4-1 319477 154899 606 606 505 505 707 607 +1177 SP4-1 319477.2 154897 606 606 505 505 707 507 +1178 SP4-1 319477.21 154897 606 606 505 507 607 507 +1181 SP4-1 319477.2 154898 606 606 505 0 607 507 +1163 SP4-1 319477.5 154895 506 606 505 0 707 507 +1187 SP4-1 319477.5 154898 606 606 505 0 707 607 +1176 SP4-1 319477.5 154899 506 606 505 505 606 707 +1218 SP4-1 319477.51 154899 606 606 505 505 707 707 +1164 SP4-1 319478 154895 606 606 506 0 607 707 +1188 SP4-1 319478 154898 506 606 505 0 707 707 +1193 SP4-1 319478 154899 505 606 505 505 607 507 +1161 SP4-1 319478.5 154897 606 506 505 0 606 707 +1162 SP4-1 319478.51 154897 606 607 505 0 607 707 +1166 SP4-1 319479 154895 606 606 505 0 607 707 +1167 SP4-1 319479.01 154895 606 606 505 0 607 707 +1179 SP4-1 319479 154895.2 506 607 505 505 707 707 +1155 SP4-1 319479 154895.7 606 606 505 505 607 707 +1169 SP4-1 319479.3 154895.1 606 606 505 0 607 707 +1156 SP4-1 319479.5 154895 506 606 505 505 607 707 +1157 SP4-1 319479.51 154895 506 606 505 505 606 707 +1158 SP4-1 319479.52 154895 606 606 505 505 606 507 +1165 SP4-1 319479.53 154895 606 606 505 0 707 607 +1170 SP4-1 319479.54 154895 606 606 506 0 607 607 +1168 SP4-1 319479.5 154895.2 506 606 506 0 607 0 +1182 SP4-1 319479.5 154896.8 0 0 505 0 607 507 +1185 SP4-1 319479.51 154896.8 606 0 505 0 606 707 +1173 SP4-1 319479.6 154897.4 606 606 505 0 607 707 +1160 SP4-1 319480 154896.4 606 606 505 0 607 507 +1159 SP4-1 319480 154896.6 606 606 505 0 607 707 +1238 SP4-1 319480 154897.2 506 506 505 505 707 507 +1174 SP4-1 319480 154897.8 606 606 505 505 707 707 +1175 SP4-1 319480 154898.2 606 606 505 0 607 707 +1269 SP4-2 319440.3 154890 506 606 505 505 606 707 +1242 SP4-2 319440.3 154891.5 506 606 506 505 707 707 +1288 SP4-2 319440.4 154891.8 606 606 506 505 707 507 +1266 SP4-2 319440.8 154890 506 506 505 505 707 506 +1282 SP4-2 319441 154892.5 506 606 505 506 607 707 +1263 SP4-2 319441 154892.8 506 606 506 505 707 707 +1261 SP4-2 319441.01 154892.8 506 606 505 0 607 707 +1265 SP4-2 319441.5 154892.5 506 606 505 505 707 707 +1255 SP4-2 319441.5 154893 505 606 505 0 607 707 +1287 SP4-2 319441.8 154891.5 606 606 505 505 707 507 +1264 SP4-2 319442 154890 506 506 506 505 707 707 +1243 SP4-2 319442 154891 506 505 505 505 607 707 +1286 SP4-2 319442 154891.5 606 606 506 505 607 707 +1277 SP4-2 319442.2 154892 506 606 505 505 606 607 +1262 SP4-2 319442.3 154890 506 0 505 0 707 707 +1244 SP4-2 319442.4 154891.2 506 606 505 505 607 707 +1285 SP4-2 319442.5 154891.8 606 606 505 505 707 0 +1267 SP4-2 319442.5 154892.5 506 607 506 505 606 507 +1268 SP4-2 319442.51 154892.5 606 606 505 505 707 707 +1226 SP4-2 319442.6 154890 506 606 505 505 707 707 +1225 SP4-2 319442.7 154890 506 606 505 505 707 607 +1245 SP4-2 319442.7 154891.2 506 606 505 0 607 0 +1246 SP4-2 319442.8 154891 506 606 505 0 707 0 +1224 SP4-2 319443 154890.4 506 606 505 505 607 606 +1284 SP4-2 319443 154891.8 506 606 505 506 707 505 +1273 SP4-2 319443 154892.5 506 506 505 505 707 707 +1256 SP4-2 319443 154893 506 606 505 0 606 0 +1253 SP4-2 319443 154893.5 506 606 506 0 607 507 +1283 SP4-2 319443.2 154891.8 506 606 505 505 607 507 +1222 SP4-2 319443.3 154890.5 506 606 506 507 707 0 +1249 SP4-2 319443.3 154891.2 506 606 505 0 707 507 +1248 SP4-2 319443.3 154891.4 506 0 505 0 707 0 +1223 SP4-2 319443.5 154890.5 606 606 606 505 607 707 +1251 SP4-2 319443.5 154891 606 606 506 0 607 707 +1254 SP4-2 319443.5 154891.2 606 606 505 0 707 507 +1258 SP4-2 319443.5 154893 506 606 505 0 707 505 +1252 SP4-2 319443.5 154894.5 506 606 505 0 606 0 +1280 SP4-2 319443.7 154892 606 606 505 505 707 707 +1281 SP4-2 319443.71 154892 506 606 506 505 707 606 +1279 SP4-2 319443.8 154892 506 606 506 505 607 707 +1274 SP4-2 319443.8 154892.5 606 506 505 505 707 507 +1220 SP4-2 319443.9 154890.3 606 606 506 505 607 707 +1221 SP4-2 319443.91 154890.3 606 606 506 505 707 707 +1259 SP4-2 319444 154890 606 606 505 0 607 707 +1257 SP4-2 319444 154890.8 506 606 505 0 707 607 +1278 SP4-2 319444 154891.8 506 606 505 505 607 707 +1276 SP4-2 319444 154892 506 506 506 505 707 707 +1275 SP4-2 319444 154892.5 506 606 505 505 707 507 +1260 SP4-2 319444 154893 505 606 505 0 607 707 +1250 SP4-2 319444 154893.5 506 506 505 0 707 0 +1239 SP4-2 319444 154894 606 606 505 505 707 707 +1247 SP4-2 319444 154895 606 606 506 0 607 0 +323 SP7-1 319270 154356 506 606 506 505 607 507 +324 SP7-1 319270.01 154356 606 606 505 505 506 707 +325 SP7-1 319270.02 154356 606 606 505 505 606 707 +326 SP7-1 319270.03 154356 606 606 505 505 606 707 +327 SP7-1 319270.04 154356 606 606 505 505 607 505 +328 SP7-1 319270.05 154356 506 606 505 505 607 507 +329 SP7-1 319270.06 154356 506 606 505 505 606 507 +330 SP7-1 319270.07 154356 606 606 505 505 707 507 +331 SP7-1 319270.08 154356 606 606 506 505 707 507 +332 SP7-1 319270.09 154356 606 606 505 505 607 707 +333 SP7-1 319270.1 154356 606 606 506 505 607 506 +317 SP7-1 319270 154358.5 606 606 505 505 606 507 +318 SP7-1 319270.01 154358.5 606 606 505 505 707 707 +319 SP7-1 319270.02 154358.5 606 606 505 505 607 707 +320 SP7-1 319270.03 154358.5 506 606 506 505 607 505 +321 SP7-1 319270.04 154358.5 506 506 606 707 707 506 +322 SP7-1 319270.05 154358.5 606 606 505 505 606 707 +343 SP7-1 319271.8 154357.5 506 606 505 0 607 707 +310 SP7-1 319272 154355 606 606 505 0 707 707 +338 SP7-1 319272 154356 606 606 506 0 606 607 +337 SP7-1 319272 154356.5 606 606 606 0 606 507 +349 SP7-1 319272 154358.8 506 606 505 505 607 507 +344 SP7-1 319272.5 154358 606 606 505 0 707 707 +345 SP7-1 319272.51 154358 606 606 505 507 707 707 +346 SP7-1 319272.52 154358 606 606 505 505 607 707 +357 SP7-1 319272.53 154358 606 707 505 507 607 707 +348 SP7-1 319272.5 154359 506 506 505 505 607 707 +350 SP7-1 319272.51 154359 506 606 505 505 606 707 +351 SP7-1 319272.52 154359 606 606 505 507 707 707 +355 SP7-1 319272.53 154359 606 607 505 505 707 707 +342 SP7-1 319272.6 154359 606 607 506 505 607 507 +341 SP7-1 319273 154359 606 506 505 505 606 707 +311 SP7-1 319273.01 154359 606 606 506 0 607 506 +335 SP7-1 319273.5 154355.5 606 606 506 0 707 607 +334 SP7-1 319273.5 154356 506 606 505 505 707 707 +336 SP7-1 319273.51 154356 606 606 506 0 707 707 +356 SP7-1 319273.5 154359 606 606 506 505 606 507 +358 SP7-1 319273.51 154359 606 606 506 0 607 507 +312 SP7-1 319274 154356 506 606 505 505 607 507 +339 SP7-1 319274 154357 606 606 506 505 606 707 +340 SP7-1 319274 154357.5 606 606 505 505 707 507 +315 SP7-1 319274 154359 505 607 505 505 606 707 +347 SP7-1 319274.01 154359 506 606 505 0 607 507 +354 SP7-1 319274.2 154358.5 606 606 505 0 707 707 +353 SP7-1 319274.4 154358.8 606 606 505 0 607 607 +352 SP7-1 319274.5 154358.6 606 606 505 507 707 707 +316 SP7-1 319274.5 154359 406 606 505 505 0 707 +313 SP7-1 319275 154356 606 606 505 0 707 607 +314 SP7-1 319275 154359 506 606 505 505 707 707 +416 SP7-2 319237.6 154364 0 0 505 0 707 0 +374 SP7-2 319240 154357 0 606 606 0 0 707 +367 SP7-2 319240 154358 606 606 505 0 607 507 +419 SP7-2 319240 154361 0 0 505 0 707 607 +403 SP7-2 319240 154362 0 0 505 0 606 507 +406 SP7-2 319240.2 154362.4 0 0 0 0 0 0 +384 SP7-2 319240.5 154360.3 0 606 506 505 707 507 +380 SP7-2 319240.8 154360.2 0 606 506 0 607 507 +376 SP7-2 319240.8 154361 0 606 505 0 607 507 +375 SP7-2 319240.9 154359.8 0 606 505 507 707 507 +372 SP7-2 319240.9 154360.2 0 606 506 0 607 607 +398 SP7-2 319241 154357 0 0 505 0 707 506 +365 SP7-2 319241 154359 606 606 506 0 707 0 +382 SP7-2 319241 154359.7 0 606 506 0 707 507 +386 SP7-2 319241.01 154359.7 0 606 505 0 607 707 +370 SP7-2 319241 154360.2 0 606 505 0 607 707 +371 SP7-2 319241.01 154360.2 0 606 505 0 607 505 +373 SP7-2 319241.02 154360.2 0 606 506 0 607 507 +420 SP7-2 319241.1 154360.4 0 0 505 0 606 507 +422 SP7-2 319241.1 154360.5 0 0 505 0 707 707 +421 SP7-2 319241.1 154360.6 0 0 505 0 606 707 +397 SP7-2 319241.1 154360.9 0 0 505 0 607 607 +399 SP7-2 319241.11 154360.9 0 0 505 0 607 505 +424 SP7-2 319241.12 154360.9 0 607 506 0 707 707 +381 SP7-2 319241.2 154360.2 0 606 506 0 707 707 +408 SP7-2 319241.2 154362.8 0 0 505 0 707 507 +405 SP7-2 319241.3 154362.8 0 0 0 0 0 507 +377 SP7-2 319241.4 154359.5 0 606 506 0 707 507 +379 SP7-2 319241.41 154359.5 0 606 506 0 0 507 +359 SP7-2 319241.5 154353 0 606 505 0 607 707 +360 SP7-2 319241.51 154353 606 606 505 0 607 507 +361 SP7-2 319241.52 154353 506 606 505 505 707 607 +378 SP7-2 319241.5 154359.5 0 606 505 0 606 507 +368 SP7-2 319241.5 154359.6 606 606 606 0 707 707 +388 SP7-2 319241.5 154360.2 0 0 505 0 707 707 +400 SP7-2 319241.5 154361.2 0 0 505 0 606 707 +401 SP7-2 319241.51 154361.2 0 0 505 0 607 707 +402 SP7-2 319241.5 154362.5 0 0 505 0 607 507 +417 SP7-2 319241.5 154365 0 0 506 0 607 707 +369 SP7-2 319241.6 154360 606 606 505 0 607 707 +363 SP7-2 319241.8 154359.5 506 606 506 0 707 607 +413 SP7-2 319241.8 154361 0 0 505 0 607 507 +414 SP7-2 319241.81 154361 0 0 506 0 607 707 +362 SP7-2 319242 154358 0 606 505 0 707 507 +387 SP7-2 319242.01 154358 0 606 505 0 607 707 +423 SP7-2 319242 154360.8 0 0 505 0 707 505 +409 SP7-2 319242 154363 0 0 505 0 707 507 +392 SP7-2 319242 154365 0 0 505 0 707 607 +411 SP7-2 319242.2 154363 0 0 506 0 607 707 +412 SP7-2 319242.21 154363 0 0 505 0 707 607 +407 SP7-2 319242.3 154363 0 0 505 0 607 707 +410 SP7-2 319242.31 154363 0 0 506 0 707 507 +366 SP7-2 319243 154358 506 606 506 507 707 707 +385 SP7-2 319243.01 154358 0 606 506 0 607 505 +391 SP7-2 319243 154359.9 0 0 505 0 707 505 +390 SP7-2 319243 154360 0 0 506 0 607 707 +418 SP7-2 319243.01 154360 0 0 506 0 707 707 +383 SP7-2 319243 154361 606 606 505 0 707 607 +395 SP7-2 319243.01 154361 0 0 505 0 607 507 +396 SP7-2 319243 154362 0 0 505 0 606 707 +415 SP7-2 319243 154363 0 0 505 0 707 507 +393 SP7-2 319243 154365 0 0 505 0 606 707 +364 SP7-2 319244 154357 506 606 505 507 707 507 +389 SP7-2 319244 154359 0 0 505 0 606 607 +394 SP7-2 319244 154365 0 0 505 0 707 707 +404 SP7-2 319245 154362 0 0 506 0 707 507 +1650 SP12-1 319136 153696 506 606 505 505 707 707 +1657 SP12-1 319136 153696.5 606 606 505 505 606 707 +1612 SP12-1 319136 153696.8 606 606 506 505 607 707 +1653 SP12-1 319136 153697 606 606 505 505 506 607 +1564 SP12-1 319136 153701 606 606 505 505 606 707 +1613 SP12-1 319136.8 153696.8 506 606 505 507 606 707 +1608 SP12-1 319136.8 153697.8 506 606 505 505 606 507 +1655 SP12-1 319137.2 153696.5 607 606 505 505 606 707 +1610 SP12-1 319138.5 153698 606 506 505 505 606 506 +1560 SP12-1 319138.5 153701.5 606 607 505 505 607 507 +1595 SP12-1 319139 153697.5 606 606 506 506 606 707 +1559 SP12-1 319139 153700 606 606 505 505 606 607 +1606 SP12-1 319139.5 153697.5 506 606 505 505 607 507 +1607 SP12-1 319139.51 153697.5 606 606 505 505 607 506 +1558 SP12-1 319139.5 153702 606 606 505 505 606 507 +1566 SP12-1 319139.5 153703 606 506 505 505 606 507 +1568 SP12-1 319139.51 153703 606 506 506 505 607 507 +1659 SP12-1 319140 153696 606 606 505 505 607 707 +1656 SP12-1 319140.2 153696 506 606 505 507 707 507 +1569 SP12-1 319140.5 153703 505 606 505 505 707 606 +1584 SP12-1 319140.5 153704 606 606 505 505 606 507 +1585 SP12-1 319140.51 153704 606 606 505 507 606 505 +1658 SP12-1 319140.8 153696 606 606 505 505 707 707 +1592 SP12-1 319141 153697 606 606 506 505 606 707 +1593 SP12-1 319141.01 153697 506 606 506 506 507 506 +1553 SP12-1 319141 153698.5 606 506 505 505 607 707 +1552 SP12-1 319141 153699 506 606 505 505 707 506 +1556 SP12-1 319141 153699.5 506 606 505 505 507 707 +1570 SP12-1 319141 153703 505 606 505 505 606 707 +1583 SP12-1 319141 153704 606 606 505 507 606 505 +1576 SP12-1 319141.2 153696.8 606 606 505 505 606 707 +1661 SP12-1 319141.5 153696.2 606 606 506 507 0 0 +1591 SP12-1 319141.5 153696.5 606 606 505 505 606 707 +1660 SP12-1 319142 153696 606 606 505 505 607 507 +1561 SP12-1 319142 153697 606 506 505 505 707 0 +1563 SP12-1 319142 153697.5 606 606 505 505 607 707 +1567 SP12-1 319142.01 153697.5 606 606 505 505 607 707 +1574 SP12-1 319142.02 153697.5 606 606 505 505 606 607 +1575 SP12-1 319142.03 153697.5 606 606 505 606 707 707 +1590 SP12-1 319142.2 153697.5 606 606 505 505 606 707 +1652 SP12-1 319142.5 153696.5 506 606 505 505 506 707 +1651 SP12-1 319142.5 153697 606 606 505 505 607 707 +1573 SP12-1 319142.5 153704 606 606 505 506 507 0 +1582 SP12-1 319142.51 153704 606 606 505 505 0 707 +1604 SP12-1 319143 153696 606 606 505 505 707 607 +1581 SP12-1 319143 153698.5 506 606 505 505 0 607 +1609 SP12-1 319143.2 153697.8 606 506 505 505 606 0 +1662 SP12-1 319143.5 153696.4 606 606 505 505 606 707 +1611 SP12-1 319143.5 153696.8 606 606 506 505 507 606 +1602 SP12-1 319143.5 153697.8 606 606 506 505 607 507 +1580 SP12-1 319143.5 153698.5 506 606 505 505 0 707 +1605 SP12-1 319144 153696 606 606 505 506 606 707 +1654 SP12-1 319144 153696.2 606 606 505 505 506 707 +1562 SP12-1 319144 153696.5 606 607 505 505 606 707 +1551 SP12-1 319144 153697 606 606 505 505 606 507 +1601 SP12-1 319144 153697.8 606 606 505 505 607 0 +1578 SP12-1 319144 153698.5 606 606 505 507 707 607 +1579 SP12-1 319144.01 153698.5 606 606 505 507 707 607 +1554 SP12-1 319144 153699 606 606 505 505 606 707 +1555 SP12-1 319144.01 153699 506 606 506 505 607 707 +1565 SP12-1 319144.02 153699 606 606 505 505 607 707 +1557 SP12-1 319144 153699.5 606 707 505 505 607 707 +1571 SP12-1 319144 153703.5 606 606 505 505 606 507 +1572 SP12-1 319144.01 153703.5 606 606 505 505 0 707 +1577 SP12-1 319144 153704 606 606 505 505 606 507 +1486 SP12-2 319095 153696 505 606 505 505 606 707 +1524 SP12-2 319095.2 153696 606 606 505 505 607 505 +1550 SP12-2 319095.5 153695.5 606 606 506 707 606 507 +1545 SP12-2 319095.8 153695.2 505 606 505 505 607 507 +1512 SP12-2 319096 153695.5 606 606 505 507 707 507 +1526 SP12-2 319096 153696 606 606 505 505 606 507 +1479 SP12-2 319096.5 153694.5 606 606 506 507 606 607 +1513 SP12-2 319096.5 153695.5 606 606 505 505 606 505 +1480 SP12-2 319096.51 153694.5 405 606 505 505 607 607 +1540 SP12-2 319097 153694 606 606 505 505 606 507 +1527 SP12-2 319097 153696 606 506 505 506 607 707 +1529 SP12-2 319097.2 153696 406 505 505 507 606 507 +1506 SP12-2 319097.5 153694.5 506 606 505 505 607 606 +1546 SP12-2 319098 153693 506 606 505 507 606 507 +1477 SP12-2 319098 153695 606 606 505 707 707 607 +1487 SP12-2 319098 153695.5 606 606 505 505 707 507 +1478 SP12-2 319098.01 153695 506 606 505 507 607 707 +1535 SP12-2 319098.4 153692.6 506 606 505 505 606 707 +1536 SP12-2 319098.41 153692.6 606 606 505 505 607 507 +1587 SP12-2 319098.5 153689 606 606 505 507 506 507 +1586 SP12-2 319098.5 153691.5 506 606 505 505 606 607 +1481 SP12-2 319098.7 153694 406 606 506 507 707 507 +1541 SP12-2 319098.8 153692.2 606 506 506 505 607 707 +1492 SP12-2 319098.8 153694 606 606 505 507 707 507 +1491 SP12-2 319098.8 153694.5 606 506 506 507 707 707 +1494 SP12-2 319098.81 153694 606 606 505 505 607 707 +1534 SP12-2 319099 153692 506 606 505 507 707 507 +1476 SP12-2 319099 153695 506 606 506 507 707 507 +1537 SP12-2 319099.01 153692 506 606 505 505 606 707 +1542 SP12-2 319099.02 153692 606 607 505 505 607 707 +1543 SP12-2 319099.03 153692 606 606 505 507 707 506 +1594 SP12-2 319099.04 153692 606 606 505 407 607 507 +1495 SP12-2 319099.2 153694 606 606 506 505 707 507 +1547 SP12-2 319099.5 153691.5 506 606 505 507 707 507 +1496 SP12-2 319099.5 153694 606 606 506 505 707 505 +1517 SP12-2 319099.5 153695.8 606 606 505 506 707 707 +1589 SP12-2 319099.8 153691 506 606 506 505 607 507 +1603 SP12-2 319099.8 153691.2 606 606 505 505 707 707 +1533 SP12-2 319100 153691 606 606 505 505 507 707 +1596 SP12-2 319100 153692 606 506 505 505 607 707 +1600 SP12-2 319100 153692.2 606 606 505 505 707 507 +1532 SP12-2 319100 153692.6 506 506 505 505 607 507 +1498 SP12-2 319100 153694 606 606 505 507 607 607 +1488 SP12-2 319100 153695.5 606 506 506 506 707 707 +1482 SP12-2 319100 153696 506 607 505 505 607 607 +1538 SP12-2 319100.01 153691 506 606 505 507 607 707 +1597 SP12-2 319100.01 153692 606 707 505 505 707 707 +1483 SP12-2 319100.01 153696 506 606 505 507 607 607 +1539 SP12-2 319100.02 153691 606 606 505 505 606 707 +1484 SP12-2 319100.02 153696 606 606 505 505 707 507 +1548 SP12-2 319100.03 153691 506 506 505 505 607 707 +1485 SP12-2 319100.03 153696 606 506 505 505 607 507 +1549 SP12-2 319100.04 153691 506 606 506 507 707 707 +1588 SP12-2 319100.05 153691 505 606 505 505 606 607 +1490 SP12-2 319100.1 153695.5 606 607 505 505 707 707 +1518 SP12-2 319100.2 153693.5 506 606 505 507 606 606 +1522 SP12-2 319100.21 153693.5 606 506 505 505 607 607 +1598 SP12-2 319100.5 153692 606 606 505 507 607 707 +1599 SP12-2 319100.5 153692.2 606 606 505 505 607 707 +1519 SP12-2 319100.5 153693.5 606 606 505 606 606 707 +1501 SP12-2 319100.5 153694 0 606 505 507 607 507 +1499 SP12-2 319100.5 153694.2 606 606 506 507 607 707 +1474 SP12-2 319100.5 153695 606 606 505 507 707 707 +1489 SP12-2 319100.5 153695.5 606 606 506 507 607 707 +1531 SP12-2 319100.5 153696 606 505 506 505 607 507 +1502 SP12-2 319100.51 153694 606 606 505 505 606 507 +1500 SP12-2 319100.51 153694.2 606 606 505 707 707 606 +1475 SP12-2 319100.51 153695 606 607 505 507 707 505 +1725 SP12-2 319100.52 153695 606 505 505 505 606 606 +1520 SP12-2 319101 153693.8 406 606 505 505 607 507 +1503 SP12-2 319101 153694 606 606 505 505 707 707 +1507 SP12-2 319101 153694.5 606 606 505 507 607 707 +1516 SP12-2 319101 153696 606 506 505 505 606 506 +1530 SP12-2 319101.01 153696 506 505 505 506 607 507 +1521 SP12-2 319101.2 153693.8 606 606 505 505 606 505 +1523 SP12-2 319101.2 153696 606 606 505 507 607 507 +1525 SP12-2 319101.5 153696 606 506 505 707 607 507 +1504 SP12-2 319101.8 153694 506 506 506 707 607 707 +1528 SP12-2 319101.8 153696 404 505 505 505 606 707 +1505 SP12-2 319102 153694 606 606 505 507 707 507 +1508 SP12-2 319102 153694.5 506 606 505 505 707 505 +1510 SP12-2 319102 153695 505 506 505 505 707 507 +1493 SP12-2 319102 153696 405 606 505 507 707 707 +1509 SP12-2 319102.01 153694 606 606 505 505 607 607 +1511 SP12-2 319102.01 153695 606 606 505 505 707 707 +1497 SP12-2 319102.01 153696 506 606 505 507 607 507 +1514 SP12-2 319102.02 153696 606 606 505 505 607 507 +1515 SP12-2 319102.03 153696 606 606 505 505 606 507 +258 SP15-1 319557 153324.9 606 506 506 505 707 707 +256 SP15-1 319557 153325 606 0 505 505 0 506 +257 SP15-1 319557.01 153325 606 606 506 505 506 606 +259 SP15-1 319557 153326.2 606 505 505 707 606 505 +260 SP15-1 319557 153326.8 506 606 506 507 606 506 +255 SP15-1 319557.6 153324.7 606 0 0 505 707 707 +254 SP15-1 319558 153328 606 0 505 505 607 507 +240 SP15-1 319558.5 153327 606 606 505 0 606 707 +251 SP15-1 319558.51 153327 606 506 505 707 607 606 +252 SP15-1 319558.5 153327.2 606 606 506 505 607 707 +243 SP15-1 319559 153326.8 606 606 505 707 607 707 +250 SP15-1 319559 153327 506 606 505 505 606 507 +244 SP15-1 319559 153327.5 606 606 505 0 606 507 +253 SP15-1 319559.2 153329.5 606 0 505 505 607 507 +242 SP15-1 319559.5 153326 606 606 505 0 607 707 +248 SP15-1 319559.5 153327 606 0 506 505 607 507 +247 SP15-1 319560 153324.5 606 606 505 507 606 507 +197 SP15-1 319560 153327 0 0 505 505 606 707 +199 SP15-1 319560.01 153327 0 0 506 505 707 507 +246 SP15-1 319560 153328 606 0 505 0 606 507 +249 SP15-1 319560 153329.8 606 0 506 505 606 607 +218 SP15-1 319560.2 153327.2 0 606 505 505 607 507 +214 SP15-1 319560.3 153324.5 606 606 506 505 606 507 +217 SP15-1 319560.3 153328 506 606 506 505 606 507 +209 SP15-1 319560.5 153324 0 606 505 505 607 707 +215 SP15-1 319560.5 153325 606 606 506 507 606 507 +241 SP15-1 319560.5 153326.5 606 606 505 0 607 707 +213 SP15-1 319560.8 153323.8 0 606 505 505 607 707 +205 SP15-1 319561 153324 606 0 506 505 607 707 +212 SP15-1 319561 153324.2 0 606 505 505 606 707 +196 SP15-1 319561 153327 0 0 505 505 606 607 +211 SP15-1 319561.01 153327 0 606 505 507 606 507 +210 SP15-1 319561 153329 0 606 505 505 606 507 +206 SP15-1 319561.5 153325 606 0 506 505 606 707 +207 SP15-1 319561.5 153327 606 0 505 505 607 607 +208 SP15-1 319561.51 153327 606 0 506 505 607 707 +204 SP15-1 319561.8 153325 606 0 505 505 606 507 +203 SP15-1 319561.8 153326.2 606 0 506 505 607 505 +202 SP15-1 319562 153324 606 0 505 505 607 707 +191 SP15-1 319562 153326 0 0 506 0 606 507 +192 SP15-1 319562.01 153326 0 0 506 0 606 707 +193 SP15-1 319562.02 153326 0 0 506 0 606 707 +194 SP15-1 319562.03 153326 0 0 505 505 607 505 +195 SP15-1 319562.04 153326 0 0 506 505 606 507 +239 SP15-1 319562.05 153326 606 606 506 505 607 505 +245 SP15-1 319562.06 153326 606 0 505 505 707 505 +200 SP15-1 319562.5 153325.5 0 0 505 505 607 507 +198 SP15-1 319563 153324 0 0 505 505 606 707 +201 SP15-1 319563 153327 606 0 505 505 607 507 +130 SP15-2 319544 153285 606 606 506 505 0 707 +131 SP15-2 319544 153286 606 606 506 505 606 507 +132 SP15-2 319544.01 153286 606 606 505 505 607 707 +133 SP15-2 319544 153290.5 606 606 506 505 607 707 +129 SP15-2 319544 153291 606 606 505 505 707 707 +134 SP15-2 319544.01 153291 606 606 505 505 607 707 +135 SP15-2 319544.02 153291 606 606 505 505 607 707 +137 SP15-2 319545 153285.4 606 606 506 0 606 507 +138 SP15-2 319545 153286.2 506 606 505 0 607 707 +139 SP15-2 319545.01 153286.2 606 606 505 507 607 707 +141 SP15-2 319545 153287 606 606 505 505 707 505 +142 SP15-2 319545.01 153287 506 0 505 505 606 606 +143 SP15-2 319545 153290 506 0 506 507 607 506 +145 SP15-2 319545 153290.7 606 606 506 505 606 607 +146 SP15-2 319545 153291 606 606 505 505 607 607 +147 SP15-2 319545.01 153291 606 606 506 505 606 507 +148 SP15-2 319545.02 153291 606 606 506 505 607 707 +149 SP15-2 319545.03 153291 606 606 506 505 606 707 +136 SP15-2 319545.2 153285 606 606 505 505 707 707 +150 SP15-2 319545.21 153285 606 606 505 505 606 707 +140 SP15-2 319545.2 153286.2 505 606 505 505 606 707 +151 SP15-2 319545.5 153285 606 606 506 505 606 505 +154 SP15-2 319545.5 153285.8 606 606 505 505 606 707 +157 SP15-2 319545.5 153289 606 606 505 505 607 505 +156 SP15-2 319545.7 153287 506 606 506 505 607 707 +152 SP15-2 319545.8 153285.8 606 606 505 505 607 507 +153 SP15-2 319545.8 153286 606 606 505 505 607 606 +160 SP15-2 319546 153285 606 606 606 505 607 507 +161 SP15-2 319546.01 153285 606 606 505 505 607 707 +166 SP15-2 319546 153285.3 606 0 505 505 707 507 +158 SP15-2 319546 153290.8 606 606 505 505 607 707 +171 SP15-2 319546.2 153286 506 0 505 505 607 607 +168 SP15-2 319546.2 153286.8 606 606 505 507 607 707 +169 SP15-2 319546.2 153287 606 0 505 505 607 507 +170 SP15-2 319546.4 153285.8 606 0 505 505 607 707 +167 SP15-2 319546.7 153285.8 506 0 506 505 607 505 +178 SP15-2 319546.8 153290.2 606 0 506 505 607 707 +179 SP15-2 319546.8 153290.5 606 0 505 505 606 507 +162 SP15-2 319546.9 153285.2 606 606 505 505 606 505 +174 SP15-2 319546.9 153289.2 606 0 606 505 707 507 +180 SP15-2 319547 153285.1 606 0 505 505 607 507 +163 SP15-2 319547 153285.2 606 0 506 505 607 707 +164 SP15-2 319547 153285.4 606 0 505 505 607 507 +165 SP15-2 319547.01 153285.4 606 0 505 505 606 607 +185 SP15-2 319547 153286.4 606 0 505 505 606 707 +188 SP15-2 319547 153287 606 0 505 505 606 707 +173 SP15-2 319547 153289 506 0 505 505 606 507 +175 SP15-2 319547 153289.5 506 0 505 507 606 507 +176 SP15-2 319547 153289.9 606 0 505 507 506 507 +159 SP15-2 319547 153291 606 606 506 505 606 707 +181 SP15-2 319547.2 153285.2 506 0 505 505 506 707 +182 SP15-2 319547.2 153285.3 606 0 505 505 607 507 +184 SP15-2 319547.2 153286 606 0 505 505 607 607 +177 SP15-2 319547.2 153290 606 0 505 507 607 507 +183 SP15-2 319547.5 153286 606 0 505 505 607 507 +187 SP15-2 319547.5 153286.5 606 0 505 505 707 707 +144 SP15-2 319547.5 153291 606 0 506 507 606 507 +236 SP15-2 319547.51 153291 606 0 505 0 606 507 +237 SP15-2 319547.52 153291 606 606 505 505 606 507 +155 SP15-2 319547.7 153287 606 606 505 505 507 707 +189 SP15-2 319547.7 153288.8 606 0 505 505 606 707 +190 SP15-2 319547.8 153290 606 0 506 505 707 707 +235 SP15-2 319548 153285 606 606 505 0 606 507 +186 SP15-2 319548 153286.8 606 0 506 505 606 607 +229 SP15-2 319548 153287.5 606 0 0 507 0 707 +230 SP15-2 319548.01 153287.5 606 0 0 505 707 507 +231 SP15-2 319548.02 153287.5 606 0 505 505 707 707 +232 SP15-2 319548.03 153287.5 606 0 606 505 707 707 +228 SP15-2 319548 153290.5 606 606 505 505 607 507 +233 SP15-2 319548.2 153286 606 0 505 0 707 507 +234 SP15-2 319548.5 153286 606 0 0 0 607 507 +227 SP15-2 319548.5 153286.5 606 0 506 505 607 707 +223 SP15-2 319548.5 153290.8 606 606 505 505 606 507 +224 SP15-2 319548.8 153289 606 606 506 507 606 707 +226 SP15-2 319548.9 153287.9 606 606 506 0 707 707 +225 SP15-2 319549 153288 606 606 606 707 606 507 +222 SP15-2 319549 153290 606 606 506 507 607 507 +238 SP15-2 319549 153290.8 606 606 505 505 606 707 +219 SP15-2 319549.2 153288.2 606 606 506 0 707 707 +262 SP15-2 319549.3 153288.8 606 606 506 507 606 507 +221 SP15-2 319549.5 153286.5 606 606 506 505 606 506 +220 SP15-2 319549.6 153287.5 606 606 505 505 606 707 +261 SP15-2 319549.6 153288.2 606 606 505 505 607 707 +279 SP15-2 319549.9 153289.7 606 606 506 505 607 707 +276 SP15-2 319550 153285.2 606 606 505 0 707 707 +277 SP15-2 319550 153288.8 606 606 506 505 707 707 +278 SP15-2 319550 153289.5 606 606 606 505 707 707 +280 SP15-2 319550 153290 606 606 606 505 606 707 +END diff --git a/example_data/DataSSR-with_spatial_distance_matrix.txt b/example_data/DataSSR-with_spatial_distance_matrix.txt index 26c7e98..11cfd7a 100644 --- a/example_data/DataSSR-with_spatial_distance_matrix.txt +++ b/example_data/DataSSR-with_spatial_distance_matrix.txt @@ -1,265 +1,263 @@ -// This is an example of data file for the software SPAGeDi, written by O. Hardy and X. Vekemans -// -// Any line begining by " or // or /* is a comment line, not read by the program. They can be put anywhere. -// Empty lines must also begin by " or // or /* -// -// This example gives the genotypes at 6 microsatellite loci for 228 individuals -// that were genotyped in 6 populations. -// Populations are identified by the categorical group. -// There is no spatial coordinate but inter-population distances are given in a matrix at the end of the file. -// For this data set, SPAGeDi permits to assess : -// - differentiation among populations using allele identity or allele size information -// - isolation by distance among populations -// -// 1st non comment line : set of 6 numbers separated by a tabulation and representing : -// #individuals #categories #coordinates #loci #digits/allele max ploidy -// 2nd non comment line : # of distance intervals followed by the upper distance of each interval. -// Here a negative # of intervals is given so that upper distances are choosen to obtain -// intervals with the same # of pairwise comparisons. -// 3rd non comment line : column labels (<=15 characters). -// 4th and next lines : data for each individual in the following order: Ind name, category, coordinates (here 0), genotypes -228 6 0 6 3 2 --3 -ind pop Loc1 Loc2 Loc3 Loc4 Loc5 Loc6 -pop1-1 pop1 160150 163163 178176 102102 147139 118114 -pop1-2 pop1 152152 163163 176176 102102 147139 116116 -pop1-3 pop1 166158 161153 176174 102102 149137 116116 -pop1-4 pop1 158158 163163 174168 102098 147147 116112 -pop1-5 pop1 168164 163153 176166 102102 149141 116112 -pop1-6 pop1 158158 163153 178176 102098 147147 116114 -pop1-7 pop1 158158 163163 176176 102102 149139 116114 -pop1-8 pop1 158152 163163 176174 102102 149137 116112 -pop1-9 pop1 150150 163163 176174 102098 149141 116116 -pop1-10 pop1 158150 163153 176174 102098 147141 116116 -pop1-11 pop1 166158 163153 176166 102098 147141 116116 -pop1-12 pop1 164158 163153 176176 102100 147141 116112 -pop1-13 pop1 158152 163163 176168 102102 141141 116116 -pop1-14 pop1 160150 163163 176168 102100 147137 116116 -pop1-15 pop1 160158 163163 176166 102098 141141 116114 -pop1-16 pop1 158158 163163 176168 102098 149149 114112 -pop1-17 pop1 156150 163163 174168 102102 137135 112112 -pop1-18 pop1 162152 163163 178168 102102 141137 116112 -pop1-19 pop1 158150 163163 176176 102102 139139 116112 -pop1-20 pop1 160158 163163 178176 102098 147137 112112 -pop1-21 pop1 152152 163163 176166 102098 141139 114112 -pop1-22 pop1 150150 163163 176168 102098 151139 112112 -pop1-23 pop1 148148 163163 176174 102098 139139 116112 -pop1-24 pop1 150148 163163 176174 102102 139137 112112 -pop1-25 pop1 166158 153153 174166 102098 139137 114112 -pop1-26 pop1 160160 163163 176166 102100 139139 116112 -pop1-27 pop1 166156 163163 176176 102098 141139 116114 -pop1-28 pop1 158156 163163 176176 102102 141137 112112 -pop1-29 pop1 166158 163163 176166 102098 141139 116116 -pop1-30 pop1 158152 163163 178166 100098 147137 116116 -pop1-31 pop1 162152 163163 176168 102098 147139 116116 -pop1-32 pop1 158152 163163 178168 102098 147137 116116 -pop1-33 pop1 152150 163163 174166 98098 141139 114114 -pop1-34 pop1 162152 163163 178176 102102 147139 114112 -pop1-35 pop1 152150 163163 174166 98098 147141 116112 -pop1-36 pop1 158152 163163 178168 102098 149147 112112 -pop1-37 pop1 152150 163163 168166 102100 141139 114112 -pop1-38 pop1 152152 163163 178168 102100 147139 114112 -pop2-1 pop2 164158 163163 176168 102098 147143 112112 -pop2-2 pop2 166150 163163 178174 102100 147139 116112 -pop2-3 pop2 166150 163163 178176 102100 147139 116112 -pop2-4 pop2 158150 163163 176168 102100 147143 112112 -pop2-5 pop2 166166 163163 176176 102098 139137 112112 -pop2-6 pop2 164150 163163 176166 102102 139139 116112 -pop2-7 pop2 158150 163163 174166 102102 147147 112112 -pop2-8 pop2 158150 163163 176166 98098 147139 112112 -pop2-9 pop2 166164 163163 176168 102102 149147 112112 -pop2-10 pop2 158152 163163 174166 102102 147147 116112 -pop2-11 pop2 152150 163163 168166 102098 141139 112112 -pop2-12 pop2 166164 163163 174168 102100 143139 112112 -pop2-13 pop2 164150 163163 178166 102098 147139 116116 -pop2-14 pop2 158150 163163 176166 102102 147139 116116 -pop2-15 pop2 152152 163163 176176 102098 149139 116112 -pop2-16 pop2 152150 163163 166166 102100 147139 116112 -pop2-17 pop2 0 163163 174174 102100 147147 116112 -pop2-18 pop2 156152 163163 166166 102100 147141 112112 -pop2-19 pop2 158152 163163 174174 100098 147139 116112 -pop2-20 pop2 164158 163163 176174 102102 147147 116112 -pop2-21 pop2 158158 163153 178166 102100 147139 116116 -pop2-22 pop2 158150 163163 178174 102102 149137 116112 -pop2-23 pop2 166158 163163 174168 100100 147139 112112 -pop2-24 pop2 152150 163163 176168 102098 147147 116112 -pop2-25 pop2 162152 163163 168166 102102 149137 112112 -pop2-26 pop2 152152 163163 178176 102098 147143 116112 -pop2-27 pop2 152152 163163 176166 100100 149139 116112 -pop2-28 pop2 158150 163163 168168 102100 147137 112112 -pop2-29 pop2 166152 163163 168166 102100 149147 116116 -pop2-30 pop2 162152 163163 178168 102102 139139 118112 -pop2-31 pop2 166158 163153 168168 102102 151139 116112 -pop2-32 pop2 158152 163153 178166 102102 139137 116112 -pop2-33 pop2 158150 163153 174174 102102 149139 116116 -pop2-34 pop2 0 163163 178176 100098 139139 116116 -pop2-35 pop2 158158 163163 176166 102100 147147 116116 -pop2-36 pop2 158152 163163 178166 102102 139139 116112 -pop2-37 pop2 162150 163163 176168 102102 147139 112112 -pop2-38 pop2 162158 163163 176166 102102 147147 116112 -pop2-39 pop2 162150 163163 166166 102102 149139 116112 -pop2-40 pop2 162152 163163 166166 102102 147139 112112 -pop2-41 pop2 152150 163163 176168 102098 147139 116116 -pop2-42 pop2 166152 163163 178176 102102 143143 116112 -pop2-43 pop2 166162 163163 166166 98098 147139 116116 -pop2-44 pop2 162152 163163 178178 102098 147147 116116 -pop2-45 pop2 152152 163163 178178 98098 147143 116116 -pop2-46 pop2 152150 163163 178166 102102 147139 116112 -pop2-47 pop2 0 163163 176168 102100 147147 116116 -pop2-48 pop2 162152 163163 176166 102102 147139 116116 -pop2-49 pop2 162150 163163 178168 102100 147141 116116 -pop2-50 pop2 166150 163163 178166 102102 147139 116116 -pop3-1 pop3 160158 163163 174168 102102 145139 114100 -pop3-2 pop3 164160 163163 168168 102102 141139 114114 -pop3-3 pop3 166158 163163 168168 102102 141139 114114 -pop3-4 pop3 162148 163163 174168 102102 139139 122120 -pop3-5 pop3 162158 163163 168168 102100 149141 116100 -pop3-6 pop3 164158 163163 168168 102102 141141 120114 -pop3-7 pop3 162158 163163 168168 102100 149139 120114 -pop3-8 pop3 164162 163163 174168 102102 141139 118100 -pop3-9 pop3 164158 163163 174168 102100 141141 118100 -pop3-10 pop3 160160 163163 168168 102102 147147 120000 -pop3-11 pop3 170160 163163 168168 102100 141139 118118 -pop3-12 pop3 160160 163163 174168 102102 141139 118116 -pop3-13 pop3 162158 163153 174168 102100 141139 120100 -pop3-14 pop3 160158 163163 168168 102100 145139 118118 -pop3-15 pop3 166160 163163 174168 102102 141141 120100 -pop3-16 pop3 162160 163163 168168 102102 147141 120100 -pop3-17 pop3 164160 163163 168168 102102 149139 120116 -pop3-18 pop3 160146 163163 168168 102102 145141 116100 -pop3-19 pop3 160160 163163 168168 102098 147141 114114 -pop3-20 pop3 160158 163163 174168 102102 147141 120100 -pop3-21 pop3 166160 163163 174168 102102 147145 118114 -pop3-22 pop3 160152 163153 168168 102102 147147 120100 -pop3-23 pop3 164162 163163 174168 102102 149141 120118 -pop3-24 pop3 160160 163163 174168 102102 149145 114100 -pop3-25 pop3 160160 163163 168168 102102 147147 120114 -pop3-26 pop3 160160 163163 168168 102102 149135 120100 -pop3-27 pop3 160160 163163 168168 102102 149139 116100 -pop3-28 pop3 160160 163163 174168 102102 147139 114100 -pop3-29 pop3 160160 163163 168168 102102 147145 118100 -pop3-30 pop3 160160 163153 174168 102102 149147 120100 -pop3-31 pop3 160160 163163 174168 102102 141139 120120 -pop3-32 pop3 160146 163163 168168 102102 139139 120120 -pop3-33 pop3 162146 163163 168168 102100 141139 120120 -pop3-34 pop3 166160 163163 168168 102102 141139 120114 -pop3-35 pop3 166160 163163 168168 102100 141141 120100 -pop3-36 pop3 166160 163163 168168 102102 149141 120100 -pop3-37 pop3 160160 163163 168168 102102 149141 120118 -pop3-38 pop3 166146 163153 168168 102102 141135 118100 -pop3-39 pop3 166160 163163 168168 102098 149143 100100 -pop3-40 pop3 166166 163163 168168 102098 143143 118100 -pop3-41 pop3 166160 163163 168168 102102 141139 118100 -pop4-1 pop4 156148 163163 174174 102102 135135 118118 -pop4-2 pop4 166156 163163 168166 102100 147139 122120 -pop4-3 pop4 166156 163163 174168 102102 139135 122118 -pop4-4 pop4 166148 163163 174168 102102 135135 120120 -pop4-5 pop4 166166 163163 174174 102100 147135 120120 -pop4-6 pop4 166166 163163 174174 102100 135135 120116 -pop4-7 pop4 166156 163163 174174 102100 135135 122122 -pop4-8 pop4 166156 163163 174168 102102 147139 122118 -pop4-9 pop4 166166 163163 174174 100100 139135 122120 -pop4-10 pop4 166166 163163 168168 102100 139135 122120 -pop4-11 pop4 162156 163163 174174 102100 139139 122122 -pop4-12 pop4 166156 163163 168168 102100 139135 118116 -pop4-13 pop4 156156 163163 168166 100100 147135 122118 -pop4-14 pop4 166156 163163 174168 102100 139135 118118 -pop4-15 pop4 156148 163163 174174 102102 139135 118118 -pop4-16 pop4 156156 163163 174174 102102 139139 118118 -pop4-17 pop4 156156 163163 174166 102100 139135 122118 -pop4-18 pop4 166166 163163 174168 102100 139135 122122 -pop4-19 pop4 166166 163163 174168 100100 135135 122122 -pop4-20 pop4 166156 163163 174168 102102 147135 122118 -pop4-21 pop4 166156 163163 174168 100100 139135 122120 -pop4-22 pop4 166156 163163 174174 102100 139139 120118 -pop4-23 pop4 166166 163163 174174 102100 147139 122116 -pop4-24 pop4 166166 163163 174166 102100 139135 122122 -pop4-25 pop4 154154 163163 174174 102102 139139 122116 -pop4-26 pop4 154154 163163 174174 102102 139139 122116 -pop4-27 pop4 166156 163163 174174 102102 139135 122118 -pop4-28 pop4 166166 163163 174168 102100 139135 122122 -pop4-29 pop4 166166 163163 174168 102100 135135 120118 -pop4-30 pop4 156154 163163 174174 102102 139139 122116 -pop4-31 pop4 156156 163163 174174 102100 139135 122122 -pop4-32 pop4 166156 163163 174174 102102 139139 122122 -pop4-33 pop4 174148 163163 174174 102100 135135 122122 -pop4-34 pop4 156156 163163 174166 102100 139139 118116 -pop4-35 pop4 166156 163163 174168 102102 135135 122122 -pop4-36 pop4 0 163163 174168 102100 139135 122116 -pop4-37 pop4 166156 163163 174168 100100 135135 118116 -pop4-38 pop4 166158 163163 174174 100100 135135 122118 -pop4-39 pop4 166156 163163 174174 102102 147139 122122 -pop4-40 pop4 166162 163163 174168 102100 135135 122116 -pop5-1 pop5 166158 163163 166166 102102 139137 116116 -pop5-2 pop5 158158 163163 178166 102102 153137 118118 -pop5-3 pop5 166158 163163 166166 102102 143143 118116 -pop5-4 pop5 152152 163163 166166 102102 153139 116112 -pop5-5 pop5 166158 163163 166166 102102 153137 118116 -pop5-6 pop5 158152 163163 166166 102102 139139 118118 -pop5-7 pop5 158152 163163 166166 102102 139139 118118 -pop5-8 pop5 166158 163163 168166 102102 153143 116116 -pop5-9 pop5 166152 163163 166166 102102 139139 118118 -pop5-10 pop5 166166 163163 166166 102102 143141 118116 -pop5-11 pop5 166152 163163 168166 102102 143139 118116 -pop5-12 pop5 152152 163163 176166 102102 139139 116116 -pop5-13 pop5 158152 163163 166166 102102 139139 116116 -pop5-14 pop5 158152 163163 166166 102102 143139 116116 -pop5-15 pop5 166152 163163 166166 102102 139139 118116 -pop5-16 pop5 166158 163163 168166 102102 139139 116116 -pop5-17 pop5 166152 163163 178166 102102 139139 118116 -pop5-18 pop5 166166 163163 168166 102102 139137 118116 -pop5-19 pop5 166148 163163 166166 102102 139139 118116 -pop5-20 pop5 0 163163 166166 102102 143139 118116 -pop5-21 pop5 152148 163163 166166 102102 143137 118116 -pop5-22 pop5 158152 163163 166166 102102 139137 118118 -pop5-23 pop5 166158 163163 166166 102102 139139 118116 -pop5-24 pop5 166152 163163 168166 102102 139139 116116 -pop5-25 pop5 152152 163163 166166 102102 139139 116116 -pop5-26 pop5 158158 163163 166166 102102 143139 118116 -pop5-27 pop5 158148 163163 178166 102102 139139 118116 -pop5-28 pop5 166158 163163 166166 102102 139139 118116 -pop5-29 pop5 166158 163163 166166 102102 139139 116116 -pop5-30 pop5 166158 163163 178166 102102 143139 116116 -pop5-31 pop5 162152 163163 166166 102102 143139 118116 -pop5-32 pop5 166158 163163 174166 102102 143139 118118 -pop5-33 pop5 158152 163163 166166 102102 143139 118116 -pop5-34 pop5 158158 163163 166166 102102 143139 118118 -pop5-35 pop5 158152 163163 178166 102102 143139 118116 -pop5-36 pop5 166158 163163 168166 102102 143143 118118 -pop5-37 pop5 158152 163163 166166 102098 143139 116116 -pop5-38 pop5 166158 163163 168166 102098 139139 116116 -pop5-39 pop5 0 163163 168166 102102 143139 116116 -pop6-1 pop6 150146 163153 174168 102102 141131 118118 -pop6-2 pop6 172146 163163 174174 102102 141141 122118 -pop6-3 pop6 150150 163153 174168 102100 141131 122100 -pop6-4 pop6 150150 163163 168168 102102 147141 122118 -pop6-5 pop6 150150 163163 174168 102102 145141 122118 -pop6-6 pop6 146146 163163 174168 102100 145141 122118 -pop6-7 pop6 146146 163163 174168 102102 145141 118100 -pop6-8 pop6 150146 163163 174168 102102 145141 118118 -pop6-9 pop6 150146 163163 168168 102100 141141 122118 -pop6-10 pop6 150146 163163 174174 102102 141141 122118 -pop6-11 pop6 150146 163163 174168 102100 145145 118118 -pop6-12 pop6 146146 163163 174168 102102 145141 118118 -pop6-13 pop6 146146 153153 168168 102102 131129 118118 -pop6-14 pop6 150150 163153 174174 102102 141131 122122 -pop6-15 pop6 146146 163153 174168 102102 145131 122100 -pop6-16 pop6 150150 163153 174174 102100 145131 122118 -pop6-17 pop6 0 163153 174174 102100 145131 122122 -pop6-18 pop6 150146 163153 174168 102102 145131 122100 -pop6-19 pop6 172146 163163 168168 102102 141141 118118 -pop6-20 pop6 150146 163153 174168 102102 141131 118118 -END -// the word END is compulsory at the end of the list of individuals data -// -// The next matrix gives inter-population distances -// On the first line, M indicates that its a matrix and 6 that it contains 6 elements. -// Names for rows and columns must be the same as those given above (category names in this case). -M6 pop1 pop2 pop3 pop4 pop5 pop6 -pop1 -pop2 0.3 -pop3 1.5 1.2 -pop4 1.8 1.8 1.3 -pop5 0.6 0.5 1.7 2.3 -pop6 1.5 1.3 0.7 0.7 1.9 -END +// This is an example of data file for the software SPAGeDi, written by O. Hardy and X. Vekemans +// +// Any line begining by " or // or /* is a comment line, not read by the program. They can be put anywhere. +// Empty lines must also begin by " or // or /* +// +// This example gives the genotypes at 6 microsatellite loci for 228 individuals +// that were genotyped in 6 populations. +// Populations are identified by the categorical group. +// There is no spatial coordinate but inter-population distances are given in a matrix at the end of the file. +// For this data set, SPAGeDi permits to assess : +// - differentiation among populations using allele identity or allele size information +// - isolation by distance among populations +// +// 1st non comment line : set of 6 numbers separated by a tabulation and representing : +// #individuals #categories #coordinates #loci #digits/allele max ploidy +// 2nd non comment line : # of distance intervals followed by the upper distance of each interval. +// Here a negative # of intervals is given so that upper distances are choosen to obtain +// intervals with the same # of pairwise comparisons. +// 3rd non comment line : column labels (<=15 characters). +// 4th and next lines : data for each individual in the following order: Ind name, category, coordinates (here 0), genotypes +228 6 0 6 3 2 +-3 +ind pop Loc1 Loc2 Loc3 Loc4 Loc5 Loc6 +pop1-1 pop1 160150 163163 178176 102102 147139 118114 +pop1-2 pop1 152152 163163 176176 102102 147139 116116 +pop1-3 pop1 166158 161153 176174 102102 149137 116116 +pop1-4 pop1 158158 163163 174168 102098 147147 116112 +pop1-5 pop1 168164 163153 176166 102102 149141 116112 +pop1-6 pop1 158158 163153 178176 102098 147147 116114 +pop1-7 pop1 158158 163163 176176 102102 149139 116114 +pop1-8 pop1 158152 163163 176174 102102 149137 116112 +pop1-9 pop1 150150 163163 176174 102098 149141 116116 +pop1-10 pop1 158150 163153 176174 102098 147141 116116 +pop1-11 pop1 166158 163153 176166 102098 147141 116116 +pop1-12 pop1 164158 163153 176176 102100 147141 116112 +pop1-13 pop1 158152 163163 176168 102102 141141 116116 +pop1-14 pop1 160150 163163 176168 102100 147137 116116 +pop1-15 pop1 160158 163163 176166 102098 141141 116114 +pop1-16 pop1 158158 163163 176168 102098 149149 114112 +pop1-17 pop1 156150 163163 174168 102102 137135 112112 +pop1-18 pop1 162152 163163 178168 102102 141137 116112 +pop1-19 pop1 158150 163163 176176 102102 139139 116112 +pop1-20 pop1 160158 163163 178176 102098 147137 112112 +pop1-21 pop1 152152 163163 176166 102098 141139 114112 +pop1-22 pop1 150150 163163 176168 102098 151139 112112 +pop1-23 pop1 148148 163163 176174 102098 139139 116112 +pop1-24 pop1 150148 163163 176174 102102 139137 112112 +pop1-25 pop1 166158 153153 174166 102098 139137 114112 +pop1-26 pop1 160160 163163 176166 102100 139139 116112 +pop1-27 pop1 166156 163163 176176 102098 141139 116114 +pop1-28 pop1 158156 163163 176176 102102 141137 112112 +pop1-29 pop1 166158 163163 176166 102098 141139 116116 +pop1-30 pop1 158152 163163 178166 100098 147137 116116 +pop1-31 pop1 162152 163163 176168 102098 147139 116116 +pop1-32 pop1 158152 163163 178168 102098 147137 116116 +pop1-33 pop1 152150 163163 174166 98098 141139 114114 +pop1-34 pop1 162152 163163 178176 102102 147139 114112 +pop1-35 pop1 152150 163163 174166 98098 147141 116112 +pop1-36 pop1 158152 163163 178168 102098 149147 112112 +pop1-37 pop1 152150 163163 168166 102100 141139 114112 +pop1-38 pop1 152152 163163 178168 102100 147139 114112 +pop2-1 pop2 164158 163163 176168 102098 147143 112112 +pop2-2 pop2 166150 163163 178174 102100 147139 116112 +pop2-3 pop2 166150 163163 178176 102100 147139 116112 +pop2-4 pop2 158150 163163 176168 102100 147143 112112 +pop2-5 pop2 166166 163163 176176 102098 139137 112112 +pop2-6 pop2 164150 163163 176166 102102 139139 116112 +pop2-7 pop2 158150 163163 174166 102102 147147 112112 +pop2-8 pop2 158150 163163 176166 98098 147139 112112 +pop2-9 pop2 166164 163163 176168 102102 149147 112112 +pop2-10 pop2 158152 163163 174166 102102 147147 116112 +pop2-11 pop2 152150 163163 168166 102098 141139 112112 +pop2-12 pop2 166164 163163 174168 102100 143139 112112 +pop2-13 pop2 164150 163163 178166 102098 147139 116116 +pop2-14 pop2 158150 163163 176166 102102 147139 116116 +pop2-15 pop2 152152 163163 176176 102098 149139 116112 +pop2-16 pop2 152150 163163 166166 102100 147139 116112 +pop2-17 pop2 0 163163 174174 102100 147147 116112 +pop2-18 pop2 156152 163163 166166 102100 147141 112112 +pop2-19 pop2 158152 163163 174174 100098 147139 116112 +pop2-20 pop2 164158 163163 176174 102102 147147 116112 +pop2-21 pop2 158158 163153 178166 102100 147139 116116 +pop2-22 pop2 158150 163163 178174 102102 149137 116112 +pop2-23 pop2 166158 163163 174168 100100 147139 112112 +pop2-24 pop2 152150 163163 176168 102098 147147 116112 +pop2-25 pop2 162152 163163 168166 102102 149137 112112 +pop2-26 pop2 152152 163163 178176 102098 147143 116112 +pop2-27 pop2 152152 163163 176166 100100 149139 116112 +pop2-28 pop2 158150 163163 168168 102100 147137 112112 +pop2-29 pop2 166152 163163 168166 102100 149147 116116 +pop2-30 pop2 162152 163163 178168 102102 139139 118112 +pop2-31 pop2 166158 163153 168168 102102 151139 116112 +pop2-32 pop2 158152 163153 178166 102102 139137 116112 +pop2-33 pop2 158150 163153 174174 102102 149139 116116 +pop2-34 pop2 0 163163 178176 100098 139139 116116 +pop2-35 pop2 158158 163163 176166 102100 147147 116116 +pop2-36 pop2 158152 163163 178166 102102 139139 116112 +pop2-37 pop2 162150 163163 176168 102102 147139 112112 +pop2-38 pop2 162158 163163 176166 102102 147147 116112 +pop2-39 pop2 162150 163163 166166 102102 149139 116112 +pop2-40 pop2 162152 163163 166166 102102 147139 112112 +pop2-41 pop2 152150 163163 176168 102098 147139 116116 +pop2-42 pop2 166152 163163 178176 102102 143143 116112 +pop2-43 pop2 166162 163163 166166 98098 147139 116116 +pop2-44 pop2 162152 163163 178178 102098 147147 116116 +pop2-45 pop2 152152 163163 178178 98098 147143 116116 +pop2-46 pop2 152150 163163 178166 102102 147139 116112 +pop2-47 pop2 0 163163 176168 102100 147147 116116 +pop2-48 pop2 162152 163163 176166 102102 147139 116116 +pop2-49 pop2 162150 163163 178168 102100 147141 116116 +pop2-50 pop2 166150 163163 178166 102102 147139 116116 +pop3-1 pop3 160158 163163 174168 102102 145139 114100 +pop3-2 pop3 164160 163163 168168 102102 141139 114114 +pop3-3 pop3 166158 163163 168168 102102 141139 114114 +pop3-4 pop3 162148 163163 174168 102102 139139 122120 +pop3-5 pop3 162158 163163 168168 102100 149141 116100 +pop3-6 pop3 164158 163163 168168 102102 141141 120114 +pop3-7 pop3 162158 163163 168168 102100 149139 120114 +pop3-8 pop3 164162 163163 174168 102102 141139 118100 +pop3-9 pop3 164158 163163 174168 102100 141141 118100 +pop3-10 pop3 160160 163163 168168 102102 147147 120000 +pop3-11 pop3 170160 163163 168168 102100 141139 118118 +pop3-12 pop3 160160 163163 174168 102102 141139 118116 +pop3-13 pop3 162158 163153 174168 102100 141139 120100 +pop3-14 pop3 160158 163163 168168 102100 145139 118118 +pop3-15 pop3 166160 163163 174168 102102 141141 120100 +pop3-16 pop3 162160 163163 168168 102102 147141 120100 +pop3-17 pop3 164160 163163 168168 102102 149139 120116 +pop3-18 pop3 160146 163163 168168 102102 145141 116100 +pop3-19 pop3 160160 163163 168168 102098 147141 114114 +pop3-20 pop3 160158 163163 174168 102102 147141 120100 +pop3-21 pop3 166160 163163 174168 102102 147145 118114 +pop3-22 pop3 160152 163153 168168 102102 147147 120100 +pop3-23 pop3 164162 163163 174168 102102 149141 120118 +pop3-24 pop3 160160 163163 174168 102102 149145 114100 +pop3-25 pop3 160160 163163 168168 102102 147147 120114 +pop3-26 pop3 160160 163163 168168 102102 149135 120100 +pop3-27 pop3 160160 163163 168168 102102 149139 116100 +pop3-28 pop3 160160 163163 174168 102102 147139 114100 +pop3-29 pop3 160160 163163 168168 102102 147145 118100 +pop3-30 pop3 160160 163153 174168 102102 149147 120100 +pop3-31 pop3 160160 163163 174168 102102 141139 120120 +pop3-32 pop3 160146 163163 168168 102102 139139 120120 +pop3-33 pop3 162146 163163 168168 102100 141139 120120 +pop3-34 pop3 166160 163163 168168 102102 141139 120114 +pop3-35 pop3 166160 163163 168168 102100 141141 120100 +pop3-36 pop3 166160 163163 168168 102102 149141 120100 +pop3-37 pop3 160160 163163 168168 102102 149141 120118 +pop3-38 pop3 166146 163153 168168 102102 141135 118100 +pop3-39 pop3 166160 163163 168168 102098 149143 100100 +pop3-40 pop3 166166 163163 168168 102098 143143 118100 +pop3-41 pop3 166160 163163 168168 102102 141139 118100 +pop4-1 pop4 156148 163163 174174 102102 135135 118118 +pop4-2 pop4 166156 163163 168166 102100 147139 122120 +pop4-3 pop4 166156 163163 174168 102102 139135 122118 +pop4-4 pop4 166148 163163 174168 102102 135135 120120 +pop4-5 pop4 166166 163163 174174 102100 147135 120120 +pop4-6 pop4 166166 163163 174174 102100 135135 120116 +pop4-7 pop4 166156 163163 174174 102100 135135 122122 +pop4-8 pop4 166156 163163 174168 102102 147139 122118 +pop4-9 pop4 166166 163163 174174 100100 139135 122120 +pop4-10 pop4 166166 163163 168168 102100 139135 122120 +pop4-11 pop4 162156 163163 174174 102100 139139 122122 +pop4-12 pop4 166156 163163 168168 102100 139135 118116 +pop4-13 pop4 156156 163163 168166 100100 147135 122118 +pop4-14 pop4 166156 163163 174168 102100 139135 118118 +pop4-15 pop4 156148 163163 174174 102102 139135 118118 +pop4-16 pop4 156156 163163 174174 102102 139139 118118 +pop4-17 pop4 156156 163163 174166 102100 139135 122118 +pop4-18 pop4 166166 163163 174168 102100 139135 122122 +pop4-19 pop4 166166 163163 174168 100100 135135 122122 +pop4-20 pop4 166156 163163 174168 102102 147135 122118 +pop4-21 pop4 166156 163163 174168 100100 139135 122120 +pop4-22 pop4 166156 163163 174174 102100 139139 120118 +pop4-23 pop4 166166 163163 174174 102100 147139 122116 +pop4-24 pop4 166166 163163 174166 102100 139135 122122 +pop4-25 pop4 154154 163163 174174 102102 139139 122116 +pop4-26 pop4 154154 163163 174174 102102 139139 122116 +pop4-27 pop4 166156 163163 174174 102102 139135 122118 +pop4-28 pop4 166166 163163 174168 102100 139135 122122 +pop4-29 pop4 166166 163163 174168 102100 135135 120118 +pop4-30 pop4 156154 163163 174174 102102 139139 122116 +pop4-31 pop4 156156 163163 174174 102100 139135 122122 +pop4-32 pop4 166156 163163 174174 102102 139139 122122 +pop4-33 pop4 174148 163163 174174 102100 135135 122122 +pop4-34 pop4 156156 163163 174166 102100 139139 118116 +pop4-35 pop4 166156 163163 174168 102102 135135 122122 +pop4-36 pop4 0 163163 174168 102100 139135 122116 +pop4-37 pop4 166156 163163 174168 100100 135135 118116 +pop4-38 pop4 166158 163163 174174 100100 135135 122118 +pop4-39 pop4 166156 163163 174174 102102 147139 122122 +pop4-40 pop4 166162 163163 174168 102100 135135 122116 +pop5-1 pop5 166158 163163 166166 102102 139137 116116 +pop5-2 pop5 158158 163163 178166 102102 153137 118118 +pop5-3 pop5 166158 163163 166166 102102 143143 118116 +pop5-4 pop5 152152 163163 166166 102102 153139 116112 +pop5-5 pop5 166158 163163 166166 102102 153137 118116 +pop5-6 pop5 158152 163163 166166 102102 139139 118118 +pop5-7 pop5 158152 163163 166166 102102 139139 118118 +pop5-8 pop5 166158 163163 168166 102102 153143 116116 +pop5-9 pop5 166152 163163 166166 102102 139139 118118 +pop5-10 pop5 166166 163163 166166 102102 143141 118116 +pop5-11 pop5 166152 163163 168166 102102 143139 118116 +pop5-12 pop5 152152 163163 176166 102102 139139 116116 +pop5-13 pop5 158152 163163 166166 102102 139139 116116 +pop5-14 pop5 158152 163163 166166 102102 143139 116116 +pop5-15 pop5 166152 163163 166166 102102 139139 118116 +pop5-16 pop5 166158 163163 168166 102102 139139 116116 +pop5-17 pop5 166152 163163 178166 102102 139139 118116 +pop5-18 pop5 166166 163163 168166 102102 139137 118116 +pop5-19 pop5 166148 163163 166166 102102 139139 118116 +pop5-20 pop5 0 163163 166166 102102 143139 118116 +pop5-21 pop5 152148 163163 166166 102102 143137 118116 +pop5-22 pop5 158152 163163 166166 102102 139137 118118 +pop5-23 pop5 166158 163163 166166 102102 139139 118116 +pop5-24 pop5 166152 163163 168166 102102 139139 116116 +pop5-25 pop5 152152 163163 166166 102102 139139 116116 +pop5-26 pop5 158158 163163 166166 102102 143139 118116 +pop5-27 pop5 158148 163163 178166 102102 139139 118116 +pop5-28 pop5 166158 163163 166166 102102 139139 118116 +pop5-29 pop5 166158 163163 166166 102102 139139 116116 +pop5-30 pop5 166158 163163 178166 102102 143139 116116 +pop5-31 pop5 162152 163163 166166 102102 143139 118116 +pop5-32 pop5 166158 163163 174166 102102 143139 118118 +pop5-33 pop5 158152 163163 166166 102102 143139 118116 +pop5-34 pop5 158158 163163 166166 102102 143139 118118 +pop5-35 pop5 158152 163163 178166 102102 143139 118116 +pop5-36 pop5 166158 163163 168166 102102 143143 118118 +pop5-37 pop5 158152 163163 166166 102098 143139 116116 +pop5-38 pop5 166158 163163 168166 102098 139139 116116 +pop5-39 pop5 0 163163 168166 102102 143139 116116 +pop6-1 pop6 150146 163153 174168 102102 141131 118118 +pop6-2 pop6 172146 163163 174174 102102 141141 122118 +pop6-3 pop6 150150 163153 174168 102100 141131 122100 +pop6-4 pop6 150150 163163 168168 102102 147141 122118 +pop6-5 pop6 150150 163163 174168 102102 145141 122118 +pop6-6 pop6 146146 163163 174168 102100 145141 122118 +pop6-7 pop6 146146 163163 174168 102102 145141 118100 +pop6-8 pop6 150146 163163 174168 102102 145141 118118 +pop6-9 pop6 150146 163163 168168 102100 141141 122118 +pop6-10 pop6 150146 163163 174174 102102 141141 122118 +pop6-11 pop6 150146 163163 174168 102100 145145 118118 +pop6-12 pop6 146146 163163 174168 102102 145141 118118 +pop6-13 pop6 146146 153153 168168 102102 131129 118118 +pop6-14 pop6 150150 163153 174174 102102 141131 122122 +pop6-15 pop6 146146 163153 174168 102102 145131 122100 +pop6-16 pop6 150150 163153 174174 102100 145131 122118 +pop6-17 pop6 0 163153 174174 102100 145131 122122 +pop6-18 pop6 150146 163153 174168 102102 145131 122100 +pop6-19 pop6 172146 163163 168168 102102 141141 118118 +pop6-20 pop6 150146 163153 174168 102102 141131 118118 +END +// The next matrix gives inter-population distances +// On the first line, M indicates that its a matrix and 6 that it contains 6 elements. +// Names for rows and columns must be the same as those given above (category names in this case). +M6 pop1 pop2 pop3 pop4 pop5 pop6 +pop1 +pop2 0.3 +pop3 1.5 1.2 +pop4 1.8 1.8 1.3 +pop5 0.6 0.5 1.7 2.3 +pop6 1.5 1.3 0.7 0.7 1.9 +END diff --git a/manual.pdf b/manual.pdf index 803959c..be28e0c 100644 Binary files a/manual.pdf and b/manual.pdf differ diff --git a/postflight.sh.in b/postflight.sh.in deleted file mode 100644 index f82d8fa..0000000 --- a/postflight.sh.in +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -app1="$2/@SPAGEDI_BUNDLE_NAME@.app/Contents/MacOS/@SPAGEDI_BUNDLE_NAME@" -app2="$2/@SPAGEDI_BUNDLE_NAME@/bin/spagedi" -if [ -x "$app1" ]; then - ln -s "$app1" /usr/bin/spagedi -elif [ -x "$app2" ]; then - ln -s "$app2" /usr/bin/spagedi -fi -exit 0 diff --git a/src/Autoccomp.c b/src/Autoccomp.c index 44e019d..2bd619c 100644 --- a/src/Autoccomp.c +++ b/src/Autoccomp.c @@ -43,6 +43,7 @@ void define_groups(int n,struct name namei[],double *xi,double *yi,double *zi, nsg=1; Nig[1]=1; strncpy(namesg[1].n,namei[1].n,MAXNOM-1); + namesg[1].n[MAXNOM-1] = '\0'; for(i=2;i<=n;i++){ if(xi[i]!=xi[i-1] || yi[i]!=yi[i-1] || zi[i]!=zi[i-1]){ nsg++; @@ -50,6 +51,7 @@ void define_groups(int n,struct name namei[],double *xi,double *yi,double *zi, Nig[nsg]=1; sprintf(smess,namei[i].n,nsg); strncpy(namesg[nsg].n,smess,MAXNOM-1); + namesg[nsg].n[MAXNOM-1] = '\0'; } else{ sgi[i]=nsg; @@ -67,11 +69,13 @@ void define_groups(int n,struct name namei[],double *xi,double *yi,double *zi, newgroup[sgi[1]]=1; nsg=1; strncpy(namesg[1].n,namei[1].n,MAXNOM-1); + namesg[1].n[MAXNOM-1] = '\0'; for(i=2;i<=n;i++){ if(newgroup[sgi[i]]==0){ nsg++; newgroup[sgi[i]]=nsg; strncpy(namesg[nsg].n,namei[i].n,MAXNOM-1); + namesg[nsg].n[MAXNOM-1] = '\0'; } } *Nsg=nsg; @@ -93,6 +97,7 @@ void define_groups(int n,struct name namei[],double *xi,double *yi,double *zi, ncatobs=1; cati[1]=1; strncpy(namecat[1].n,namecati[1].n,MAXNOM-1); + namecat[1].n[MAXNOM-1] = '\0'; for(i=2;i<=n;i++){ newcat=1; for(k=1;k<=ncatobs;k++){ @@ -101,6 +106,7 @@ void define_groups(int n,struct name namei[],double *xi,double *yi,double *zi, if(newcat){ ncatobs++; strncpy(namecat[ncatobs].n,namecati[i].n,MAXNOM-1); + namecat[ncatobs].n[MAXNOM-1] = '\0'; cati[i]=ncatobs; } } @@ -134,6 +140,7 @@ void define_groups(int n,struct name namei[],double *xi,double *yi,double *zi, catskg[1]=cati[1]; sprintf(smess,"%s-%s",namesg[1].n,namecat[1].n); strncpy(nameskg[1].n,smess,MAXNOM-1); + nameskg[1].n[MAXNOM-1] = '\0'; for(i=2;i<=n;i++){ skgi[i]=0; @@ -154,6 +161,7 @@ void define_groups(int n,struct name namei[],double *xi,double *yi,double *zi, Niskg[nskg]=1; sprintf(smess,"%s-%s",namesg[sgi[i]].n,namecat[cati[i]].n); strncpy(nameskg[nskg].n,smess,MAXNOM-1); + nameskg[nskg].n[MAXNOM-1] = '\0'; } } *Nskg=nskg; @@ -256,7 +264,7 @@ void checkdist(int n, int *nc, double *maxc, double *xi, double *yi, double *zi, int add_classSup=0; double dij,lndij,dmax; /*distance btw i & j, ln(dij),maximal distance between individuals*/ double sumd[MAXINTERVALS+3],sumlnd[MAXINTERVALS+3];/*sum of distances (or ln(dist)) within class*/ - int nplnc[MAXINTERVALS+3]; + int np,nplnc[MAXINTERVALS+3]; int **participic; int p; double *distp; @@ -293,9 +301,12 @@ void checkdist(int n, int *nc, double *maxc, double *xi, double *yi, double *zi, } /*initialization*/ - for(c=0;c<=(*nc)+1;c++){ + for(c=0;cmaxnal) maxnal=Nallelel[l]; Jkl=matrix(0,Ncat,0,m); Nkla=i3tensor(-1,Ncat,0,m,0,maxnal); + NvalidHokl=matrix(0,Ncat,0,m); /*determine allele frequencies (allele '0' corresponds to a missing data)*/ for(k=0;k<=Ncat;k++) for(l=0;l<=m;l++) Nvalgenkl[k][l]=Nmissinggenotkl[k][l]=Nincompletegenotkl[k][l]=0; for(k=-1;k<=Ncat;k++) for(l=0;l<=m;l++) for(a=0;a<=Nallelel[l];a++) Pkla[k][l][a]=Nkla[k][l][a]=0; + for(k=0;k<=Ncat;k++)for(l=0;l<=m;l++) NvalidHokl[k][l]=Hokl[k][l]=0.; for(i=1;i<=n;i++){ for(l=1;l<=m;l++){ @@ -448,11 +461,46 @@ void compute_allele_freq(int n,int Ncat,int *cati,int m, if(Navalid==0) Nmissinggenotkl[cati[i]][l]++; if(Navalid>0 && Navalid1){ + if(ploidyi[i]==2){ + if(gilc[i][l][0]!=gilc[i][l][1]){ + Hokl[0][l]++; + if(Ncat) Hokl[cati[i]][l]++; + } + } + else{ + for(a1=0;a1<(ploidyi[i]-1);a1++)if(gilc[i][l][a1]!=0)for(a2=a1+1;a20){ + Hokl[k][l]/=NvalidHokl[k][l]; + Hokl[k][0]+=Hokl[k][l]; + NvalidHokl[k][0]++; + } + else Hokl[k][l]=MISSVAL; + } + if(NvalidHokl[k][0]>0) Hokl[k][0]/=NvalidHokl[k][0]; + else Hokl[k][0]=MISSVAL; + } + + for(l=1;l<=m;l++) for(k=0;k<=Ncat;k++) Pkla[k][l][0]=(float)Nvalgenkl[k][l]; for(k=0;k<=Ncat;k++){// tell for each population if it has at least 2 valid gene copies on each locus @@ -581,9 +629,9 @@ void compute_allele_freq(int n,int Ncat,int *cati,int m, } //end loop over locus for(k=0;k<=Ncat;k++){ - // nloci=0; hTkl[k][0]=vTkl[k][0]=Dmkl[k][0]=Dwmkl[k][0]=0.0f; - /* for(l=1;l<=m;l++)if(Nvalgenkl[k][l]>1){ + /* nloci=0; + for(l=1;l<=m;l++)if(Nvalgenkl[k][l]>1){ nloci++; hTkl[k][0]+=hTkl[k][l]; vTkl[k][0]+=vTkl[k][l]; @@ -629,6 +677,508 @@ void compute_allele_freq(int n,int Ncat,int *cati,int m, }/*end procedure compute_allele_freq*/ +/****************************************************************************/ +/* Function estimating the selfing rate within pop assuming a Mixed Mating Model using identity disequilibrium*/ +/*Function computing allele frequencies*/ +void selfing_estimation(int n,int Npop,int *popi,int m,int ploidy,int ***gilc,int *ploidyi,double *alpha,char *outputfilename,struct name namelocus[],struct name namepop[],int Npermut,long *seed) +{ + int i,l,l1,l2,a,c1,c2,ncomp,newallele,p,nJK,*np,*ploidyp,**nail; + + double numT,den,denT,**hgil,**hpil,**sumhglp,**sumhplp,***sumh2gllp,***sumh2pllp,***numgllp,***numpllp,***Nmissgllp,***Nmisspllp,g2,***g2gllp,***g2pllp,*sumhhgp,*sumhhpp; + double **estSgchsomsegC,**estSgchtidsegC,**estSpchsomsegC,**estSpchtidsegC; + double X,Y,Z,***estSgllp,***estSpllp,meanalpha; + + double **rhgil,**rhpil,***rsumh2gllp,***rsumh2pllp,***Pvalh2gllp=NULL,***Pvalh2pllp=NULL; + int rep,**nvalidglp,**nvalidplp,**rnvalidglp,**rnvalidplp,***rigpli,***rippli; + + double hforNallelein2ploid[3]={MISSVAL,0,1}; + double hforNallelein4ploid[5]={MISSVAL,0,0.5833,0.8333,1}; + double hforNallelein6ploid[7]={MISSVAL,0,0.4444,0.7111,0.8333,0.9333,1}; + double hforNallelein8ploid[9]={MISSVAL,0,0.4464,0.6429,0.7714,0.8452,0.9107,0.9643,1}; + + FILE *fp; + + nail=imatrix(0,n,0,m); + hgil=dmatrix(0,n,0,m); + hpil=dmatrix(0,n,0,m); + + + //compute sample size per pop and define ploidy + np=ivector(0,Npop); //vector of sample sizes + ploidyp=ivector(0,Npop); + for(p=0;p<=Npop;p++) np[p]=ploidyp[p]=0; + for(i=1;i<=n;i++){ + np[popi[i]]++; + if(ploidyp[popi[i]]==0) ploidyp[popi[i]]=ploidyi[i]; + else{ + if(ploidyi[i]>0 && ploidyp[popi[i]]!=ploidyi[i]) ploidyp[popi[i]]=-1; + } + } + + //check if alpha were given + meanalpha=0.; + for(l=1;l<=m;l++) meanalpha+=alpha[l]/m; + if(meanalpha==0.) alpha[0]=-1.; //value set when all alpha (double reduction rate per locus) are at 0 + else{ + alpha[0]=meanalpha; //value when all alpha are equal to a same positive value for all loci + for(l=1;l<=m;l++) if(alpha[l]!=meanalpha) alpha[0]=-2.; + } + + + + + //compute individual heterozygosity levels (hgil and hpil) and number of alleles per locus and individual (nail) + for(i=1;i<=n;i++){ + for(l=1;l<=m;l++){ + nail[i][l]=hgil[i][l]=0.; + if(ploidyi[i]==2){ + if(gilc[i][l][0] && gilc[i][l][1]){ + if(gilc[i][l][0] == gilc[i][l][1]){hgil[i][l]=0;nail[i][l]=1;} + else {hgil[i][l]=1;nail[i][l]=2;} + } + if((gilc[i][l][0] == 0) && (gilc[i][l][1]==0)){hgil[i][l]=MISSVAL;nail[i][l]=0;} + if((gilc[i][l][0] == 0) != (gilc[i][l][1]==0)){hgil[i][l]=MISSVAL;nail[i][l]=1;} + } + else{ + ncomp=0; + for(c1=0;c1 g2 estimates are then near equivalent to expected values in the absence of double reduction) + numgllp[l1][l2][p]=(sumh2gllp[l1][l2][p]-den)/(1+(ploidyp[p]-2)*alpha[l1])*(1+(ploidyp[p]-2)*alpha[l2]); + numgllp[0][0][p]+=numgllp[l1][l2][p]; + //g2=g2gllp[l1][l2][p]=numgllp[l1][l2][p]/den; + + sumh2gllp[0][0][p]+=sumh2gllp[l1][l2][p]; +// g2=g2gllp[l1][l2][p]=sumh2gllp[l1][l2][p]/den -1.; + + //selfing rate estimation for locus pair and given double reduction rates (alpha) +/* X=1+ (alpha[l1]+alpha[l2])*(ploidyp[p]-2) + alpha[l1]*alpha[l2]*(ploidyp[p]-2)*(ploidyp[p]-2) + g2*(9-16*ploidyp[p]+7*ploidyp[p]*ploidyp[p]-(alpha[l1]+alpha[l2])*(2-3*ploidyp[p]+ploidyp[p]*ploidyp[p])) ; + Y=g2*( 14-20*ploidyp[p]+7*ploidyp[p]*ploidyp[p]-(alpha[l1]+alpha[l2])*(8-10*ploidyp[p]+3*ploidyp[p]*ploidyp[p])+alpha[l1]*alpha[l2]*(ploidyp[p]-2)*(ploidyp[p]-2) ); + Z=g2*( 4-12*ploidyp[p]+7*ploidyp[p]*ploidyp[p]+(alpha[l1]+alpha[l2]-alpha[l1]*alpha[l2])*(ploidyp[p]-2)*(ploidyp[p]-2) ); + if((X*X-Y*Z)>=0. ) estSgllp[l1][l2][p]=(X-sqrt(X*X-Y*Z))/Y; + else estSgllp[l1][l2][p]=0.; +// if(estSgllp[l1][l2][p]<0.) estSgllp[l1][l2][p]=0.; + estSgllp[0][0][p]+=estSgllp[l1][l2][p]*den; */ + } + else g2gllp[l1][l2][p]=estSgllp[l1][l2][p]=MISSVAL; + if(sumhplp[l1][p]*sumhplp[l2][p]-sumh2pllp[l1][l2][p]){ +// sumh2pllp[0][0][p]+=sumh2pllp[l1][l2][p]/(np[p]-Nmisspllp[l1][l2][p]); +// sumhhpp[p]+=( (sumhplp[l1][p]*sumhplp[l2][p]-sumh2pllp[l1][l2][p])/(np[p]*(np[p]-1)-Nmisspllp[l1][0][p]*Nmisspllp[l2][0][p]+Nmisspllp[l1][l2][p])); + den=(sumhplp[l1][p]*sumhplp[l2][p]-sumh2pllp[l1][l2][p])* (np[p]-Nmisspllp[l1][0][p]-Nmisspllp[l2][0][p]+Nmisspllp[l1][l2][p]) / ((np[p]-1)*(np[p]-Nmisspllp[l1][0][p]-Nmisspllp[l2][0][p])+Nmisspllp[l1][0][p]*Nmisspllp[l2][0][p]-Nmisspllp[l1][l2][p]); + sumhhpp[p]+=den; + + //correction to account for double reduction (-> g2 estimates are then near equivalent to expected values in the absence of double reduction) + numpllp[l1][l2][p]=(sumh2pllp[l1][l2][p]-den) / (1+(ploidyp[p]-2)*alpha[l1])*(1+(ploidyp[p]-2)*alpha[l2]); + numpllp[0][0][p]+=numpllp[l1][l2][p]; + //g2=g2pllp[l1][l2][p]=numpllp[l1][l2][p]/den; + + sumh2pllp[0][0][p]+=sumh2pllp[l1][l2][p]; +// g2=g2pllp[l1][l2][p]=sumh2pllp[l1][l2][p]/den -1.; + + //selfing rate estimation for locus pair and given double reduction rates (alpha) +/* X=1+ (alpha[l1]+alpha[l2])*(ploidyp[p]-2) + alpha[l1]*alpha[l2]*(ploidyp[p]-2)*(ploidyp[p]-2) + g2*(9-16*ploidyp[p]+7*ploidyp[p]*ploidyp[p]-(alpha[l1]+alpha[l2])*(2-3*ploidyp[p]+ploidyp[p]*ploidyp[p])) ; + Y=g2*( 14-20*ploidyp[p]+7*ploidyp[p]*ploidyp[p]-(alpha[l1]+alpha[l2])*(8-10*ploidyp[p]+3*ploidyp[p]*ploidyp[p])+alpha[l1]*alpha[l2]*(ploidyp[p]-2)*(ploidyp[p]-2) ); + Z=g2*( 4-12*ploidyp[p]+7*ploidyp[p]*ploidyp[p]+(alpha[l1]+alpha[l2]-alpha[l1]*alpha[l2])*(ploidyp[p]-2)*(ploidyp[p]-2) ); + if((X*X-Y*Z)>=0. ) estSpllp[l1][l2][p]=(X-sqrt(X*X-Y*Z))/Y; + else estSpllp[l1][l2][p]=0.; +// if(estSpllp[l1][l2][p]<0.) estSpllp[l1][l2][p]=0.; + estSpllp[0][0][p]+=estSpllp[l1][l2][p]*den; */ + } + else g2pllp[l1][l2][p]=estSpllp[l1][l2][p]=MISSVAL; + }//en loop p + }//en loop l2 + }//en loop l1 + + //Mutilocus estimate of selfing rate + estSgchsomsegC=dmatrix(0,Npop,-2,m); + estSgchtidsegC=dmatrix(0,Npop,-2,m); + estSpchsomsegC=dmatrix(0,Npop,-2,m); + estSpchtidsegC=dmatrix(0,Npop,-2,m); + for(p=0;p<=Npop;p++){ + if(Npop && p==0)p++; + if(sumhhgp[p]){ + estSgllp[0][0][p]/=sumhhgp[p]; +// g2=g2gllp[0][0][p]=sumh2gllp[0][0][p]/sumhhgp[p] -1.; + g2=g2gllp[0][0][p]=numgllp[0][0][p]/sumhhgp[p]; + //Estimate selfing rate assuming chromosome segreg + if((1.+2.*(9.-16.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2+(4.*ploidyp[p]-5.)*(4.*ploidyp[p]-5.)*g2*g2)>=0){ + estSgchsomsegC[p][0]=(1.+(9.-16.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2-sqrt(1.+2.*(9.-16.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2+(4.*ploidyp[p]-5.)*(4.*ploidyp[p]-5.)*g2*g2))/((14.-20.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2); + } + else estSgchsomsegC[p][0]=0.; + if(estSgchsomsegC[p][0]<0.) estSgchsomsegC[p][0]=0.; + + //Estimate selfing rate assuming chromatid segreg (!!! OK only for non corrected g2 estimates) + if((9.+2.*(13.-40.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2+(8.*ploidyp[p]-7.)*(8.*ploidyp[p]-7.)*g2*g2)>=0){ + estSgchtidsegC[p][0]=(9.+(13.-40.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2-3.*sqrt(9.+2.*(13.-40.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2+(8.*ploidyp[p]-7.)*(8.*ploidyp[p]-7)*g2*g2))/((34.-64.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2); + } + else estSgchtidsegC[p][0]=0.; + if(estSgchtidsegC[p][0]<0.) estSgchtidsegC[p][0]=0.; + } + else estSgchsomsegC[p][0]=estSgchtidsegC[p][0]=g2gllp[0][0][p]=MISSVAL; + + if(sumhhpp[p]){ + estSpllp[0][0][p]/=sumhhpp[p]; +// g2=g2pllp[0][0][p]=sumh2pllp[0][0][p]/sumhhpp[p] -1.; + g2=g2pllp[0][0][p]=numpllp[0][0][p]/sumhhpp[p] ; + //Estimate selfing rate assuming chromosome segreg + if((1.+2.*(9.-16.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2+(4.*ploidyp[p]-5.)*(4.*ploidyp[p]-5.)*g2*g2)>=0){ + estSpchsomsegC[p][0]=(1.+(9.-16.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2-sqrt(1.+2.*(9.-16.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2+(4.*ploidyp[p]-5.)*(4.*ploidyp[p]-5.)*g2*g2))/((14.-20.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2); + } + else estSpchsomsegC[p][0]=0.; + if(estSpchsomsegC[p][0]<0.)estSpchsomsegC[p][0]=0.; + + //Estimate selfing rate assuming chromatid segreg (!!! OK only for non corrected g2 estimates) + if((9.+2.*(13.-40.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2+(8.*ploidyp[p]-7.)*(8.*ploidyp[p]-7.)*g2*g2)>=0){ + estSpchtidsegC[p][0]=(9.+(13.-40.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2-3.*sqrt(9.+2.*(13.-40.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2+(8.*ploidyp[p]-7.)*(8.*ploidyp[p]-7)*g2*g2))/((34.-64.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2); + } + else estSpchtidsegC[p][0]=0.; + if(estSpchtidsegC[p][0]<0.)estSpchtidsegC[p][0]=0.; + } + else estSpchsomsegC[p][0]=estSpchtidsegC[p][0]=g2pllp[0][0][p]=MISSVAL; + }//end loop p + + + //jackknife over loci + for(p=0;p<=Npop;p++){ + if(Npop && p==0)p++; + if(sumhhgp[p]){ + for(l1=1;l1<=m;l1++){//locus to remove + numT=numgllp[0][0][p]; + denT=sumhhgp[p]; + for(l2=1;l2<=m;l2++){ + if(l1l2) numT-=numgllp[l2][l1][p]; + if(l1>l2) denT-=(sumhglp[l1][p]*sumhglp[l2][p]-sumh2gllp[l2][l1][p])* (np[p]-Nmissgllp[l1][0][p]-Nmissgllp[l2][0][p]+Nmissgllp[l2][l1][p]) / ((np[p]-1)*(np[p]-Nmissgllp[l1][0][p]-Nmissgllp[l2][0][p])+Nmissgllp[l1][0][p]*Nmissgllp[l2][0][p]-Nmissgllp[l2][l1][p]); + } + if(denT){ +// g2=g2gllp[0][l1][p]=numT/denT -1.; + g2=g2gllp[0][l1][p]=numT/denT; + if((1.+2.*(9.-16.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2+(4.*ploidyp[p]-5.)*(4.*ploidyp[p]-5.)*g2*g2)>=0){ + estSgchsomsegC[p][l1]=(1.+(9.-16.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2-sqrt(1.+2.*(9.-16.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2+(4.*ploidyp[p]-5.)*(4.*ploidyp[p]-5.)*g2*g2))/((14.-20.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2); + } + else estSgchsomsegC[p][l1]=0.; + if(estSgchsomsegC[p][l1]<0.) estSgchsomsegC[p][l1]=0.; + + if((9.+2.*(13.-40.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2+(8.*ploidyp[p]-7.)*(8.*ploidyp[p]-7.)*g2*g2)>=0){ + estSgchtidsegC[p][l1]=(9.+(13.-40.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2-3.*sqrt(9.+2.*(13.-40.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2+(8.*ploidyp[p]-7.)*(8.*ploidyp[p]-7)*g2*g2))/((34.-64.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2); + } + else estSgchtidsegC[p][l1]=0.; + if(estSgchtidsegC[p][l1]<0.)estSgchtidsegC[p][l1]=0.; + } + else g2gllp[0][l1][p]=estSgchsomsegC[p][l1]=estSgchtidsegC[p][l1]=MISSVAL; + }//end loop l1 + } + else g2gllp[0][l1][p]=estSgchsomsegC[p][l1]=estSgchtidsegC[p][l1]=MISSVAL; + if(sumhhpp[p]){ + for(l1=1;l1<=m;l1++){//locus to remove + numT=numpllp[0][0][p]; + denT=sumhhpp[p]; + for(l2=1;l2<=m;l2++){ + if(l1l2) numT-=numpllp[l2][l1][p]; + if(l1>l2) denT-=(sumhplp[l1][p]*sumhplp[l2][p]-sumh2pllp[l2][l1][p])* (np[p]-Nmisspllp[l1][0][p]-Nmisspllp[l2][0][p]+Nmisspllp[l2][l1][p]) / ((np[p]-1)*(np[p]-Nmisspllp[l1][0][p]-Nmisspllp[l2][0][p])+Nmisspllp[l1][0][p]*Nmisspllp[l2][0][p]-Nmisspllp[l2][l1][p]); + } + if(denT){ +// g2=g2pllp[0][l1][p]=numT/denT -1.; + g2=g2pllp[0][l1][p]=numT/denT; + if((1.+2.*(9.-16.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2+(4.*ploidyp[p]-5.)*(4.*ploidyp[p]-5.)*g2*g2)>=0){ + estSpchsomsegC[p][l1]=(1.+(9.-16.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2-sqrt(1.+2.*(9.-16.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2+(4.*ploidyp[p]-5.)*(4.*ploidyp[p]-5.)*g2*g2))/((14.-20.*ploidyp[p]+7.*ploidyp[p]*ploidyp[p])*g2); + } + else estSpchsomsegC[p][l1]=0.; + if(estSpchsomsegC[p][l1]<0.)estSpchsomsegC[p][l1]=0.; + + if((9.+2.*(13.-40.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2+(8.*ploidyp[p]-7.)*(8.*ploidyp[p]-7.)*g2*g2)>=0){ + estSpchtidsegC[p][l1]=(9.+(13.-40.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2-3.*sqrt(9.+2.*(13.-40.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2+(8.*ploidyp[p]-7.)*(8.*ploidyp[p]-7)*g2*g2))/((34.-64.*ploidyp[p]+28.*ploidyp[p]*ploidyp[p])*g2); + } + else estSpchtidsegC[p][l1]=0.; + if(estSpchtidsegC[p][l1]<0.)estSpchtidsegC[p][l1]=0.; + } + else g2pllp[0][l1][p]=estSpchsomsegC[p][l1]=estSpchtidsegC[p][l1]=MISSVAL; + }//end loop l1 + } + else g2pllp[0][l1][p]=estSpchsomsegC[p][l1]=estSpchtidsegC[p][l1]=MISSVAL; + //jacknife SE computations + nJK=g2gllp[1][0][p]=g2gllp[2][0][p]=estSgchsomsegC[p][-1]=estSgchsomsegC[p][-2]=estSgchtidsegC[p][-1]=estSgchtidsegC[p][-2]=0.; + for(l1=1;l1<=m;l1++)if(g2gllp[0][l1][p]!=MISSVAL) nJK++; + if(nJK>1)for(l1=1;l1<=m;l1++)if(g2gllp[0][l1][p]!=MISSVAL){ + g2gllp[0][l1][p]=nJK*g2gllp[0][0][p]-(nJK-1.)*g2gllp[0][l1][p]; + g2gllp[1][0][p]+=g2gllp[0][l1][p]/nJK; + estSgchsomsegC[p][l1]=nJK*estSgchsomsegC[p][0]-(nJK-1.)*estSgchsomsegC[p][l1]; + estSgchsomsegC[p][-1]+=estSgchsomsegC[p][l1]/nJK; + estSgchtidsegC[p][l1]=nJK*estSgchtidsegC[p][0]-(nJK-1.)*estSgchtidsegC[p][l1]; + estSgchtidsegC[p][-1]+=estSgchtidsegC[p][l1]/nJK; + } + if(nJK>1)for(l1=1;l1<=m;l1++)if(g2gllp[0][l1][p]!=MISSVAL){ + g2gllp[2][0][p]+=(g2gllp[0][l1][p]-g2gllp[1][0][p])*(g2gllp[0][l1][p]-g2gllp[1][0][p]); + estSgchsomsegC[p][-2]+=(estSgchsomsegC[p][l1]-estSgchsomsegC[p][-1])*(estSgchsomsegC[p][l1]-estSgchsomsegC[p][-1]); + estSgchtidsegC[p][-2]+=(estSgchtidsegC[p][l1]-estSgchtidsegC[p][-1])*(estSgchtidsegC[p][l1]-estSgchtidsegC[p][-1]); + } + if(nJK>1){ + g2gllp[2][0][p]=sqrt(g2gllp[2][0][p]/(nJK-1.)/nJK); + estSgchsomsegC[p][-2]=sqrt(estSgchsomsegC[p][-2]/(nJK-1.)/nJK); + estSgchtidsegC[p][-2]=sqrt(estSgchtidsegC[p][-2]/(nJK-1.)/nJK); + } + + + nJK=g2pllp[1][0][p]=g2pllp[2][0][p]=estSpchsomsegC[p][-1]=estSpchsomsegC[p][-2]=estSpchtidsegC[p][-1]=estSpchtidsegC[p][-2]=0; + for(l1=1;l1<=m;l1++)if(g2pllp[0][l1][p]!=MISSVAL) nJK++; + if(nJK>1)for(l1=1;l1<=m;l1++)if(g2pllp[0][l1][p]!=MISSVAL){ + g2pllp[0][l1][p]=nJK*g2pllp[0][0][p]-(nJK-1.)*g2pllp[0][l1][p]; + g2pllp[1][0][p]+=g2pllp[0][l1][p]/nJK; + estSpchsomsegC[p][l1]=nJK*estSpchsomsegC[p][0]-(nJK-1.)*estSpchsomsegC[p][l1]; + estSpchsomsegC[p][-1]+=estSpchsomsegC[p][l1]/nJK; + estSpchtidsegC[p][l1]=nJK*estSpchtidsegC[p][0]-(nJK-1.)*estSpchtidsegC[p][l1]; + estSpchtidsegC[p][-1]+=estSpchtidsegC[p][l1]/nJK; + } + if(nJK>1)for(l1=1;l1<=m;l1++)if(g2pllp[0][l1][p]!=MISSVAL){ + g2pllp[2][0][p]+=(g2pllp[0][l1][p]-g2pllp[1][0][p])*(g2pllp[0][l1][p]-g2pllp[1][0][p]); + estSpchsomsegC[p][-2]+=(estSpchsomsegC[p][l1]-estSpchsomsegC[p][-1])*(estSpchsomsegC[p][l1]-estSpchsomsegC[p][-1]); + estSpchtidsegC[p][-2]+=(estSpchtidsegC[p][l1]-estSpchtidsegC[p][-1])*(estSpchtidsegC[p][l1]-estSpchtidsegC[p][-1]); + } + if(nJK>1){ + g2pllp[2][0][p]=sqrt(g2pllp[2][0][p]/(nJK-1.)/nJK); + estSpchsomsegC[p][-2]=sqrt(estSpchsomsegC[p][-2]/(nJK-1.)/nJK); + estSpchtidsegC[p][-2]=sqrt(estSpchtidsegC[p][-2]/(nJK-1.)/nJK); + } + + }//end loop p for jackknife + + + + + + //test significance of g2g and g2p values by randomizing hg and hp values among individuals of same pop, independently for each locus and keeping the structure of missing data + if(Npermut){ + printf("\n\nTesting identity disequil coef: permutations of sl genotypes among ind (%i)\n",Npermut); + nvalidglp=imatrix(0,m,0,Npop); + nvalidplp=imatrix(0,m,0,Npop); + rnvalidglp=imatrix(0,m,0,Npop); + rnvalidplp=imatrix(0,m,0,Npop); + rigpli=i3tensor(0,Npop,0,m,0,n); + rippli=i3tensor(0,Npop,0,m,0,n); + rhgil=dmatrix(0,n,0,m); + rhpil=dmatrix(0,n,0,m); + rsumh2gllp=d3tensor(0,m,0,m,0,Npop); //sum of 2-locus double heterozygosities per pop based on genotypes + rsumh2pllp=d3tensor(0,m,0,m,0,Npop); //sum of 2-locus double heterozygosities per pop based on genotypes + Pvalh2gllp=d3tensor(0,m,0,m,0,Npop); + Pvalh2pllp=d3tensor(0,m,0,m,0,Npop); + //create vectors to permute individuals independently for each locus + for(p=0;p<=Npop;p++)for(l=1;l<=m;l++)nvalidglp[l][p]=nvalidplp[l][p]=0; + for(i=1;i<=n;i++)for(l=1;l<=m;l++){ + p=popi[i]; + if(hgil[i][l]!=MISSVAL){ + nvalidglp[l][p]++; + rigpli[p][l][nvalidglp[l][p]]=i; + } + if(hpil[i][l]!=MISSVAL){ + nvalidplp[l][p]++; + rippli[p][l][nvalidplp[l][p]]=i; + } + } + + for(p=0;p<=Npop;p++)for(l1=0;l1<=m;l1++)for(l2=0;l2<=m;l2++)Pvalh2gllp[l1][l2][p]=Pvalh2pllp[l1][l2][p]=0.; + //loop over randomizations + for(rep=1;rep<=Npermut;rep++){ + if(Npermut>=100){if((rep%(Npermut/10))==0 || (rep<=(Npermut/10) && (rep%(Npermut/100))==0) ) printf(" %i",rep);} + else if((rep%(Npermut/10))==0) printf(" %i",rep); + + //permute ind + for(p=0;p<=Npop;p++){ + if(Npop && p==0)p++; + for(l=1;l<=m;l++){ + if(nvalidglp[l][p]) resample_shuffle(rigpli[p][l],1,nvalidglp[l][p],seed); + if(nvalidplp[l][p]) resample_shuffle(rippli[p][l],1,nvalidplp[l][p],seed); + } + } + for(p=0;p<=Npop;p++)for(l=1;l<=m;l++)rnvalidglp[l][p]=rnvalidplp[l][p]=0; + for(i=1;i<=n;i++)for(l=1;l<=m;l++){ + p=popi[i]; + if(hgil[i][l]!=MISSVAL){ + rnvalidglp[l][p]++; + rhgil[i][l]=hgil[rigpli[p][l][rnvalidglp[l][p]]][l]; + } + if(hpil[i][l]!=MISSVAL){ + rnvalidplp[l][p]++; + rhpil[i][l]=hpil[rippli[p][l][rnvalidplp[l][p]]][l]; + } + } + + if(rep==0){ + printf("\nInd="); + for(i=1;i<=n;i++) printf(" %i",i); + printf("\nrInd="); + for(i=1;i<=n;i++) printf(" %i",rigpli[0][6][i]); + } + + //compute h2 values + for(p=0;p<=Npop;p++) rsumh2gllp[0][0][p]=rsumh2pllp[0][0][p]=0; + for(l1=1;l12) fprintf(fp,"\n\nEstimations based on given genotypes. \nPopulation\tPloidy\tg2g(multilocus std identity disequilibrium based on genotypes)\tSE(g2g)\tPval(g2g=0)\t\tSg1(selfing rate estimation under chromosome segregation)\tSE(Sg1)\t\tSg2(selfing rate estimation under chromatid segregation)\tSE(Sg2)\t\tSg(selfing rate estimation under given alpha values)\tSE(Sg)\t\tg2g per locus pair"); + if(ploidy>2){ + if(alpha[0]==-1.) fprintf(fp,"\nEstimates assume an autopolyploid organism with chromosome segregation (i.e. double reduction alpha=0 at all loci)"); + if(alpha[0]>=0.) fprintf(fp,"\nEstimates assume an autopolyploid organism with rates of double reduction alpha=%g for all loci", alpha[0]); + if(alpha[0]==-2.) fprintf(fp,"\nEstimates assume an autopolyploid organism with the following rates of double reduction: alpha (name of locus): "); + if(alpha[0]==-2.) for(l=1;l<=m;l++) fprintf(fp,"\t%g (%s)",alpha[l],namelocus[l].n); + fprintf(fp,"\n\nEstimations based on given GENOTYPES. \nPopulation\tPloidy\tg2g(multilocus std identity disequilibrium based on genotypes, corrected for rates of double reduction (alpha))\tSE(g2g)\tPval(g2g=0)\t\tSg(selfing rate estimation)\tSE(Sg)\t\tg2g per locus pair"); + } + + if(m<=1000){ + for(l1=1;l12) fprintf(fp,"\n%s\t%i\t%g\t%g\t%g\t\t%g\t%g\t\t%g\t%g\t\t%g\t%g",namepop[p].n,ploidyp[p],g2gllp[0][0][p],g2gllp[2][0][p],Pvalh2gllp[0][0][p],estSgchsomsegC[p][0],estSgchsomsegC[p][-2],estSgchtidsegC[p][0],estSgchtidsegC[p][-2],estSgllp[0][0][p]); + } + else{ + /* if(ploidy==2)*/ fprintf(fp,"\n%s\t%i\t%g\t%g\t\t\t%g\t%g",namepop[p].n,ploidyp[p],g2gllp[0][0][p],g2gllp[2][0][p],estSgchsomsegC[p][0],estSgchsomsegC[p][-2]); + // if(ploidy>2) fprintf(fp,"\n%s\t%i\t%g\t%g\t\t\t%g\t%g\t\t%g\t%g\t\t%g\t%g",namepop[p].n,ploidyp[p],g2gllp[0][0][p],g2gllp[2][0][p],estSgchsomsegC[p][0],estSgchsomsegC[p][-2],estSgchtidsegC[p][0],estSgchtidsegC[p][-2],estSgllp[0][0][p]); + } + fprintf(fp,"\t\t"); + if(m<=1000){ + for(l1=1;l12){ +// fprintf(fp,"\n\nEstimations based on PHENOTYPES (i.e. considering the number of alleles observed per single locus, irrespective of allele dosage)\nPopulation\tPloidy\tg2p(multilocus std identity disequilibrium based on phenotypes)\tSE(g2p)\tPval(g2p=0)\t\tSp1(selfing rate estimation under chromosome segregation)\tSE(Sp1)\t\tSp2(selfing rate estimation under chromatid segregation)\tSE(Sp2)\t\tSp(selfing rate estimation under given alpha values)\tSE(Sp)"); + fprintf(fp,"\n\nEstimations based on PHENOTYPES (i.e. considering the number of alleles observed per single locus, irrespective of allele dosage)\nPopulation\tPloidy\tg2p(multilocus std identity disequilibrium based on phenotypes,corrected for rates of double reduction (alpha))\tSE(g2p)\tPval(g2p=0)\t\tSp(selfing rate estimation)\tSE(Sp)"); + fprintf(fp,"\t\tg2p per locus pair"); + if(m<=1000) for(l1=1;l10 = value of S + int Eq,Elois,Eritl,Erous,Erela,Easc,ENij,Erlynch,Edlynch,Erqueller,Edwang,Erwang,Ekinshipdom,Erelatdom,Erli; //define if the statistic is asked (0=no), value>0 = value of S float **Plai[MMAX],***varkla,pi,qi,*Spik,*SSpik,cov,covt,var,vart,Mori=(float)MISSVAL; int **nvalidkl; int FRef; //=0 if ref pop = all sample, =#categories if ref pop=cat, =-1 if ref pop = given allele freq @@ -669,8 +1221,15 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, double WWangJK,P1JK,P2JK,P3JK,a2JK,a3JK,a4JK,a22JK,bJK,cJK,dJK,eJK,fJK,gJK,VJK,N1JK,N2JK,N3JK,N4JK,N5JK,N6JK,N7JK,N8JK; int Swang,Nvalidloci; + Ncompasc=ivector(0,m); + NcompNij=ivector(0,m); + Nallelel=ivector(0,m); + Srli=vector(0,m); + SSrli=vector(0,m); + Nrli=vector(0,m); + //define if the statistic is asked (0=no), value>0 = value of S - Elois=Eritl=Erous=Erela=Easc=Erlynch=Edlynch=Erqueller=Erwang=Edwang=Ekinshipdom=Erelatdom=Erli=ENij=0; + Eq=Elois=Eritl=Erous=Erela=Easc=Erlynch=Edlynch=Erqueller=Erwang=Edwang=Ekinshipdom=Erelatdom=Erli=ENij=0; for(S=1;S<=NS;S++){ if(Stat[S]==1) Elois=S; //estimator of kinship coef of Loiselle et al.,1995 if(Stat[S]==2) Eritl=S; //estimator of kinship coef of Ritland,1996 @@ -686,6 +1245,7 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, if(Stat[S]==12) Erelatdom=S; //estimator of relationship coef for dominant marker if(Stat[S]==13) Erli=S; //estimator of relationship coef for dominant marker if(Stat[S]==14) ENij=S; //estimator of Nij (kinship equivalent taking into account the phylogenetic distance between alleles) + if(Stat[S]==15) Eq=S; //estimator of Qij (proportion of allele identity) } if(m==1) linit=1; @@ -764,7 +1324,7 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, /*KINSHIP ESTIMATORS (estimator Loiselle, estimator Ritland, allele size correlation)*/ /*compute inbreeding for each indiv*/ - if(Elois || Eritl || Easc || ENij){ + if(Elois || Eritl || Easc || ENij || Eq){ /*compute denominators for kinship estimator of Loiselle*/ if(Elois){ LoisD=matrix(0,FRef,0,m); @@ -789,10 +1349,11 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, if(Eritl) for(l=1;l<=m;l++) corrSlij[Eritl][l][0][0]=Nallelekl[0][l]-1.0f; if(Easc) for(l=1;l<=m;l++) corrSlij[Easc][l][0][0]=Vasizekl[0][l]; if(ENij) for(l=1;l<=m;l++) corrSlij[ENij][l][0][0]=DivN[0][l]; + if(Eq) for(l=1;l<=m;l++) corrSlij[Eq][l][0][0]=1.; if(ploidy>1){ /*compute inbreeding coef from kinship between genes within indiv*/ for(i=1;i<=n;i++){ - SoPt=LoisDt=LoisNt=Sasc=SNcomp=SNij=SNijcomp=0.; - newNloci=newSumNall=0; + SoPt=LoisDt=LoisNt=Sasc=SNcomp=SNij=SNijcomp=sQij=0.; + newNloci=newSumNall=nQij=0; if(FreqRef>0) k=cati[i]; else k=0; @@ -800,13 +1361,14 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, for(l=1;l<=m;l++){ NcompRitl=Ncomp=0; LoisN=SoP=ascor=0.; - Nij=0.; + Nij=Qij=0.; for(ci=0;ci<(ploidy-1);ci++) for(cj=(ci+1);cj1){ + if(Eq){ + if(nQij) corrSlij[Eq][0][i][i]=sQij/nQij; + else corrSlij[Eq][0][i][i]=(float)MISSVAL; + } + if(Elois && LoisDt) Loist=LoisNt/LoisDt; else Loist=(float)MISSVAL; if(Elois) corrSlij[Elois][0][i][i]=Loist;//kinship of Loiselle @@ -900,6 +1477,14 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, } //Compute multilocus estimator for all loci-1 (to compute jackknife estimators in other routines) if(JKl && m>1)for(l=1;l<=m;l++){ + if(Eq){ + if(corrSlij[Eq][0][i][i]!=(float)MISSVAL && corrSlij[Eq][l][i][i]!=(float)MISSVAL) { + Qij=(sQij-corrSlij[Eq][l][i][i])/(nQij-1.); + } + if(corrSlij[Eq][l][i][i]==(float)MISSVAL) Qij=corrSlij[Eq][0][i][i]; + corrSlij[Eq][-l][i][i]=Qij; + } + if(Elois){ if(corrSlij[Elois][0][i][i]!=(float)MISSVAL && corrSlij[Elois][l][i][i]!=(float)MISSVAL && (LoisDt-LoisD[k][l])){ LoisN=corrSlij[Elois][0][i][i]*LoisDt-corrSlij[Elois][l][i][i]*LoisD[k][l]; @@ -952,11 +1537,11 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, if(FreqRef==1 && cati[i]==cati[j]) k=cati[i]; //define ref allele freq else k=0; - SoPt=LoisDt=LoisNt=Sasc=SNcomp=SNij=SNijcomp=0.; - newNloci=newSumNall=0; + SoPt=LoisDt=LoisNt=Sasc=SNcomp=SNij=SNijcomp=sQij=0.; + newNloci=newSumNall=nQij=0; for(l=1;l<=m;l++){ Ncomp=NcompRitl=0; - LoisN=SoP=ascor=0.; + LoisN=SoP=ascor=Qij=0.; Nij=0.; for(ci=0;ci1){ + if(Eq){ + if(nQij){ + corrSlij[Eq][0][i][j]=sQij/nQij; + corrSlij[Eq][0][j][i]=nQij; + } + else{ + corrSlij[Eq][0][i][j]=(float)MISSVAL; + corrSlij[Eq][0][j][i]=0.; + } + } + if(Elois){ if(LoisDt){ Loist=LoisNt/LoisDt; @@ -1101,12 +1712,12 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, if(ENij){ if(SNijcomp){ Nij=SNij/SNijcomp; - corrSlij[Easc][0][i][j]=Nij; - corrSlij[Easc][0][j][i]=SNijcomp; + corrSlij[ENij][0][i][j]=Nij; + corrSlij[ENij][0][j][i]=SNijcomp; } else{ - corrSlij[Easc][0][i][j]=(float)MISSVAL; - corrSlij[Easc][0][j][i]=0.; + corrSlij[ENij][0][i][j]=(float)MISSVAL; + corrSlij[ENij][0][j][i]=0.; } } @@ -1115,7 +1726,7 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, //Compute multilocus estimator for all loci-1 (to compute jackknife estimators in other routines) /**/ if(JKl && m>1)for(l=1;l<=m;l++){ - for(S=1;S<=NS;S++)if(S==Elois || S==Eritl || S==Easc || S==ENij){ + for(S=1;S<=NS;S++)if(S==Elois || S==Eritl || S==Easc || S==ENij || S==Eq){ if(corrSlij[S][0][i][j]!=(float)MISSVAL && corrSlij[S][l][i][j]!=(float)MISSVAL && (corrSlij[S][0][j][i]-corrSlij[S][l][j][i])){ LoisN=corrSlij[S][0][i][j]*corrSlij[S][0][j][i]-corrSlij[S][l][i][j]*corrSlij[S][l][j][i]; Lois=LoisN/(corrSlij[S][0][j][i]-corrSlij[S][l][j][i]); @@ -1382,7 +1993,7 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, //COEF RELATIONSHIP (MORAN'S I on indiv allele freq) if(Erela){ //compute allele freq for each ind and variances in allele freq - for(l=1;l<=m;l++) Plai[l]=matrix(0,Nallelel[l],0,n); + for(l=1;l<=m;l++) Plai[l]=matrix(0,Nallelel[l],0,ntot); for(l=1;l<=m;l++) Plak[l]=matrix(0,Nallelel[l],0,FRef); varkla=f3tensor(0,FRef,0,m,0,maxa); Spik=vector(0,FRef); @@ -1394,7 +2005,7 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, nvalidkl[k][l]=0; } k=0; - for(i=1;i<=n;i++){ + for(i=1;i<=ntot;i++){ if(FRef) k=cati[i]; pi=qi=0.; for(g=0;g0 && cati[i]==cati[j]) k=cati[i]; - else k=0; + if(FreqRef>0 && cati[i]==cati[j]) k=ki=kj=cati[i]; + else if(FreqRef>0 && cati[i]!=cati[j]){ ki=cati[i]; kj=cati[j];} + else k=ki=kj=0; covt=vart=0.; for(l=1;l<=m;l++){ @@ -1437,9 +2049,10 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, cov=var=0.; for(a=1;a<=Nallelel[l];a++){ // cov+=(Plai[l][a][i]-Pkla[k][l][a])*(Plai[l][a][j]-Pkla[k][l][a]); - cov+=(Plai[l][a][i]-Plak[l][a][k])*(Plai[l][a][j]-Plak[l][a][k]); - if((nvalidkl[k][l]-1.)>0) cov+=varkla[k][l][a]/(nvalidkl[k][l]-1.0f); //bias correction - var+=varkla[k][l][a]; + cov+=(Plai[l][a][i]-Plak[l][a][ki])*(Plai[l][a][j]-Plak[l][a][kj]); + if(ki==kj) if((nvalidkl[k][l]-1.)>0) cov+=varkla[k][l][a]/(nvalidkl[k][l]-1.0f); //bias correction + if(ki==kj)var+=varkla[k][l][a]; + else var+=sqrt(varkla[ki][l][a])*sqrt(varkla[kj][l][a]); } covt+=cov; vart+=var; @@ -1464,11 +2077,11 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, } /*Compute multilocus estimator for all loci-1 (to compute jackknife estimators in other routines)*/ /**/ if(JKl && m>1)for(l=1;l<=m;l++){ - if(corrSlij[Erela][0][i][j]!=(float)MISSVAL && corrSlij[Erela][l][i][j]!=(float)MISSVAL && (vart-varkla[k][l][0])){ - Mori=(corrSlij[Erela][0][i][j]*vart-corrSlij[Erela][l][i][j]*varkla[k][l][0])/(vart-varkla[k][l][0]); + if(corrSlij[Erela][0][i][j]!=(float)MISSVAL && corrSlij[Erela][l][i][j]!=(float)MISSVAL && (vart-corrSlij[Erela][l][j][i])){ + Mori=(corrSlij[Erela][0][i][j]*vart-corrSlij[Erela][l][i][j]*corrSlij[Erela][l][j][i])/(vart-corrSlij[Erela][l][j][i]); } if(corrSlij[Erela][l][i][j]==(float)MISSVAL) Mori=corrSlij[Erela][0][i][j]; - if(vart==varkla[k][l][0]) Mori=(float)MISSVAL; + if(vart==corrSlij[Erela][l][j][i]) Mori=(float)MISSVAL; corrSlij[Erela][-l][i][j]=Mori; } @@ -1830,7 +2443,7 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, for(j=(i+1);j<=n;j++){ if(TypeComp==1)if(cati[i]!=cati[j]) continue; if(TypeComp==2)if(cati[i]==cati[j]) continue; - if(FreqRef==1 && cati[i]==cati[j]) k=cati[i]; + //if(FreqRef==1 && cati[i]==cati[j]) k=cati[i]; //multilocus estimates MLrli=SumW=0.; @@ -2211,7 +2824,7 @@ void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit, /*compute F-stat or R-stat between Npop>2 populations (Npop=# pop, pop1=pop2=0) or just 2 populations (Npop=2, pop1 & pop2 >0). n : # individuals (total) -popi[i] : no. of the population to which i belongs (popi >0). +popi[i] : n° of the population to which i belongs (popi >0). m : # of loci Nallelel[l] : # of alleles at locus l gilc[i][l][a] : allele of ind i at locus l for chromosome a @@ -2235,18 +2848,18 @@ void compute_F_R_stat(int n,int Npop,int pop1,int pop2,int *popi,int m,int *Nall { int i,p,l,c,a,a1,a2,r,S,linit; //counters for indv(i=1 to n), pop (p=1 to Npop), loci(l=1 to m), chromosomes (c=0 to ploidyi[i]-1), alleles (a=1 to Nallelel[l], statistic (r=1 to 4) int *Nip,Nipmax; //# ind in pop i; max # over all pop - int **Ncpi,**Ncpi2 = NULL; //# chromosomes with valid gene in ind i from pop p - int *nip = NULL,*nip2 = NULL, nc; //ind no. in pop p (nip=1-Nip[p]; chromosome no. (nc=1-Ncpi[c][i]) + int **Ncpi,**Ncpi2=NULL; //# chromosomes with valid gene in ind i from pop p + int *nip,*nip2=NULL, nc; //ind n° in pop p (nip=1-Nip[p]; chromosome n° (nc=1-Ncpi[c][i]) int *ploidyi; int **Nlpa[MMAX]; //# of allele a at locus l in pop p (totals for p=0 and a=0) - double ***Gpic,***Gpic2 = NULL; //value of the gene (indicator variable or allele size or breeding value) on chromosome a from ind i of pop p + double ***Gpic,***Gpic2=NULL; //value of the gene (indicator variable or allele size or breeding value) on chromosome a from ind i of pop p double **NumFlr, **DenFlr, **NumRlr, **DenRlr; //numerator and denominator for F-stat / R-stat - double **NumFpl = NULL, **DenFpl = NULL; //numerator and denominator for Fi per pop + double **NumFpl=NULL, **DenFpl=NULL; //numerator and denominator for Fi per pop double SS[4],MS[4],s2[4]; float **Flr,**Rlr; //Flr =Fit (r=1), =Fis (r=2), =Fst (r=3), =Rho (r=4); Rlr =Rit (r=1), Ris (r=2), =Rst (r=3) float *Neil,*dm2l; //Nei and DelaMuSquare distances int nJK; - double S1,SS1,S2,SS2,D1,V1,V2,J1[MMAX],J2[MMAX],J12[MMAX],x1,x2,SJ1,SJ2,SJ12;//variables for Nei and Golstein distances + double S1,SS1,S2,SS2,D1,V1,V2,*J1,*J2,*J12,x1,x2,SJ1,SJ2,SJ12;//variables for Nei and Golstein distances int nvl = 0; //check whether Fstat (i.e. based on indicator variables) are to be computed @@ -2311,6 +2924,10 @@ void compute_F_R_stat(int n,int Npop,int pop1,int pop2,int *popi,int m,int *Nall Gpic2=d3tensor(0,1,0,Nipmax,0,ploidy); Ncpi2=imatrix(0,1,0,Nipmax); } + J1=dvector(0,m); + J2=dvector(0,m); + J12=dvector(0,m); + SJ1=SJ2=SJ12=0.; //Define the values for the Nested ANOVA @@ -2681,7 +3298,7 @@ void compute_FiPop(int n,int Npop,int *popi,int m,int *Nallelel, int i,i2,p,l,c,a; //counters for indv(i=1 to n), pop (p=1 to Npop), loci(l=1 to m), chromosomes (c=0 to ploidyi[i]-1), alleles (a=1 to Nallelel[l], statistic (r=1 to 4) int *Nip,Nipmax; //# ind in pop i; max # over all pop int **Ncpi,**Ncpi2; //# chromosomes with valid gene in ind i from pop p - int *nip,*nip2, nc; //ind no. in pop p (nip=1-Nip[p]; chromosome no. (nc=1-Ncpi[c][i]) + int *nip,*nip2, nc; //ind n° in pop p (nip=1-Nip[p]; chromosome n° (nc=1-Ncpi[c][i]) int *ploidyi; int **Nlpa[MMAX]; //# of allele a at locus l in pop p (totals for p=0 and a=0) double ***Gpic,***Gpic2; //value of the gene (indicator variable or allele size or breeding value) on chromosome a from ind i of pop p @@ -2834,7 +3451,7 @@ void compute_FiPop(int n,int Npop,int *popi,int m,int *Nallelel, /*compute G-stat or N-stat between populations (Npop=# pop, pop1=pop2=0) . n : # individuals (total) -popi[i] : no. of the population to which i belongs (popi >0). +popi[i] : n° of the population to which i belongs (popi >0). m : # of loci Nallelel[l] : # of alleles at locus l gilc[i][l][a] : allele of ind i at locus l for chromosome a @@ -2863,7 +3480,7 @@ void compute_G_N_stat(int n,int Npop,int pop1,int pop2,int *popi,int m,int *Nall float **Glr; //=Git (r=1), =Gis (r=2), =Gst (r=3) float **Nlr; //=Nit (r=1), Nis (r=2), =Nst (r=3) double ***DivNlp1p2,***DivGlp1p2,**DivNrefp1p2,**DivGrefp1p2; //diversity estimates per pair of pop - double DivNwl[MMAX],DivGwl[MMAX],DivNtl[MMAX],DivGtl[MMAX];//diversity within pop and total + double *DivNwl,*DivGwl,*DivNtl,*DivGtl;//diversity within pop and total double ***Nlp1p2,***Glp1p2,***Nstlp1p2,***Gstlp1p2; //Nij, Gij, and pairwise Nst and Gst values per pop pair int Nvalpop,Nvalloc; int nJK; @@ -2916,6 +3533,11 @@ void compute_G_N_stat(int n,int Npop,int pop1,int pop2,int *popi,int m,int *Nall DivGlp1p2=d3tensor(0,m,0,Npop,0,Npop); DivNrefp1p2=dmatrix(0,Npop,0,Npop); DivGrefp1p2=dmatrix(0,Npop,0,Npop); + DivNwl=dvector(0,m); + DivGwl=dvector(0,m); + DivNtl=dvector(0,m); + DivGtl=dvector(0,m); + for(l=1;l<=m;l++){ //diversity btw each pair of pop, including within each pop @@ -3635,7 +4257,7 @@ void compute_corr_per_dist_class (int n,int m,int nc,double *maxc,int Ncat,int * if(Mdij[0][0]!=1.)if((xi[i]==xi[j]) && (yi[i]==yi[j]) && (zi[i]==zi[j])) dij=0.; - if(StatType==1 && Mdij[0][0]<=0 && (sgi[i]==sgi[j])) {c=1; dij=-1.;} /*intra-group class*/ + if(StatType==1 && Mdij[0][0]<=0 && (sgi[i]==sgi[j])) {c=1; /*dij=-1.;*/} /*intra-group class*/ else{c=1; while(dij>maxc[c] && c<=nc) c++;} //get residuals @@ -3680,13 +4302,14 @@ void compute_corr_per_dist_class (int n,int m,int nc,double *maxc,int Ncat,int * /*************************************************************************************/ void inter_locus_corr(int n,int m,float ***corrlij,float **Rll,float **V,float *R2pl,long *seed) { - int i,j,l,l1,l2,Ncomp,Nlcomp[MMAX],nJK; + int i,j,l,l1,l2,Ncomp,*Nlcomp,nJK; double SSl1,SSl2,Sl1,Sl2,SP,Vl1,Vl2,Cov,Cor; double *Sp,***Sl,*S,*T,*SCEl,*SCEp,*SCEt,*SCEe,*SCEr,*CMl,*CMp,*CMe,*CMr,*Ve,*Vl,*Vp1,*Vp2,*Rl1,*Rl2; int *shufl,ljk,nrand,Nrand,NRand; double mean,mean1,mean2,sw1,sw2; + Nlcomp=ivector(0,m); for(l=0;l<=m;l++) { Nlcomp[l]=0; @@ -3860,7 +4483,7 @@ void inter_locus_corr(int n,int m,float ***corrlij,float **Rll,float **V,float * - //ANOVA2 at 1obs + //ANOVA2 à 1obs /**/ Sl=d3tensor(0,n,0,n,-m,m); Sp=dvector(-m,m); S=dvector(-m,m); @@ -3947,7 +4570,7 @@ void inter_locus_corr(int n,int m,float ***corrlij,float **Rll,float **V,float * } - //ANOVA1 at m obs + //ANOVA1 à m obs SCEr[0]=SCEt[0]-SCEp[0]; CMr[0]=SCEr[0]/((m-1)*n*(n-1.)/2.); Vp1[0]=(CMp[0]-CMr[0])/m; @@ -3962,7 +4585,7 @@ void inter_locus_corr(int n,int m,float ***corrlij,float **Rll,float **V,float * } //jackknife - nJK=0; + //nJK=0; // for(l=1;l<=m;l++) if(Rll[0][l]!=(float)MISSVAL) nJK++; nJK=m; @@ -4110,6 +4733,8 @@ void estimate_sigma_2D_kinship (int n,int m,double *xi,double *yi,double *zi,dou } else b=MISSVAL; + Nb[niter]=MISSVAL; + sigmaest[niter]=MISSVAL; if(Stat==1 || Stat==2 || Stat==11){ //for kinship estimators if(b<0. && b!=MISSVAL){ // Nb[niter]=1./( (corrlc[l][cneighb]-1.)/b ); @@ -4516,7 +5141,7 @@ void permut_locations_of_groups_within_cat (int n,int *cati,int Ncat,double *x,double *y,double *z,double **Mdij,int *groupi, double *xmix,double *ymix,double *zmix,double **Mdijmix,long *seed) { - int i,i2,k,*loci; + int i,j,i2,j2,k,*loci; int *locg,*group,newgroup,ng,g; loci=ivector(0,n); diff --git a/src/Autoccomp.h b/src/Autoccomp.h index 02a234d..4e4249b 100644 --- a/src/Autoccomp.h +++ b/src/Autoccomp.h @@ -19,11 +19,17 @@ #ifndef AUTOCCOMP_H #define AUTOCCOMP_H +#ifdef PACKAGE_STRING +# define VERSION PACKAGE_STRING +#else +# define VERSION "SPAGeDi 1.5d (build 02-06-2017)" +#endif + #define NMAX 100000 /*max number of individuals*/ #define NCOORDMAX 3 /*max number of spatial coordinates*/ -#define MMAX 10000 /*max number of loci or variables*/ +#define MMAX 100000 /*max number of loci or variables*/ #define NDIGITMAX 3 /*max number of digits per allele*/ -#define PLOIDYMAX 8 /*max number of alleles per individual*/ +#define PLOIDYMAX 20 /*max number of alleles per individual*/ #define MAXALLID 999 /*max number of alleles per locus*/ #define MAXNOM 31 /*max number of characters read for individual names*/ #define MAXINTERVALS 102 /*max number of classes of intervals*/ @@ -55,7 +61,7 @@ void mainAnalysisBtwInd(int argc,int n,int ntot,double *xi,double *yi,double *zi int *catskg,int *cati,int Ncat,int *Nik,int nc,double *maxc,float dijmin,float dijmax, int m,int ndigit,int ploidy,int *ploidyi,int *Nallelel,int **Nallelekl,int **Nvalgenkl,int ***gilc, float ***Pkla,int **allelesizela,float **Masizekl,float **Vasizekl,float ***Mgdlaa,float givenF,double *H2, - struct name namei[],char namelocus[][MAXNOM],struct name namecat[], + struct name namei[],struct name namelocus[],struct name namecat[], int TypeComp,int cat1,int cat2,int FreqRef,float **givenPla,int *Ngivenallelel,int JKest, int NS,int Stat[],int printdistmatrix,float sigmaest,float density,float dwidth, int Npermut[],int permutalleles,int writeresampdistr,int regdetails,int varcoef,int Rbtwloc, @@ -64,7 +70,7 @@ void mainAnalysisBtwPop(int argc,int StatType,int n,double *xp,double *yp,double int *catp,int *cati,int Ncat,int nc,double *maxc,float dijmin,float dijmax, int m,int ndigit,int ploidy,int *ploidyi,int *Nallelel,int **Nvalgenkl,int ***gilc, float ***Pkla,int **allelesizela,float **Masizekl,float **Vasizekl,float ***Mgdlaa, - struct name namepop[],char namelocus[][MAXNOM],struct name namecat[], + struct name namepop[],struct name namelocus[],struct name namecat[], int PWstat,int TypeComp,int cat1,int cat2,int FreqRef,int JKest,int NS,int Stat[],int printdistmatrix, int Npermut[],int permutalleles,int writeresampdistr,int regdetails,int varcoef,int Rbtwloc,int permutdetails,char outputfile[]); @@ -89,7 +95,8 @@ void checkdist(int n, int *nc, double *maxc, double *xi, double *yi, double *zi, void compute_allele_freq(int n,int Ncat,int *cati,int m, int ndigit,int ploidy,int ***gilc,int *ploidyi,int *Nallelel,int **allelesizela,float ***Mgdlaa, int alleledist,float ***Pkla,int **Nallelekl,int **Nmissinggenotkl,int **Nincompletegenotkl, - int **Nvalgenkl,float **Nnielsenkl,float **RA, int *K,float **Hekl,float **hTkl,float **uTkl,float **Dmkl,float **Dwmkl,float **Masizekl,float **Vasizekl); + int **Nvalgenkl,float **Nnielsenkl,float **RA, int *K,float **Hokl,float **Hekl,float **hTkl,float **uTkl,float **Dmkl,float **Dwmkl,float **Masizekl,float **Vasizekl); +void selfing_estimation(int n,int Npop,int *popi,int m,int ploidy,int ***gilc,int *ploidyi,double *alpha,char *outputfilename,struct name namelocus[],struct name namepop[],int Npermut,long *seed); void compute_pairwise_corr_F(int n,int ntot,int Ncat,int *cati,int m,int ndigit,int ploidy, float missdat,int ***gilc,int *Nallelel,int **allelesizela,float ***Distla1a2, float ***corrSlij[],int NS,int Stat[12],int FreqRef,float **givenPla,int *Ngivenallelel, diff --git a/src/Autocio.c b/src/Autocio.c index b68d71e..c908c6e 100644 --- a/src/Autocio.c +++ b/src/Autocio.c @@ -38,8 +38,6 @@ #include "Xatools.h" #include "compat.h" -#include "package.h" - #define write write_string char errorfile[PATH_MAX] = ERRORTXT; @@ -130,7 +128,7 @@ void copy_file_name(char *to, const char *from, const char *outdir) { void get_input_output_file_names(int argc,char *argv[],char inputfile[],char outputfile[],char instrfile[]) { - char smess[PATH_MAX], filename[PATH_MAX], outdir[PATH_MAX]; + char smess[PATH_MAX], filename[PATH_MAX], outdir[PATH_MAX], ch,*ptr, *ptrt; int check=1; FILE *fp; @@ -253,10 +251,10 @@ void import_data_file(char *inputfile) int line=0,line3=0,flag; int format,n,i,check; int m=0,Maxallele,ndigit,l; - int Npop,npop,nump,pop,labels,numpop[501]; + int Npop,npop,nump,pop,labels,numpop[501],popi; int genotypel[501]; - char s[SMAX], *s2,*s3,smess[SMAX],sbis[SMAX]; - char importfile[50],labelfile[50]; + char s[SMAX], *s2,*s3,smess[SMAX],sbis[SMAX],*ptr; + char ch,importfile[50],labelfile[50]; char namelocus[1000][50],popname[501][50],indname[50]; double X,Y; FILE *fp,*fp2,*fp3; @@ -274,14 +272,20 @@ void import_data_file(char *inputfile) while((fp=fopen(importfile,"rt"))==NULL){ printf("\nWARNING: Cannot open the file \"%s\".\n If it is being used by another application, close it first.\n If it does not exist in the right directory, bring it first and press RETURN.\n Otherwise enter a new name for the data file to import\n To stop the programm now, press Ctrl+c.\n",importfile); fgets_chomp(smess, sizeof(smess), stdin); - if(smess[0]!='\0') strncpy(importfile,smess,MAXNOM-1); + if(smess[0]!='\0') { + strncpy(importfile,smess,MAXNOM-1); + importfile[MAXNOM-1] = '\0'; + } } /*define the name of the data file in SPAGeDi format*/ printf("\nEnter the name of the data file in format SPAGeDi: "); do{ fgets_chomp(smess, sizeof(smess), stdin); - if(smess[0]!='\0') strncpy(inputfile,smess,MAXNOM-1); + if(smess[0]!='\0') { + strncpy(inputfile,smess,MAXNOM-1); + inputfile[MAXNOM-1] = '\0'; + } // scanf("%s",inputfile); }while(inputfile[0]=='\0'); do{ @@ -294,7 +298,11 @@ void import_data_file(char *inputfile) if(!strcmp(smess,"e") || !strcmp(smess,"E")) { if((fp2=fopen(inputfile,"wt"))!=NULL) fclose(fp2); } - else {strncpy(inputfile,smess,MAXNOM-1);check=1;} + else { + strncpy(inputfile,smess,MAXNOM-1); + inputfile[MAXNOM-1] = '\0'; + check=1; + } } }while(check); @@ -370,6 +378,7 @@ void import_data_file(char *inputfile) fgets_chomp(smess, sizeof(smess), stdin); if(smess[0]!='\0'){ strncpy(labelfile,smess,MAXNOM-1); + labelfile[MAXNOM-1] = '\0'; while((fp3=fopen(labelfile,"rt"))==NULL){ printf("\nWARNING: Cannot open the labels file \"%s\".\nIf it is being used by another application, close it first.\nIf it does not exist in the specified directory, bring it first.\nThen press RETURN.\nPress Ctrl+c twice to stop the programm now.\n",labelfile); wait_a_char(); @@ -441,13 +450,14 @@ void import_data_file(char *inputfile) /*write 2 comment lines*/ sprintf(smess,"// Data file in SPAGeDi format imported from file \"%s\" in GENEPOP format",importfile); write_tofile_only(inputfile,smess); - sprintf(smess,"\n// %s",s); + snprintf(smess,SMAX,"\n// %s",s); + write_tofile_only(inputfile,smess); /*read locus names*/ readsfromfile(fp,s,importfile,&line); if(strchr(s,',')){ /*locus names written on a line and separated by comma*/ - s2=s3=&s[0]; + s3=&s[0]; for(l=1;l<=MMAX;l++){ s2=strchr(s3,','); if(s2){ @@ -478,12 +488,14 @@ void import_data_file(char *inputfile) s2=strrchr(smess,','); if(s2) *s2='\0'; strncpy(popname[Npop],smess,MAXNOM-1); + popname[Npop][MAXNOM-1] = '\0'; break; } if(!sscanf(s,"%s",sbis) || !strncmp(s,"POP",3) || !strncmp(s,"Pop",3) || !strncmp(s,"pop",3)){ s2=strrchr(smess,','); if(s2) *s2='\0'; strncpy(popname[Npop],smess,MAXNOM-1); + popname[Npop][MAXNOM-1] = '\0'; if(!sscanf(s,"%s",sbis)) break; Npop++; } @@ -516,6 +528,7 @@ void import_data_file(char *inputfile) *s2='\0'; s2++; strncpy(indname,s,MAXNOM-1); + indname[MAXNOM-1] = '\0'; /*get genotypes*/ s2=strpbrk(s2,"0123456789"); @@ -561,14 +574,16 @@ void import_data_file(char *inputfile) void export_data_file(int StatType,char inputfile[],int n, double *xi,double *yi,double *zi,double *xp,double *yp,double *zp,double **Mdij, int *popi,int Npop,int m,int ndigit,int *Nallelel,int ***gilc,int **allelesizela, - struct name namei[],struct name namepop[],char namelocus[][MAXNOM]) + struct name namei[],struct name namepop[],struct name namelocus[]) { - FILE *fp,*fp2; + FILE *fp,*fp2,*fp3; + int line=0,line3=0,flag; int format,i,check; int Maxallele,l; - int pop; - char smess[SMAX]; - char exportfile[50],labelfile[50]; + int pop,labels; + int genotypel[201]; + char s[SMAX], *s2,*s3,smess[SMAX],sbis[SMAX]; + char ch,exportfile[50],labelfile[50]; //export for PATRI @@ -639,7 +654,7 @@ void export_data_file(int StatType,char inputfile[],int n, if(StatType>=2) fprintf(fp,"%i %i %i %i",Npop,m,Maxallele,ndigit); if(StatType==1) fprintf(fp,"1 %i %i %i",m,Maxallele,ndigit); - for(l=1;l<=m;l++) fprintf(fp,"\n%s",namelocus[l]); + for(l=1;l<=m;l++) fprintf(fp,"\n%s",namelocus[l].n); for(i=1;i<=n;i++){ if(StatType>=2) fprintf(fp,"\n%i ",popi[i]); @@ -682,7 +697,7 @@ void export_data_file(int StatType,char inputfile[],int n, if(format==1){/*write Genepop data file*/ fprintf(fp,"Data file imported from \"%s\" (SPAGeDi format)",inputfile); - for(l=1;l<=m;l++) fprintf(fp,"\n%s",namelocus[l]); + for(l=1;l<=m;l++) fprintf(fp,"\n%s",namelocus[l].n); if(StatType>=2) for(pop=1;pop<=Npop;pop++){ fprintf(fp,"\nPop"); @@ -706,13 +721,11 @@ void export_data_file(int StatType,char inputfile[],int n, fclose(fp); } /*************************************************************************************/ -void readbasicinfoF(char *inputfile,int *n,int *ncat,int *ncoord,int *mp,int *ndigit,int *ploidy, - char catname[MAXNOM],char namecoord[] [MAXNOM],char namelocusp[] [MAXNOM], - int *nc,double *maxc) +void readbasicinfoF(char *inputfile,int *n,int *ncat,int *ncoord,int *mp,int *ndigit,int *ploidy,int *nc,double *maxc) { FILE *fp; int i,flag; - char *s, *s2,smess[SMAX]; + char *s, *s2,smess[SMAX],ch; int line=0; s=cvector(0,SMAX2); @@ -802,22 +815,6 @@ void readbasicinfoF(char *inputfile,int *n,int *ncat,int *ncoord,int *mp,int *nd } /*end of for, loop for max values of intervals*/ } - readsfromfile(fp,s,inputfile,&line); /*read third non comment line*/ - while(strncmp(s,"/*",2)==0 || strncmp(s,"//",2)==0 || s[0]=='"' || sscanf(s,"%s",smess)<1) readsfromfile(fp,s,inputfile,&line); /*skip over lines beggining with comments */ - - s2=&s[0]; - if(*ncat){ - s2=nexttab(s2,inputfile,line); - readsfromstring(s2,catname,MAXNOM-1,inputfile,line); - } - for(i=1;i<=abs(*ncoord);i++) { - s2=nexttab(s2,inputfile,line); - readsfromstring(s2,namecoord[i],MAXNOM-1,inputfile,line); - } /*end of for, loop for loci names*/ - for(i=1;i<=*mp;i++) { - s2=nexttab(s2,inputfile,line); - readsfromstring(s2,namelocusp[i],MAXNOM-1,inputfile,line); - } /*end of for, loop for loci names*/ fclose(fp); @@ -826,15 +823,16 @@ void readbasicinfoF(char *inputfile,int *n,int *ncat,int *ncoord,int *mp,int *nd /***********************************************************************/ -void readsecondinfoF(char *inputfile,int n,struct name namei[],int Ncat,struct name namecat[], +void readsecondinfoF(char *inputfile,int n,struct name namei[],char catname[MAXNOM],char namecoord[][MAXNOM], + int Ncat,struct name namecat[],struct name namelocus[], struct name namecati[],int *cati,int ncoord,double *xi,double *yi,double *zi, int m,int ndigit,int ploidy,int ***gilc,int *Nallelel,int **allelesizela, - int *ploidyi,int Nip[],double *H2) + int *ploidyi,int Nip[],double *H2,double *alpha) { FILE *fp; - int c,i,l,line=0,z,k,g; + int c,i,l,line=0,z,ncatobs,newcat,k,g,nsg; int gentemp,maxploidy,ploidyl; - char *s, *s2,smess[SMAX],*ptr; + char *s, *s2,smess[SMAX],ch,*ptr; char newind[SMAX]; int nallele,ok,coordproblem=0; float allelesizea[1000]; @@ -847,14 +845,32 @@ void readsecondinfoF(char *inputfile,int n,struct name namei[],int Ncat,struct n wait_a_char(); } - /*skip over 3 first non comment lines*/ - for(i=0;i<3;i++){ + /*skip over 2 first non comment lines*/ + for(i=0;i<2;i++){ readsfromfile(fp,s,inputfile,&line); while(strncmp(s,"/*",2)==0 || strncmp(s,"//",2)==0 || s[0]=='"' || sscanf(s,"%s",smess)<1) readsfromfile(fp,s,inputfile,&line); /*skip over lines beggining with comments */ } + readsfromfile2(fp,s,inputfile,&line); /*read third non comment line*/ + while(strncmp(s,"/*",2)==0 || strncmp(s,"//",2)==0 || s[0]=='"' || sscanf(s,"%s",smess)<1) readsfromfile(fp,s,inputfile,&line); /*skip over lines beggining with comments */ + + s2=&s[0]; + if(Ncat){ + s2=nexttab(s2,inputfile,line); + readsfromstring(s2,catname,MAXNOM-1,inputfile,line); + } + for(i=1;i<=abs(ncoord);i++) { + s2=nexttab(s2,inputfile,line); + readsfromstring(s2,namecoord[i],MAXNOM-1,inputfile,line); + } /*end of for, loop for loci names*/ + for(i=1;i<=m;i++) { + s2=nexttab(s2,inputfile,line); + readsfromstring(s2,namelocus[i].n,MAXNOM-1,inputfile,line); + } /*end of for, loop for loci names*/ + + for(i=1;i<=n;i++) { /*loop over total number of individuals in data file*/ - readsfromfile(fp,s,inputfile,&line); /*read next line*/ + readsfromfile2(fp,s,inputfile,&line); /*read next line*/ while(strncmp(s,"/*",2)==0 || strncmp(s,"//",2)==0 || s[0]=='"' || sscanf(s,"%s",smess)<1) readsfromfile(fp,s,inputfile,&line); /*skip over lines beggining with comments */ s2=&s[0]; @@ -872,7 +888,10 @@ void readsecondinfoF(char *inputfile,int n,struct name namei[],int Ncat,struct n printf("\nCheck in file %s the list of individuals successfully found.\nPress any key to stop the program.",ERRORFILE); wait_a_char();exit(1); } - else strncpy(namei[i].n,newind,MAXNOM-1); + else { + strncpy(namei[i].n,newind,MAXNOM-1); + namei[i].n[MAXNOM-1] = '\0'; + } /*read indiv category*/ if(Ncat){ @@ -974,20 +993,46 @@ void readsecondinfoF(char *inputfile,int n,struct name namei[],int Ncat,struct n wait_a_char();exit(1); } - if(ndigit<=0){ //read H2 values (broad-sense heritability) per locus in case of dominant markers - readsfromfile(fp,s,inputfile,&line); /*read next line*/ - while(strncmp(s,"/*",2)==0 || strncmp(s,"//",2)==0 || s[0]=='"' || sscanf(s,"%s",smess)<1) readsfromfile(fp,s,inputfile,&line); /*skip over lines beggining with comment */ - if(strncmp(s,"H2",2)==0){ - s2=&s[0]; - for(l=1;l<=m;l++) { - s2=nexttab(s2,inputfile,line); - readdoublefromstring(s2,&H2[l],inputfile,line); + //read H2 values (broad-sense heritability) per locus in case of dominant markers + if(ndigit<=0){ + for(l=1;l<=m;l++) H2[l]=1.; + if(fgets(s,SMAX,fp)){ + line++; + //readsfromfile(fp,s,inputfile,&line); /*read next line*/ + while(strncmp(s,"/*",2)==0 || strncmp(s,"//",2)==0 || s[0]=='"' || sscanf(s,"%s",smess)<1) readsfromfile(fp,s,inputfile,&line); /*skip over lines beggining with comment */ + if(strncmp(s,"H2",2)==0){ + s2=&s[0]; + s2=strchr(s2,'\t')+1; + while(s2[0]=='\t') s2=strchr(s2,'\t')+1; + s2--; + for(l=1;l<=m;l++) { + s2=nexttab(s2,inputfile,line); + readdoublefromstring(s2,&H2[l],inputfile,line); + } } } - else for(l=1;l<=m;l++) H2[l]=1.; } - + //read double reduction rate values per locus in case of polyploid + if(ploidy>2){ + for(l=1;l<=m;l++) alpha[l]=0.; + if(fgets(s,SMAX,fp)){ + line++; + //readsfromfile(fp,s,inputfile,&line); /*read next line*/ + while(strncmp(s,"/*",2)==0 || strncmp(s,"//",2)==0 || s[0]=='"' || sscanf(s,"%s",smess)<1) readsfromfile(fp,s,inputfile,&line); /*skip over lines beggining with comment */ + if(strncmp(s,"ALPHA",5)==0){ + s2=&s[0]; + s2=strchr(s2,'\t')+1; + while(s2[0]=='\t') s2=strchr(s2,'\t')+1; + s2--; + for(l=1;l<=m;l++) { + s2=nexttab(s2,inputfile,line); + readdoublefromstring(s2,&alpha[l],inputfile,line); + } + } + } + } + @@ -1051,12 +1096,13 @@ void readsecondinfoF(char *inputfile,int n,struct name namei[],int Ncat,struct n void displaybasicinfoF(int argc,char *inputfilename,char *outputfilename, int n,int Ncat,int *Nik,int ncoord,int m,int ndigit, - int ploidy,int *ploidyi,int Nip[],char namelocus[] [MAXNOM], + int ploidy,int *ploidyi,int Nip[],struct name namelocus[], char namecoord[] [MAXNOM],struct name *namecat, int nc,double *maxc,int Nsg,int *Nig,int Nskg,int *Niskg) { int i,k,g,p; int Nikmin,Nikmax,Nigmin,Nigmax,Niskgmin,Niskgmax,Nk1i,Ng1i,Nskg1i; + char ch; char smess[SMAX]; FILE *fp; @@ -1120,10 +1166,16 @@ void displaybasicinfoF(int argc,char *inputfilename,char *outputfilename, sprintf(smess,", %s",namecoord[i]); write(outputfilename,smess); } - sprintf(smess,"\n%i loci: %s",m,namelocus[1]); + sprintf(smess,"\n%i loci: %s",m,namelocus[1].n); write(outputfilename,smess); - for(i=2;i<=m;i++) { - sprintf(smess,", %s",namelocus[i]); + if(m<=100){ + for(i=2;i<=m;i++) { + sprintf(smess,", %s",namelocus[i].n); + write(outputfilename,smess); + } + } + else{ + sprintf(smess,",....... , %s",namelocus[m].n); write(outputfilename,smess); } if(ndigit>0) sprintf(smess,"\n%i digits per allele",ndigit); @@ -1139,7 +1191,7 @@ void displaybasicinfoF(int argc,char *inputfilename,char *outputfilename, } if(Nip[0]){ sprintf(smess,"\n WARNING: There is(are) %i individual(s) without genotype at any locus",Nip[0]);write(outputfilename,smess); } if(ndigit>0)if(Nip[ploidy+1]){ - sprintf(smess,"\n WARNING: There is(are) %i individual(s) showing different ploidy levels according to the locus: indiv no. ",Nip[ploidy+1]); + sprintf(smess,"\n WARNING: There is(are) %i individual(s) showing different ploidy levels according to the locus: indiv no ",Nip[ploidy+1]); write(outputfilename,smess); for(i=1;i<=n;i++) if(ploidyi[i]==(ploidy+1)){sprintf(smess,"%i ",i); write(outputfilename,smess);} sprintf(smess,"\nYou must first resolve this problem. Note that 0's representing missing alleles of incomplete genotypes must be on the RIGHT, whereas 0's representing no information for individuals with a ploidy level inferior to that announced must be on the LEFT.\nPress any key to stop the program now."); @@ -1188,13 +1240,16 @@ void displaybasicinfoF(int argc,char *inputfilename,char *outputfilename, void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m,int Ncat,int Nsg,int Nskg,int ncoord, int *StatType,int *NS,int Stat[],int *TypeComp,int *cat1,int *cat2, struct name *namecat,int *FreqRef,float *givenF,int *writeallelefreq,int *JKest,int *distmatrix,int Npermut[], - float *dijmin,float *dijmax,int *writeresampdistr,int *regdetails,int *varcoef,int *Rbtwloc,float *sigmaest,float *density,float *dwidth, + float *dijmin,float *dijmax,int *writeresampdistr,int *regdetails,int *varcoef,int *Rbtwloc,int *estselfing,float *sigmaest,float *density,float *dwidth, int *permutdetails,int *distm,char *inputfilename,char *distfilename,char *freqfilename,int *K,int *definealleledist,char *alleledistfilename, int *export,long *seed) { char ch,smess[SMAX]; int stats,k,k2,Noptions,ok,otherstat=0,S; - int permutloc=1,permutind=0,permutgenes=0,permutalleles=0,permutgil,reffreqpossible=0; + int permutloc=1,permutind=0,permutgenes=0,permutalleles=0,permutgil,reffreqpossible=0,MoransI=0; + float ram; + + FILE *stream; // Reassign "stdin" (=console) to the instruction file (instrfile) to read options from that file // if(argc>=4) stream = freopen(instrfile, "r", stdin); @@ -1241,14 +1296,17 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m printf("\n 9- FRATERNITY coefficient ('delta' in Wang, 2002)"); } if(ploidy>1) printf("\n A- Aij: Rousset's distance ('a' in Rousset, 2000)"); + printf("\n Q- Qij: proportion of identical alleles"); printf("\n\n Statistic based on allele size (cf. microsatellites) :"); printf("\n R- Rij: Allele size correlation coefficient (I' in Streiff et al., 1998)"); printf("\n\n Statistics based on distances between alleles (matrix to define) :"); printf("\n N- Nij: kinship coefficient for ordered alleles (OJ Hardy, unpublished)"); + printf("\n\n 0- no pairwise statistics"); } else{//dominant marker printf("\n\n 1- KINSHIP coefficient for dominant marker in diploids (Hardy, 2003)"); printf("\n\n 2- RELATIONSHIP coefficient for dominant marker in diploids (Hardy, 2003)"); + printf("\n\n 0- no pairwise statistics"); } // if(Ncat>0 || Nsg>1) printf("\n\nEnter 'R' to return to the first menu"); printf("\n"); @@ -1258,11 +1316,12 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m // if(smess[0]=='r' || smess[0]=='R') goto startagain; (*NS)=strlen(smess); }while(smess[0]=='\0' || *NS>11 || *NS<1); - + + MoransI=0; for(k=1;k<=(*NS);k++){ if(smess[k-1]=='1') Stat[k]=1; else if(smess[k-1]=='2') Stat[k]=2; - else if(smess[k-1]=='3') Stat[k]=3; + else if(smess[k-1]=='3') {Stat[k]=3; MoransI=1;} else if(smess[k-1]=='4') Stat[k]=8; else if(smess[k-1]=='5') Stat[k]=6; else if(smess[k-1]=='6') Stat[k]=9; @@ -1270,6 +1329,7 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m else if(smess[k-1]=='8') Stat[k]=7; else if(smess[k-1]=='9') Stat[k]=10; else if(smess[k-1]=='A' || smess[k]=='a') Stat[k]=4; + else if(smess[k-1]=='Q' || smess[k]=='q') Stat[k]=15; else if(smess[k-1]=='R' || smess[k]=='r') Stat[k]=5; else if(smess[k-1]=='N' || smess[k]=='n') {Stat[k]=14; *definealleledist=1;} else Stat[k]=0; @@ -1280,15 +1340,15 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m } /*remove stat not allowed*/ - for(k=1;k<=(*NS);k++)if(Stat[k]<1 || Stat[k]>14 || (ploidy==1 && Stat[k]==4) || (ploidy!=2 && (Stat[k]==6 || Stat[k]==7 || Stat[k]==8 || Stat[k]==9 || Stat[k]==10 || Stat[k]==13)) || (ndigit<=0 && (Stat[k]>12 || Stat[k]<11))){ + for(k=1;k<=(*NS);k++)if(Stat[k]<1 || Stat[k]>15 || (ploidy==1 && Stat[k]==4) || (ploidy!=2 && (Stat[k]==6 || Stat[k]==7 || Stat[k]==8 || Stat[k]==9 || Stat[k]==10 || Stat[k]==13)) || (ndigit<=0 && (Stat[k]>12 || Stat[k]<11))){ (*NS)--; for(k2=k;k2<=(*NS);k2++) Stat[k2]=Stat[k2+1]; } - }while((*NS)<1); + }while((*NS)< /*1*/ 0); permutgenes=permutalleles=permutind=reffreqpossible=0; permutloc=1; - if(ploidy>1 && ndigit>0)for(k=1;k<=(*NS);k++)if(Stat[k]==1 || Stat[k]==2 || Stat[k]==5) permutgenes=1; + if(ploidy>1 && ndigit>0)/*for(k=1;k<=(*NS);k++)if(Stat[k]==1 || Stat[k]==2 || Stat[k]==5)*/ permutgenes=1; for(k=1;k<=(*NS);k++)if(Stat[k]==5 || Stat[k]==14) permutalleles=1; if(Nsg>1) permutind=1; for(k=1;k<=(*NS);k++)if(Stat[k]==1 || Stat[k]==2 || Stat[k]==5 || Stat[k]==6 || Stat[k]==7 || Stat[k]==8 || Stat[k]==9 || Stat[k]==10 || Stat[k]==11 || Stat[k]==12 || Stat[k]==13) reffreqpossible=1; @@ -1319,14 +1379,16 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m printf("\n\n Statistics based on distances between alleles (matrix to define) :"); printf("\n\n 8- global Nst and pairwise Nst (Pons & Petit 1996)"); printf("\n 9- global Nst and pairwise Nij (OJ Hardy, unpubl)"); - printf("\n\nEnter 'R' to return to the first menu\n\n"); + printf("\n\n 0- no pairwise statistics"); + printf("\n\nEnter 'R' to return to the first menu\n"); do{ fgets_chomp(smess, sizeof(smess), stdin); if(smess[0]=='r' || smess[0]=='R') goto startagain; ok=sscanf(smess,"%i",&stats); (*NS)=1+(int)log10(stats); - }while(ok!=1 || *NS>9 || *NS<1); + if(smess[0]=='0') (*NS)=0; + }while(ok!=1 || *NS>9 || *NS< 0/*1*/ ); /*Chosen statistics, put in Stat[k] with k=1 to #different stat*/ for(k=(*NS);k>0;k--){ @@ -1348,7 +1410,7 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m } - }while((*NS)<1); + }while((*NS)0)printf("\n\n 1- Use a matrix to define pairwise spatial distances"); + if((*NS)>0)printf("\n\n 2- Make restricted regression analyses (i.e. over limited distance range)"); printf("\n\n 3- Make permutation tests"); if(m>1) printf("\n\n 4- Jackknife over loci"); if(Ncat>1 && (*StatType==1 || *StatType==4)) printf("\n\n 5- Restrict pairwise comparisons within or among (selected) categories"); @@ -1462,7 +1524,7 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m printf("\n\nSelect the reference allele frequencies to compute pairwise statistics:"); printf("\n\n 1- whole sample (enter '1' or press RETURN)"); printf("\n\n 2- unweighted average allele frequencies over categories (enter '2')\n"); - if(*TypeComp==1) printf("\n 3- sample within category (enter '3')\n"); + if(*TypeComp==1 || MoransI) printf("\n 3- sample within category (enter '3')\n"); fgets_chomp(smess, sizeof(smess), stdin); if(smess[0]=='2') *FreqRef=-2; else if(smess[0]=='3') *FreqRef=1; @@ -1473,7 +1535,7 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m /*if no pairwise dist computable, ask again*/ - if(!ncoord && !(*distm)){ + if(!ncoord && !(*distm) && (*NS)>0){ printf("\n\n\nWARNING: There is no spatial coordinates in the data file. \nPress RETURN to go on without spatial information \nor enter the name of the file containing pairwise distances: "); fgets_chomp(smess, sizeof(smess), stdin); if(smess[0]!='\0'){ @@ -1517,7 +1579,7 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m /*define parameters for permutation tests*/ (*writeresampdistr)=*permutdetails=*seed=0; if(Npermut[0]){ - printf("\n\n\n\n\n\n\n\nPERMUTATION OPTIONS\n\nSelect among the following options (you can select several) or press RETURN"); + if((*NS)>0) printf("\n\n\n\n\n\n\n\nPERMUTATION OPTIONS\n\nSelect among the following options (you can select several) or press RETURN"); if(permutalleles){ // printf("\n\n 1- Tests of genetic structuring (permuting gene copies, individuals and/or locations)"); @@ -1541,33 +1603,34 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m } else permutgil=1; - if(permutgil==0) permutloc=permutind=permutgenes=0; + if(permutgil==0) permutloc=permutind=/*permutgenes=*/0; *permutdetails=2; - if(permutalleles)printf("\n\nSelect among the following additional options (you can select several) or press RETURN"); - printf("\n\n 1- Report only P-values (otherwise details of permutation tests are reported)"); - if(permutgil) printf("\n\n 2- Define # of permutations for each randomised unit (otherwise same #)"); - printf("\n\n 3- Initialise random number generator (otherwise initialisation on clock)"); - if(*StatType>=2) printf("\n\n 4- Perform tests of genetic differentiation on each population pair\n\n"); - else printf("\n\n"); + if((*NS)>0){ + if(permutalleles)printf("\n\nSelect among the following additional options (you can select several) or press RETURN"); + printf("\n\n 1- Report only P-values (otherwise details of permutation tests are reported)"); + if(permutgil) printf("\n\n 2- Define # of permutations for each randomised unit (otherwise same #)"); + printf("\n\n 3- Initialise random number generator (otherwise initialisation on clock)"); + if(*StatType>=2) printf("\n\n 4- Perform tests of genetic differentiation on each population pair\n\n"); + else printf("\n\n"); - fgets_chomp(smess, sizeof(smess), stdin); - if(smess[0]!='\0'){ - sscanf(smess,"%i",&stats); - Noptions=1+(int)log10(stats); - for(k=1;k<=Noptions;k++){ - if(stats%10==1) *permutdetails=0; - if(stats%10==2 && permutgil) Npermut[0]=2; - if(stats%10==3) *seed=1; - if(stats%10==4){ - if(permutalleles) permutalleles=2; - if(permutgil) permutgil=2; + fgets_chomp(smess, sizeof(smess), stdin); + if(smess[0]!='\0'){ + sscanf(smess,"%i",&stats); + Noptions=1+(int)log10(stats); + for(k=1;k<=Noptions;k++){ + if(stats%10==1) *permutdetails=0; + if(stats%10==2 && permutgil) Npermut[0]=2; + if(stats%10==3) *seed=1; + if(stats%10==4){ + if(permutalleles) permutalleles=2; + if(permutgil) permutgil=2; + } + stats=(int)(stats/10); } - stats=(int)(stats/10); } } - /*define # permutations*/ if(Npermut[0]==1){ do{ @@ -1606,7 +1669,7 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m printf("\n\nEnter a number for the initial seed: "); fgets_chomp(smess, sizeof(smess), stdin); ok=sscanf(smess,"%li",seed); - *seed=abs(*seed)*(-1); + *seed=labs(*seed)*(-1); }while(ok!=1); } else{ /*initialisation on local time*/ @@ -1638,8 +1701,9 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m if((*sigmaest)){ printf("\n\n 6- Estimate gene dispersal sigma"); (*sigmaest)=0.0f;} } if(m>1){ - printf("\n\n 7- Report actual variance of pairwise genetic coefficients (Ritland 2000)"); -// printf("\n\n 8- Report inter-locus correlation for pairwise genetic coefficients"); + if(ploidy>=2)printf("\n\n 7- Estimate selfing rate from standardized identity disequilibrium"); + printf("\n\n 8- Report actual variance of pairwise genetic coefficients (Ritland 2000)"); +// printf("\n\n 9- Report inter-locus correlation for pairwise genetic coefficients"); } printf("\n\nEnter 'R' to return to the first menu\n\n"); @@ -1658,8 +1722,9 @@ void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m if(stats%10==4) (*distmatrix)=1; if(stats%10==5) (*export)=1; if(stats%10==6) (*sigmaest)=1.; - if(stats%10==7) (*varcoef)=1; - if(stats%10==8) (*Rbtwloc)=1; + if(stats%10==7) (*estselfing)=1; + if(stats%10==8) (*varcoef)=1; + if(stats%10==9) (*Rbtwloc)=1; stats=(int)(stats/10); } } @@ -1933,7 +1998,7 @@ void read_pairwise_spatial_distances(char *inputfile,char *distfile,int n, void read_pairwise_genetic_distances(char *inputfile,char *distfile,int m, - char namelocusp[] [MAXNOM],int *Nallelel,int **allelenamela,float ***Mgdlaa) + struct name namelocus[],int *Nallelel,int **allelenamela,float ***Mgdlaa) { int a1=0,a2,loc,loc2,line=0; int nameallele,nlocusread,nallelerecogn,nallelegiven; @@ -1947,10 +2012,10 @@ void read_pairwise_genetic_distances(char *inputfile,char *distfile,int m, //check that all locus names are different - for(loc=1;loc0){ - for(loc=1;loc<=m;loc++) if(!strncmp(nameloc,namelocusp[loc],MAXNOM-1)) break; + for(loc=1;loc<=m;loc++) if(!strncmp(nameloc,namelocus[loc].n,MAXNOM-1)) break; } }while(loc>m && !feof(fp)); @@ -2015,7 +2080,7 @@ void read_pairwise_genetic_distances(char *inputfile,char *distfile,int m, //check that all alleles from data file were encountered if(nallelerecogn!=Nallelel[loc]){ - printf("\n\nGenetic distances between alleles at locus \"%s\" in file \"%s\" not found for all alleles given in the data file\nPress any key to stop",namelocusp[loc],distfile); + printf("\n\nGenetic distances between alleles at locus \"%s\" in file \"%s\" not found for all alleles given in the data file\nPress any key to stop",namelocus[loc].n,distfile); wait_a_char(); exit(0); } @@ -2025,8 +2090,8 @@ void read_pairwise_genetic_distances(char *inputfile,char *distfile,int m, readsfromfile(fp,s,distfile,&line); while(strncmp(s,"/*",2)==0 || strncmp(s,"//",2)==0 || s[0]=='"' || sscanf(s,"%s",smess)<1) readsfromfile(fp,s,distfile,&line); /*skip over lines beggining with comments */ - if(strncmp(s,"END",3)==0 || feof(fp)) { //if END is encountered or the end of the file - printf("\nERROR: END message or end of file encountered after only %d alleles of the genetic distance matrix between alleles at locus \"%s\" from file %s for %d expected\nCheck that you defined a squared matrix with the same orders of alleles in lines and columns\nPress any key to stop the program",a1-1,namelocusp[loc],distfile,nallelegiven); + if(strncmp(s,"END",3)==0 || (feof(fp) && l1.001){ - printf("\nERROR: Sum of reference allele frequencies for locus \"%s\" different\nfrom one (=%g).",namelocus[l],freq); + printf("\nERROR: Sum of reference allele frequencies for locus \"%s\" different\nfrom one (=%g).",namelocus[l].n,freq); error1=1; } } @@ -2189,7 +2259,7 @@ void read_allele_frequencies(char *freqfile,int m,char namelocus[][MAXNOM],int * for(l=1;l<=m;l++){ for(a=1;a<=Nallelel[l];a++) if(givenPla[l][a]==0.){ if(error2==0) printf("\nWARNING: the following alleles found in the data file have a zero frequency in the reference allele frequency file. \nThis currently not allowed."); - printf("\n\tlocus \"%s\", allele \"%d\"",namelocus[l],allelesizela[l][a]); + printf("\n\tlocus \"%s\", allele \"%d\"",namelocus[l].n,allelesizela[l][a]); error2=1; } } @@ -2203,9 +2273,9 @@ void read_allele_frequencies(char *freqfile,int m,char namelocus[][MAXNOM],int * /**************************************************************************************/ -void write_allele_freq(char *outputfilename,int n,int m,char namelocus[][MAXNOM],int ndigit,int ploidy, +void write_allele_freq(char *outputfilename,int n,int m,struct name namelocus[],int ndigit,int ploidy, int Npop,int *Nip,struct name namepop[],int StatType,int NS,int Stat[],int **allelesizela, - int **Nallelepl,float ***Ppla,float **Nnielsenpl,float **RA, int K,float **Hepl,float **hTpl,float **vTpl, + int **Nallelepl,float ***Ppla,float **Nnielsenpl,float **RA, int K,float **Hopl,float **Hepl,float **hTpl,float **vTpl, float **Dmpl,float **Dwmpl,float **Masizepl,float **Vasizepl,int **Nmissinggenotpl,int **Nincompletegenotpl, int **Nvalgenpl,int printallelefreq,int FreqRef,int *Ngivenallelel,float **givenPla,float**Fpl,int Npermut,struct resample_stat_type **r_statFlp) { @@ -2230,7 +2300,7 @@ void write_allele_freq(char *outputfilename,int n,int m,char namelocus[][MAXNOM] if(StatType==1)fprintf(fp,"\nLocus\tCategory"); else fprintf(fp,"\nLocus\tPopulation"); fprintf(fp,"\tSample size\t# missing genotypes (%%)\t# incomplete genotypes (%%)\t# of defined gene copies\tNA: # alleles\tNAe: Effective # alleles (Nielsen et al. 2003)\tAR(k=%i): Allelic richness (expected number of alleles among %i gene copies)\tHe (gene diversity corrected for sample size, Nei 1978)",K,K); - if(ploidy>1){fprintf(fp,"\tFi (individual inbreeding coefficient)");Ntab++;} + if(ploidy>1){fprintf(fp,"\tHo (observed heterozygosity)\tFi (individual inbreeding coefficient)");Ntab+=2;} if(Npermut>=40) {fprintf(fp,"\tPval(Fi<>0) after %i randomization of gene copies among individuals",Npermut);Ntab++;} if(StatType>1){ Ntab++; @@ -2243,14 +2313,14 @@ void write_allele_freq(char *outputfilename,int n,int m,char namelocus[][MAXNOM] } else {fprintf(fp,"\nLocus\tCategory\tSample size\t# missing phenotypes (%%)\tFrequency of dominant phenotype"); Ntab=5;} - strcpy(namelocus[0],"Multilocus average"); + strcpy(namelocus[0].n,"Multilocus average"); for(l=0;l<=m;l++){ if(ndigit>0){ if(printallelefreq!=0)fprintf(fp,"\n"); - fprintf(fp,"\n%s",namelocus[l]); + fprintf(fp,"\n%s",namelocus[l].n); for(t=1;t0) break; - if(p) fprintf(fp,"\n%s\t%s\t%i",namelocus[l],namepop[p].n,Nip[p]); + if(p) fprintf(fp,"\n%s\t%s\t%i",namelocus[l].n,namepop[p].n,Nip[p]); if(ndigit>0){ if(l) fprintf(fp,"\t%i (%.1f%%)\t%i (%.1f%%)\t%i",Nmissinggenotpl[p][l],(float)(Nmissinggenotpl[p][l]*100./Nip[p]),Nincompletegenotpl[p][l],(float)(Nincompletegenotpl[p][l]*100./Nip[p]),Nvalgenpl[p][l]); @@ -2288,6 +2358,8 @@ void write_allele_freq(char *outputfilename,int n,int m,char namelocus[][MAXNOM] else fprintf(fp,"\t"); fprintf(fp,"\t%.4f",Hepl[p][l]); if(ploidy>1){ + if(Hopl[p][l]!=MISSVAL) fprintf(fp,"\t%.3f",Hopl[p][l]); + else fprintf(fp,"\t"); if(Fpl[p][l]!=MISSVAL) fprintf(fp,"\t%.3f",Fpl[p][l]); else fprintf(fp,"\t"); if(Npermut>=40){ @@ -2335,7 +2407,7 @@ void write_allele_freq(char *outputfilename,int n,int m,char namelocus[][MAXNOM] fprintf(fp,"\n\nREFERENCE ALLELE FREQUENCIES"); for(l=1;l<=m;l++){ - fprintf(fp,"\n%s",namelocus[l]); + fprintf(fp,"\n%s",namelocus[l].n); /*write allele names and freq*/ if(ndigit>0){ for(a=1;a<=Ngivenallelel[l];a++) fprintf(fp,"\t%i",allelesizela[l][a]); @@ -2355,6 +2427,7 @@ void displaydist(int argc,char *outputfilename,int nc,double *maxc,double *mdc,d int *npc,float **indexpartic) { int c; + char ch,smess[SMAX]; FILE *fp; while((fp=fopen(outputfilename,"a"))==NULL){ @@ -2386,12 +2459,13 @@ void displaydist(int argc,char *outputfilename,int nc,double *maxc,double *mdc,d /**************************************************************************************/ -void writeIndStatresults(char *outputfilename,int n,int Nsg,int m,char namelocus[][MAXNOM],int nc,double *maxc, +void writeIndStatresults(char *outputfilename,int n,int Nsg,int m,struct name namelocus[],int nc,double *maxc, int *npc,float **indexpartic,double *mdc,double *mlndc,float dijmin,float dijmax,float givenF,double *H2, int TypeComp,int cat1,int cat2,struct name *namecat,int FreqRef,int NS,int Stat[12],float **corrSlc[],float density,float dwidth, int JKest,int regdetails,int varcoef,int Rbtwloc,float ***RSll[12],float ***V[12],float **R2pl[12]) { - int c,l,S; + int c,l,S,a; + char smess[SMAX]; FILE *fp; while((fp=fopen(outputfilename,"a"))==NULL){ @@ -2411,7 +2485,8 @@ void writeIndStatresults(char *outputfilename,int n,int Nsg,int m,char namelocus } if(TypeComp || FreqRef){ if(FreqRef==0) fprintf(fp," (reference sample (allele frequencies) = WHOLE SAMPLE)"); - if(FreqRef==1) fprintf(fp," (reference sample (allele frequencies) = SAMPLE WITHIN CATEGORY)"); + if(FreqRef==1 && TypeComp!=2) fprintf(fp," (reference sample (allele frequencies) = SAMPLE WITHIN CATEGORY)"); + if(FreqRef==1 && TypeComp==2) fprintf(fp," (reference sample (allele frequencies) = SAMPLES WITHIN CATEGORIES for Moran's I statistic, or WHOLE SAMPLE for other metrics)"); if(FreqRef==-2) fprintf(fp," (reference allele frequencies = UNWEIGHTED MEAN FREQUENCIES OVER CATEGORIES)"); } if(FreqRef==-1) fprintf(fp," (relative to GIVEN REFERENCE ALLELE FREQUENCIES (except for Moran's I relationship coef and Rousset's 'a' coef))"); @@ -2447,6 +2522,7 @@ void writeIndStatresults(char *outputfilename,int n,int Nsg,int m,char namelocus if(Stat[S]==12) fprintf(fp,"\n\nPairwise RELATIONSHIP coefficients for a DOMINANT marker, assuming inbreeding coef=%.4f (Hardy, 2003; Ley & Hardy, 2013)",givenF); if(Stat[S]==13) fprintf(fp,"\n\nPairwise RELATIONSHIP coefficients (Li et al., 1993)"); if(Stat[S]==14) fprintf(fp,"\n\nPairwise KINSHIP coefficients for ORDERED alleles (OJ Hardy, unpublished)"); + if(Stat[S]==15) fprintf(fp,"\n\nPairwise Qij (proportion of identical pairs of alleles)"); for(c=0;c<=nc+2;c++) fprintf(fp,"\t"); fprintf(fp,"distance range for regression analyses"); @@ -2468,7 +2544,7 @@ void writeIndStatresults(char *outputfilename,int n,int Nsg,int m,char namelocus for(l=0;l<=m+4;l++){ if(m==1 && l==0) l=1; if(l==0) fprintf(fp,"\nALL LOCI"); - if(l>0 && l<=m) fprintf(fp,"\n%s",namelocus[l]); + if(l>0 && l<=m) fprintf(fp,"\n%s",namelocus[l].n); if(m==1 && l>m) break; if(JKest==0 && l>m && l!=m+3) continue; if(varcoef==0 && l>m+2) break; @@ -2479,7 +2555,7 @@ void writeIndStatresults(char *outputfilename,int n,int Nsg,int m,char namelocus for(c=0;c<=nc+1;c++){ if((Stat[S]==11 || Stat[S]==12) && c==0 && l>0 && l<=m) fprintf(fp,"\t%G",H2[l]); - else if(((Stat[S]!=1 && Stat[S]!=2 && Stat[S]!=5 && Stat[S]!=14) && c==0) || corrSlc[S][l][c]==MISSVAL) fprintf(fp,"\t"); + else if(((Stat[S]!=1 && Stat[S]!=2 && Stat[S]!=5 && Stat[S]!=14 && Stat[S]!=15) && c==0) || corrSlc[S][l][c]==MISSVAL) fprintf(fp,"\t"); else if(l<=m+2) fprintf(fp,"\t%.4f",corrSlc[S][l][c]); else fprintf(fp,"\t%G",corrSlc[S][l][c]); if(nc==1 && c==nc+1) fprintf(fp,"\t"); @@ -2536,12 +2612,13 @@ void writeIndStatresults(char *outputfilename,int n,int Nsg,int m,char namelocus /**************************************************************************************/ -void writePopStatresults(char *outputfilename,int Npop,int m,char namelocus[][MAXNOM],int nc,double *maxc, +void writePopStatresults(char *outputfilename,int Npop,int m,struct name namelocus[],int nc,double *maxc, int *npc,float **indexpartic,double *mdc,double *mlndc,float dijmin,float dijmax, int StatType,int TypeComp,int cat1,int cat2,struct name *namecat,int NS,int Stat[12],float **corrSlc[],float **FstatSlr[], int JKest,int regdetails,int varcoef,int Rbtwloc,float ***RSll[12],float ***V[12],float **R2pl[12],int PWstat) { - int c,l,S,r; + int c,l,S,a,r; + char smess[SMAX]; FILE *fp; while((fp=fopen(outputfilename,"a"))==NULL){ @@ -2648,7 +2725,7 @@ void writePopStatresults(char *outputfilename,int Npop,int m,char namelocus[][MA for(l=0;l<=m+4;l++){ if(m==1 && l==0) l=1; if(l==0) fprintf(fp,"\nALL LOCI"); - if(l>0 && l<=m) fprintf(fp,"\n%s",namelocus[l]); + if(l>0 && l<=m) fprintf(fp,"\n%s",namelocus[l].n); if(m==1 && l>m) break; if(JKest==0 && l>m && l!=m+3) continue; if(l>m+2 && (varcoef==0 || Stat[S]==7 || Stat[S]==8)) break; @@ -2724,11 +2801,11 @@ void writePopStatresults(char *outputfilename,int Npop,int m,char namelocus[][MA void writedistmatrices (char *outputfilename,int n,int m,float givenF,int TypeComp, int *cati, int printdistmatrix,double *xi,double *yi,double *zi,double **Mdij,int *sgi, - int StatType,int NS,int Stat[12],float ***corrSlij[],struct name namei[], - char namelocus[][MAXNOM]) + int StatType,int NS,int Stat[12],float ***corrSlij[],struct name namei[],struct name namelocus[]) { int i,j,S,l,indivF,intraPop; char smess[SMAX]; + char ch; float dij; FILE *fp; @@ -2780,6 +2857,7 @@ void writedistmatrices (char *outputfilename,int n,int m,float givenF,int TypeCo if(Stat[S]==12) sprintf(smess,"\n\nPairwise RELATIONSHIP coefficients for a DOMINANT marker, assuming inbreeding coef=%.4f (Hardy, 2003)",givenF); if(Stat[S]==13) sprintf(smess,"\n\nPairwise RELATIONSHIP coefficients (Li et al., 1993)"); if(Stat[S]==14) sprintf(smess,"\n\nPairwise KINSHIP coefficients for ORDERED alleles (OJ Hardy, unpublished)"); + if(Stat[S]==15) sprintf(smess,"\n\nPairwise Qij (proportion of identical pairs of alleles)"); } else{ if(Stat[S]==1) sprintf(smess,"\n\nPairwise Fst (ANOVA approach)"); @@ -2802,7 +2880,7 @@ void writedistmatrices (char *outputfilename,int n,int m,float givenF,int TypeCo if(m==1) l=1; if(abs(printdistmatrix)==1 && m>1 && l>0) break; if(l==0) sprintf(smess,"\nALL LOCI"); - if(l>0) sprintf(smess,"\n%s",namelocus[l]); + if(l>0) sprintf(smess,"\n%s",namelocus[l].n); fprintf(fp,"\n%s",smess); for(i=1;i<=n;i++) fprintf(fp,"\t%s",namei[i].n); @@ -2833,7 +2911,7 @@ void writedistmatrices (char *outputfilename,int n,int m,float givenF,int TypeCo /*write pairwise results in column form*/ printf("\nWriting pairwise distances in column form. Please wait."); fprintf(fp,"\n\n\nPAIRWISE SPATIAL AND GENETIC DISTANCES written in column form"); - fprintf(fp,"\nName i\tName j\tNo. i\tNo. j\tSpatial dist"); + fprintf(fp,"\nName i\tName j\tNoi\tNoj\tSpatial dist"); if(Mdij[0][0]==-1.) fprintf(fp," (km)"); for(S=1;S<=NS;S++){ if(StatType==1){ @@ -2851,6 +2929,7 @@ void writedistmatrices (char *outputfilename,int n,int m,float givenF,int TypeCo if(Stat[S]==12) sprintf(smess,"\tPairwise RELATIONSHIP coefficients for a DOMINANT marker, assuming inbreeding coef=%.4f (Hardy, 2003)",givenF); if(Stat[S]==13) sprintf(smess,"\tPairwise RELATIONSHIP coefficients (Li et al., 1993)"); if(Stat[S]==14) sprintf(smess,"\tPairwise KINSHIP coefficients for ORDERED alleles (OJ Hardy, unpublished)"); + if(Stat[S]==15) sprintf(smess,"\tPairwise Qij (proportion of identical pairs of alleles)"); } if(StatType>=2){ if(Stat[S]==1) sprintf(smess,"\tFst"); @@ -2869,11 +2948,11 @@ void writedistmatrices (char *outputfilename,int n,int m,float givenF,int TypeCo } fprintf(fp,"%s",smess); if(m>1) fprintf(fp,"\tALL LOCI"); - if(m==1 || abs(printdistmatrix)==2) for(l=1;l<=m;l++) fprintf(fp,"\t%s",namelocus[l]); + if(m==1 || abs(printdistmatrix)==2) for(l=1;l<=m;l++) fprintf(fp,"\t%s",namelocus[l].n); }/*end of loop S*/ /* for(i=1;i1) for(S=1;S<=NS;S++)if(Stat[S]==10 || Stat[S]==12) intraPop=1; for(i=1;i<=n;i++)for(j=i;j<=n;j++){ @@ -2928,6 +3007,7 @@ void writedistmatrices (char *outputfilename,int n,int m,float givenF,int TypeCo if(Stat[S]==12) sprintf(smess,"\n\nPairwise RELATIONSHIP coefficients for a DOMINANT marker, assuming inbreeding coef=%.4f (Hardy, 2003)",givenF); if(Stat[S]==13) sprintf(smess,"\n\nPairwise RELATIONSHIP coefficients (Li et al., 1993)"); if(Stat[S]==14) sprintf(smess,"\n\nPairwise KINSHIP coefficients for ORDERED alleles (OJ Hardy, unpublished)"); + if(Stat[S]==15) sprintf(smess,"\n\nPairwise Qij (proportion of identical pairs of alleles)"); } else{ if(Stat[S]==1) sprintf(smess,"\n\nPairwise Fst (ANOVA approach)"); @@ -2981,13 +3061,14 @@ void writedistmatrices (char *outputfilename,int n,int m,float givenF,int TypeCo void WriteIndPermutRes(char *outputfilename,int n,int ploidy,int Ncat, - double *maxc,int m,char namelocus[][MAXNOM],int TypeComp,float givenF, + double *maxc,int m,struct name namelocus[],int TypeComp,float givenF, int nc,int Nsg,int NS,int Stat[],int Npermut[],int permutalleles, int permutdetails,struct resample_stat_type **r_statSlc[],long seedinit) { int c,l=0,S; float Pval; + char smess[SMAX]; char *permutmode[70]; FILE *fp; @@ -3019,7 +3100,7 @@ void WriteIndPermutRes(char *outputfilename,int n,int ploidy,int Ncat, if(TypeComp==2 && !permutalleles) fprintf(fp,"\nWARNING: Significant tests for spatial structuring (location permutations) in the case of pairwise comparisons among categories cannot be interpreted as a demonstration that gene flow occurs among categories (Hardy and Vekemans 2001)"); - fprintf(fp,"\nInitial seed= %i",abs(seedinit)); + fprintf(fp,"\nInitial seed= %li",labs(seedinit)); if(permutdetails==0){ if(permutalleles) fprintf(fp,"\nP values of 2-sided tests (obs<>exp) after %i random permutations of allele sizes",Npermut[4]); @@ -3044,14 +3125,15 @@ void WriteIndPermutRes(char *outputfilename,int n,int ploidy,int Ncat, if(Stat[S]==12) fprintf(fp,"\tPairwise RELATIONSHIP coefficients for a DOMINANT marker, assuming inbreeding coef=%.4f (Hardy, 2003)",givenF); if(Stat[S]==13) fprintf(fp,"\tPairwise RELATIONSHIP coefficients (Li et al., 1993)"); if(Stat[S]==14) fprintf(fp,"\tPairwise KINSHIP coefficients for ORDERED alleles (OJ Hardy, unpublished)"); + if(Stat[S]==15) fprintf(fp,"\tPairwise Qij (proportion of identical pairs of alleles)"); for(c=1;c<=nc+2;c++){fprintf(fp,"\t");} fprintf(fp,"\tSlopes of regression analyses"); if(Nsg>1) fprintf(fp,"\nLocus\tintra-individual\tintra-group"); else fprintf(fp,"\nLocus\tintra-individual\t1"); for(c=2;c<=nc;c++) fprintf(fp,"\t%i",c); - //if(Nsg>1) cinit=2; - //else cinit=1; + // if(Nsg>1) cinit=2; + // else cinit=1; fprintf(fp,"\t\t\tb-lin (slope linear dist)\tb-log (slope ln(dist))"); } @@ -3061,7 +3143,7 @@ void WriteIndPermutRes(char *outputfilename,int n,int ploidy,int Ncat, if(permutdetails==0 || (permutdetails==1 && l!=0)){ if(l==0) fprintf(fp,"\nALL LOCI"); - if(l>0) fprintf(fp,"\n%s",namelocus[l]); + if(l>0) fprintf(fp,"\n%s",namelocus[l].n); for(c=0;c<=nc;c++){ if(r_statSlc[S][l][c].pbil==MISSVAL) fprintf(fp,"\t"); @@ -3082,7 +3164,7 @@ void WriteIndPermutRes(char *outputfilename,int n,int ploidy,int Ncat, if(permutdetails==2 || (permutdetails==1 && l==0)){ if(l==0) fprintf(fp,"\n\nALL LOCI"); - if(l>0) fprintf(fp,"\n%s",namelocus[l]); + if(l>0) fprintf(fp,"\n%s",namelocus[l].n); if(Stat[S]==1) fprintf(fp,"\tPairwise KINSHIP coefficients (Loiselle et al., 1995)"); if(Stat[S]==2) fprintf(fp,"\tPairwise KINSHIP coefficients (Ritland, 1996)"); @@ -3098,6 +3180,7 @@ void WriteIndPermutRes(char *outputfilename,int n,int ploidy,int Ncat, if(Stat[S]==12) fprintf(fp,"\tPairwise RELATIONSHIP coefficients for a DOMINANT marker, assuming inbreeding coef=%.4f (Hardy, 2003)",givenF); if(Stat[S]==13) fprintf(fp,"\tPairwise RELATIONSHIP coefficients (Li et al., 1993)"); if(Stat[S]==14) fprintf(fp,"\tPairwise KINSHIP coefficients for ORDERED alleles (OJ Hardy, unpublished)"); + if(Stat[S]==15) fprintf(fp,"\tPairwise Qij (proportion of identical pairs of alleles)"); for(c=1;c<=nc+2;c++) fprintf(fp,"\t"); fprintf(fp,"\tSlopes of regression analyses"); @@ -3107,8 +3190,8 @@ void WriteIndPermutRes(char *outputfilename,int n,int ploidy,int Ncat, for(c=2;c<=nc;c++) fprintf(fp,"\t%i",c); - //if(Nsg>1) cinit=2; - //else cinit=1; + // if(Nsg>1) cinit=2; + // else cinit=1; fprintf(fp,"\t\t\tb-lin (slope linear dist)\tb-log (slope ln(dist))"); fprintf(fp,"\nObject permuted"); @@ -3201,7 +3284,7 @@ void WriteIndPermutRes(char *outputfilename,int n,int ploidy,int Ncat, /*************************************************************************************/ -void WriteFiPermutRes(char *outputfilename,int m,char namelocus[][MAXNOM],int Npop,struct name namepop[], +void WriteFiPermutRes(char *outputfilename,int m,struct name namelocus[],int Npop,struct name namepop[], int permutdetails,float **Fpl,struct resample_stat_type **r_statFlp,int Npermut,long seedinit) { @@ -3217,7 +3300,7 @@ void WriteFiPermutRes(char *outputfilename,int m,char namelocus[][MAXNOM],int Np printf("\nWriting permutation results. Please, wait."); fprintf(fp,"\n\nGENE PERMUTATION TESTS for INBREEDING COEFFICIENT within EACH POPULATION -> Ho: obs=exp (exp = mean value after permutation)"); - fprintf(fp,"\nInitial seed= %i",abs(seedinit)); + fprintf(fp,"\nInitial seed= %li",labs(seedinit)); if(permutdetails==0){ fprintf(fp,"\nP values of 2-sided tests (obs<>exp) after %i random permutations of gene copies among individuals within each population",Npermut); } @@ -3230,7 +3313,7 @@ void WriteFiPermutRes(char *outputfilename,int m,char namelocus[][MAXNOM],int Np if(m==1) l=1; for(p=1;p<=Npop;p++){ if(l==0) fprintf(fp,"\nALL LOCI\t%s\t%f",namepop[p].n,Fpl[p][l]); - if(l>0) fprintf(fp,"\n%s\t%s\t%f",namelocus[l],namepop[p].n,Fpl[p][l]); + if(l>0) fprintf(fp,"\n%s\t%s\t%f",namelocus[l].n,namepop[p].n,Fpl[p][l]); if(permutdetails==0){ if(r_statFlp[p][l].pbil!=MISSVAL) fprintf(fp,"\t%.4f",r_statFlp[p][l].pbil); else fprintf(fp,"\t"); @@ -3269,13 +3352,15 @@ void WriteFiPermutRes(char *outputfilename,int m,char namelocus[][MAXNOM],int Np /*************************************************************************************/ void WritePopPermutRes(char *outputfilename,int n,int ploidy, - double *maxc,int m,char namelocus[][MAXNOM],int TypeComp, + double *maxc,int m,struct name namelocus[],int TypeComp, int nc,int NS,int Stat[],int Npermut[],int permutalleles, int permutdetails,struct resample_stat_type **r_statFSlr[], struct resample_stat_type **r_statSlc[],long seedinit,int PWstat) { - int c,l=0,S,r; + int c,l=0,cinit,S,r,ri,rf; + float Pval; + char smess[SMAX]; char *permutmode[70]; FILE *fp; @@ -3310,7 +3395,7 @@ void WritePopPermutRes(char *outputfilename,int n,int ploidy, if(TypeComp==2 && !permutalleles){ fprintf(fp,"\nWARNING: Significant tests for spatial structuring (location permutations) in the case of pairwise comparisons among categories cannot be interpreted as a demonstration that gene flow occurs among categories (Hardy and Vekemans 2001)"); } - fprintf(fp,"\nInitial seed= %i",abs(seedinit)); + fprintf(fp,"\nInitial seed= %li",labs(seedinit)); if(permutdetails==0){ if(permutalleles) fprintf(fp,"\nP values of 2-sided tests (obs<>exp) after %i random permutations of allele sizes",Npermut[4]); else fprintf(fp,"\nP values of 2-sided tests (obs<>exp) after %i random permutations of locations, %i random permutations of individuals, and %i random permutations of gene copies",Npermut[1],Npermut[2],Npermut[3]); @@ -3369,7 +3454,7 @@ void WritePopPermutRes(char *outputfilename,int n,int ploidy, if(permutdetails==0 || (permutdetails==1 && l!=0)){ if(l==0) fprintf(fp,"\nALL LOCI"); - if(l>0) fprintf(fp,"\n%s",namelocus[l]); + if(l>0) fprintf(fp,"\n%s",namelocus[l].n); for(r=1;r<=3;r++){ if(r_statFSlr[S][l][r].pbil!=MISSVAL) fprintf(fp,"\t%.4f",r_statFSlr[S][l][r].pbil); @@ -3391,7 +3476,7 @@ void WritePopPermutRes(char *outputfilename,int n,int ploidy, /*write complete analysis*/ if(permutdetails==2 || (permutdetails==1 && l==0)){ if(l==0) fprintf(fp,"\n\nALL LOCI"); - if(l>0) fprintf(fp,"\n%s",namelocus[l]); + if(l>0) fprintf(fp,"\n%s",namelocus[l].n); if(PWstat){ if(Stat[S]==1) fprintf(fp,"\tGlobal F-statistics \t\t\t\t\tPairwise Fst"); @@ -3591,7 +3676,7 @@ void WritePopPermutRes(char *outputfilename,int n,int ploidy, }/*end of procedure WritePopPermutRes*/ /*******************************************************************************/ -void WritePermutResForPopPair(char *outputfilename,int m,char namelocus[][MAXNOM], +void WritePermutResForPopPair(char *outputfilename,int m,struct name namelocus[], int p1,int p2,struct name *namepop,int NS,int Stat[], struct resample_stat_type **r_statSlc[],int permutdetails,int comp) @@ -3660,12 +3745,12 @@ void WritePermutResForPopPair(char *outputfilename,int m,char namelocus[][MAXNOM if(allelepermuttest) if(Stat[S]!=5 && Stat[S]!=6 && Stat[S]!=8 && Stat[S]!=11 && Stat[S]!=12) continue; for(l=linit;l<=m;l++){ if(l==0) sprintf(smess,"\tALL LOCI"); - if(l>0) sprintf(smess,"\t%s",namelocus[l]); + if(l>0) sprintf(smess,"\t%s",namelocus[l].n); if(permutdetails==2 || (permutdetails==1 && l==0)) for(k=1;k<=11;k++) fprintf(fp,"%s",smess); if(permutdetails==0 || (permutdetails==1 && l!=0)) fprintf(fp,"%s",smess); } } - fprintf(fp,"\nName i\tName j\tNo. i\tNo. j"); + fprintf(fp,"\nName i\tName j\tNoi\tNoj"); for(S=1;S<=NS;S++){ if(allelepermuttest) if(Stat[S]!=5 && Stat[S]!=6 && Stat[S]!=8 && Stat[S]!=11 && Stat[S]!=12) continue; for(l=linit;l<=m;l++){ @@ -3821,9 +3906,36 @@ void readsfromfile(FILE *fp, char *s, char *inputfile, int *line) /***********************************************************************/ +void readsfromfile2(FILE *fp, char *s, char *inputfile, int *line) //to read lines containig up to SMAX2 characters +{ + char *flag,smess[SMAX]; + + + (*line)++; + flag = fgets(s,SMAX2,fp); + if(! flag) { + if (feof(fp)) { + sprintf(smess,"\nEnd of file unexpected on line %d from file %s",*line,inputfile); + write(ERRORFILE,smess); + printf("\npress any key to stop the program now"); + wait_a_char(); + exit(1); + } else { + sprintf(smess,"\ncannot read line %d from file %s",*line,inputfile); + write(ERRORFILE,smess); + printf("\npress any key to stop the program now"); + wait_a_char(); + exit(1); + } + } +} /*end of readsfromfile2*/ + +/***********************************************************************/ + void readsfromfile_no_end_of_file_check(FILE *fp, char *s, char *inputfile, int *line) { - //char *flag; + //char *flag; + char smess[SMAX]; (*line)++; diff --git a/src/Autocio.h b/src/Autocio.h index 2e7390d..4687e1c 100644 --- a/src/Autocio.h +++ b/src/Autocio.h @@ -27,69 +27,70 @@ void import_data_file(char *inputfile); void export_data_file(int StatType,char inputfile[],int n, double *xi,double *yi,double *zi,double *xp,double *yp,double *zp,double **Mdij, int *popi,int Npop,int m,int ndigit,int *Nallelel,int ***gilc,int **allelesizela, - struct name namei[],struct name namepop[],char namelocus[][MAXNOM]); -void readbasicinfoF(char *inputfile,int *n,int *ncat,int *ncoord,int *mp,int *ndigit,int *ploidy, - char catname[MAXNOM],char namecoord[] [MAXNOM],char namelocus[][MAXNOM], - int *nc,double *maxc); -void readsecondinfoF(char *inputfile,int n,struct name namei[],int Ncat,struct name namecat[], - struct name namecati[],int *cati,int ncoord,double *xi,double *yi,double *zi, - int m,int ndigit,int ploidy,int ***gila,int *Nallelel,int **allelesizela, - int *ploidyi,int Nip[],double *H2); + struct name namei[],struct name namepop[],struct name namelocus[]); +void readbasicinfoF(char *inputfile,int *n,int *ncat,int *ncoord,int *mp,int *ndigit,int *ploidy,int *nc,double *maxc); + +void readsecondinfoF(char *inputfile,int n,struct name namei[],char catname[MAXNOM],char namecoord[][MAXNOM], + int Ncat,struct name namecat[],struct name namelocus[], + struct name namecati[],int *cati,int ncoord,double *xi,double *yi,double *zi, + int m,int ndigit,int ploidy,int ***gilc,int *Nallelel,int **allelesizela, + int *ploidyi,int Nip[],double *H2,double *alpha); void displaybasicinfoF(int argc,char *inputfilename,char *outputfilename, int n,int Ncat,int *Nik,int ncoord,int m,int ndigit, - int ploidy,int *ploidyi,int Nip[],char namelocus[] [MAXNOM], + int ploidy,int *ploidyi,int Nip[],struct name namelocus[], char namecoord[] [MAXNOM],struct name *namecat, int nc,double *maxc,int Nsg,int *Nig,int Nskg,int *Niskg); void define_analysisF(int argc,char *instrfile,int n,int ploidy,int ndigit,int m,int Ncat,int Nsg,int Nskg,int ncoord, int *StatType,int *NS,int Stat[12],int *TypeComp,int *cat1,int *cat2, struct name *namecat,int *FreqRef,float *givenF,int *writeallelefreq,int *JKest,int *distmatrix,int Npermut[], - float *dijmin,float *dijmax,int *writeresampdistr,int *regdetails,int *varcoef,int *Rbtwloc,float *sigmaest,float *density,float *dwidth, + float *dijmin,float *dijmax,int *writeresampdistr,int *regdetails,int *varcoef,int *Rbtwloc,int *estselfing,float *sigmaest,float *density,float *dwidth, int *permutdetails,int *distm,char *inputfilename,char *distfilename,char *freqfilename,int *K, int *definealleledist,char *alleledistfilename,int *export,long *seed); void read_pairwise_spatial_distances(char *inputfile,char *distfile,int n, struct name *namei,double **Mdij); void read_pairwise_genetic_distances(char *inputfile,char *distfile,int m, - char namelocusp[] [MAXNOM],int *Nallelel,int **allelenamela,float ***Mgdlaa); -void read_allele_frequencies(char *freqfile,int m,char namelocus[][MAXNOM],int *Nallelel, + struct name namelocus[],int *Nallelel,int **allelenamela,float ***Mgdlaa); +void read_allele_frequencies(char *freqfile,int m,struct name namelocus[],int *Nallelel, int **allelesizela, float **givenPla,int *Ngivenallelel); -void write_allele_freq(char *outputfilename,int n,int m,char namelocus[][MAXNOM],int ndigit,int ploidy, +void write_allele_freq(char *outputfilename,int n,int m,struct name namelocus[],int ndigit,int ploidy, int Npop,int *Nip,struct name namepop[],int StatType,int NS,int Stat[],int **allelesizela, - int **Nallelepl,float ***Ppla,float **Nnielsenpl,float **RA, int K,float **Hepl,float **hTpl,float **uTpl, + int **Nallelepl,float ***Ppla,float **Nnielsenpl,float **RA, int K,float **Hopl,float **Hepl,float **hTpl,float **uTpl, float **Dmpl,float **Dwmpl,float **Masizepl,float **Vasizepl,int **Nmissinggenotpl,int **Nincompletegenotpl, int **Nvalgenpl,int printallelefreq,int FreqRef,int *Ngivenallelel,float **givenPla,float**Fpl,int Npermut,struct resample_stat_type **rstatFlp); void displaydist(int argc,char *outputfilename,int nc,double *maxc,double *mdc,double *mlndc, int *npc,float **indexpartic); -void writeIndStatresults(char *outputfilename,int n,int Nsg,int m,char namelocus[][MAXNOM],int nc,double *maxc, +void writeIndStatresults(char *outputfilename,int n,int Nsg,int m,struct name namelocus[],int nc,double *maxc, int *npc,float **indexpartic,double *mdc,double *mlndc,float dijmin,float dijmax,float givenF,double *H2, int TypeComp,int cat1,int cat2,struct name *namecat,int FreqRef,int NS,int Stat[12],float **corrSvc[10],float density,float dwidth, int JKest,int regdetails,int varcoef,int Rbtwloc,float ***RSll[12],float ***V[12],float **R2pl[12]); -void WriteFiPermutRes(char *outputfilename,int m,char namelocus[][MAXNOM],int Npop,struct name namepop[], +void WriteFiPermutRes(char *outputfilename,int m,struct name namelocus[],int Npop,struct name namepop[], int permutdetails,float **Fpl,struct resample_stat_type **r_statFlp,int Npermut,long seedinit); -void writePopStatresults(char *outputfilename,int Npop,int m,char namelocus[][MAXNOM],int nc,double *maxc, +void writePopStatresults(char *outputfilename,int Npop,int m,struct name namelocus[],int nc,double *maxc, int *npc,float **indexpartic,double *mdc,double *mlndc,float dijmin,float dijmax, int StatType,int TypeComp,int cat1,int cat2,struct name *namecat,int NS,int Stat[12],float **corrSlc[],float **FstatSlr[], int JKest,int regdetails,int varcoef,int Rbtwloc,float ***RSll[12],float ***V[12],float **R2pl[12],int PWstat); void writedistmatrices (char *outputfilename,int n,int m,float givenF,int TypeComp, int *cati, int printdistmatrix,double *xi,double *yi,double *zi,double **Mdij,int *sgi, int StatType,int NS,int Stat[12], - float ***corrSlij[10],struct name namei[],char namelocus[][MAXNOM]); + float ***corrSlij[10],struct name namei[],struct name namelocus[]); void WriteIndPermutRes(char *outputfilename,int n,int ploidy,int Ncat, - double *maxc,int m,char namelocus[][MAXNOM],int TypeComp,float givenF, + double *maxc,int m,struct name namelocus[],int TypeComp,float givenF, int nc,int Nsg,int NS,int Stat[],int Npermut[],int permutalleles, int permutdetails,struct resample_stat_type **r_statSlc[10],long seedinit); void WritePopPermutRes(char *outputfilename,int n,int ploidy, - double *maxc,int m,char namelocus[][MAXNOM],int TypeComp, + double *maxc,int m,struct name namelocus[],int TypeComp, int nc,int NS,int Stat[],int Npermut[],int permutalleles, int permutdetails,struct resample_stat_type **r_statFSlr[], struct resample_stat_type **r_statSlc[],long seedinit,int PWstat); -void WritePermutResForPopPair(char *outputfilename,int m,char namelocus[][MAXNOM], +void WritePermutResForPopPair(char *outputfilename,int m,struct name namelocus[], int p1,int p2,struct name *namepop,int NS,int Stat[], struct resample_stat_type **r_statSlc[10],int permutdetails,int comp); char *nexttab(char *s, char *inputfile, int line); char *nexttab_blank(char *s, char *inputfile, int line); void readsfromfile(FILE *fp, char *s, char *inputfile, int *line); +void readsfromfile2(FILE *fp, char *s, char *inputfile, int *line); void readsfromfile_no_end_of_file_check(FILE *fp, char *s, char *inputfile, int *line); void readsfromstring(char *ins, char *outs,int nchar, char *inputfile, int line); void readintfromstring(char *ins, int *outi, char *inputfile, int line); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 58f0952..1bc58bc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,41 +1,21 @@ INCLUDE(CheckIncludeFile) INCLUDE(CheckFunctionExists) INCLUDE(CheckLibraryExists) +INCLUDE(CheckCCompilerFlag) -ADD_DEFINITIONS(-DHAVE_CONFIG_H -DHAVE_VERSION_H) +ADD_DEFINITIONS(-DHAVE_CONFIG_H) -IF(CMAKE_COMPILER_IS_GNUCC) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unused-variable") -ENDIF(CMAKE_COMPILER_IS_GNUCC) +string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_lc) -IF(MSVC) - ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE) - ADD_DEFINITIONS(-D_SCL_SECURE_NO_DEPRECATE) - SET(CMAKE_C_FLAGS "${MY_C_FLAGS} /wd4100 /wd4101 /wd4189 /wd4706") - STRING(REGEX REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") - STRING(REGEX REPLACE "/MDd" "/MTd" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") - - # Use the highest warning level for visual studio. - SET(CMAKE_C_WARNING_LEVEL 4) - IF(CMAKE_C_FLAGS MATCHES "/W[0-4]") - STRING(REGEX REPLACE "/W[0-4]" "/W4" - CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - ELSE(CMAKE_C_FLAGS MATCHES "/W[0-4]") - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4") - ENDIF(CMAKE_C_FLAGS MATCHES "/W[0-4]") -ENDIF(MSVC) - -IF(UNIX) - SET(CMAKE_REQUIRED_LIBRARIES m) -ENDIF(UNIX) - -IF(WIN32) - SET(RES_SRCS ${RES_SRCS} spagedi.rc) -ENDIF(WIN32) - -IF(APPLE_BUNDLE_APP) - SET(SPAGEDI_MACOSX_BUNDLE MACOSX_BUNDLE) -ENDIF(APPLE_BUNDLE_APP) +IF(cmake_build_type_lc STREQUAL "debug") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") +ELSE() + CHECK_C_COMPILER_FLAG(-Wno-stringop-truncation, COMPILER_NO_STRINGOP_TRUNCATION) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-variable") + IF(COMPILER_NO_STRINGOP_TRUNCATION) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-stringop-truncation") + ENDIF() +ENDIF() CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H) CHECK_INCLUDE_FILE("libgen.h" HAVE_LIBGEN_H) @@ -53,28 +33,6 @@ ADD_EXECUTABLE(spagedi ${SPAGEDI_MACOSX_BUNDLE} ${CMAKE_CURRENT_BINARY_DIR}/config.h ${RES_SRCS}) -TARGET_LINK_LIBRARIES(spagedi ${CMAKE_REQUIRED_LIBRARIES}) - -ADD_DEPENDENCIES(spagedi version) - -IF(APPLE_BUNDLE_APP) - SET_TARGET_PROPERTIES(spagedi PROPERTIES OUTPUT_NAME ${SPAGEDI_BUNDLE_NAME}) - SET(SPAGEDI_INSTALL_EXTRA_ARGS BUNDLE DESTINATION "${SPAGEDI_BUNDLE_LOCATION}") -ENDIF(APPLE_BUNDLE_APP) +TARGET_LINK_LIBRARIES(spagedi m) INSTALL(TARGETS spagedi RUNTIME DESTINATION bin ${SPAGEDI_INSTALL_EXTRA_ARGS}) - -IF(UNIX) - INSTALL(FILES SPAGeDi.desktop DESTINATION share/applications ) - INSTALL(FILES SPAGeDi.png DESTINATION share/pixmaps ) -ENDIF(UNIX) - -IF(APPLE_BUNDLE_APP) - INSTALL(CODE "file(MAKE_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)") - INSTALL(CODE "execute_process(COMMAND ln -s \"../MacOS/${SPAGEDI_BUNDLE_NAME}\" spagedi - WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)") -# INSTALL(CODE "set(input_file -# \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/${SPAGEDI_BUNDLE_NAME}\")") -# INSTALL(SCRIPT "${CMAKE_SOURCE_DIR}/CMakeIngestOSXBundleLibraries.cmake") -ENDIF(APPLE_BUNDLE_APP) - diff --git a/src/Xatools.c b/src/Xatools.c index 7d2839d..17a14de 100644 --- a/src/Xatools.c +++ b/src/Xatools.c @@ -52,6 +52,7 @@ int *ivector(long int nl, long int nh) v=(int *)malloc((size_t) ((nh-nl+1+NR_END)*sizeof(int))); if (!v) { write(ERRORFILE,"\nallocation failure in ivector()"); + wait_a_char(); exit(1); } return v-nl+NR_END; @@ -73,6 +74,7 @@ long *lvector(long int nl, long int nh) v=(long *)malloc((size_t) ((nh-nl+1+NR_END)*sizeof(long))); if (!v) { write(ERRORFILE,"\nallocation failure in lvector()"); + wait_a_char(); exit(1); } return v-nl+NR_END; @@ -94,6 +96,7 @@ float *vector(long int nl, long int nh) v=(float *)malloc((size_t) ((nh-nl+1+NR_END)*sizeof(float))); if (!v) { write(ERRORFILE,"\nallocation failure in vector()"); + wait_a_char(); exit(1); } return v-nl+NR_END; @@ -114,6 +117,7 @@ double *dvector(long int nl, long int nh) v=(double *)malloc((size_t) ((nh-nl+1+NR_END)*sizeof(double))); if (!v) { write(ERRORFILE,"\nallocation failure in dvector()"); + wait_a_char(); exit(1); } return v-nl+NR_END; @@ -134,6 +138,7 @@ char *cvector(long int nl, long int nh) v=(char *)malloc((size_t) ((nh-nl+1+NR_END)*sizeof(char))); if (!v) { write(ERRORFILE,"\nallocation failure in dvector()"); + wait_a_char(); exit(1); } return v-nl+NR_END; @@ -156,6 +161,7 @@ int **imatrix(long nrl, long nrh,long ncl, long nch) m=(int **) malloc((size_t)((nrow+NR_END)*sizeof(int*))); if (!m) { write(ERRORFILE,"\nallocation failure 1 in imatrix()"); + wait_a_char(); exit(1); } m += NR_END; @@ -165,6 +171,7 @@ int **imatrix(long nrl, long nrh,long ncl, long nch) m[nrl]=(int *) malloc((size_t)((nrow*ncol+NR_END)*sizeof(int))); if (!m[nrl]) { write(ERRORFILE,"\nallocation failure 2 in imatrix()"); + wait_a_char(); exit(1); } m[nrl] += NR_END; @@ -196,6 +203,7 @@ float **matrix(long nrl, long nrh,long ncl, long nch) if (!m) { write(ERRORFILE,"\nallocation failure 1 in matrix()"); + wait_a_char(); exit(1); } m += NR_END; @@ -205,6 +213,7 @@ float **matrix(long nrl, long nrh,long ncl, long nch) m[nrl]=(float *) malloc((size_t)((nrow*ncol+NR_END)*sizeof(float))); if (!m[nrl]) { write(ERRORFILE,"\nallocation failure 2 in matrix()"); + wait_a_char(); exit(1); } m[nrl] += NR_END; @@ -234,6 +243,7 @@ double **dmatrix(long nrl, long nrh,long ncl, long nch) m=(double **) malloc((size_t)((nrow+NR_END)*sizeof(double *))); if (!m) { write(ERRORFILE,"\nallocation failure 1 in matrix()"); + wait_a_char(); exit(1); } m += NR_END; @@ -243,6 +253,7 @@ double **dmatrix(long nrl, long nrh,long ncl, long nch) m[nrl]=(double *) malloc((size_t)((nrow*ncol+NR_END)*sizeof(double))); if (!m[nrl]) { write(ERRORFILE,"\nallocation failure 2 in matrix()"); + wait_a_char(); exit(1); } m[nrl] += NR_END; @@ -273,6 +284,7 @@ char **cmatrix(long nrl, long nrh,long ncl, long nch) m=(char **) malloc((size_t)((nrow+NR_END)*sizeof(char *))); if (!m) { write(ERRORFILE,"\nallocation failure 1 in matrix()"); + wait_a_char(); exit(1); } m += NR_END; @@ -282,6 +294,7 @@ char **cmatrix(long nrl, long nrh,long ncl, long nch) m[nrl]=(char *) malloc((size_t)((nrow*ncol+NR_END)*sizeof(char))); if (!m[nrl]) { write(ERRORFILE,"\nallocation failure 2 in matrix()"); + wait_a_char(); exit(1); } m[nrl] += NR_END; @@ -311,6 +324,7 @@ float ***fpmatrix(long nrl, long nrh,long ncl, long nch) m=(float ***) malloc((size_t)((nrow+NR_END)*sizeof(float **))); if (!m) { write(ERRORFILE,"\nallocation failure 1 in matrix()"); + wait_a_char(); exit(1); } m += NR_END; @@ -320,6 +334,7 @@ float ***fpmatrix(long nrl, long nrh,long ncl, long nch) m[nrl]=(float **) malloc((size_t)((nrow*ncol+NR_END)*sizeof(float*))); if (!m[nrl]) { write(ERRORFILE,"\nallocation failure 2 in matrix()"); + wait_a_char(); exit(1); } m[nrl] += NR_END; @@ -350,6 +365,7 @@ float ***f3tensor(long nrl, long nrh,long ncl, long nch,long ndl,long ndh) t=(float ***) malloc((size_t)((nrow+NR_END)*sizeof(float **))); if (!t) { write(ERRORFILE,"\nallocation failure 1 in f3tensor()"); + wait_a_char(); exit(1); } t += NR_END; @@ -359,6 +375,7 @@ float ***f3tensor(long nrl, long nrh,long ncl, long nch,long ndl,long ndh) t[nrl]=(float **) malloc((size_t)((nrow*ncol+NR_END)*sizeof(float *))); if (!t[nrl]) { write(ERRORFILE,"\nallocation failure 2 in f3tensor()"); + wait_a_char(); exit(1); } t[nrl] += NR_END; @@ -368,6 +385,7 @@ float ***f3tensor(long nrl, long nrh,long ncl, long nch,long ndl,long ndh) t[nrl][ncl]=(float *) malloc((size_t)((nrow*ncol*ndep+NR_END)*sizeof(float ))); if (!t[nrl][ncl]) { write(ERRORFILE,"\nallocation failure 3 in f3tensor()"); + wait_a_char(); exit(1); } t[nrl][ncl] += NR_END; @@ -405,6 +423,7 @@ double ***d3tensor(long nrl, long nrh,long ncl, long nch,long ndl,long ndh) t=(double ***) malloc((size_t)((nrow+NR_END)*sizeof(double **))); if (!t) { write(ERRORFILE,"\nallocation failure 1 in f3tensor()"); + wait_a_char(); exit(1); } t += NR_END; @@ -414,6 +433,7 @@ double ***d3tensor(long nrl, long nrh,long ncl, long nch,long ndl,long ndh) t[nrl]=(double **) malloc((size_t)((nrow*ncol+NR_END)*sizeof(double *))); if (!t[nrl]) { write(ERRORFILE,"\nallocation failure 2 in f3tensor()"); + wait_a_char(); exit(1); } t[nrl] += NR_END; @@ -423,6 +443,7 @@ double ***d3tensor(long nrl, long nrh,long ncl, long nch,long ndl,long ndh) t[nrl][ncl]=(double *) malloc((size_t)((nrow*ncol*ndep+NR_END)*sizeof(double ))); if (!t[nrl][ncl]) { write(ERRORFILE,"\nallocation failure 3 in f3tensor()"); + wait_a_char(); exit(1); } t[nrl][ncl] += NR_END; @@ -459,6 +480,7 @@ int ***i3tensor(long nrl, long nrh,long ncl, long nch,long ndl,long ndh) t=(int ***) malloc((size_t)((nrow+NR_END)*sizeof(int **))); if (!t) { write(ERRORFILE,"\nallocation failure 1 in f3tensor()"); + wait_a_char(); exit(1); } t += NR_END; @@ -468,6 +490,7 @@ int ***i3tensor(long nrl, long nrh,long ncl, long nch,long ndl,long ndh) t[nrl]=(int **) malloc((size_t)((nrow*ncol+NR_END)*sizeof(int *))); if (!t[nrl]) { write(ERRORFILE,"\nallocation failure 2 in f3tensor()"); + wait_a_char(); exit(1); } t[nrl] += NR_END; @@ -477,6 +500,7 @@ int ***i3tensor(long nrl, long nrh,long ncl, long nch,long ndl,long ndh) t[nrl][ncl]=(int *) malloc((size_t)((nrow*ncol*ndep+NR_END)*sizeof(int ))); if (!t[nrl][ncl]) { write(ERRORFILE,"\nallocation failure 3 in f3tensor()"); + wait_a_char(); exit(1); } t[nrl][ncl] += NR_END; @@ -756,7 +780,8 @@ void tutest(float data1[],unsigned long n1,float data2[],unsigned long n2,float with unequal variances and its significance as prob, small values of prob indicating a significant difference of means, numerical recipes p. 617*/ { - float var1,var2,ave1,ave2; + unsigned long j,count=0; + float var1,var2,ave1,ave2,sd,cov=0.0F; if((n1<=1) || (n2<=1)) { if((n1==0) || (n2==0)) @@ -778,10 +803,9 @@ significant difference of means, numerical recipes p. 617*/ } *t=(float)((ave1-ave2)/sqrt(var1/n1+var2/n2)); - /* df = (float)(sqr(var1/n1+var2/n2)/(sqr(var1/n1)/(n1-1)+sqr(var2/n2)/(n2-1)));*/ -/* *prob=betai(0.5*df,0.5,df/(df+sqr(*t))); */ + //df = (float)(sqr(var1/n1+var2/n2)/(sqr(var1/n1)/(n1-1)+sqr(var2/n2)/(n2-1))); *prob=0.0F; /*routine betai not yet implemented*/ - +/* *prob=betai(0.5*df,0.5,df/(df+sqr(*t))); */ } /*end procedure tutest*/ @@ -1018,6 +1042,7 @@ void resample_analyze(float *r_vector,unsigned long first,unsigned long last, unsigned long low95,high95,low99,high99; unsigned long n,i; double average=0.,var=0.; + float ploworequal,phighorequal; r_stat->obs=observed; n=last-first+1; diff --git a/src/config.h.cmake b/src/config.h.cmake index b5266f8..bd04228 100644 --- a/src/config.h.cmake +++ b/src/config.h.cmake @@ -2,6 +2,8 @@ #ifndef SPAGEDI_CONFIG_H #define SPAGEDI_CONFIG_H +#define SPAGEDI_VERSION "@SPAGEDI_VERSION@" + #cmakedefine HAVE_UNISTD_H 1 #cmakedefine HAVE_DIRECT_H 1 #cmakedefine HAVE_LIBGEN_H 1 diff --git a/src/main.c b/src/main.c index 4c4517d..d47a0ae 100644 --- a/src/main.c +++ b/src/main.c @@ -1,5 +1,5 @@ /************************************************************************* - * Copyright (c) 2002-2009 Olivier Hardy and Xavier Vekemans * + * Copyright (c) 2002-2015 Olivier Hardy and Xavier Vekemans * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -24,8 +24,6 @@ #include "Autocio.h" #include "Xatools.h" -#include "package.h" - long seed; @@ -44,7 +42,7 @@ int main(int argc,char *argv[]) char catname[MAXNOM]; //identifier of each category name int *cati; //categ of ind i; categ of spatial group g int m; //number of loci - char namelocus[MMAX][MAXNOM]; //identifier of each locus (idem) +// char **namelocus; //identifier of each locus (idem) int ncoord; //number of spatial coordinates char namecoord[NCOORDMAX+1] [MAXNOM]; //identifier of each variable (idem) double *xi,*yi,*zi; //position in x, y, z coordinates of individuals (i) @@ -59,8 +57,8 @@ int main(int argc,char *argv[]) int *Niskg; int Npop,*popi,*Nip,*catp; double *xp,*yp,*zp; - double *H2; - struct name *namei,*namecat,*namecati,*namesg,*nameskg,*namepop; + double *H2,*alpha; + struct name *namei,*namecat,*namecati,*namesg,*nameskg,*namepop,*namelocus; int export; //=1 if data to be exported to Genepop or Fstat format int ndigit; //number of digits per allele @@ -72,16 +70,15 @@ int main(int argc,char *argv[]) double maxc[MAXINTERVALS];//max value for each distance interval float givenF; - int p,p1,l; + int i,p,p1,l,linit,k,newi,*newii,*oldii; - int ***gilc,***gilcmix; //genotype of ind i at locus l and chromosome a - + int ***gilc,***gilcmix,a1,a2; //genotype of ind i at locus l and chromosome a int **allelesizela; //allele lenght (number defined in the data file) float ***Mgdlaa; //genetic distance between alleles at each locus - float ***Ppla,**Hepl,**Nnielsenpl,**RA,**hTpl,**vTpl,**Dmpl,**Dwmpl,**Masizepl,**Vasizepl,**Fpl,**Fplmix,***Flpp; //matrix of expected heterozygosity, allele frequencies, mean of allele size, and variance of allele size for locus l and pop p - struct resample_stat_type **r_statFlp = NULL; + float ***Ppla,**Hepl,**Hopl,**Nnielsenpl,**RA,**hTpl,**vTpl,**Dmpl,**Dwmpl,**Masizepl,**Vasizepl,**Fpl,**Fplmix,***Flpp; //matrix of expected heterozygosity, allele frequencies, mean of allele size, and variance of allele size for locus l and pop p + struct resample_stat_type **r_statFlp=NULL; int **Nallelepl,**Nvalgenpl,K=0; //number of alleles per locus; tot # of defined gene per locus (=ploidy*#ind, except 0 values) - int *Nallelel,Ngivenallelel[MMAX]; + int *Nallelel,*Ngivenallelel=NULL; int StatType; //StatType=1 for pairs of ind, 2 for pairs of spatial groups, 3 for pairs of categorical groups int FreqRef; //FreqRef=-1 when ref allele frequencies are given in data file, =0 when it refers to the whole sample, =1 when it refers to a given category, =-2 when allele freq = unweighted mean freq over categories float **givenPla = NULL;//reference allele frequencies given @@ -100,8 +97,9 @@ int main(int argc,char *argv[]) int Rbtwloc; //=1 if the mean inter-locus correlation coefficients for genetic distances must be computed int permutdetails; int printdistmatrix=0; // 1 if genetic and spatial distances matrices are to be printed - int permutalleles=0; //=0 if no estimate of inbreeding asked + int estinbreeding=0,permutalleles=0,estselfing=0; //=0 if no estimate of inbreeding asked + FILE *filep; smess=cvector(0,SMAX); /* @@ -113,7 +111,7 @@ strcpy(instrfile,"instruction.txt"); printf("\n%s \n - a program for Spatial Pattern Analysis of Genetic Diversity\n" " Written by Olivier Hardy & Xavier Vekemans\n" - " Contributions by Reed Cartwright\n", VERSION); + " Unix port by Reed Cartwright\n", VERSION); //get names of data and output files get_input_output_file_names(argc,argv,inputfile,outputfile,instrfile); @@ -121,7 +119,7 @@ strcpy(instrfile,"instruction.txt"); //write common errors in error file commom_errors(); - readbasicinfoF(inputfile,&n,&Ncat,&ncoord,&m,&ndigit,&ploidy,catname,namecoord,namelocus,&nc,maxc); + readbasicinfoF(inputfile,&n,&Ncat,&ncoord,&m,&ndigit,&ploidy,&nc,maxc); if(ndigit<=0) ploidy=1; //case of a dominant marker. ndigit is the value attributed to missing data // initializations ploidyi=ivector(0,n); @@ -137,6 +135,7 @@ strcpy(instrfile,"instruction.txt"); catskg=ivector(0,n); Nallelel=ivector(0,m); H2=dvector(0,m); + alpha=dvector(0,m); gilc=i3tensor(0,n,0,m,0,ploidy-1); allelesizela=imatrix(0,m,0,2+(int)pow(10,ndigit)); @@ -145,13 +144,14 @@ strcpy(instrfile,"instruction.txt"); if((namecat=(struct name*) malloc((n+1)*sizeof(struct name)))==NULL) exit(101); if((namesg=(struct name*) malloc((n+1)*sizeof(struct name)))==NULL) exit(102); if((nameskg=(struct name*) malloc((n+1)*sizeof(struct name)))==NULL) exit(103); + if((namelocus=(struct name*) malloc((m+1)*sizeof(struct name)))==NULL) exit(104); - readsecondinfoF(inputfile,n,namei,Ncat,namecat,namecati,cati,ncoord,xi,yi,zi,m,ndigit,ploidy,gilc,Nallelel,allelesizela,ploidyi,Niploidy,H2); + readsecondinfoF(inputfile,n,namei,catname,namecoord,Ncat,namecat,namelocus,namecati,cati,ncoord,xi,yi,zi,m,ndigit,ploidy,gilc,Nallelel,allelesizela,ploidyi,Niploidy,H2,alpha); for(l=1;l<=m;l++) if(maxnal1) Npop=p-1; } if(cat1 && cat2) { n=Nik[cat1]+Nik[cat2]; for(p=1;p<=Npop;p++) if(catp[p]>2) Npop=p-1; } - if(StatType==1) mainAnalysisBtwInd(argc,n,ntot,xi,yi,zi,Mdij,sgi,Nsg,skgi,Nskg,catskg,cati,Ncat,Nik,nc,maxc,dijmin,dijmax,m,ndigit,ploidy,ploidyi,Nallelel,Nallelepl,Nvalgenpl,gilc,Ppla,allelesizela,Masizepl,Vasizepl,Mgdlaa,givenF,H2,namei,namelocus,namecat,TypeComp,cat1,cat2,FreqRef,givenPla,Ngivenallelel,JKest,NS,Stat,printdistmatrix,sigmaest,density,dwidth,Npermut,permutalleles,writeresampdistr,regdetails,varcoef,Rbtwloc,permutdetails,outputfile); - if(StatType>=2) mainAnalysisBtwPop(argc,StatType,n,xp,yp,zp,Mdij,popi,Npop,catp,cati,Ncat,nc,maxc,dijmin,dijmax,m,ndigit,ploidy,ploidyi,Nallelel,Nvalgenpl,gilc,Ppla,allelesizela,Masizepl,Vasizepl,Mgdlaa,namepop,namelocus,namecat,PWstat,TypeComp,cat1,cat2,FreqRef,JKest,NS,Stat,printdistmatrix,Npermut,permutalleles,writeresampdistr,regdetails,varcoef,Rbtwloc,permutdetails,outputfile); + if(StatType==1 && NS>0) mainAnalysisBtwInd(argc,n,ntot,xi,yi,zi,Mdij,sgi,Nsg,skgi,Nskg,catskg,cati,Ncat,Nik,nc,maxc,dijmin,dijmax,m,ndigit,ploidy,ploidyi,Nallelel,Nallelepl,Nvalgenpl,gilc,Ppla,allelesizela,Masizepl,Vasizepl,Mgdlaa,givenF,H2,namei,namelocus,namecat,TypeComp,cat1,cat2,FreqRef,givenPla,Ngivenallelel,JKest,NS,Stat,printdistmatrix,sigmaest,density,dwidth,Npermut,permutalleles,writeresampdistr,regdetails,varcoef,Rbtwloc,permutdetails,outputfile); + if(StatType>=2 && NS>0) mainAnalysisBtwPop(argc,StatType,n,xp,yp,zp,Mdij,popi,Npop,catp,cati,Ncat,nc,maxc,dijmin,dijmax,m,ndigit,ploidy,ploidyi,Nallelel,Nvalgenpl,gilc,Ppla,allelesizela,Masizepl,Vasizepl,Mgdlaa,namepop,namelocus,namecat,PWstat,TypeComp,cat1,cat2,FreqRef,JKest,NS,Stat,printdistmatrix,Npermut,permutalleles,writeresampdistr,regdetails,varcoef,Rbtwloc,permutdetails,outputfile); sprintf(smess,"\n\n "); write_tofile_only(outputfile,smess); @@ -292,7 +297,7 @@ void mainAnalysisBtwPop(int argc,int StatType,int n,double *xp,double *yp,double int *catp,int *cati,int Ncat,int nc,double *maxc,float dijmin,float dijmax, int m,int ndigit,int ploidy,int *ploidyi,int *Nallelel,int **Nvalgenkl,int ***gilc, float ***Ppla,int **allelesizela,float **Masizekl,float **Vasizekl,float ***Mgdlaa, - struct name namepop[],char namelocus[][MAXNOM],struct name namecat[], + struct name namepop[],struct name namelocus[],struct name namecat[], int PWstat,int TypeComp,int cat1,int cat2,int FreqRef,int JKest,int NS,int Stat[],int printdistmatrix, int Npermut[],int permutalleles,int writeresampdistr,int regdetails,int varcoef,int Rbtwloc,int permutdetails,char outputfile[]) { @@ -310,6 +315,8 @@ void mainAnalysisBtwPop(int argc,int StatType,int n,double *xp,double *yp,double double *xpmix,*ypmix,*zpmix,**Mdijmix; struct resample_stat_type **r_statSlc[12],**r_statFSlr[12]; //results of resampling for each loci and each dist class int comp,permutbypairs; + char resampfile[50]; //name of file for resampling distrib + float missdat=0.F; long seedinit; int F_Rstat,G_Nstat,pairwGst_Nst,pairwGij_Nij; //=0 or 1 according to computations to do @@ -333,7 +340,13 @@ void mainAnalysisBtwPop(int argc,int StatType,int n,double *xp,double *yp,double corrSlij[S]=f3tensor(linit,m,0,Npop,0,Npop); if(JKest) corrSlc[S]=matrix(-m,m+4,-20,nc+2); else corrSlc[S]=matrix(0,m+4,-20,nc+2); - if(Rbtwloc) {RSll[S]=f3tensor(0,1,0,m,0,m); V[S]=f3tensor(0,1,0,5,0,2); R2pl[S]=matrix(0,1,-m,m);} + if(Rbtwloc) { + RSll[S]=f3tensor(0,1,0,m,0,m); V[S]=f3tensor(0,1,0,5,0,2); R2pl[S]=matrix(0,1,-m,m); + } else { + RSll[S]=NULL; + V[S]=NULL; + R2pl[S]=NULL; + } FstatSlr[S]=matrix(0,m+2,0,4); for(l=0;l<=m+2;l++)for(r=0;r<=4;r++) FstatSlr[S][l][r]=(float)MISSVAL; } @@ -341,6 +354,8 @@ void mainAnalysisBtwPop(int argc,int StatType,int n,double *xp,double *yp,double if(m==1) linit=1; else linit=0; + //if(ploidy>1) estinbreeding=1; + F_Rstat=G_Nstat=pairwGst_Nst=pairwGij_Nij=0; for(S=1;S<=NS;S++){ if(Stat[S]<=8) F_Rstat=1; @@ -641,7 +656,7 @@ void mainAnalysisBtwInd(int argc,int n,int ntot,double *xi,double *yi,double *zi int *catskg,int *cati,int Ncat,int *Nik,int nc,double *maxc,float dijmin,float dijmax, int m,int ndigit,int ploidy,int *ploidyi,int *Nallelel,int **Nallelekl,int **Nvalgenkl,int ***gilc, float ***Ppla,int **allelesizela,float **Masizekl,float **Vasizekl,float ***Mgdlaa,float givenF,double *H2, - struct name namei[],char namelocus[][MAXNOM],struct name namecat[], + struct name namei[],struct name namelocus[],struct name namecat[], int TypeComp,int cat1,int cat2,int FreqRef,float **givenPla,int *Ngivenallelel,int JKest,int NS,int Stat[],int printdistmatrix,float sigmaest,float density,float dwidth, int Npermut[],int permutalleles,int writeresampdistr,int regdetails,int varcoef,int Rbtwloc,int permutdetails,char outputfile[]) { @@ -656,10 +671,11 @@ void mainAnalysisBtwInd(int argc,int n,int ntot,double *xi,double *yi,double *zi float ***corrSlcp[12]; int Np,p,**allelesizelamix,***gilcmix,*sgimix; - double *xmix,*ymix,*zmix,**Mdijmix; + double *xmix,*ymix,*zmix,*xpmix,*ypmix,*zpmix,**Mdijmix; float ***Mgdlaamix; struct resample_stat_type **r_statSlc[12]; //results of resampling for each loci and each dist class + char resampfile[50]; //name of file for resampling distrib float missdat=0.F; long seedinit; @@ -686,7 +702,7 @@ void mainAnalysisBtwInd(int argc,int n,int ntot,double *xi,double *yi,double *zi if(JKest) linit=-m; if(m==1) linit=1; if(TypeComp!=1){ - if(NS*(m-linit+1)*n*n*4 > 250000000) {printf("\n\nSPAGeDi will attempt to allocate ca. %i Mo of RAM and may fail,\nin which case you should use a computer with more memory,\nselect just one statistic, or reduce your data set\nPress RETURN to go on",(int)(NS*(m-linit+1)*n*n*4./1000000.)); wait_a_char();} + if(NS*(m-linit+1)*n*n*4. > 250000000) {printf("\n\nSPAGeDi will attempt to allocate ca. %i Mo of RAM and may fail,\nin which case you should use a computer with more memory,\nselect just one statistic, or reduce your data set\nPress RETURN to go on",(int)(NS*(m-linit+1)*n*n*4./1000000.)); wait_a_char();} for(S=1;S<=NS;S++) corrSlij[S]=f3tensor(linit,m,0,n,0,n); } if(TypeComp==1) for(S=1;S<=NS;S++){//create set of small matrices for within cat i,j pairs @@ -701,7 +717,21 @@ void mainAnalysisBtwInd(int argc,int n,int ntot,double *xi,double *yi,double *zi } if(JKest) for(S=1;S<=NS;S++) corrSlc[S]=matrix(-m,m+4,-28,abs(nc)+2); else for(S=1;S<=NS;S++) corrSlc[S]=matrix(0,m+4,-28,abs(nc)+2); - if(Rbtwloc)for(S=1;S<=NS;S++) {RSll[S]=f3tensor(0,1,0,m,0,m); V[S]=f3tensor(0,1,0,5,0,2); R2pl[S]=matrix(0,1,-m,m);} + if(Rbtwloc){ + for(S=1;S<=NS;S++) { + RSll[S]=f3tensor(0,1,0,m,0,m); + V[S]=f3tensor(0,1,0,5,0,2); + R2pl[S]=matrix(0,1,-m,m); + } + } else { + for(S=1;S<=NS;S++) { + RSll[S]=NULL; + V[S]=NULL; + R2pl[S]=NULL; + } + } + // estinbreeding=0; + // for(S=1;S<=NS;S++) if(ploidy>1 && (Stat[S]==1 || Stat[S]==2 || Stat[S]==5)) estinbreeding=1; //stat computations printf("\nComputing pairwise statistics between individuals. Please, wait."); @@ -814,6 +844,7 @@ void mainAnalysisBtwInd(int argc,int n,int ntot,double *xi,double *yi,double *zi if((Np=Npermut[4])){ seed=seedinit; printf("\nPermutations of allele sizes (%i)\n",Np); + //Statbis[1]=5; maxnal=0;//define the max # of alleles for(l=1;l<=m;l++) if(maxnal=100){if((p%(Np/10))==0 || (p<=(Np/10) && (p%(Np/100))==0) ) printf(" %i",p);} else if((p%(Np/10))==0) printf(" %i",p); permut_allelesizes(m,Nallelel,allelesizela,allelesizelamix,&seed); - permut_genetic_distances(m,Nallelel,Mgdlaa,Mgdlaamix,&seed); + if(Mgdlaa[0][0][0]) permut_genetic_distances(m,Nallelel,Mgdlaa,Mgdlaamix,&seed); compute_pairwise_corr_F(n,ntot,Ncat,cati,m,ndigit,ploidy,missdat,gilc,Nallelel,allelesizelamix,Mgdlaamix,corrSlij,NS,Stat,FreqRef,givenPla,Ngivenallelel,TypeComp,givenF,H2,0,0); for(S=1;S<=NS;S++)if(Stat[S]==5 || Stat[S]==14){ compute_corr_per_dist_class (n,m,nc,maxc,Ncat,cati,1,TypeComp,FreqRef,0,xi,yi,zi,Mdij,sgi,dijmin,dijmax,corrSlij[S],corrSlc[S],RSll[S],0,V[S],R2pl[S],&seed,0); diff --git a/src/package.h b/src/package.h index 34092c8..9cb1ca8 100644 --- a/src/package.h +++ b/src/package.h @@ -1,13 +1,13 @@ #ifndef PACKAGE_H -#ifdef HAVE_VERSION_H -# include "spagedi_version.h" +#ifdef HAVE_CONFIG_H +# include "config.h" #endif #ifdef PACKAGE_STRING # define VERSION PACKAGE_STRING #else -# define VERSION "SPAGeDi 1.4a (build 11-01-2013)" +# define VERSION "SPAGeDi " SPAGEDI_VERSION #endif #endif