diff --git a/.github/workflows/check-bioc-devel.yml b/.github/workflows/check-bioc-devel.yml deleted file mode 100644 index 80850292..00000000 --- a/.github/workflows/check-bioc-devel.yml +++ /dev/null @@ -1,276 +0,0 @@ -## Read more about GitHub actions the features of this GitHub Actions workflow -## at https://lcolladotor.github.io/biocthis/articles/biocthis.html#use_bioc_github_action -## -## For more details, check the biocthis developer notes vignette at -## https://lcolladotor.github.io/biocthis/articles/biocthis_dev_notes.html -## -## You can add this workflow to other packages using: -## > biocthis::use_bioc_github_action() -## -## Using GitHub Actions exposes you to many details about how R packages are -## compiled and installed in several operating system.s -### If you need help, please follow the steps listed at -## https://github.com/r-lib/actions#where-to-find-help -## -## If you found an issue specific to biocthis's GHA workflow, please report it -## with the information that will make it easier for others to help you. -## Thank you! - -## Acronyms: -## * GHA: GitHub Action -## * OS: operating system - -on: - push: - branches: - - master - pull_request: - branches: - - master - -name: R-CMD-check-bioc-devel - -## These environment variables control whether to run GHA code later on that is -## specific to testthat, covr, and pkgdown. -## -## If you need to clear the cache of packages, update the number inside -## cache-version as discussed at https://github.com/r-lib/actions/issues/86. -## Note that you can always run a GHA test without the cache by using the word -## "/nocache" in the commit message. -env: - has_testthat: 'true' - run_covr: 'true' - run_pkgdown: 'true' - has_RUnit: 'false' - cache-version: 'cache-v1' - -jobs: - build-check: - runs-on: ${{ matrix.config.os }} - name: ${{ matrix.config.os }} (${{ matrix.config.r }}) - container: ${{ matrix.config.cont }} - ## Environment variables unique to this job. - - strategy: - fail-fast: false - matrix: - config: - - { os: ubuntu-latest, r: 'devel', cont: "bioconductor/bioconductor_docker:devel", rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest" } - # - { os: macOS-latest, r: 'devel', bioc: 'devel'} - # - { os: windows-latest, r: 'devel', bioc: 'devel'} - env: - R_REMOTES_NO_ERRORS_FROM_WARNINGS: true - RSPM: ${{ matrix.config.rspm }} - NOT_CRAN: true - TZ: UTC - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - - steps: - - ## Set the R library to the directory matching the - ## R packages cache step further below when running on Docker (Linux). - - name: Set R Library home on Linux - if: runner.os == 'Linux' - run: | - mkdir /__w/_temp/Library - echo ".libPaths('/__w/_temp/Library')" > ~/.Rprofile - - ## Most of these steps are the same as the ones in - ## https://github.com/r-lib/actions/blob/master/examples/check-standard.yaml - ## If they update their steps, we will also need to update ours. - - name: Checkout Repository - uses: actions/checkout@v2 - - ## R is already included in the Bioconductor docker images - - name: Setup R from r-lib - if: runner.os != 'Linux' - uses: r-lib/actions/setup-r@v2 - with: - r-version: ${{ matrix.config.r }} - - ## pandoc is already included in the Bioconductor docker images - - name: Setup pandoc from r-lib - if: runner.os != 'Linux' - uses: r-lib/actions/setup-pandoc@v2 - - - name: Query dependencies - run: | - install.packages('remotes') - saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2) - shell: Rscript {0} - - - name: Cache R packages - if: "!contains(github.event.head_commit.message, '/nocache') && runner.os != 'Linux'" - uses: actions/cache@v1 - with: - path: ${{ env.R_LIBS_USER }} - key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-devel-r-4.3-${{ hashFiles('.github/depends.Rds') }} - restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-devel-r-4.3- - - - name: Cache R packages on Linux - if: "!contains(github.event.head_commit.message, '/nocache') && runner.os == 'Linux' " - uses: actions/cache@v1 - with: - path: /home/runner/work/_temp/Library - key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-devel-r-4.3-${{ hashFiles('.github/depends.Rds') }} - restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-devel-r-4.3- - - - name: Install Linux system dependencies - if: runner.os == 'Linux' - env: - RHUB_PLATFORM: linux-x86_64-ubuntu-gcc - run: | - Rscript -e "remotes::install_github('r-hub/sysreqs')" - sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))") - sudo -s eval "$sysreqs" - sudo apt-get install -y libcurl4-openssl-dev libglpk-dev - - - name: Install macOS system dependencies - if: matrix.config.os == 'macOS-latest' - run: | - ## Enable installing XML from source if needed - brew install libxml2 - - ## Required to install magick as noted at - ## https://github.com/r-lib/usethis/commit/f1f1e0d10c1ebc75fd4c18fa7e2de4551fd9978f#diff-9bfee71065492f63457918efcd912cf2 - brew install imagemagick@6 - - - name: Install Windows system dependencies - if: runner.os == 'Windows' - run: | - ## Edit below if you have any Windows system dependencies - shell: Rscript {0} - - - name: Install BiocManager - if: matrix.config.cont == null - run: | - message(paste('****', Sys.time(), 'installing BiocManager ****')) - remotes::install_cran("BiocManager") - shell: Rscript {0} - - - name: Set BiocVersion - if: matrix.config.cont == null - run: | - BiocManager::install(version = "devel", ask = FALSE) - shell: Rscript {0} - - - name: Install dependencies - run: | - ## Try installing the package dependencies in steps. First the local - ## dependencies, then any remaining dependencies to avoid the - ## issues described at - ## https://stat.ethz.ch/pipermail/bioc-devel/2020-April/016675.html - ## https://github.com/r-lib/remotes/issues/296 - ## Ideally, all dependencies should get installed in the first pass. - - BiocManager::install("HDF5Array") - BiocManager::install("fionarhuang/TreeSummarizedExperiment") - BiocManager::install("microbiome/mia") - devtools::install_github("microbiome/miaTime") - - # rspm is out of date - install.packages("matrixStats", repos = "https://cran.rstudio.com/") - - ## Pass #1 at installing dependencies - message(paste('****', Sys.time(), 'pass number 1 at installing dependencies: local dependencies ****')) - remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = FALSE, upgrade = TRUE) - - ## Pass #2 at installing dependencies - message(paste('****', Sys.time(), 'pass number 2 at installing dependencies: any remaining dependencies ****')) - remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = FALSE, upgrade = TRUE) - - ## For running the checks - message(paste('****', Sys.time(), 'installing rcmdcheck and BiocCheck ****')) - remotes::install_cran("rcmdcheck") - BiocManager::install("BiocCheck") - shell: Rscript {0} - - - name: Install BiocGenerics - if: env.has_RUnit == 'true' - run: | - ## Install BiocGenerics - BiocManager::install("BiocGenerics") - shell: Rscript {0} - - - name: Install covr - if: github.ref == 'refs/heads/master' && env.run_covr == 'true' && runner.os == 'Linux' - run: | - remotes::install_cran("covr") - shell: Rscript {0} - - - name: Install pkgdown - if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux' - run: | - remotes::install_cran("pkgdown") - shell: Rscript {0} - - - name: Session info - run: | - options(width = 100) - pkgs <- installed.packages()[, "Package"] - sessioninfo::session_info(pkgs, include_base = TRUE) - shell: Rscript {0} - - - name: Run CMD check - env: - _R_CHECK_CRAN_INCOMING_: false - run: | - rcmdcheck::rcmdcheck( - args = c("--no-build-vignettes", "--no-manual", "--timings"), - build_args = c("--no-manual", "--no-resave-data"), - error_on = "warning", - check_dir = "check" - ) - shell: Rscript {0} - - ## Might need an to add this to the if: && runner.os == 'Linux' - - name: Reveal testthat details - if: env.has_testthat == 'true' - run: find . -name testthat.Rout -exec cat '{}' ';' - - - name: Run RUnit tests - if: env.has_RUnit == 'true' - run: | - BiocGenerics:::testPackage() - shell: Rscript {0} - - # - name: Run BiocCheck - # run: | - # BiocCheck::BiocCheck( - # dir('check', 'tar.gz$', full.names = TRUE), - # `quit-with-status` = TRUE, - # `no-check-R-ver` = TRUE, - # `no-check-bioc-help` = TRUE - # ) - # shell: Rscript {0} - - - name: Test coverage - if: github.ref == 'refs/heads/master' && env.run_covr == 'true' && runner.os == 'Linux' - run: | - covr::codecov() - shell: Rscript {0} - - - name: Install package - if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux' - run: R CMD INSTALL . - - - name: Deploy package - if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux' - run: | - git config --global user.email "action@github.com" - git config --global user.name "GitHub Action" - git config --global --add safe.directory /__w/miaViz/miaViz - Rscript -e "pkgdown::deploy_to_branch(new_process = FALSE)" - shell: bash {0} - ## Note that you need to run pkgdown::deploy_to_branch(new_process = FALSE) - ## at least one locally before this will work. This creates the gh-pages - ## branch (erasing anything you haven't version controlled!) and - ## makes the git history recognizable by pkgdown. - - - name: Upload check results - if: failure() - uses: actions/upload-artifact@master - with: - name: ${{ runner.os }}-biocversion-devel-r-4.3-results - path: check diff --git a/.github/workflows/rworkflows.yml b/.github/workflows/rworkflows.yml new file mode 100644 index 00000000..ebc5a11b --- /dev/null +++ b/.github/workflows/rworkflows.yml @@ -0,0 +1,57 @@ +name: rworkflows +'on': + push: + branches: + - master + - main + - devel + - RELEASE_** + pull_request: + branches: + - master + - main + - devel + - RELEASE_** +jobs: + rworkflows: + permissions: write-all + runs-on: ${{ matrix.config.os }} + name: ${{ matrix.config.os }} (${{ matrix.config.r }}) + container: ${{ matrix.config.cont }} + strategy: + fail-fast: ${{ false }} + matrix: + config: + - os: ubuntu-latest + bioc: devel + r: auto + cont: ghcr.io/bioconductor/bioconductor_docker:devel + rspm: ~ + - os: macOS-latest + bioc: devel + r: auto + cont: ~ + rspm: ~ + - os: windows-latest + bioc: devel + r: auto + cont: ~ + rspm: ~ + steps: + - uses: neurogenomics/rworkflows@master + with: + run_bioccheck: ${{ false }} + run_rcmdcheck: ${{ true }} + as_cran: ${{ true }} + run_vignettes: ${{ true }} + has_testthat: ${{ true }} + run_covr: ${{ true }} + run_pkgdown: ${{ true }} + has_runit: ${{ false }} + has_latex: ${{ false }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run_docker: ${{ false }} + DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }} + runner_os: ${{ runner.os }} + cache_version: cache-v1 + docker_registry: ghcr.io diff --git a/DESCRIPTION b/DESCRIPTION index f1fcb2e2..770648ef 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: miaViz Title: Microbiome Analysis Plotting and Visualization -Version: 1.11.2 +Version: 1.13.1 Authors@R: c(person(given = "Tuomas", family = "Borman", role = c("aut", "cre"), email = "tuomas.v.borman@utu.fi", @@ -61,6 +61,8 @@ Suggests: vegan, microbiomeDataSets, bluster +Remotes: + github::microbiome/miaTime Roxygen: list(markdown = TRUE) RoxygenNote: 7.3.1 VignetteBuilder: knitr diff --git a/NAMESPACE b/NAMESPACE index 768d624d..910afe9b 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -57,6 +57,7 @@ importFrom(SummarizedExperiment,assay) importFrom(SummarizedExperiment,colData) importFrom(SummarizedExperiment,rowData) importFrom(ape,as.phylo) +importFrom(ape,drop.tip) importFrom(ape,keep.tip) importFrom(ape,rotateConstr) importFrom(dplyr,"%>%") diff --git a/NEWS b/NEWS index 344736e8..b584ddb0 100644 --- a/NEWS +++ b/NEWS @@ -24,3 +24,6 @@ Changes in version 1.9.x Changes in version 1.11.x + replace addTaxonomyTree with addHierarchyTree after renaming in mia package + +Changes in version 1.13.x ++ plot*Tree: bugfix, ununique nodes diff --git a/R/plotCCA.R b/R/plotCCA.R index 43987e2b..17e250b7 100644 --- a/R/plotCCA.R +++ b/R/plotCCA.R @@ -51,7 +51,7 @@ #' @param label.color Alias for `label.colour`. #' #' @param sep.group String specifying the separator used in the labels. -#' (default: \code{sep.group = "\U2012"}) +#' (default: \code{sep.group = "\U2014"}) #' #' @param repl.underscore String used to replace underscores in the labels. #' (default: \code{repl.underscore = " "}) @@ -182,7 +182,7 @@ setMethod("plotRDA", signature = c(object = "SingleCellExperiment"), add.ellipse = TRUE, ellipse.alpha = 0.2, ellipse.linewidth = 0.1, ellipse.linetype = 1, vec.size = 0.5, vec.color = vec.colour, vec.colour = "black", vec.linetype = 1, arrow.size = 0.25, label.color = label.colour, label.colour = "black", label.size = 4, - vec.text = TRUE, repel.labels = TRUE, sep.group = "\U2012", repl.underscore = " ", + vec.text = TRUE, repel.labels = TRUE, sep.group = "\U2014", repl.underscore = " ", add.significance = TRUE, add.expl.var = TRUE, add.vectors = TRUE, parse.labels = TRUE, ...){ ###################### Input check ######################## if( !(add.ellipse %in% c(TRUE, FALSE, "fill", "color", "colour")) ){ @@ -441,7 +441,7 @@ setMethod("plotRDA", signature = c(object = "matrix"), # Make vector labels more tidy, i.e, separate variable and group names. # Replace also underscores with space .tidy_vector_labels <- function( - vector_label, coldata, sep.group = "\U2012", repl.underscore = " ", ...){ + vector_label, coldata, sep.group = "\U2014", repl.underscore = " ", ...){ # Get variable names from sample metadata var_names <- colnames(coldata) # Loop through vector labels diff --git a/R/plotTree.R b/R/plotTree.R index 0aea3015..d1fc0d52 100644 --- a/R/plotTree.R +++ b/R/plotTree.R @@ -407,11 +407,12 @@ setMethod("plotRowTree", signature = c(object = "TreeSummarizedExperiment"), abbr_label = abbr_label, add_legend = add_legend) # - tree_out <- .get_trimed_object_and_tree(object, - tree_name = tree_name, - type = type, - relabel = relabel_tree, - order = order_tree) + tree_out <- .get_object_and_trimmed_tree( + object, + tree_name = tree_name, + type = type, + relabel = relabel_tree, + order = order_tree) object <- tree_out$object tree <- tree_out$tree tree_data <- .get_tree_data(tree) @@ -477,60 +478,103 @@ setMethod("plotRowTree", signature = c(object = "TreeSummarizedExperiment"), ...) } - -#' @importFrom ape keep.tip as.phylo +#' @importFrom ape keep.tip as.phylo drop.tip #' @importFrom tidytree as_tibble -.get_trimed_object_and_tree <- function(object, - tree_name = "phylo", - type = c("row","column"), - relabel = FALSE, - order = FALSE){ +.get_object_and_trimmed_tree <- function( + object, + tree_name = "phylo", + type = c("row","column"), + relabel = FALSE, + order = FALSE){ + # Check type type <- match.arg(type) + # Get correct functions based on the margin/direction tree_FUN <- switch(type, row = rowTree, column = colTree, stop(".")) links_FUN <- switch(type, row = rowLinks, column = colLinks, stop(".")) dimnames_FUN <- switch(type, row = rownames, column = colnames, stop(".")) + add_names_FUN <- switch( + type, row = `rownames<-`, column = `colnames<-`, stop(".")) + # Check that the tree is compatible with the data, i.e., rows are matched + # with the tree. + links_FUN <- switch(type, row = rowLinks, column = colLinks, stop(".")) + links <- links_FUN(object) + ind <- links[["whichTree"]] == tree_name + if( all(!ind) ){ + stop("Tree does not have any ", type, "s to plot.", call. = FALSE) + } + # Get only those rows/columns that are found from the tree + if( type == "row" ){ + object <- object[ind, ] + } else{ + object <- object[, ind] + } + # Get tree and links tree <- tree_FUN(object, tree_name) links <- links_FUN(object) - # + + # Remove those tips that are not leaves tips <- sort(setdiff(tree$edge[, 2], tree$edge[, 1])) drop_tip <- tips[!(tips %in% unique(links$nodeNum[links$isLeaf]))] oldTree <- tree - newTree <- ape::drop.tip(oldTree, tip = drop_tip, collapse.singles = FALSE) + newTree <- drop.tip(oldTree, tip = drop_tip, collapse.singles = FALSE) + # Add alias labels to tree track <- trackNode(oldTree) - track <- ape::drop.tip(track, tip = drop_tip, collapse.singles = FALSE) - # + track <- drop.tip(track, tip = drop_tip, collapse.singles = FALSE) + # Link tree with alias labels oldAlias <- links$nodeLab_alias newNode <- convertNode(tree = track, node = oldAlias) newAlias <- convertNode(tree = newTree, node = newNode) - if(type == "row"){ - object <- changeTree(x = object, rowTree = newTree, rowNodeLab = newAlias) + # Change the tree with trimmed tree and add aliases as node labels + if( type == "row" ){ + object <- changeTree( + x = object, rowTree = newTree, rowNodeLab = newAlias) } else { - object <- changeTree(x = object, colTree = newTree, colNodeLab = newAlias) + object <- changeTree( + x = object, colTree = newTree, colNodeLab = newAlias) } - # + + # Get tree, links and row/colnames tree <- tree_FUN(object) links <- links_FUN(object) dimnames <- dimnames_FUN(object) - # - tree_data <- as_tibble(newTree) + # Get tree as table and get which node represent which row/col + tree_data <- as_tibble(tree) m <- match(links$nodeNum,tree_data$node) node_labels <- tree_data$label[m] - if(relabel || - !all(node_labels %in% dimnames)){ - new_node_labels <- getTaxonomyLabels(object, with_rank = TRUE, - resolve_loops = TRUE) - if(type == "row"){ - rownames(object) <- new_node_labels - } else { - colnames(object) <- new_node_labels - } - tree_data$label[m] <- new_node_labels - tree <- as.phylo(tree_data) + # If user wants to rename rows/cols or if some nodes cannot be found from + # rows/cols + if( relabel || !all(node_labels %in% dimnames) ){ + # Rename rows/cols + new_node_labels <- getTaxonomyLabels( + object, with_rank = TRUE, resolve_loops = TRUE) + object <- add_names_FUN(object, new_node_labels) + } + # Check if there are rows/cols that are ununique. If there are, make them + # unique. + if( anyDuplicated(rownames(object)) ){ + warning( + "Data includes ununique ", type, "s. Making them unique.", + call. = FALSE) + object <- add_names_FUN(object, make.unique(dimnames_FUN(object))) + } + # Rename labels of tree with row/colnames + tree_data$label[m] <- dimnames_FUN(object) + # Check if there are nodes that are not unique + if( anyDuplicated(tree_data$label[-m]) ){ + warning( + "Tree includes ununique nodes. Making them unique.", call. = FALSE) + tree_data$label[-m] <- make.unique( tree_data$label[-m] ) + } + + # Convert tree data back to tree-format + tree <- as.phylo(tree_data) + # If specified, order the tree based on alphabetical order if(order){ tree <- .order_tree(tree) } - list(object = object, tree = tree) + res <- list(object = object, tree = tree) + return(res) } #' @importFrom tidytree child @@ -564,7 +608,6 @@ setMethod("plotRowTree", signature = c(object = "TreeSummarizedExperiment"), } ################################################################################ -## TODO refactor the next three functions into one .remove_taxonomic_level_from_labels <- function(labels){ for(rank in TAXONOMY_RANKS){ @@ -761,7 +804,6 @@ setMethod("plotRowTree", signature = c(object = "TreeSummarizedExperiment"), show_highlight_label = show_highlight_label)) } -## TODO END ################################################################################ #' @importFrom tibble tibble @@ -870,7 +912,7 @@ NODE_VARIABLES <- c("node_colour_by", "node_shape_by", "node_size_by") feature_info <- feature_info %>% mutate(label = rownames(se)) %>% relocate("label") - tree_data <- .merge_tree_vis_data(tree_data, feature_info) + tree_data <- .merge_tree_vis_data(tree_data, feature_info, se) } tree_data <- .merge_tip_node_tree_data(tree_data) } @@ -880,7 +922,7 @@ NODE_VARIABLES <- c("node_colour_by", "node_shape_by", "node_size_by") other <- other %>% mutate(label = rownames(se)) %>% relocate("label") - tree_data <- .merge_tree_vis_data(tree_data, other) + tree_data <- .merge_tree_vis_data(tree_data, other, se) } } return(list(df = tree_data, @@ -939,12 +981,13 @@ NODE_VARIABLES <- c("node_colour_by", "node_shape_by", "node_size_by") tree_data[match(bak_o,tree_data$node),] } -.merge_tree_vis_data <- function(tree_data, feature_info){ +.merge_tree_vis_data <- function(tree_data, feature_info, tse){ if(anyDuplicated(tree_data$label) || anyDuplicated(feature_info$label)){ - stop(".") + stop("Tree is not compatible with the data.", call. = FALSE) } - tree_data %>% + tree_data <- tree_data %>% dplyr::left_join(feature_info, by = "label") + return(tree_data) } # due to a bug in ggtree/tidytree the treedata object needs to be constructed diff --git a/man/plotCCA.Rd b/man/plotCCA.Rd index 714ca498..3b2f5e1a 100644 --- a/man/plotCCA.Rd +++ b/man/plotCCA.Rd @@ -34,7 +34,7 @@ plotRDA(object, ...) label.size = 4, vec.text = TRUE, repel.labels = TRUE, - sep.group = "‒", + sep.group = "—", repl.underscore = " ", add.significance = TRUE, add.expl.var = TRUE, @@ -101,7 +101,7 @@ indicating whether ellipses should be present, absent, filled or colored. (default: \code{repel.labels = TRUE})} \item{sep.group}{String specifying the separator used in the labels. -(default: \code{sep.group = "\U2012"})} +(default: \code{sep.group = "\U2014"})} \item{repl.underscore}{String used to replace underscores in the labels. (default: \code{repl.underscore = " "})} diff --git a/tests/testthat/test-2plotSeries.R b/tests/testthat/test-2plotSeries.R index b509ae04..7970a643 100644 --- a/tests/testthat/test-2plotSeries.R +++ b/tests/testthat/test-2plotSeries.R @@ -2,14 +2,8 @@ context("plot series") test_that("plot series", { # Load data from miaTime package - if( !require("miaTime") ){ - if( !require("devtools") ){ - BiocManager::install("devtools") - } - devtools::install_github("microbiome/miaTime") - library("miaTime") - } - data(SilvermanAGutData) + skip_if_not_installed("miatime") + data(SilvermanAGutData, package = "miaTime") tse <- SilvermanAGutData tse_sub <- tse[1:5] diff --git a/tests/testthat/test-2plotTree.R b/tests/testthat/test-2plotTree.R index 50b85881..be96472c 100644 --- a/tests/testthat/test-2plotTree.R +++ b/tests/testthat/test-2plotTree.R @@ -43,16 +43,16 @@ test_that("plot tree", { # data(GlobalPatterns) x <- GlobalPatterns - # .get_trimed_object_and_tree - expect_error(miaViz:::.get_trimed_object_and_tree(), + # .get_object_and_trimmed_tree + expect_error(miaViz:::.get_object_and_trimmed_tree(), 'argument "object" is missing') - actual <- miaViz:::.get_trimed_object_and_tree(x["549322",]) + actual <- miaViz:::.get_object_and_trimmed_tree(x["549322",]) expect_s3_class(actual$tree,"phylo") expect_s4_class(actual$object,"TreeSummarizedExperiment") expect_equal(unique(actual$tree$tip.label), c("549322")) - actual <- miaViz:::.get_trimed_object_and_tree(x) + actual <- miaViz:::.get_object_and_trimmed_tree(x) expect_equal(actual$tree$tip.label, rownames(x)) - actual <- miaViz:::.get_trimed_object_and_tree(x, relabel = TRUE) + actual <- miaViz:::.get_object_and_trimmed_tree(x, relabel = TRUE) expect_equal(actual$tree$tip.label[1L], "Class:Thermoprotei") # library(scater) diff --git a/vignettes/miaViz.Rmd b/vignettes/miaViz.Rmd index dfc86dd2..1159cc64 100644 --- a/vignettes/miaViz.Rmd +++ b/vignettes/miaViz.Rmd @@ -257,11 +257,8 @@ plotColGraph(altExp(GlobalPatterns,"Genus"), # Plotting of serial data ```{r, eval=FALSE} -if(!requireNamespace("devtools", quietly = TRUE)){ - BiocManager::install("devtools") -} if(!requireNamespace("miaTime", quietly = TRUE)){ - devtools::install_github("microbiome/miaTime", upgrade = "never") + remotes::install_github("microbiome/miaTime", upgrade = "never") } ```