libprosic 0.7.3

A library for calling of genomic variants using a latent variable model.
Documentation
# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).

## [0.7.0] - 2018-11-06
### Changed
- overhaul of FDR machinery to make it only one tool that outputs a BCF filtered at a provided FDR threshold
- a number of performance optimizations leading to more than an order of magnitude speedup of ProSolo, a tool using this library, [with details described in its repo]https://github.com/ProSolo/prosolo/issues/2; most importantly these changes are:
  - [caching the CIGAR string of reads]https://github.com/PROSIC/libprosic/pull/34
  - caching likelihood point estimates for reuse in different (two-dimensional) Events (see PRs [36]https://github.com/PROSIC/libprosic/pull/36 and [40]https://github.com/PROSIC/libprosic/pull/40)
  - [caching of `prob_rho()` function in the SingleCellBulkModel]https://github.com/PROSIC/libprosic/pull/46
  - [minimize the number of `ln` operations performed, caching some values per program run, per pileup or per observation]https://github.com/PROSIC/libprosic/pull/48
- remove use of flamegraphing crates in favor of [perf flamegraphing]https://gist.github.com/dlaehnemann/df31787c41bd50c0fe223df07cf6eb89
- [minor bugfix for `ContinuousAlleleFreqs` ranges depicting points]https://github.com/PROSIC/libprosic/pull/47
- introduced `cargo fmt` use, including in continuous integration tests
- [insert size estimation from data and handling as `alignment_properties`, removing the necessity to provide them for each run via command-line arguments]https://github.com/PROSIC/libprosic/pull/41
- [binarise MAPQ to 0 vs. maximum observed MAPQ at a site, to remove reference mapping bias]https://github.com/PROSIC/libprosic/pull/38 -- using the given instead of the binarised MAPQ could be selected via a command line option in the downstream tool that sets `use_mapq`
- overhaul of observation extraction mechanism and sampling probability calculation for indels, looking at full fragments (e.g. read pairs) jointly instead of looking at reads separately( see PRs [28]https://github.com/PROSIC/libprosic/pull/28, [29]https://github.com/PROSIC/libprosic/pull/29 and [30]https://github.com/PROSIC/libprosic/pull/30)
- [added functionality to calculate likelihoods and calls for candidate sites without a candidate alternative allele, i.e. homozygous reference candidates]https://github.com/PROSIC/libprosic/pull/24
- dependency updates (`rust-htslib` to `0.22`, `rust-bio` to `0.23`)

## [0.6.0] - 2018-01-12
### Changed

- added functionality to filter by FDR thresholds based on sets of `Events` and improved code for summing up Event likelihoods (incl. fixing numerical overshoot issues)
- dependency updates (`rust-htslib` to `0.16`, `rust-bio` to `0.16` from `rustc-serialize` to `csv` and `serde`)
- some test fixes


## [0.5.0] - 2017-11-17
### Changed
- FDR control now works for sets of events.
- The pair HMM implementation has been finetuned and improved.
- Artifacts from weird mapper decisions are now better detected.


## [0.4.0] - 2017-07-06
### Changed
- Refactored and fixed the false discovery rate estimation code.
- Improved indel likelihood calculation (pairHMM based indel likelihoods; do not normalize indel likelihoods for ref and alt, only consider a small window around the indel)
- New SingleCellBulkModel for calling variants in single cell data against a bulk background sample.
- Update rust-bio dependency to 0.14.* or newer.
- Marginalization only over specified Events, not the full allele frequency ranges.
- Full-blown Cigar string parsing with CigarErrors and full single nucleotide variant (SNV) support, externalized via rust-htslib dependency.
- New Ranges with inclusive/exclusive end points.
- Added commitizen.


## [0.3.0] - 2017-05-04
### Changed
- Ensure fair sampling of reads supporting ALT and REF allele.


## [0.2.0] - 2017-03-28
### Changed
- calculate ALT and REF likelihood by realigning against pseudo-haplotypes

## [0.1.0] - 2016-11-02
### Added
- initial release