swh:1:snp:f3511883632f81e4fc485e57921720535003d877
Tip revision: e5a0f83371407e6ebc50a5f17cc2973017c38d65 authored by Enrico Siragusa on 29 March 2016, 11:11:50 UTC
Merge pull request #1620 from esiragusa/hotfix/yara/indels
Merge pull request #1620 from esiragusa/hotfix/yara/indels
Tip revision: e5a0f83
CHANGELOG.rst
SeqAn Changelog
---------------
This file summarizes the changes to the SeqAn library and apps.
Release 2.1.1
~~~~~~~~~~~~~
Minor release including major improvements of the manual, several library bug-fixes and changes in the build system. All library modules are backward compatible
with 2.1.0. For a complete list of changes visit `GitHub <https://github.com/seqan/seqan/pulls?q=is%3Apr+is%3Amerged++milestone%3A%22Release+2.1.1%22+>`_.
Selected Bug Fixes
^^^^^^^^^^^^^^^^^^
- Tests:
- delete automatically created temp directories in unit and app tests
- demo tests: ``std::cout`` was not considered in tests
App Updates
^^^^^^^^^^^
- Yara:
- fall back to single-end mapping when paired-end library length distribution is neither given nor estimable
- fixed handling of reference metagenomes (references larger than 16k sequences)
- enabled support for reference metagenomes by default (``-DYARA_LARGE_CONTIGS=ON``)
- added option ``--sensitivity`` (low, high, full)
- replaced option --output-secondary with ``--secondary-alignments`` (tag, record, omit)
- renamed several options
Documentation Updates
^^^^^^^^^^^^^^^^^^^^^
- Manual:
- major reworking of the manual
- repaired links to API dox
- hourly update of API dox for nightly builds
Infrastructure Updates
^^^^^^^^^^^^^^^^^^^^^^
- Build System:
- more sensible execinfo detection
- don't ship apps and the manual on library releases
- introduce cmake ``-DSEQAN_OFFICIAL_PKGS=1`` to build upstream releases with static binaries
- cache dependency detection on ``DEVELOP``
- make it possible to do ``RELEASE_LIBRARY`` without dox
- Platforms:
- basic BSD support
- fixed warnings on Windows
- KNIME:
- packaging - more flexibility when generating KNIME plugins of external 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
~~~~~~~~~~~~~
Minor release including several library bug-fixes as well as better documentation and infrastructure.
All library modules are backward compatible with 2.0.1.
For a complete list of changes visit `GitHub <https://github.com/seqan/seqan/pulls?q=is%3Apr+is%3Amerged++milestone%3A%22Release+2.0.2%22+>`_.
Selected Bug Fixes
^^^^^^^^^^^^^^^^^^
- Sequences:
- fixed insert() for packed_string
- fixed segfault bug for upac assignment in Dna5 StringSet
- added insertValue(), insert() and replace() for StringSets
- added empty() for std::list
- IO:
- BAM I/O: adding spport for custom tags with floats
- BAM I/O: BamTagsDict allows wrapping a const object
- FastQ: fixed readRecord() for malformed fastq files (avoid skipping records)
- FaiIndex: fixed readSequence/readRegion allocation
- Apps:
- Gustaf: loading Fasta files with Iupac characters
Documentation Updates
^^^^^^^^^^^^^^^^^^^^^
- Dox:
- fixed page redirection
- minor bugs
- code snippets in the documentation now undergo build tests and continuous integration to avoid outdated documentation
Infrastructure Updates
^^^^^^^^^^^^^^^^^^^^^^
- Platform Support:
- FreeBSD support
- updated prerequisites for GCC to >= 4.7 and Clang to >= 3.3
- fixed warnings for gcc6
- clang-3.7.x: deactivated openmp because of bug
- fixed compiler-warnings in Visual Studio (/W2 produces no warnings anymore)
- added support for Visual Studio 2014 and 2015
- Build System:
- added pkg-config support
- changed includes search priorities for CMake's FindSeqAn
- Continuous Integration:
- added more platforms on TravisCI
Release 2.0.1
~~~~~~~~~~~~~
Minor release including several library bug-fixes as well as better documentation and infrastructure.
All library modules are backward compatible with 2.0.0.
For a complete list of changes visit `GitHub <https://github.com/seqan/seqan/pulls?q=is%3Apr+is%3Amerged++milestone%3A%22Release+2.0.1%22+>`_.
Library Bug Fixes
^^^^^^^^^^^^^^^^^
- Basic:
- Added AminoAcid symbol "O"
- Disabled global exception handler by default
- Sequence:
- Added missing overloads for const Strings
- Fixed and tested StringSet
- Reworked STL containers adaption
- Fixed several bugs in ModifiedStrings and ModifiedIterators
- Stream:
- Worked around I/O with std::string
- Supported multi-stream gzip files produced by Illumina Casava
- Fixed BgzfStream tell()
- SeqIO:
- Changed Raw file extension from .txt to .raw
- BAM I/O:
- Fixed BIN computation
- Fixed a bug in jumpToOrphans()
- Fixed internal concurrency problems
- Fixed readBamHeader() to clear the BamHeader
- Added assertions to writeRecord()
- Added BamIndex::save() to save .bai files
- Gff I/O:
- Fixed parsing of comment lines
- FragmentStore:
- Fixed loading Gtf/Gff3 files
- Index:
- Fixed open() and save() for WT FMIndex
- Added open() and save() for OpenAddressing QGramIndex
- Seeds:
- Fixed a bug in sparse chaining
- Fixed a bug in banded chain alignment
Documentation Updates
^^^^^^^^^^^^^^^^^^^^^
- Manual:
- Fixed and improved several Tutorials and HowTos
- Added version-aware links to the dox
- Dox:
- Added @datarace entity
- Fixed broken links in "See Also" section
- Fixed a problem with close button in the side pane
- Documented class VirtualStream
- Demos:
- Restructured demos directory
- Fixed several broken demos
Infrastructure Updates
^^^^^^^^^^^^^^^^^^^^^^
- Platform Support:
- Added support for GCC 4.9 and Clang 3.7
- Preliminary support for Clang 3.8 with OpenMP
- Preliminary support for Visual Studio 2015
- Preliminary support for FreeBSD 10.2
- Build System:
- Tested all demos
- Upgraged TravisCI builds to run on Docker
- Fixed Java detection
Release 2.0.0
~~~~~~~~~~~~~
Major release with many new features and applications.
Note, the majority of the modules are backward compatible to the previous version.
Some modules, e.g. I/O-modules, have some adapted easier-to-use or unified interfaces.
Library Updates
^^^^^^^^^^^^^^^
- Faster and easier-to-use modules for basic and formatted file I/O:
- ``stream``
- ``seq_io``
- ``bam_io``
- ``vcf_io``
- ``gff_io``
- Faster data structures:
- FMIndex (up to 4X).
- Packed Strings.
- New alignment modules:
- X-Drop extension for alignments (``align_extend``)
- Sequence-profile alignments (``align_profile``)
- New AminoAcid-Dna translation module (``translation``)
- The motif finding module (``find_module``) has been removed.
Infrastructure Updates
^^^^^^^^^^^^^^^^^^^^^^
- The repository has been migrated to GitHub (https://github.com/seqan/seqan).
- Continuous integration builds happen on TravisCI.
- The manual has been migrated to sphinx (http://seqan.readthedocs.org).
- The ``core`` and ``extras`` subfolders have been removed.
New Apps
^^^^^^^^
- ANISE and BASIL
- Methods for the detection and assembly of inserted sequence in High-Throughput Sequencing Data.
- BS Tools
- Bisulfite read mapping and SNP and methylation level calling.
- Fiona
- A parallel and automatic strategy for read error correction.
- Gustaf
- Generic mUlti-SpliT Alignment Finder.
- Mason 2
- A read simulator.
- NGS ROI
- Region of Interest Analysis for NGS Data.
- Samcat
- Concatenate and convert SAM/BAM files (faster than samtools).
- Seqcons 2
- Compute consensus from sequences sequences with and without approximate alignment information.
- Yara
- Yet another read aligner (replaces Masai).
Release 1.4.2
~~~~~~~~~~~~~
Documentation-only release backward compatible with 1.4.1.
Release 1.4.1
~~~~~~~~~~~~~
This minor release should be backward compatible with 1.4. It contains small fixes and many demos for improving the API documentation. Some file format functionality has been added.
Highlights
^^^^^^^^^^
- Many new demos and improved API documentation throughout the library.
- New file format support and tutorials for this functionality: VCF I/O, BED I/O, and improvements to GFF and GTF I/O.
Selected Bug Fixes
^^^^^^^^^^^^^^^^^^
- ``gff_io.h`` does not contain corrupt includes any more
- Gapped X-drop seed extension now works with score matrices such as BLOSUM60.
- SAM writer code now writes ``255`` for invalid ``MAPQ`` and ``0`` for invalid/unapplicable ``TLEN`` instead of ``*``.
- Fix in Postorder ParentLinks VSTree Iterator.
- ``SEQAN_PATH_TO_ROOT()`` can now be used in demo programs.
- Removing duplicate definition of ``SEQAN_ENABLE_TESTING`` in build system.
- Write support for ``char *`` for ``BamTagsDict``.
- Fix in ``StringEnumerator``.
- Fix writing out of file extension when writing KNIME plugins.
Release 1.4
~~~~~~~~~~~
Highlights
^^^^^^^^^^
- New read mappers applications Masai and RazerS 3.
- Extended and more robust I/O functionality in ``stream``, ``seq_io``, ``bam_io``, and ``gff_io``.
- Module arg_parse creates improved command line help and supports workflow engine integration.
- Also see https://github.com/genericworkflownodes
- Greatly improved alignment module with better performance and interfaces.
- Greatly improved build system, ``find_package(SeqAn)`` for your CMake build systems.
New Apps
^^^^^^^^
- ALF
- Alignment free sequence comparison.
- Breakpoint Calculator
- Breakpoint computation for genomic alignments.
- Masai
- Fast index-based read mapper.
- RazerS 3
- Fast filtration-based, parallel read mapper.
- SnpStore
- SNP and small indel calling.
Major App Updates
^^^^^^^^^^^^^^^^^
- All applications now use the ArgumentParser and have better CLI help.
- Rabema
- Rewritten from scratch, includes BAM support.
- Greatly lowered memory requirements.
- SeqCons
- Fixing input bugs, supports SAM I/O now.
- Stellar
- Major update improving running time, including bug fixes, and
allowing for various alphabet types.
- MicroRazerS
- Adding support for SAM output.
Major Library Updates
^^^^^^^^^^^^^^^^^^^^^
- Modules ``seq_io``, ``bam_io``, ``gff_io`` with I/O functionality.
- FM Index in module ``index``.
- Rewritten ``align`` module with better performance, more consistent interfaces.
- Split alignment module ``align_split``.
- Metaprogramming: introducing ``EnableIf``, ``DisableIf``, ``EnableIf2``, and ``DisableIf2`` metafunctions
- Module ``alignment_free`` for alignment free sequence comparison.
- Module ``journaled_set`` for managing many similar sequences.
- Faster open addressing q-gram index.
- generic support for memory mapped files via FileMapping class
- Adding module ``parallel`` with atomic operations in C++98.
- Greatly improved FragmentStore documentation.
- Adding ``position()``, ``operator-()``, ``operator[]`` with proxy functionality and relation operators to journaled string iterator.
- Pigeonhole-based filter algorithm.
- Parallel repeat finding.
- Clang support, C++11 support
Major Library Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^
- Fixing repeat finding on Dna5Q.
- Fixing insert size computation in store_all.h
- Fixing memory initialization problem in ``appendValue()`` for Block String.
- Default constructor of Iter modified, such that data_container and data_position are initialized.
- Fixed error loading Fasta on Windows.
- Fixed wrong StringSet size types, allow to easily subclass Alloc strings
- Now supports SAM files with missing read sequences
- Fixing SeqAn code for C++11
- FragmentStore fixes.
Miscellaneous
^^^^^^^^^^^^^
- Experimental support added platforms for ICC and PGI compilers.
- Experimental support for CUDA.
- Build System
- Large updates to build system.
- Includes ``FindSeqAn.cmake`` for easily using SeqAn in your own CMake build system.
- Packaging now based on CPack
- Xcode plugin for MacPorts LLVM/Clang in Xcode 3 and 4
- Improved code generator ``skel.py``.
- Many minor bug fixes
- Cleaned code base
- Added test cases (e.g. Stellar)
- Improved documentation and added examples (Mason, Rabema, RazerS, etc.)
- Improving coding style compliance of Array String implementation.
- Various tool improvements (e.g. RazerS 3)
- Performance improvements.