CHANGES IN VERSION 2.0.0
NEW FEATURES
- Better integration with Bioconductor API:
- Added BiocParallel support for all parallel functions.
- Propagate mcols() from GRanges, remove hard-coded column names, and
limit use of data.frame objects. - Drop functionality such as readBed() and writeWiggle() already present
in the rtracklayer package maintained by the Bioconductor core team.
- polymeraseWave() is more reliable and has faster processing from several
changes:- Parallel processing.
- Less memory usage.
- HMM calculations 10x faster not including parallel processing.
- Genes are ignored if they have no reads within or nearby instead of
blindly processing all annotated genes. - Errors from failure to fit distributions, etc are returned to the user
via BiocParallel error handler bptry().
SIGNIFICANT USER-VISIBLE CHANGES
- Remove functions:
- readBed() and writeWiggle() reimplement rtracklayer import.bed(), and
export.bw() / export.wig(). - tlsDeming(), tlsLoess(), and tlsSvd() total least squares fit functions,
commented as unreliable by the author and not used anywhere in the code
base. - Redundant runMetaGene-like functions metaGeneMatrix() and metaGene_nL().
- averagePlot() does not have a sufficiently broad use case.
- readBed() and writeWiggle() reimplement rtracklayer import.bed(), and
- Remove function arguments:
- Broken NonMap/UnMAQ argument of polymeraseWave() and pausingIndex().
- Buggy resampling arguments of getTxDensity().
- Debug parameters from many functions. For troubleshooting faults, it is
much more informative to use debugonce(), browser(), etc per
adv-r.had.co.nz and improve the now included unit tests.
- Verbose flag now works for C functions. The large volume of C messages
can be silenced as originally intended instead of always being verbose. - Replace sweave package vignette with Rmd for easier user interaction.
Less effort should be needed to maintain the vignette due to simpler
syntax, and fewer obtuse LaTeX errors. - Disable default plotting of getTxDensity(). Only functions whose names
start with 'plot' automatically generate plots. - getTxDensity() is faster and returns exact values instead of trapezoidal
approximation. - windowAnalysis() now has no upper limit on stepSize.
- polymeraseWave() returns GRanges instead of relative wave positions.
- polymeraseWave() has a new within argument to find waves beyond annotated
gene boundaries.
BUG FIXES AND IMPROVEMENTS
- Fix windowAnalysis() "subscript out of bounds" error, and add corner case
of empty ranges. Fix regression of only returning single chromosome. - Fix corner cases of breakTranscriptsOnGenes() and combineTranscripts()
failing when no break or join errors are detected. - Fix breakTranscriptsOnGenes() failing to validate assumption that
annotations do not overlap (GitHub issue #2). - Fix polymeraseWave processing genes beyond chromosome boundaries and raise
error when HMM fails to converge. - Fix makeConsensusAnnotations not correctly validating presence of gene ID
column. Additionally the gene ID column no longer uses the "gene_id"
magic string and is configurable via the column argument. - One can now control makeConsensusAnnotations() parallelism. Remove the
hard coded 10 CPU cores. - Move all packages from Depends to Imports to fix Travis-CI bootstrap
errors. - Add unit test suite using testthat:
- All bugs discovered since version 1.7.0 now have corresponding
regression tests. - Add lintr in unit tests to preserve code style.
- All bugs discovered since version 1.7.0 now have corresponding
- New maintainer in response to dead upstream.
- Add contributor instructions in README.
- Add GitHub continuous integration using Travis-CI, covr, and codecov.
- Fix R check errors, warnings and notes:
- Fix RgammaMLE() namespace collision between R and C functions by
renaming C function to Rgamma(). - Add useDynamicSymbols removed by a previous maintainer in Bioconductor
3.0.
- Fix RgammaMLE() namespace collision between R and C functions by
- Fix BiocCheck errors, warnings and notes:
- Drop use of <<- from writeWriggle()
- Indent at multiples of 4 spaces.
- Wrap lines at 80 columns.