basejump 0.9.0 (2018-12-12)

I bumped the release series from v0.8 to v0.9 because this represents a significant change to the internal codebase, where I have now switched to using my new goalie assert check engine from assertive.

New functions

  • decode: Decode S4 run-length encoding (Rle).
  • encode: Apply S4 run-length encoding (Rle).
  • geneNames: Convenience function that returns gene names (symbols) mapped to the stable, but not human-friendly gene identifiers.
  • matchesGene2Symbol, matchesInterestingGroups: New functions designed to match corresponding Gene2Symbol objects or interestingGroups.
  • pasteURL: Convenience function that generates URL strings.
  • sanitizeColData: rework of previous sanitizeSampleData approach.

Major changes

  • Now using goalie package instead of assertive for internal assert checks. The new goalie::assert function is more flexible in many cases. Similarly, goalie::validate is now being used in place of assertthat::validate_that.
  • plotHeatmap now calculates the z-score normalization internally, rather than relying upon the codebase inside pheatmap.
  • export: Improved SummarizedExperiment method to also write Gene2Symbol and Ensembl2Entrez mappings to disk, when defined. The human-friendly output formal has been renamed from human to humanize, to reflect an action (verb). This corresponds better to our humanize generic function. Also reworked some internal code that handles output of colData and rowData to disk.
  • makeGRangesFromEnsembl: Switched to using S4 run-length encoding (Rle) in our metadata column (mcols) return. This functionality matches the conventions used by GenomicRanges in the GRanges return, and reduces the memory footprint of very large annotation objects.

Minor changes

  • Note that some internal instances of has_length aren’t quite strict enough. Switch to using length(x) > 0L or improved hasLength assert check defined in the goalie package.
  • geneSynonyms: Switched to using new pasteURL function internally instead of using paste with / separator.
  • HGNC2Ensembl generator: switch to using pasteURL internally.
  • loadData, and other related load family functions: simplified internal code using our new goalie asserts.

Deprecations

  • Removed assertFormalGene2symbol from deprecations.

Documentation

  • Improved documentation style throughout the package, switching from the usage of scalar types like string to character(1), and boolean to logical(1). This better matches the actual data structure in R. Some other packages like checkmate also use this convention, which I think is more readable than my previous approach.

basejump 0.9.1 (2018-12-22)

This release defines the initial point where basejump begins to import bioverbs.

Major changes

  • Now importing generics using our bioverbs S4 generic package. All generics previously defined in basejump will continue to be reexported, to maintain backward compatibility for reverse dependencies (revdeps).

Minor changes

  • aggregateCellsToSamples: Split out S4 method to a separate file. Previously was defined in aggregate-methods.R.
  • Reorganized collapse family of functions. Refer to changes in collapse-methods.R, which is now split out to collaseToString-methods.R.
  • Split out the markdown family of functions back out into separate files.
  • matchesGene2Symbol, matchesInterestingGroups: Reworked internal code and moved to separate files. No longer relies upon makeTestFunction from checkmate package.

Documentation

  • Switched documentation titles to sentence case from title case. It’s generally more readable.

basejump 0.9.2 (2019-01-07)

This release defines the initial point where basejump becomes even more modular, offloading some functions to new brio, syntactic, and S4Transformer packages.

Note that all offloaded functions will continue to be reexported in basejump. If you notice a function that is missing and not correctly re-exported, please file an issue.

Note that S4Transformer has since been renamed to transformer.

Offloaded to S4Transformer

  • as coercion methods moved to S4Transformer package. This methods define our useful interconversions between Bioconductor and tidyverse data classes, including DataFrame and tbl_df (tibble).
  • coerceS4ToList / flatFiles.

Offloaded to bb8

  • cleanSystemLibrary. This doesn’t scale well to all installations and is really only intended for personal use, so bb8 package is more appropriate.
  • Documentation functions, including parseRd, RdTags, saveRdExamples, and tabular are outside the scope of basejump.

Offloaded to brio

  • basenameSansExt.
  • dots.
  • export.
  • import.
  • initDir.
  • loadData.
  • localOrRemoteFile.
  • pasteURL.
  • realpath.
  • sanitizeColData.
  • sanitizeRowData.
  • sanitizeSampleData.
  • saveData.
  • transmit.
  • writeCounts.

Offloaded to goalie

  • matchArgsToDoCall.
  • MethodDefinition.
  • standardizeCall.

Minor changes

  • Added nullOK support to goalie assert checks, where applicable.

basejump 0.9.3 (2019-01-08)

Minor changes

  • Reorganized imports in DESCRIPTION file to make them more human readable. Note that basejump sub-packages are imported first, then Bioconductor packages, followed by CRAN packages, and required default packages.
  • Split out NAMESPACE imports into a separate imports.R file.

