Skip to content

Commit

Permalink
Merge pull request #1471 from seqan/develop
Browse files Browse the repository at this point in the history
merge develop into master [begin of 2.1.x cycle]
  • Loading branch information
h-2 committed Feb 16, 2016
2 parents ff0da13 + 969602d commit 88e3a0b
Show file tree
Hide file tree
Showing 1,389 changed files with 71,190 additions and 382,275 deletions.
40 changes: 12 additions & 28 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,69 +6,53 @@ cache:
before_install: mkdir -p ${HOME}/.local/bin/
matrix:
include:
- os: linux
compiler: gcc-4.8
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-4.8', 'cmake', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip']
install: export CXX="g++-4.8" CC="gcc-4.8"

- os: linux
compiler: gcc-4.9
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-4.9', 'cmake', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip']
sources: ['ubuntu-toolchain-r-test', 'george-edison55-precise-backports']
packages: ['g++-4.9', 'cmake', 'cmake-data', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip']
install: export CXX="g++-4.9" CC="gcc-4.9"

- os: linux
compiler: gcc-5
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-5', 'cmake', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip']
sources: ['ubuntu-toolchain-r-test', 'george-edison55-precise-backports']
packages: ['g++-5', 'cmake', 'cmake-data', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip']
install: export CXX="g++-5" CC="gcc-5"

# package not whitelisted currently
#- os: linux
#compiler: gcc-6
#addons:
#apt:
#sources: ['ubuntu-toolchain-r-test']
#packages: ['g++-6', 'gcc-6', 'cmake', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip']
#sources: ['ubuntu-toolchain-r-test', 'george-edison55-precise-backports']
#packages: ['g++-6', 'gcc-6', 'cmake', 'cmake-data', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip']
#install: export CXX="g++-6" CC="gcc-6"

- os: linux
compiler: clang-3.4
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['clang-3.4', 'g++-4.8', 'cmake', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip'] # g++ required for newer libstdc++
install: export CXX="clang++" CC="clang"

- os: linux
compiler: clang-3.5
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5']
packages: ['clang-3.5', 'g++-4.9', 'cmake', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip'] # g++ required for newer libstdc++
sources: ['ubuntu-toolchain-r-test', 'george-edison55-precise-backports', 'llvm-toolchain-precise-3.5']
packages: ['clang-3.5', 'g++-4.9', 'cmake', 'cmake-data', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip'] # g++ required for newer libstdc++
install: export CXX="clang++-3.5" CC="clang-3.5"

- os: linux
compiler: clang-3.6
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.6']
packages: ['clang-3.6', 'g++-4.9', 'cmake', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip'] # g++ required for newer libstdc++
sources: ['ubuntu-toolchain-r-test', 'george-edison55-precise-backports', 'llvm-toolchain-precise-3.6']
packages: ['clang-3.6', 'g++-4.9', 'cmake', 'cmake-data', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip'] # g++ required for newer libstdc++
install: export CXX="clang++-3.6" CC="clang-3.6"

- os: linux
compiler: clang-3.7
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.7']
packages: ['clang-3.7', 'g++-4.9', 'cmake', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip'] # g++ required for newer libstdc++
sources: ['ubuntu-toolchain-r-test', 'george-edison55-precise-backports', 'llvm-toolchain-precise-3.7']
packages: ['clang-3.7', 'g++-4.9', 'cmake', 'cmake-data', 'zlib1g-dev', 'libbz2-dev', 'libboost-dev', 'python', 'python-nose', 'python-jinja2', 'python-pip'] # g++ required for newer libstdc++
install: export CXX="clang++-3.7" CC="clang-3.7"

# currently too slow on osx
Expand Down
87 changes: 87 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,93 @@ SeqAn Changelog
This file summarizes the changes to the SeqAn library and apps.


Release 2.1.0
~~~~~~~~~~~~~

Major release with many new features and applications.
Except where noted below, this release is compatible to previous 2.x releases.
For a complete list of changes visit `GitHub <https://github.com/seqan/seqan/pulls?q=is%3Apr+is%3Amerged++milestone%3A%22Release+2.1.0%22+>`_.

Library Updates and Selected Bugfixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Apps:
- Yara: fixed warnings, build errors and bugs, updated test files
- Yara: new features (compute mapping qualities, estimate distribution of paired-end insert sizes)
- Yara: follow SAM recommended practices for paired-end reads
- T-Coffee: new feature ``deep coffee`` (aligning several hundred sequences)
- Gustaf: introduced two phase breakpoint combination; updated readme and help messages
- Removed old apps: Razers2, Flexbar and SeqCons in favor of newer releases

- Alignments:
- added feature to count gaps to the left a of a position/iterator
- disallow wrong use of scoring scheme for Hirschberg algorithm
- extended AlignmentStats by number of gaps and length of the alignment
- fixed evaluation of alignment
- using gaps for integrateAlign and align_extend

- BLAST (new module):
- E-Value statistics, including precomputed constants, bit-score and e-value calculation for alignments
- support for reading and writing BLAST Tabular files (with and without comments)
- support for writing BLAST Report files

- Indices:
- added public function for trie and radix tree construction
- Q-gram Index: allows sorting the hash-table according to the number of occurrences to reduce cache misses

- IO:
- Tabix index: allowing range queries on chromosomal file formats such as VCF
- Fai Index: optimized fasta index construction
- BAM: added function to write tags from BamTagsDict to the tags field of a bam record
- BAM: allowed BamTagsDict to take const CharStrings

- Misc:
- fixed Iupac alphabet by replacing ``=`` by ``U``
- added missing ``O`` character to amino acid alphabet
- Argument Parser: a few new features such as help string for advanced options
- removed random number engine and replaced it by the STL one
- ZipIterator & ZipContainerView: iterating simultaneously over multiple containers
- extended edges in graphs to store a reference to its source

- Modifier:
- ModifiedString ModPos: iterating over a sequence in a predefined order
- overload save() of ModifiedStrings for const strings
- fixed Modified Iterators and ModView

- Journaled String Tree (new module):
- reference compressed string set structure
- for more details see the `publication <http://bioinformatics.oxfordjournals.org/content/30/24/3499.short>`_

- STL containers:
- added a completely new adaptation to SeqAn interfaces that supports all STL containers, also ``std::array`` and ``std::forward_list``
- greatly improved compatibility of SeqAn algorithms with STL containers so these can be used instead of SeqAn Strings

- Streams:
- improved ZipStream

- Compatibility to previous versions
- the random module was removed, please use the STL's random module instead
- the ``StringSet<T, Dependent<Tight> >`` has been deprecated and will likely be removed for the next release
- some SeqAn Macros have been deprecated since C++11 is now required, e.g. there is no ``SEQAN_AUTO_PTR_NAME``, only ``unique_ptr<>``
- ``SEQAN_NAMESPACE_MAIN`` has been moved into the ``seqan`` namespace, so some of your Metafunction overrides may need to be adapted

Documentation Updates
^^^^^^^^^^^^^^^^^^^^^

- Dox:
- added version selector in API dox


Infrastructure Updates
^^^^^^^^^^^^^^^^^^^^^^

- Build System:
- Major improvements to build system resulting in cleanup and dropped dependencies
- C++11 is now required and many datatypes now have move cosntructors and -assignment operators
- added support for new compiler versions, but dropped support for older compilers
- requirements are now GCC ≥ 4.8 or LLVM / Clang ≥ 3.4 (for Linux, Mac OSX, FreeBSD) and Visual C++ ≥ 10.0 / Visual Studio ≥ 2010 (for Windows)


Release 2.0.2
~~~~~~~~~~~~~

Expand Down
7 changes: 4 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
# Main CMakeLists.txt file.
# ===========================================================================

project (seqan)
project (seqan CXX)

# ===========================================================================
# We require CMake 2.8.2. Since it is available in the currently stable
# We require CMake 3.0.0. Since it is available in the currently stable
# Debian, it should be available everywhere else, too.
# ===========================================================================

cmake_minimum_required (VERSION 2.8.2)
cmake_minimum_required (VERSION 3.0.0)

# ===========================================================================
# Warn People About the Perils Of In-Source Builds
Expand Down Expand Up @@ -110,6 +110,7 @@ set (SEQAN_USE_SEQAN_BUILD_SYSTEM TRUE CACHE INTERNAL "Use SeqAn build system."
#set (SEQAN_PREFIX_SHARE .)
include (SeqAnBuildSystem)
set (SEQAN_ROOT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" CACHE INTERNAL "Root source directory." FORCE)
seqan_get_version ()
seqan_build_system_init ()
seqan_get_repository_info ()

Expand Down
8 changes: 4 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ Prerequisites
-------------------

Linux, Mac OSX, FreeBSD:
* GCC ≥ 4.8
* LLVM / Clang ≥ 3.4
* GCC ≥ 4.9
* LLVM / Clang ≥ 3.5
Windows:
* Visual C++ ≥ 10.0 / Visual Studio ≥ 2010
* Visual C++ ≥ 14.0 / Visual Studio ≥ 2015

We test on 32-bit and 64-bit Intel/AMD architectures, although we highly recommend 64-bit platforms.

To build tests, demos, and official SeqAn applications you also need:
* CMake ≥ 2.8.2 (http://cmake.org/)
* CMake ≥ 3.0 (http://cmake.org/)

Some of the official applications might have additional requirements or work only on a subset of platforms.

Expand Down
4 changes: 2 additions & 2 deletions apps/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
# CMakeLists.txt file for the core apps.
# ===========================================================================

cmake_minimum_required (VERSION 2.8.2)
project (seqan_apps)
cmake_minimum_required (VERSION 3.0.0)
project (seqan_apps CXX)
message (STATUS "Configuring apps")

# Register all apps in core. The apps will be built in SEQAN_RELEASE mode or
Expand Down
7 changes: 3 additions & 4 deletions apps/alf/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,17 @@
# CMakeLists.txt file for ALF.
# ===========================================================================

cmake_minimum_required (VERSION 2.8.2)
project (seqan_apps_alf)
cmake_minimum_required (VERSION 3.0.0)
project (seqan_apps_alf CXX)
message (STATUS "Configuring apps/alf")

set (SEQAN_APP_VERSION "1.1.3")
set (SEQAN_APP_VERSION "1.1.4")

# ----------------------------------------------------------------------------
# Dependencies
# ----------------------------------------------------------------------------

# Search SeqAn and select dependencies.
set (SEQAN_FIND_DEPENDENCIES NONE)
find_package (SeqAn REQUIRED)

# ----------------------------------------------------------------------------
Expand Down
9 changes: 4 additions & 5 deletions apps/bs_tools/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,18 @@
# CMakeLists.txt file for bs_tools.
# ===========================================================================

cmake_minimum_required (VERSION 2.8.2)
project (seqan_apps_bs_tools)
cmake_minimum_required (VERSION 3.0.0)
project (seqan_apps_bs_tools CXX)
message (STATUS "Configuring apps/bs_tools")

set (SEQAN_APP_VERSION "0.1.3")
set (SEQAN_APP_VERSION "0.1.4")

# ----------------------------------------------------------------------------
# Dependencies
# ----------------------------------------------------------------------------

# Search SeqAn and select dependencies.
set (SEQAN_FIND_DEPENDENCIES ZLIB)

find_package (ZLIB)
find_package (SeqAn REQUIRED)
find_package (Boost)

Expand Down
4 changes: 2 additions & 2 deletions apps/bs_tools/bisar.h
Original file line number Diff line number Diff line change
Expand Up @@ -851,8 +851,8 @@ template <typename TAlignedRead, typename TMInfo, typename TFragStore, typename
inline int
_compareAlignedReadAndMateInfo2(TAlignedRead const &a, TMInfo const &b, TFragStore const &fragStore, TOptions &options)
{
if ((__int32)a.contigId < b.contigId) return -1;
if ((__int32)a.contigId > b.contigId) return 1;
if ((int32_t)a.contigId < b.contigId) return -1;
if ((int32_t)a.contigId > b.contigId) return 1;

typename TFragStore::TContigPos posA = _min(a.beginPos, a.endPos);
if (posA < b.beginPos - options.intervalOffset)
Expand Down
2 changes: 0 additions & 2 deletions apps/bs_tools/bisar_score.h
Original file line number Diff line number Diff line change
Expand Up @@ -521,14 +521,12 @@ scoreGapExtendHorizontal(
template <typename TBsCase, typename TModel, typename TSegment>
inline int
scoreGapExtend(Score<int, BsTagList<TBsCase, TModel, TSegment> > const & /*me*/) {
SEQAN_CHECKPOINT;
//std::cout << "This should happen only once: scoreGapExtend()"<< std::endl;
return (int)-100;
}
template <typename TBsCase, typename TModel, typename TSegment>
inline int
scoreGapOpen(Score<int, BsTagList<TBsCase, TModel, TSegment> > const & /*me*/) {
SEQAN_CHECKPOINT;
//std::cout << "This should happen only once: scoreGapOpen()" << std::endl;
return (int)-200;
}
Expand Down
10 changes: 0 additions & 10 deletions apps/bs_tools/bisar_score_data.h
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,6 @@ struct SeqErrorFreqs<TValue, BsNonSimple> {
};

static inline TValue const * getData() {
SEQAN_CHECKPOINT;

// Column sum must be 1 (in the current model)
static TValue const _data[TAB_SIZE] = {
Expand All @@ -167,7 +166,6 @@ struct SeqErrorFreqs<TValue, BsSimple> {
};

static inline TValue const * getData() {
SEQAN_CHECKPOINT;

TValue fE = 1.0/3.0; // Column sum must be 1
static TValue const _data[TAB_SIZE] = {
Expand All @@ -192,7 +190,6 @@ struct SeqErrorFreqsTo<TValue, BsSimple> {
};

static inline TValue const * getData() {
SEQAN_CHECKPOINT;
TValue f = 1.0/5.0;
// A, C, G, T, N
static TValue const _data[VALUE_SIZE] = {f, f, f, f, f}; // siehe Dohm et.al. 2011
Expand All @@ -209,7 +206,6 @@ struct SeqErrorFreqsTo<TValue, BsNonSimple> {
};

static inline TValue const * getData() {
SEQAN_CHECKPOINT;
// A, C, G, T, N
static TValue const _data[VALUE_SIZE] = {0.25, 0.38, 0.16, 0.21, 0.2}; // siehe Dohm et.al. 2011 // TODO N?

Expand All @@ -227,7 +223,6 @@ struct BaseErrorFreqsFrom<TValue, BsNonSimple> {
};

static inline TValue const * getData() {
SEQAN_CHECKPOINT;
// A, C, G, T N
static TValue const _data[VALUE_SIZE] = {0.25, 0.19, 0.24, 0.33, 0.0}; // siehe Dohm et.al. 2008
return _data; // N stays N
Expand All @@ -241,7 +236,6 @@ struct BaseErrorFreqsFrom<TValue, BsSimple> {
};

static inline TValue const * getData() {
SEQAN_CHECKPOINT;
TValue f = 1.0/5.0;
// A, C, G, T N
static TValue const _data[VALUE_SIZE] = {f, f, f, f, f}; // siehe Dohm et.al. 2008
Expand All @@ -262,7 +256,6 @@ struct InsErrorFreqs<TValue, BsNonSimple> {
};

static inline TValue const * getData() {
SEQAN_CHECKPOINT;
// A, C, G, T, N
static TValue const _data[VALUE_SIZE] = {0.43, 0.065, 0.065, 0.43, 0.01}; // siehe Dohm et.al. 2011 // TODO N?

Expand All @@ -277,7 +270,6 @@ struct InsErrorFreqs<TValue, BsSimple> {
};

static inline TValue const * getData() {
SEQAN_CHECKPOINT;
TValue f = 1.0/5.0;
static TValue const _data[VALUE_SIZE] = {f, f, f, f, f};
return _data;
Expand All @@ -295,7 +287,6 @@ struct DelErrorFreqs<TValue, BsNonSimple> {
};

static inline TValue const * getData() {
SEQAN_CHECKPOINT;
// A, C, G, T, N
static TValue const _data[VALUE_SIZE] = {0.42, 0.075, 0.075, 0.42, 0.00}; // siehe Dohm et.al. 2011

Expand All @@ -310,7 +301,6 @@ struct DelErrorFreqs<TValue, BsSimple> {
};

static inline TValue const * getData() {
SEQAN_CHECKPOINT;
TValue f = 1.0/5.0;
static TValue const _data[VALUE_SIZE] = {f, f, f, f, f};
return _data;
Expand Down

0 comments on commit 88e3a0b

Please sign in to comment.