Changelog
Source:NEWS.md
AcidBase 0.7.4 (2024-04-12)
Minor changes:
-
dupesandnotDupes: Need to early returnNULLbeforeis.atomiccheck, as R 4.5 has a breaking change inis.atomicthat now returnsFALSEforNULL, where is previously returnedTRUE. - Decreased R dependency from 4.3 to 4.0 for better backwards compatibility on legacy Ubuntu LTS systems.
AcidBase 0.7.3 (2023-12-15)
New functions:
-
matchAll: Variant of basematch()that returns all positional matches ofxintable, instead of only returning the first match. Differs from basematch()in that the function always errors on any match failures instead of returningNA. -
notDupes: Works likedupes(), but only returns values that are not duplicated.
AcidBase 0.7.2 (2023-11-10)
Minor changes:
-
shell: Setprintargument toTRUEby default, rather thaninteractive(), which improves console output during scripts invoked byRscriptinstead of running directly in an R session. - Updated lintr checks.
AcidBase 0.7.1 (2023-10-06)
Minor changes:
-
showHeader: Improved edge case handling ofDFrameListclass.
AcidBase 0.7.0 (2023-09-29)
New functions:
-
dupes: Return unique values that result inTRUEvia baseduplicated. See alsogoalie::isDuplicatefor details. -
pkgCacheDir: Return the directory path for a package’s file cache. -
strExtract: Base R variant ofstringi::stri_extract_first. -
strExtractAll: Base R variant ofstringi::stri_extract_all. -
strMatch: Base R variant ofstringi::stri_match_first. -
strMatchAll: Base R variant ofstringi::stri_match_all. -
strPad: Base R variant ofstringr::str_pad. -
strRemoveEmpty: Base R variant ofstringi::stri_remove_empty. -
strReplaceNa: Base R variant ofstringi::stri_replace_na. -
strSplit: Base R variant ofstringi::str_split_fixed.
Major changes:
- Now enforcing strict camel case naming of all functions.
- Renamed
pasteURLtopasteUrl. - Renamed
strsplittostrSplit(note case).
Minor changes:
-
headtail: Now returns character instead of printing to the console. -
matchNested: Simplified internal code by usinglengths. -
showSlotInfo: Reworked internal code.
AcidBase 0.6.23 (2023-09-19)
Minor changes:
-
pasteURL: Hardened against unwanted recycling, which is allowed in basepastebut undesirable here. Also added an assert check to ensure that URL is always returning, containing"://". This edge case can happen when user uses function withprotocolset to"none". Also added support for input of a character vector as the first argument alone, which can be useful for passing in variables.
AcidBase 0.6.22 (2023-09-13)
New functions:
-
strsplit2: This function works like basestrsplitbut consistently splits into a character matrix for easier extraction of values. Works like stringi and stringr variants but designed to be as simple as possible without requiring a non-base R dependency.
AcidBase 0.6.21 (2023-09-11)
Minor changes:
-
euclidean: Reworked so that generic no longer requiresy. We have modified this downstream in the pending DepMapAnalysis package update.
AcidBase 0.6.20 (2023-09-08)
New functions:
-
keepOnlyAtomicCols: New utility function that removes complex non-atomic columns (e.g.list) from aDFrameordata.frameclass object.
AcidBase 0.6.19 (2023-08-23)
Minor changes:
-
showHeader: Improved header for S4DFrame, which contains rows and columns. For classes that extendAnnotatedbut don’t supportdim, still returns legacy length information. - Removed
forceDetachfunction, as it is no longer used in any other Acid Genomics packages.
AcidBase 0.6.18 (2023-08-01)
New functions:
-
randomString: Random string generator.
Minor changes:
-
tempdir2: Now callsrandomStringinternally to generate a unique temporary directory that is simpler and performs more consistently across platforms.
AcidBase 0.6.17 (2023-07-27)
Minor changes:
-
pasteURLnow automatically encodes URLs viautils::URLencode. This is helpful for improving consistent handling of complex URLs. We ran into differences in handling between httr and httr2 for URLs containing spaces. Note that goalieisURLwill now returnFALSEfor non-encoded URLs.
AcidBase 0.6.16 (2023-05-16)
New functions:
-
cpus: Return the number of total CPUs available. -
ram: Return the amount of total or free ram, in GB by default.
Minor changes:
-
initDiris now vectorized and supports multiple directories.
AcidBase 0.6.13 (2023-04-12)
New functions:
-
matchNested: Match recursively across columns forDataFramemethod, and per element forlistmethod. This is very useful for quick matching of cancer cell line name variants (Cellosaurus) and gene name aliases (HGNC, NCBI in AcidGenomes).
Minor changes:
- Removed defunct
matchArgsToDoCallfromNAMESPACE.
AcidBase 0.6.11 (2023-02-07)
Minor changes:
-
requireNamespaces: Migrated this function to goalie. Still reexporting this function in the NAMESPACE, but that likely will change with a future update.
AcidBase 0.6.10 (2023-01-30)
Minor changes:
- Deprecated
minorVersionin favor ofmajorMinorVersion, which improves legibility. Added asserts against""andNAinput. Improved code coverage and support for input of a major version alone here (e.g."1"instead of"1.0"). - Now using
requireNamespacesinstead ofrequireNamespaceconsistently across the package, to improve error messages.
AcidBase 0.6.9 (2022-11-21)
New functions:
-
euclidean: Calculate Euclidean distance of two numeric vectors. -
zscore: Calculate Z score for an input numeric vector or matrix. Note that matrix method defaults to row-wise scaling, defined byMARGINargument. This convention is intended to match recommended R defaults, and also to work as expected with sample (columns) x gene (rows) matrix, commonly used for gene expression inSummarizedExperimentclass objects.
AcidBase 0.6.8 (2022-10-20)
New functions:
-
truncateString: Simple utility function that smartly adds ellipsis (...) when necessary to a long character string. Don’t want to export this astruncate, which is defined in base R for connections.
Minor changes:
-
shell: Improved interactive printing and error message handling. The function now attempts to automatically handle~character, when defined at the beginning of an argument.
AcidBase 0.6.7 (2022-09-06)
Minor changes:
-
shell: Added support forenv, which allows for environment variable definition inside the child process. Refer toprocessx::runandsystem2for details.
AcidBase 0.6.6 (2022-08-24)
Minor changes:
-
requireNamespaces: Made error message regardingNAMESPACEmore informative. Now indicates that user needs to install a missing package. - Miscellaneous documentation updates, based on roxygen2 changes.
AcidBase 0.6.5 (2022-06-08)
Minor changes:
-
unlink2: Added assert check to ensure files and/or directories are successfully deleted. Callsfile.existsinternally, which checks both files and directories.
AcidBase 0.6.4 (2022-06-02)
New functions:
-
tempdir2: Temporary directory generator that improves upon base Rtempdirconventions, ensuring that a new unique directory is created per call. -
unlink2: Hardened variant ofunlinkthat provides better file system compatibility with Windows. Function will intentionally error if file or directory does not exist on disk.
AcidBase 0.6.3 (2022-05-31)
Minor changes:
- Improved internal consistency of
normalizePathcalls, using platformfsepforwinslash, similar to conventions used inrealpath. This helps improve consistency of messages and file path output on Windows. - Fixed unit test compatibility on Windows.
AcidBase 0.6.2 (2022-05-20)
Minor changes:
- Updated package to use testthat 3e and updated lintr checks.
-
fileExt: Addedpatternformal, which lets us override compressed file handling in other packages. -
compress: Improved handling of ZIP files, to no longer rely on internalsetwdcall. Now usingwithr::with_dirtemporary approach instead. -
compressanddecompress: Reformatted internal code to pass lintr checks. -
forceDetach: Simplify internal code using a for loop. - Now using
Mapinternally instead ofmapply.
AcidBase 0.6.1 (2022-05-02)
New functions:
- Migrated
gitCurrentBranchandgitDefaultBranchfrom r-koopa here.
Minor changes:
-
shell: AddedreturnStdoutargument, which helps parse stdout. -
fileExt: Added option to override defaultextPatternmatch.
AcidBase 0.6.0 (2022-04-29)
Major changes:
- Updated minimum R dependency version to 4.2
- Reduced the number of strong dependencies, migrating AcidCLI, stats, and utils to
SuggestsfromImports.
Minor changes:
- Improved formatting consistency using styler package.
AcidBase 0.5.0 (2022-03-11)
Minor changes:
- Ordered S4 method exports alphabetically by class, where applicable.
-
compress/decompress: Simplified default formals and documentation. User can no longer setremoveoroverwriteglobally with"acid.compress.remove"or"acid.overwrite", respectively. - Removed
formalsListfrom NAMESPACE, in favor of a reworked approach across packages that previously inherited these values (in development). -
printString: Improved and cleaned up documentation. - Updated working examples to use
DataFrameobject instead ofDFrame, where applicable. This requires an update to AcidTest package. -
compress: Bug fix for ZIP file compression handling outside of working directory. Incorrectly usedbasenameargument internally. Unfortunately need to change the working directory internally to get this working correctly.
AcidBase 0.4.5 (2021-09-08)
Minor changes:
- Cleaned up the NAMESPACE a bit, removing some deprecated functions:
metadataBlacklist(in favor ofmetadataDenylist) andbapply, which should only be defined in goalie package. - Reexporting
tarfrom untils package alongsideuntar, for consistency.
AcidBase 0.4.3 (2021-08-23)
New functions:
-
collapseToPathString: Previously used internally, now exporting so we can use in koopa dependency package.
AcidBase 0.4.2 (2021-08-19)
New functions:
-
parentDirectory(parentDir): Allows for each return of nested parent directories, similar to approach used in koopa shell package (parent_dir).
Minor changes:
-
realpath: Now keeps track of names, if defined.
AcidBase 0.4.1 (2021-08-18)
Minor changes:
-
shellAdded some more useful options for subprocess handling and logging:wd,stdoutFile,stderrFile, as well asstderrToStdout.
AcidBase 0.4.0 (2021-08-18)
New functions:
- Added new system path modifier functions, based on code previously defined in koopa shell package:
addToPathStart,addToPathEnd,removeFromPath. - Also added some useful path string parsing functions:
splitPathStringanduniquePathString.
Major changes:
-
shell: Reworked internal code to handoff toprocessx::runinstead of usingbase::system2. Simplified console output handling using a singleprintargument.
AcidBase 0.3.16 (2021-08-13)
Minor changes:
- Reworked package to use AcidCLI for improved error messages, which are now called via
abortinstead ofstopinternally.
AcidBase 0.3.15 (2021-08-04)
New functions:
-
simpleClass: Added utility function for simple class checks, primarily intended for unit testing with testthat package.
AcidBase 0.3.14 (2021-06-20)
Minor changes:
-
standardizeCall: Updated handling of dots handoff tomatch.callin R 4.1. - Now importing
medianandquantilefunctions from AcidGenerics, which use S4 defined in IRanges, rather than the base version defined in stats.
AcidBase 0.3.12 (2021-03-01)
Minor changes:
- Added
install.packagesas a reexport, which is used by r-koopa. - Also including
headandtailas reexports.
AcidBase 0.3.11 (2021-02-25)
Minor changes:
- Deprecating
metadataBlacklistin favor ofmetadataDenylist.
AcidBase 0.3.10 (2021-02-23)
Minor changes:
- Migrated
printStringback here from goalie package. -
showHeadernow checks forpackageVersioninside of metadata as default instead ofversion.
AcidBase 0.3.9 (2021-02-21)
Minor changes:
- Reexporting
URLencodefrom utils, which is used downstream in Cellosaurus package.
AcidBase 0.3.8 (2021-02-17)
Minor changes:
- Including
formulaanduntaras reexports, which are used in the WormBase package.
AcidBase 0.3.6 (2021-02-11)
Minor changes:
- Now reexporting all functions used in other Acid Genomics packages defined in base/recommended R packages here, including: grDevices, grid, methods, and stats, utils.
AcidBase 0.3.5 (2021-02-04)
Major changes:
- Migrated
geometricMeanandsemmethods from basejump. - Migrated
showHeaderfrom basejump. - Migrated
coerceToListfrom basejump. - Migrated log ratio functions from basejump.
- Migrated intersection functions from basejump.
Minor changes:
- Made
matchArgsToDoCallfunction defunct. Doesn’t always evaluate arguments correctly when called inside nested functions or complex S4 stacks.
AcidBase 0.3.3 (2021-01-21)
Minor changes:
-
pasteURL: Added support for rsync as a protocol. Using this in future update in AcidGenomes package for downloading from UCSC server.
AcidBase 0.3.2 (2021-01-15)
Minor changes:
- Removed
sampleIdfrommetadataBlacklistglobal. -
pasteURLnow supports “s3” as a protocol value.
AcidBase 0.3.1 (2021-01-06)
Minor changes:
- Now importing new AcidCLI package, to improve CLI messages.
AcidBase 0.3.0 (2021-01-06)
Major changes:
- Reworked internal function organization a bit, handing off some functions back into the goalie package.
- Now that goalie doesn’t depend on AcidBase, we can import and use the superior assert checks defined in the package.
AcidBase 0.2.6 (2020-12-15)
Minor changes:
-
download: Function now recursively creates destination file parent directory if necessary. -
pasteURL: Now defaulting to no protocol (e.g. “https”) by default. This makes pasting of an existing URL with subdirectories easier.
AcidBase 0.2.5 (2020-12-10)
New functions:
- Added
download, which acts as a hardened wrapper forutils::download.file. Annoying,download.filereturns status codes but does not intentionally error on any unsuccessful downloads. Our wrapper ensures that R always errors on any file download issue. It also sets a longer timeout internally, to avoid any potential issues with thetimeoutoption being defined inRprofile.
Bug fixes
-
compressanddecompresswere found to potentially generate integer overflow warnings on very large files, due to R using 32-bit integers. This issue has been resolving by ensuring the internalnbytescounter is set asnumericinstead. See related Stack Overflow post for details on integer overflows in R. -
sem: RequiresAsIsclass support, to work inside dplyr summarize calls. - Now need to import BiocGenerics, for proper import of
AsIsS4 class, which is anoldClassof the S3 class.
AcidBase 0.2.4 (2020-11-24)
New functions:
-
sem: Added support for standard error of the mean calculation.
AcidBase 0.2.3 (2020-10-07)
- Fixed reference to AcidPlots package, renamed from previous “acidplots”.
AcidBase 0.2.2 (2020-10-07)
New functions:
- Migrated
headtailatomic, matrix, and data.frame methods here from basejump. The methods that work on S4 objects, such as DataFrame, Matrix, GRanges, and SummarizedExperiment are still defined in basejump. -
showSlotInfo: Migrated from basejump, so we can use in AcidGenomes.
AcidBase 0.2.1 (2020-10-06)
New functions:
- Added
forceDetach, previously used internally inside basejump. - Updated documentation to inherit from AcidRoxygen instead of acidroxygen.
acidbase 0.1.14 (2020-08-25)
Minor changes:
- Migrated some globals previously exported in basejump.
- Updated
formalsListto consolidate params from basejump.
acidbase 0.1.11 (2020-07-24)
Minor changes:
- Maintenance release, increasing minimum R dependency to 4.0.
acidbase 0.1.9 (2020-05-09)
Minor changes:
-
positionalArgs: Function now intentionally errors when no positional arguments are defined.
acidbase 0.1.8 (2020-05-05)
Minor changes:
-
shell: Theargsargument has been changed to""by default so that onlycommandargument is required as input.
acidbase 0.1.7 (2020-04-09)
New functions:
-
majorVersion,minorVersion,sanitizeVersion: Additional version utilites that help extraction major and minor release versions.sanitizeVersionhelps strip extra characters at the end of version strings commonly found in the return of some shell commands (e.g. via--versioncommand). -
shell: Wrapper for basesystem2function.
acidbase 0.1.6 (2020-04-08)
New functions:
-
parseArgsandpositionalArgs: Migrated these functions previously defined inside koopa shell bootloader package. -
requireNamespaces: Parameterized variant ofrequireNamespacethat allows for easy loading of multiple package namespaces in a single call.
acidbase 0.1.5 (2020-01-28)
Minor changes:
- Documentation fixes to pass CRAN release checks.
- Switched license from MIT to GPL-3.
acidbase 0.1.4 (2020-01-19)
New functions:
-
compress,decompress: Added dynamic file compression/decompression support for GZ, BZ2, XZ, and ZIP files. Inspired by approach used in R.utilscompressFileanddecompressFile.
Minor changes:
-
fileDepth: Updated unit test to work reliably on macOS.
acidbase 0.1.1 (2019-10-22)
Minor changes:
- Migrated
realpathfrom brio package. Reworked slightly to not depend on any assert checks from goalie package. Now this function essentially wrapsnormalizePathbut provides a more informative error message. -
basenameSansExt: Minor tweak to ensure that files without an extension still return basename as expected.