basejump 0.9.4 (2019-01-12)

Minor changes

  • Consolidated reexports from basejump sub-packages into reexports.R file.
  • Miscellaneous documentation updates, improving link appearance for functions exported in other packages.

basejump 0.9.5 (2019-01-22)

Minor changes

  • Updated basejump subpackage dependencies.
  • Needed to add decode call internally for some plotting functions, to ensure that run-length encoded (Rle) rowData gets handled correctly.
  • Bug fix for internal interestingGroups handling in plot functions.

Offloaded to brio

  • decode, encode. These are useful for data sanitization. Still re-exported here in basejump.

Offloaded to goalie

  • printString. This is a low-level function that is useful for setting the cause attribute in error messages. Still reexported here in basejump.

Deprecations

  • sanitizeRowData has been deprecated in favor of atomize.
  • sanitizeAnnotable deprecation has been updated to point to atomize.

basejump 0.9.6 (2019-01-22)

Minor changes

  • Note that S4Transformer package import has been renamed to transformer.
  • Needed to add decode call internally for some plotting functions, to ensure that run-length encoded (Rle) rowData gets handled correctly.
  • Bug fix for internal interestingGroups handling in plot functions.

Offloaded to brio

  • decode, encode. These are useful for data sanitization. Still re-exported here in basejump.

Offloaded to goalie

  • printString. This is a low-level function that is useful for setting the cause attribute in error messages. Still reexported here in basejump.

Deprecations

  • sanitizeRowData has been deprecated in favor of atomize.
  • sanitizeAnnotable deprecation has been updated to point to atomize.

basejump 0.9.7 (2019-01-23)

Minor changes

  • decode and encode are properly reexported from brio.
  • Updated Travis CI and AppVeyor CI configurations.

basejump 0.9.8 (2019-02-08)

Minor changes

  • Deprecating plotGene in favor of plotCounts. This change will be reflected in future updates of packages that depend on basejump, including the bcbio R packages.
  • Split out subpackage reexports into separate files.
  • Reexporting assert from goalie package.

basejump 0.9.9 (2019-02-11)

Minor changes

  • Code fixes to provide backward compatibility support for R 3.4. Tested using R 3.4.1 with Bioconductor 3.6 release.
  • Needed to add unname to some assert checks for expected logical(1) return, which only happens in R 3.4 but not R 3.5.
  • uniteInterestingGroups: Improved internal assert checks and name handling.

basejump 0.9.10 (2019-02-17)

Minor changes

  • Working on making the current basejump code base completely backward compatible with bcbioBase v0.4.1 and bcbioRNASeq v0.2.8 release series.
  • Now reexporting goalie::bapply and additional useful pipes from magrittr package.
  • Keeping the now deprecated plotGene generic reexported, while encouring users to update their code to use plotCounts instead.
  • interestingGroups: Simplified internal assert checks, removing matchesInterestingGroups, which can become circular.

basejump 0.9.11 (2019-02-25)

Minor changes

  • Updated transformer package reexports to include new data.table coercion methods.
  • Added additional useful compression function reexports from brio package.

basejump 0.9.12 (2019-03-11)

Major changes

  • makeGRangesFromGFF: Reworked internal code, making it more modular. Added initial support for RefSeq GFF3 files. Also improved sanitization and special handling of files from FlyBase and WormBase.

Minor changes

  • plotHeatmap family: Bug fix needed for internal is.na call on annotationCol, which should be wrapped with any to return boolean. This errors (as it should) on R 3.6, but I missed it on R 3.5.
  • Consolidating GRanges return code defined in .makeGRanges, which is run for both GFF file and ensembldb import. We’ve improved the Rle encoding steps here to work with complex GFF3 files (e.g. GENCODE).

basejump 0.9.13 (2019-03-18)

Minor changes

  • Updated dependencies, specificially brio and goalie.
  • Miscellaneous documentation improvements.

basejump 0.9.14 (2019-03-18)

Minor changes

  • Additional bug fixes for sampleData and blacklisted metadata handling.

basejump 0.9.15 (2019-03-22)

Minor changes

basejump 0.9.16 (2019-03-23)

Minor changes

  • convertSampleIDsToNames: Removed code to assign sampleName column to NULL. This step doesn’t work consistently for DataFrame across Bioconductor installations, and has been found to error on R 3.4 and the current bioc-devel on AppVeyor.
  • Miscellaneous documentation fixes, removing extra formatting in titles.
  • makeGRangesFromGFF: Compressed Ensembl GTF file example was erroring out on AppVeyor CI, due to Windows’ poor handling of temp files on non-admin accounts. Switched to a non-gzipped example file to avoid this issue. Also removed tabular table from documentation, which currently doesn’t render correctly via pkgdown.