Commit 086f22ae authored by Steffen Möller's avatar Steffen Möller
Browse files

New upstream version 2.3.5.1

parent be7df110
Loading
Loading
Loading
Loading

.gitmodules

0 → 100644
+3 −0
Original line number Diff line number Diff line
[submodule "third_party/simde"]
	path = third_party/simde
	url = https://github.com/nemequ/simde.git
+205 −85
Original line number Diff line number Diff line
@@ -3,11 +3,12 @@ cmake_minimum_required(VERSION 2.8)
cmake_policy(SET CMP0048 NEW)
cmake_policy(SET CMP0005 NEW)

project(bowtie2 LANGUAGES CXX VERSION "2.3.4.3")
project(bowtie2 LANGUAGES CXX VERSION "2.3.5.1")

enable_testing()

include(CTest)
include(ExternalProject)
include(ProcessorCount)
include(CheckSymbolExists)

@@ -18,7 +19,8 @@ option(BOWITE_SHARED_MM "enable shared memory mapping" ON)

set(CMAKE_CXX_STANDARD 98)
set(NO_TBB ${NO_TBB})
set(NO_SPINLOCK, ${NO_SPINLOCK})
set(NO_SPINLOCK ${NO_SPINLOCK})
set(USE_SRA 0)
set(WITH_THREAD_PROFILING ${WITH_THREAD_PROFILING})
set(POPCNT_CAPABILITY ${POPCNT_CAPABILITY})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64 -g3 -Wall -msse2")
@@ -28,6 +30,7 @@ set(INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory

set(CMAKE_EXPORT_COMPILE_COMMANDS on)


if (MINGW)
  option(BOWTIE_MM "Memory mapped files not supported on Windows" OFF)
  option(BOWTIE_SHARED_MEM "Shared memory not supported on Windows" OFF)
@@ -35,6 +38,7 @@ endif(MINGW)

if (APPLE)
  set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym")
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
endif(APPLE)

set(BOWTIE2_BIN_LIST
@@ -121,6 +125,67 @@ if (POPCNT_CAPABILITY)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I third_party")
endif()

if (USE_SRA)
  set(NGS_VER 2.9.2)
  set(NCBI_VDB_VER 2.9.2-1)

  find_package(Java COMPONENTS Development REQUIRED)
  find_package(PythonInterp REQUIRED)
  find_package(Perl REQUIRED)

  find_program(MAKE_EXE NAMES gmake nmake make)
  ExternalProject_add(ngs_project
    URL https://github.com/ncbi/ngs/archive/${NGS_VER}.tar.gz
    PREFIX ${CMAKE_CURRENT_BINARY_DIR}/ngs-${NGS_VER}
    BUILD_IN_SOURCE 1
    CONFIGURE_COMMAND ./configure --prefix=install
    BUILD_COMMAND ${MAKE_EXE}
    INSTALL_COMMAND ${MAKE_EXE} install
    )

  ExternalProject_Get_Property(ngs_project SOURCE_DIR)
  set(NGS_INSTALL_DIR ${SOURCE_DIR}/ngs-sdk/install)

  link_directories(${NGS_INSTALL_DIR}/lib64)
  include_directories(${NGS_INSTALL_DIR}/include)

  add_library(ngs-c++-static STATIC IMPORTED)
  add_dependencies(ngs-c++-static ngs_project)
  find_library(LIBNGS_CPP ngs-c++-static PATHS ${NGS_INSTALL_DIR}/lib64 NO_DEFAULT_PATH)
  set_property(TARGET ngs-c++-static PROPERTY IMPORTED_LOCATION ${LIBNGS_CPP})

  link_libraries(ngs-c++-static)

  ExternalProject_add(ncbi_vdb_project
    URL https://github.com/ncbi/ncbi-vdb/archive/${NCBI_VDB_VER}.tar.gz
    PREFIX ${CMAKE_CURRENT_BINARY_DIR}/ncbi-vdb-${NCBI_VDB_VER}
    BUILD_IN_SOURCE 1
    CONFIGURE_COMMAND ./configure --prefix=install --with-ngs-sdk=${NGS_INSTALL_DIR}
    BUILD_COMMAND ${MAKE_EXE}
    INSTALL_COMMAND ${MAKE_EXE} install
    DEPENDS ngs_project
    )

  ExternalProject_Get_Property(ncbi_vdb_project SOURCE_DIR)
  set(NCBI_VDB_INSTALL_DIR ${SOURCE_DIR}/install)

  link_directories(${NCBI_VDB_INSTALL_DIR}/lib64)
  include_directories(${NCBI_VDB_INSTALL_DIR}/include)

  add_library(ncbi-ngs-c++-static STATIC IMPORTED)
  add_dependencies(ncbi-ngs-c++-static ncbi_vdb_project)
  find_library(LIBNCBI_NGS_CPP ncbi-ngs-c++-static PATHS ${NCBI_VDB_INSTALL_DIR}/lib64 NO_DEFAULT_ATH)
  set_property(TARGET ncbi-ngs-c++-static PROPERTY IMPORTED_LOCATION ${LIBNCBI_NGS_CPP})

  add_library(ncbi-vdb-static STATIC IMPORTED)
  add_dependencies(ncbi-vdb-static ncbi_vdb_project)
  find_library(LIBNCBI_VDB ncbi-vdb-static PATHS ${NCBI_VDB_INSTALL_DIR}/lib64 NO_DEFAULT_PATH)
  set_property(TARGET ncbi-vdb-static PROPERTY IMPORTED_LOCATION ${LIBNCBI_VDB})

  link_libraries(ncbi-ngs-c++-static ncbi-vdb-static)
  add_definitions(-DUSE_SRA)
endif()

if (WITH_THREAD_PROFILING)
  add_definitions(-DPER_THREAD_TIMING=1)
endif()
@@ -129,29 +194,84 @@ if (CMAKE_BUILD_TYPE STREQUAL "Release")
  add_definitions(-DNDEBUG)
endif()

find_package(Threads REQUIRED)
find_package(ZLIB REQUIRED)
find_path(TBB_INCLUDE_PATH tbb)
find_library(TBB_LIBRARY_PATH tbb)
find_library(TBB_MALLOC_LIBRARY_PATH tbbmalloc)

if (ZLIB_FOUND)
    link_libraries(${ZLIB_LIBRARIES})
    include_directories(${ZLIB_INCLUDE_DIRS})
endif()

if (Threads_FOUND)
find_package(Threads REQUIRED)
link_libraries(Threads::Threads)
endif()

if (NOT TBB_LIBRARY_PATH)
if (NO_TBB)
  set(SHARED_CPPS ${SHARED_CPPS} tinythread.cpp)
else()
    if (NOT NO_QUEUELOCK)
        add_definitions(-DWITH_TBB -DWITH_QUEUELOCK=1 -DNO_SPINLOCK)
  find_library(TBB_LIB_PATH tbb)

  if (TBB_LIB_PATH)
    find_path(TBB_INCLUDE_PATH tbb)
    link_libraries(${TBB_LIB_PATH})
    find_library(TBBMALLOC_PROXY_LIB_PATH tbbmalloc_proxy)
    if (NOT TBBMALLOC_PROXY_LIB_PATH)
      find_library(TBBMALLOC_LIB_PATH tbbmalloc)
      link_libraries(${TBBMALLOC_LIB_PATH})
    else()
      link_libraries(${TBBMALLOC_PROXY_LIB_PATH})
    endif()
    include_directories(${TBB_INCLUDE_PATH})
    link_libraries(${TBB_LIBRARY_PATH} ${TBB_MALLOC_LIBRARY_PATH})
  else()
    set(TBB_VER 2019_U4)

    if (CMAKE_SYSTEM_NAME STREQUAL Linux)
      set(tbb_os linux)
    elseif (CMAKE_SYSTEM_NAME STREQUAL Darwin)
      set(tbb_os macos)
    elseif (CMAKE_SYSTEM_NAME STREQUAL Windows)
      set(tbb_os windows)
    else()
      set(tbb_os ${CMAKE_SYSTEM_NAME})
    endif()

    find_program(MAKE_EXE NAMES gmake nmake make)
    ExternalProject_Add(tbb_project
      URL https://github.com/01org/tbb/archive/2019_U4.tar.gz
      PREFIX ${CMAKE_CURRENT_BINARY_DIR}/tbb-${TBB_VER}
      BUILD_IN_SOURCE 1
      CONFIGURE_COMMAND ""
      BUILD_COMMAND ${MAKE_EXE} tbb_build_prefix=${TBB_VER} tbb_os=${tbb_os}
      INSTALL_COMMAND ""
      PREFIX=${CMAKE_CURRENT_BINARY_DIR}/tbb_project
      )

    ExternalProject_Get_Property(tbb_project SOURCE_DIR)

    set(TBB_SOURCE_DIR ${SOURCE_DIR})
    set(TBB_RELEASE_DIR ${TBB_SOURCE_DIR}/build/${TBB_VER}_release)
    include_directories(${TBB_SOURCE_DIR}/include)

    link_directories(${TBB_RELEASE_DIR})
    add_library(tbb SHARED IMPORTED)
    add_dependencies(tbb tbb_project)
    find_library(LIBTBB tbb PATHS ${TBB_RELEASE_DIR} NO_DEFAULT_PATH)
    set_property(TARGET tbb PROPERTY IMPORTED_LOCATION ${LIBTBB})

    add_library(tbbmalloc_proxy SHARED IMPORTED)
    add_dependencies(tbbmalloc_proxy tbb_project)
    find_library(LIBTBBMALLOC_PROXY tbbmalloc_proxy PATHS ${TBB_RELEASE_DIR} NO_DEFAULT_PATH)
    if (NOT LIBTBBMALLOC_PROXY)
      add_library(tbbmalloc SHARED IMPORTED)
      add_dependencies(tbbmalloc tbb_project)
      find_library(LIBTBBMALLOC tbbmalloc PATHS ${TBB_RELEASE_DIR} NO_DEFAULT_PATH)
      set_property(TARGET tbbmalloc PROPERTY IMPORTED_LOCATION ${LIBTBBMALLOC})
      link_libraries(tbb tbbmalloc)
    else()
      set_property(TARGET tbbmalloc_proxy PROPERTY IMPORTED_LOCATION ${LIBTBBMALLOC_PROXY})
      link_libraries(tbb tbbmalloc_proxy)
    endif()
  endif()
  add_definitions(-DWITH_TBB -DWITH_QUEUELOCK=1 -DNO_SPINLOCK)
endif()

if (ZLIB_FOUND)
  link_libraries(${ZLIB_LIBRARIES})
  include_directories(${ZLIB_INCLUDE_DIRS})
endif()

include_directories(${PROJECT_SOURCE_DIR})
@@ -167,6 +287,6 @@ add_executable(bowtie2-inspect-l ${INSPECT_CPPS} ${SHARED_CPPS})

set_target_properties(bowtie2-align-l bowtie2-build-l bowtie2-inspect-l PROPERTIES COMPILE_FLAGS "-DBOWTIE2_64BIT_INDEX")
set_target_properties(bowtie2-inspect-s bowtie2-inspect-l PROPERTIES COMPILE_FLAGS "-DBOWTIE_INSPECT_MAIN")
set_target_properties(${BOWTIE2_BIN_LIST} PROPERTIES DEBUG_POSTFIX "-debug")
set_target_properties(${BOWTIE2_BIN_LIST} PROPERTIES DEBUG_POSTFIX -debug)

add_test(NAME simple-align COMMAND ${PROJECT_SOURCE_DIR}/bowtie2 -x example/index/lambda_virus example/reads/longreads.fq)

Dockerfile-aarch64

0 → 100644
+21 −0
Original line number Diff line number Diff line
FROM multiarch/ubuntu-debootstrap:arm64-bionic

WORKDIR /build
COPY . .

RUN uname -a
RUN apt-get update -qq && \
  apt-get install -yq --no-install-suggests --no-install-recommends \
  build-essential \
  ca-certificates \
  gcc \
  git \
  g++ \
  make \
  software-properties-common \
  zlib1g-dev
RUN add-apt-repository -y universe && \
  apt-get install -yq \
  libtbb-dev

CMD bash
+74 −64
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ paired-end alignment modes. Multiple processors can be used
simultaneously to achieve greater alignment speed.

Bowtie 2 outputs alignments in SAM format, enabling interoperation with
a large number of other tools (e.g. SAMtools, GATK) that use SAM. Bowtie
a large number of other tools (e.g. SAMtools, GATK) that use SAM. Bowtie
2 is distributed under the GPLv3 license, and it runs on the command
line under Windows, Mac OS X and Linux.

@@ -46,7 +46,7 @@ The chief differences between Bowtie 1 and Bowtie 2 are:

1.  For reads longer than about 50 bp Bowtie 2 is generally faster, more
    sensitive, and uses less memory than Bowtie 1. For relatively short
    reads ( e.g. less than 50 bp) Bowtie 1 is sometimes faster and/or
    reads (e.g. less than 50 bp) Bowtie 1 is sometimes faster and/or
    more sensitive.

2.  Bowtie 2 supports gapped alignment with affine gap penalties. Number
@@ -63,7 +63,7 @@ The chief differences between Bowtie 1 and Bowtie 2 are:
4.  There is no upper limit on read length in Bowtie 2. Bowtie 1 had an
    upper limit of around 1000 bp.

5.  Bowtie 2 allows alignments to overlap ambiguous characters (e.g. Ns)
5.  Bowtie 2 allows alignments to overlap ambiguous characters (e.g. Ns)
    in the reference. Bowtie 1 does not.

6.  Bowtie 2 does away with Bowtie 1’s notion of alignment “stratum”,
@@ -90,7 +90,7 @@ What isn’t Bowtie 2?

Bowtie 2 is geared toward aligning relatively short sequencing reads to
long genomes. That said, it handles arbitrarily small reference
sequences ( e.g. amplicons) and very long reads (i.e. upwards of 10s or
sequences (e.g. amplicons) and very long reads (i.e. upwards of 10s or
100s of kilobases), though it is slower in those settings. It is
optimized for the read lengths and error modes yielded by typical
Illumina sequencers.
@@ -108,7 +108,7 @@ With Bioconda installed, you should be able to install Bowtie 2 with
conda install bowtie2.

Containerized versions of Bowtie 2 are also available via the
Biocontainers project (e.g. via Docker Hub).
Biocontainers project (e.g. via Docker Hub).

You can also download Bowtie 2 sources and binaries from the Download
section of the Sourceforge site. Binaries are available for the x86_64
@@ -137,57 +137,35 @@ make from the MSYS environment.

Bowtie 2 can be run on many threads. By default, Bowtie 2 uses the
Threading Building Blocks library (TBB) for this. If TBB is not
available on your system (e.g. make prints an error like
available on your system (e.g. make prints an error like
tbb/mutex.h: No such file or directory), you can install it yourself
from source (see Threading Building Blocks library) or install it using
your operating system’s preferred package manager. The table below list
some of the commands for a few of the more popular operating systems.

OS
Sync Package List
Search
Install
Ubuntu, Mint, Debian
    apt-get update
  -----------------------------------------------------------------------
  Operating System Sync Package   Search           Install
                   List                            
  ---------------- -------------- ---------------- ----------------------
  Ubuntu, Mint,    apt-get update apt-cache search apt-get install
  Debian                          tbb              libtbb-dev

    apt-cache search tbb
  Fedora, CentOS   yum            yum search tbb   yum install
                   check-update                    tbb-devel.x86_64

    apt-get install libtbb-dev
  Arch             packman -Sy    pacman -Ss tbb   pacman -S
                                                   extra/intel-tbb

Fedora, CentOS
    yum check-update
  Gentoo           emerge –sync   emerge –search   emerge dev-cpp/tbb
                                  tbb              

yum search tbb
  macOS            brew update    brew search tbb  brew install tbb

    yum install tbb-devel.x86_64
  FreeBSD          pkg update     pkg search tbb   pkg install tbb-2019.1
  -----------------------------------------------------------------------

Arch
    packman -Sy

    pacman -Ss tbb

    pacman -S extra/intel-tbb

Gentoo
    emerge --sync

    emerge --search tbb

    emerge dev-cpp/tbb

MacOS
    brew update

    brew search tbb

    brew install tbb

FreeBSD
    portsnap fetch update

    make search name=tbb

    cd /usr/ports/devel/tbb && make install && make clean
If all fails Bowtie 2 can be built with make NO_TBB=1 to use pthreads or
Windows native multithreading instead.

The Bowtie 2 Makefile also includes recipes for basic automatic
dependency management. Running make static-libs && make STATIC_BUILD=1
@@ -195,8 +173,11 @@ will issue a series of commands that will: 1. download TBB and zlib 2.
compile them as static libraries 3. link the resulting libraries to the
compiled Bowtie 2 binaries

If all fails Bowtie 2 can be built with make NO_TBB=1 to use pthreads or
Windows native multithreading instead.
As of version 2.3.5 bowtie2 now supports aligning SRA reads. Prepackaged
builds will include a package that supports SRA. If you’re building
bowtie2 from source please make sure that the Java runtime is available
on your system. You can then proceed with the build by running
make sra-deps && make USE_SRA=1.


Adding to PATH
@@ -328,7 +309,7 @@ the read and the reference.

Valid alignments meet or exceed the minimum score threshold

For an alignment to be considered “valid” (i.e. “good enough”) by Bowtie
For an alignment to be considered “valid” (i.e. “good enough”) by Bowtie
2, it must have an alignment score no less than the minimum score
threshold. The threshold is configurable and is expressed as a function
of the read length. In end-to-end alignment mode, the default minimum
@@ -846,7 +827,7 @@ alignment to be considered valid, and x is the read length.

Usage

    bowtie2 [options]* -x <bt2-idx> {-1 <m1> -2 <m2> | -U <r> | --interleaved <i>} -S [<sam>]
    bowtie2 [options]* -x <bt2-idx> {-1 <m1> -2 <m2> | -U <r> | --interleaved <i> | --sra-acc <acc> | b <bam>} -S [<sam>]

Main arguments

@@ -861,7 +842,7 @@ BOWTIE2_INDEXES environment variable.
    -1 <m1>

Comma-separated list of files containing mate 1s (filename usually
includes _1), e.g. -1 flyA_1.fq,flyB_1.fq. Sequences specified with this
includes _1), e.g. -1 flyA_1.fq,flyB_1.fq. Sequences specified with this
option must correspond file-for-file and read-for-read with those
specified in <m2>. Reads may be a mix of different lengths. If - is
specified, bowtie2 will read the mate 1s from the “standard in” or
@@ -870,7 +851,7 @@ specified, bowtie2 will read the mate 1s from the “standard in” or
    -2 <m2>

Comma-separated list of files containing mate 2s (filename usually
includes _2), e.g. -2 flyA_2.fq,flyB_2.fq. Sequences specified with this
includes _2), e.g. -2 flyA_2.fq,flyB_2.fq. Sequences specified with this
option must correspond file-for-file and read-for-read with those
specified in <m1>. Reads may be a mix of different lengths. If - is
specified, bowtie2 will read the mate 2s from the “standard in” or
@@ -883,6 +864,27 @@ e.g. lane1.fq,lane2.fq,lane3.fq,lane4.fq. Reads may be a mix of
different lengths. If - is specified, bowtie2 gets the reads from the
“standard in” or “stdin” filehandle.

    --interleaved

Reads interleaved FASTQ files where the first two records (8 lines)
represent a mate pair.

    --sra-acc

Reads are SRA accessions. If the accession provided cannot be found in
local storage it will be fetched from the NCBI database. If you find
that SRA alignments are long running please rerun your command with the
-p/--threads parameter set to desired number of threads.

NB: this option is only available if bowtie 2 is compiled with the
necessary SRA libraries. See Obtaining Bowtie 2 for details.

    -b <bam>

Reads are unaligned BAM records sorted by read name. The
--align-paired-reads and --preserve-tags options affect the way Bowtie 2
processes records.

    -S <sam>

File to write SAM alignments to. By default, alignments are written to
@@ -898,11 +900,6 @@ Reads (specified with <m1>, <m2>, <s>) are FASTQ files. FASTQ files
usually have extension .fq or .fastq. FASTQ is the default format. See
also: --solexa-quals and --int-quals.

    --interleaved

Reads interleaved FASTQ files where the first two records (8 lines)
represent a mate pair.

    --tab5

Each read or pair is on a single line. An unpaired read line is
@@ -1016,7 +1013,8 @@ Same as: -D 10 -R 2 -N 0 -L 22 -i S,0,2.50

    --sensitive

Same as: -D 15 -R 2 -L 22 -i S,1,1.15 (default in --end-to-end mode)
Same as: -D 15 -R 2 -N 0 -L 22 -i S,1,1.15 (default in --end-to-end
mode)

    --very-sensitive

@@ -1053,8 +1051,8 @@ alignment slower (often much slower) but increases sensitivity. Default:

Sets the length of the seed substrings to align during multiseed
alignment. Smaller values make alignment slower but more sensitive.
Default: the --sensitive preset is used by default, which sets -L to 20
both in --end-to-end mode and in --local mode.
Default: the --sensitive preset is used by default, which sets -L to 22
and 20 in --end-to-end mode and in --local mode.

    -i <func>

@@ -1151,9 +1149,9 @@ one end to the other. Rather, some characters may be omitted (“soft
clipped”) from the ends in order to achieve the greatest possible
alignment score. The match bonus --ma is used in this mode, and the best
possible alignment score is equal to the match bonus (--ma) times the
length of the read. Specifying --local and one of the presets (e.g.
--local --very-fast) is equivalent to specifying the local version of
the preset (--very-fast-local). This is mutually exclusive with
length of the read. Specifying --local and one of the presets
(e.g. --local --very-fast) is equivalent to specifying the local version
of the preset (--very-fast-local). This is mutually exclusive with
--end-to-end. --end-to-end is the default mode.

Scoring options
@@ -1341,6 +1339,18 @@ If one mate alignment overlaps the other at all, consider that to be
non-concordant. See also: Mates can overlap, contain or dovetail each
other. Default: mates can overlap in a concordant alignment.

BAM options

    --align-paired-reads

Bowtie 2 will, by default, attempt to align unpaired BAM reads. Use this
option to align paired-end reads instead.

    --preserve-tags

Preserve tags from the original BAM record by appending them to the end
of the corresponding Bowtie 2 SAM output.

Output options

    -t/--time
@@ -1459,7 +1469,7 @@ record, with value set to <text>.

    --rg <text>

Add <text> (usually of the form TAG:VAL, e.g. SM:Pool1) as a field on
Add <text> (usually of the form TAG:VAL, e.g. SM:Pool1) as a field on
the @RG header line. Note: in order for the @RG line to appear, --rg-id
must also be specified. This is because the ID tag is required by the
SAM Spec. Specify --rg multiple times to set multiple fields. See the
@@ -2043,7 +2053,7 @@ You will see something like this:
    @HD VN:1.0  SO:unsorted
    @SQ SN:gi|9626243|ref|NC_001416.1|  LN:48502
    @PG ID:bowtie2  PN:bowtie2  VN:2.0.1
    r1  0   gi|9626243|ref|NC_001416.1| 18401   42  122M    *   0   0   TGAATGCGAACTCCGGGACGCTCAGTAATGTGACGATAGCTGAAAACTGTACGATAAACNGTACGCTGAGGGCAGAAAAAATCGTCGGGGACATTNTAAAGGCGGCGAGCGCGGCTTTTCCG  +"@6<:27(F&5)9)"B:%B+A-%5A?2$HCB0B+0=D<7E/<.03#!.F77@6B==?C"7>;))%;,3-$.A06+<-1/@@?,26">=?*@'0;$:;??G+:#+(A?9+10!8!?()?7C>  AS:i:-5 XN:i:0  XM:i:3  XO:i:0  XG:i:0  NM:i:3  MD:Z:59G13G21G26    YT:Z:UU
    r1  0   gi|9626243|ref|NC_001416.1| 18401   42  122M    *   0   0   TGAATGCGAACTCCGGGACGCTCAGTAATGTGACGATAGCTGAAAACTGTACGATAAACNGTACGCTGAGGGCAGAAAAAATCGTCGGGGACATTNTAAAGGCGGCGAGCGCGGCTTTTCCG  +"@6<:27(F&5)9"B):%B+A-%5A?2$HCB0B+0=D<7E/<.03#!.F77@6B==?C"7>;))%;,3-$.A06+<-1/@@?,26">=?*@'0;$:;??G+:#+(A?9+10!8!?()?7C>  AS:i:-5 XN:i:0  XM:i:3  XO:i:0  XG:i:0  NM:i:3  MD:Z:59G13G21G26    YT:Z:UU
    r2  0   gi|9626243|ref|NC_001416.1| 8886    42  275M    *   0   0   NTTNTGATGCGGGCTTGTGGAGTTCAGCCGATCTGACTTATGTCATTACCTATGAAATGTGAGGACGCTATGCCTGTACCAAATCCTACAATGCCGGTGAAAGGTGCCGGGATCACCCTGTGGGTTTATAAGGGGATCGGTGACCCCTACGCGAATCCGCTTTCAGACGTTGACTGGTCGCGTCTGGCAAAAGTTAAAGACCTGACGCCCGGCGAACTGACCGCTGAGNCCTATGACGACAGCTATCTCGATGATGAAGATGCAGACTGGACTGC (#!!'+!$""%+(+)'%)%!+!(&++)''"#"#&#"!'!("%'""("+&%$%*%%#$%#%#!)*'(#")(($&$'&%+&#%*)*#*%*')(%+!%%*"$%"#+)$&&+)&)*+!"*)!*!("&&"*#+"&"'(%)*("'!$*!!%$&&&$!!&&"(*"$&"#&!$%'%"#)$#+%*+)!&*)+(""#!)!%*#"*)*')&")($+*%%)!*)!('(%""+%"$##"#+(('!*(($*'!"*('"+)&%#&$+('**$$&+*&!#%)')'(+(!%+ AS:i:-14    XN:i:0  XM:i:8  XO:i:0  XG:i:0  NM:i:8  MD:Z:0A0C0G0A108C23G9T81T46 YT:Z:UU
    r3  16  gi|9626243|ref|NC_001416.1| 11599   42  338M    *   0   0   GGGCGCGTTACTGGGATGATCGTGAAAAGGCCCGTCTTGCGCTTGAAGCCGCCCGAAAGAAGGCTGAGCAGCAGACTCAAGAGGAGAAAAATGCGCAGCAGCGGAGCGATACCGAAGCGTCACGGCTGAAATATACCGAAGAGGCGCAGAAGGCTNACGAACGGCTGCAGACGCCGCTGCAGAAATATACCGCCCGTCAGGAAGAACTGANCAAGGCACNGAAAGACGGGAAAATCCTGCAGGCGGATTACAACACGCTGATGGCGGCGGCGAAAAAGGATTATGAAGCGACGCTGTAAAAGCCGAAACAGTCCAGCGTGAAGGTGTCTGCGGGCGAT  7F$%6=$:9B@/F'>=?!D?@0(:A*)7/>9C>6#1<6:C(.CC;#.;>;2'$4D:?&B!>689?(0(G7+0=@37F)GG=>?958.D2E04C<E,*AD%G0.%$+A:'H;?8<72:88?E6((CF)6DF#.)=>B>D-="C'B080E'5BH"77':"@70#4%A5=6.2/1>;9"&-H6)=$/0;5E:<8G!@::1?2DC7C*;@*#.1C0.D>H/20,!"C-#,6@%<+<D(AG-).?&#0.00'@)/F8?B!&"170,)>:?<A7#1(A@0E#&A.*DC.E")AH"+.,5,2>5"2?:G,F"D0B8D-6$65D<D!A/38860.*4;4B<*31?6  AS:i:-22    XN:i:0  XM:i:8  XO:i:0  XG:i:0  NM:i:8  MD:Z:80C4C16A52T23G30A8T76A41   YT:Z:UU
    r4  0   gi|9626243|ref|NC_001416.1| 40075   42  184M    *   0   0   GGGCCAATGCGCTTACTGATGCGGAATTACGCCGTAAGGCCGCAGATGAGCTTGTCCATATGACTGCGAGAATTAACNGTGGTGAGGCGATCCCTGAACCAGTAAAACAACTTCCTGTCATGGGCGGTAGACCTCTAAATCGTGCACAGGCTCTGGCGAAGATCGCAGAAATCAAAGCTAAGT(=8B)GD04*G%&4F,1'A>.C&7=F$,+#6!))43C,5/5+)?-/0>/D3=-,2/+.1?@->;)00!'3!7BH$G)HG+ADC'#-9F)7<7"$?&.>0)@5;4,!0-#C!15CF8&HB+B==H>7,/)C5)5*+(F5A%D,EA<(>G9E0>7&/E?4%;#'92)<5+@7:A.(BG@BG86@.G AS:i:-1 XN:i:0  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:77C106 YT:Z:UU
+94 −119

File changed.

Preview size limit exceeded, changes collapsed.

Loading