package_check() gains on_missing ("error", "warning", "message" or "none") for what to do when a package is missing, and once = TRUE to show a warning or message once per session. An installed package below a requested version is reported at the same level ("error" still reports it as a warning)package_check() accepts repository = "r-universe:owner/package". The install message points at that owner's r-universe (with CRAN for dependencies), which serves binaries where an install from GitHub would compile from sourcepackage_check() returns FALSE when a package is missing and on_missing is not "error". It returned TRUE before, so if (package_check(x, optional = TRUE)) never skipped its body for a missing packagepackage_check(optional) is deprecated in favour of on_missing. TRUE maps to "message" and FALSE to "error"package_check() with several packages, one of them missing and given a version request, now reports the install instructions. It errored in packageVersion() insteadsuite_install(install_arrow = TRUE) builds arrow in a fresh library. Its dependencies now come from CRAN (only r-universe was searched before, so they were not found and the build failed with a warning), and the install stops with an error if the result still lacks zstdsuite_install() installs tilework from its dev branch until tilework 1.0.1 is on CRAN. main lacks the tile-edge fix (drieslab/tilework#5): without it, a point or polygon on the top or right edge of the data can fall outside every tile and be dropped from a GiottoDisk storekeep_awake() and gwith_awake() hold a system sleep assertion during long computations (caffeinate on macOS, systemd-inhibit on Linux, no-op elsewhere). A sleep part-way through a run inflates wall-clock timings while CPU and memory counters look normalsuite_install() accepts "tilework" and "arrow" as modules under any ref, and adds both automatically for GiottoDiskinstall_arrow param for suite_install(). arrow needs zstd support for 10x parquet files, and the source build from r-universe is slow, so a missing or zstd-less arrow errors with the install command unless install_arrow = TRUE (install) or FALSE (skip)"disk" ref for suite_install() installs the on-disk build set (gsource branches + GiottoDisk)suite_install() installs GiottoData from its R4.1.0 branch for the R4.4.0 and R4.1.0 refs. The default branch requires R (>= 4.3.0), so it could not be installed under the R4.1.0 ref at allstr_reformat() for print post-processing with strwrap()print_list()fread_colmatch() in favor of read_colmatch()str_abbreviate() for shortening long strings for printingsuite_install()R4.1.0 branch can now be used as a ref for suite_install()read_colmatch() now uses {arrow} for faster .csv filtering, enhanced with automated schema detection performed through data.table::fread()dry_run param for suite_install() to preview install commandsvmsg() logging can now be ephemerally diverted to other filespackage_check() error when checking with a provided github repo and a version numberpackage_check() error when checking packages with "." charactershandle_errors() for catching errors with call. = FALSE to avoid console locking in complex callspackage_check() now supports version checks of the style repository = "pip:XXXXX>=A.B.C" (reported as warnings)lapply_flex() BiocParallel method added.lapply_flex(). Silenceable through options("giotto.warn_sequential" = FALSE)vlim, slim, seed params for getRainbowColors() to allow more diverse palettessuite_packages() for reporting the names of Giotto Suite modulessuite_install() for installing specific branches of Giotto Suitegwith_package(), gwith_options(), gwith_seed() for setting temporary conditions for evalhandle_warnings() for graceful warning handlingpbar() and with_pbar() as progress reporting utils. These are wrappers around progressr functionalities.fromJSON() and read_json() from jsonlite.melt_matrix() to emulate reshape2::melt.matrix() (deprecated package) for most use cases in Giotto.py_active_env() utility function for detecting any active python environment without initializingpackage_check() now works for pip github installspackage_check() now reports which conda environment is being activated and what python version it is.dir_manifest() for creating a named list of files within a directory. Mostly wraps list.files()deprecate_param() utility function for streamlining codeprint_list() for pretty printing of list-like objectsfrom_scipy_sparse() for conversion from scipy csr and csc to Matrix dgCMatrix and dgRMatrixnew_github_ver_avail()wrap_txtf() variant of wrap_txt() that uses sprintf() formattinginit_option() for setting an option if it does not existdt_to_matrix() can now chunk the conversion to Matrix to avoid memory issuesget_args_list() now has a keep param that allows selection of which collected args to keep%null%, %na%, and %none% infix operators for setting a default value when an object is, respectively, NULL, NA, or length of 0.local_seed() for transiently setting a seed only for the duration of a functionstr_locate2() now works with vectorized inputs like the stringr counterpartstr_locate2() no-matches now properly return NA_integer_ instead of negative valuesto_scipy_sparse() conversion of R matrices to scipy sparse representationsseed param for getDistinctColors() that allows the ordering of the distinct colors to be changed.package_check() now allows more than one package to be checked using repo:location notation.mixedsort() and mixedorder() from gtoolsgetMonochromeColors() basic color palette function. Useful for image colorization.flex_lapply()guard_against_notgiotto() to assert_giotto()set_row_order_dt() to dt_set_row_order()dcast_dt_string() to dt_dcast_string()sort_combine_two_DT_columns() to dt_sort_combine_two_columns()DT_removeNA() to dt_remove_na()assert_DT() to assert_dt()gstop() as a framework for sending module specific error messagesstr_locate2() (implementation of stringr::str_locate() in base R)str_vector() for pretty printing a vector as a stringstr_bracket(), str_parenth(), str_quote(), str_double_quote() convenience functionsget_prev_fname(), get_args(), and get_prev_call() to this packageget_prev_call()getDistinctColors() and getRainbowColors() to this packagegetDistinctColors()assert_giotto()Initial release