From 2c5d399ce51b7c37f47786d4724e1b6e40d797db Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Thu, 20 Jun 2024 00:30:27 -0400 Subject: [PATCH 01/20] remove TODOs related to fattyAcidCompositions. These have been document in issue #242 --- R/fattyAcidComposition.R | 4 ---- 1 file changed, 4 deletions(-) diff --git a/R/fattyAcidComposition.R b/R/fattyAcidComposition.R index 7e9097e..c0a1e6b 100644 --- a/R/fattyAcidComposition.R +++ b/R/fattyAcidComposition.R @@ -1,8 +1,4 @@ - ## Function for importing fatty acid compositions -## TODO This dataset needs more curation. -## TODO Names of the Fatty Acids should be more "user-friendly" -## TODO Maybe a threshold should be decided to consider a FA as present or not. .fattyAcidComposition <- function(){ link <- .customLinks() |> dplyr::filter(functionname == "fattyAcidComposition") |> From 9c74491a0dfa181c62bbfeadd4ffece77ad41b2e Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Thu, 20 Jun 2024 14:11:04 -0400 Subject: [PATCH 02/20] makeSignatures works with DataFrame --- R/bugphyzz.R | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/R/bugphyzz.R b/R/bugphyzz.R index 67eb1ed..c148ea9 100644 --- a/R/bugphyzz.R +++ b/R/bugphyzz.R @@ -172,9 +172,10 @@ makeSignatures <- function( ) } dat <- dat |> - dplyr::filter(Rank %in% tax_level) |> - dplyr::filter(Evidence %in% evidence) |> - dplyr::filter(Frequency %in% frequency) + {\(y) y[which(y$Rank %in% tax_level),]}() |> + {\(y) y[which(y$Evidence %in% evidence),]}() |> + {\(y) y[which(y$Frequency %in% frequency),]}() + if (!nrow(dat)) { warning( "Not enough data for creating signatures.", @@ -235,11 +236,11 @@ getTaxonSignatures <- function(tax, bp, ...) { # Non exported functions ---------------------------------------------------- .makeSignaturesDiscrete <- function(dat, tax_id_type = "NCBI_ID") { - dat |> - dplyr::mutate( - Attribute = paste0("bugphyzz:", Attribute, "|", Attribute_value) - ) |> - {\(y) split(y, y$Attribute)}() |> + dat$Attribute <- paste0( + "bugphyz:", dat$Attribute, "|", dat$Attribute_value + ) + dat |> + {\(y) S4Vectors::split(y, y$Attribute)}() |> lapply(function(x) unique(x[[tax_id_type]])) } @@ -259,15 +260,13 @@ getTaxonSignatures <- function(tax, bp, ...) { ) max <- max(dat$Attribute_value) } - dat <- dat |> - dplyr::filter( - Attribute_value >= min & Attribute_value <= max - ) |> - dplyr::mutate( - Attribute = paste0( - "bugphyzz:", Attribute, "| >=", min, " & <=", max - ) - ) + + dat <- dat[ + which(dat$Attribute_value >= min & dat$Attribute_value <= max), + ] + dat$Attribute <- paste0( + "bugphyzz:", dat$Attribute, "| >=", min, " & <=", max + ) } else { thr <- .thresholds() |> dplyr::filter(Attribute_group == unique(dat$Attribute)) @@ -292,7 +291,7 @@ getTaxonSignatures <- function(tax, bp, ...) { } } dat |> - {\(y) split(y, y$Attribute)}() |> + {\(y) S4Vectors::split(y, y$Attribute)}() |> lapply(function(x) unique(x[[tax_id_type]])) } From 09da92fb8dce50672be9136523f3112da1736bea Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Thu, 20 Jun 2024 14:33:43 -0400 Subject: [PATCH 03/20] Add unit tests to make sure makeSignatures works with DataFrame --- tests/testthat/test-makeSignatures-DataFrame.R | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 tests/testthat/test-makeSignatures-DataFrame.R diff --git a/tests/testthat/test-makeSignatures-DataFrame.R b/tests/testthat/test-makeSignatures-DataFrame.R new file mode 100644 index 0000000..97225c3 --- /dev/null +++ b/tests/testthat/test-makeSignatures-DataFrame.R @@ -0,0 +1,14 @@ +library(purrr) +library(S4Vectors) +bp <- map(importBugphyzz(), DataFrame) +sigsNames <- map(bp, ~ makeSignatures(.x, tax_id_type = "Taxon_name")) |> + list_flatten(name_spec = "{inner}") +sigsIDs <- map(bp, ~ makeSignatures(.x, tax_id_type = "NCBI_ID")) |> + list_flatten(name_spec = "{inner}") + +test_that("makeSignatures works with IDs", { + expect_true(all(map_lgl(sigsIDs, is.integer))) +}) +test_that("makeSignatures works with taxon names", { + expect_true(all(map_lgl(sigsNames, is.character))) +}) From 25a41cc503c67133121d341d6ce1fb860b7483c0 Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Thu, 20 Jun 2024 15:30:18 -0400 Subject: [PATCH 04/20] Add S4Vectors dependency --- DESCRIPTION | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 94c015a..bdbdc88 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -59,7 +59,8 @@ Imports: tidyselect, BiocFileCache, httr2, - tools + tools, + S4Vectors Suggests: DT, forcats, From 7d25e6172b89c33c2e5bac96a47f649fa8449c01 Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Fri, 21 Jun 2024 11:01:53 -0400 Subject: [PATCH 05/20] homogenize function calls and variable names and arguments to camelCase --- R/bacdive.R | 116 ++++++++++---------- R/bugphyzz.R | 128 +++++++++++------------ R/physiologies.R | 107 ++++++++++--------- R/sysdata.rda | Bin 160024 -> 160275 bytes inst/scripts/sysdata.R | 68 ++++++------ man/getTaxonSignatures.Rd | 4 +- man/importBugphyzz.Rd | 12 +-- man/makeSignatures.Rd | 12 +-- man/physiologies.Rd | 4 +- man/showPhys.Rd | 4 +- tests/testthat/test-getTaxonSignatures.R | 2 +- vignettes/bugphyzz.Rmd | 14 +-- 12 files changed, 235 insertions(+), 236 deletions(-) diff --git a/R/bacdive.R b/R/bacdive.R index ca94273..648553b 100644 --- a/R/bacdive.R +++ b/R/bacdive.R @@ -1,9 +1,9 @@ ## Main function for importing BacDive .getBacDive <- function(verbose = FALSE ) { - bacdive_data <- .importBacDiveExcel(verbose = verbose) - colnames(bacdive_data) <- .changeBDColNames(colnames(bacdive_data)) - .getTidyBD(bacdive_data) + bacdiveData <- .importBacDiveExcel(verbose = verbose) + colnames(bacdiveData) <- .changeBDColNames(colnames(bacdiveData)) + .getTidyBD(bacdiveData) } ## Helper function for .getBacDive @@ -34,8 +34,8 @@ } ## Helper function for .getBacDive -.getTidyBD <- function(bacdive_data) { - bacdive_data |> +.getTidyBD <- function(bacdiveData) { + bacdiveData |> tidyr::pivot_longer( # Attributes start in the gram_stain column cols = gram_stain:tidyr::last_col(), @@ -60,10 +60,10 @@ .reshapeBacDive <- function(df) { df[['Attribute_source']] <- 'BacDive' - split_df <- split(df, factor(df[['Attribute']])) + splitDf <- split(df, factor(df[['Attribute']])) ## Attributes that must be changed from character to logical (simplest fix) - attr_names <- c( + attrNames <- c( 'aerophilicity', 'shape', 'country', @@ -73,19 +73,19 @@ ## colony color (delete) ) - for (i in seq_along(attr_names)) { - split_df[[attr_names[i]]] <- .catToLog(split_df[[attr_names[i]]]) - if (attr_names[i] %in% c('aerophilicity', 'shape')) { - split_df[[attr_names[i]]]$Attribute_type <- + for (i in seq_along(attrNames)) { + splitDf[[attrNames[i]]] <- .catToLog(splitDf[[attrNames[i]]]) + if (attrNames[i] %in% c('aerophilicity', 'shape')) { + splitDf[[attrNames[i]]]$Attribute_type <- 'multistate-intersection' } else { - split_df[[attr_names[i]]]$Attribute_type <- 'multistate-union' + splitDf[[attrNames[i]]]$Attribute_type <- 'multistate-union' } } ## aerophilicity #### ## This is only to match the data in the bugphyzz spreadsheet - aer <- split_df[['aerophilicity']] + aer <- splitDf[['aerophilicity']] aer$Attribute <- dplyr::case_when( aer$Attribute == 'aerobe' ~ 'aerobic', aer$Attribute == 'anaerobe' ~ 'anaerobic', @@ -95,51 +95,51 @@ aer$Attribute == 'obligate aerobe' ~ 'obligately aerobic', TRUE ~ aer$Attribute ) - split_df[['aerophilicity']] <- aer + splitDf[['aerophilicity']] <- aer ## animal pathogen #### - pos <- names(split_df) == 'animal pathongen' - names(split_df)[pos] <- 'animal pathogen' - x_ <- split_df[['animal pathogen']][['Attribute_value']] + pos <- names(splitDf) == 'animal pathongen' + names(splitDf)[pos] <- 'animal pathogen' + x_ <- splitDf[['animal pathogen']][['Attribute_value']] x_ <- ifelse(x_ == "yes, in single cases", "yes", x_) x_ <- dplyr::case_when(x_ == 'yes' ~ TRUE, x_ == 'no' ~ FALSE) - split_df[['animal pathogen']][['Attribute_value']] <- x_ - split_df[['animal pathogen']][['Attribute_group']] <- 'animal pathogen' - split_df[['animal pathogen']][['Attribute']] <- 'animal pathogen' - split_df[['animal pathogen']][['Attribute_type']] <- 'binary' + splitDf[['animal pathogen']][['Attribute_value']] <- x_ + splitDf[['animal pathogen']][['Attribute_group']] <- 'animal pathogen' + splitDf[['animal pathogen']][['Attribute']] <- 'animal pathogen' + splitDf[['animal pathogen']][['Attribute_type']] <- 'binary' ## biosafety level #### - y <- split_df[['biosafety level comment']][ + y <- splitDf[['biosafety level comment']][ , c('BacDive_ID', 'Attribute_value') ] colnames(y)[2] <- 'Note' - x <- dplyr::left_join(split_df[['biosafety level']], y, by = 'BacDive_ID') + x <- dplyr::left_join(splitDf[['biosafety level']], y, by = 'BacDive_ID') x[['Attribute_value']] <- paste0('biosafety level ', x[['Attribute_value']]) x[['Attribute']] <- x[['Attribute_value']] x[['Attribute_value']] <- TRUE x[['Attribute_group']] <- 'biosafety level' x[['Attribute_type']] <- 'multistate-intersection' - split_df[['biosafety level']] <- x - split_df[['biosafety level comment']] <- NULL + splitDf[['biosafety level']] <- x + splitDf[['biosafety level comment']] <- NULL ## colony color #### ## This one must be removed - split_df[['colony color']] <- NULL + splitDf[['colony color']] <- NULL ## cultivation medium used - growth medium #### - pos <- names(split_df) == 'cultivation medium used' - names(split_df)[pos] <- 'growth medium' - split_df[['growth medium']][['Attribute_group']] <- 'growth medium' + pos <- names(splitDf) == 'cultivation medium used' + names(splitDf)[pos] <- 'growth medium' + splitDf[['growth medium']][['Attribute_group']] <- 'growth medium' ## growth temperature #### ## culture temperature ## culture temperature growth ## culture temperature range (ignore) ## culture temperature type (ignore) - split_df[['culture temperature range']] <- NULL - split_df[['culture temperature type']] <- NULL - a <- split_df[['culture temperature']] - b <- split_df[['culture temperature growth']] + splitDf[['culture temperature range']] <- NULL + splitDf[['culture temperature type']] <- NULL + a <- splitDf[['culture temperature']] + b <- splitDf[['culture temperature growth']] b_ <- b[,c('BacDive_ID', 'Attribute_value')] colnames(b_)[2] <- 'growth' ab <- dplyr::left_join(a, b_, by = 'BacDive_ID') @@ -148,25 +148,25 @@ ab[['Attribute_group']] <- 'growth temperature' ab[['Attribute_type']] <- 'range' ab[['Attribute']] <- 'growth temperature' - split_df[['growth temperature']] <- ab - split_df[['culture temperature']] <- NULL - split_df[['culture temperature growth']] <- NULL + splitDf[['growth temperature']] <- ab + splitDf[['culture temperature']] <- NULL + splitDf[['culture temperature growth']] <- NULL ## gram stain #### - gs <- split_df[['gram stain']] + gs <- splitDf[['gram stain']] gs[['Attribute']] <- paste(gs[['Attribute']], gs[['Attribute_value']]) gs[['Attribute_value']] <- TRUE gs[['Attribute_group']] <- 'gram stain' gs[['Attribute_type']] <- 'multistate-intersection' - split_df[['gram stain']] <- gs + splitDf[['gram stain']] <- gs ## halophily #### - valid_terms <- c( + validTerms <- c( 'NaCl', 'KCl', 'MgCl2', 'MgCl2x6H2O', 'Na\\+', 'MgSO4x7H2O', 'Na2SO4', 'Sea salts', 'Chromium \\(Cr6\\+\\)' ) - regex <- paste0('(', paste0(valid_terms, collapse = '|'), ')') - split_df[['halophily']] <- split_df[['halophily']] |> + regex <- paste0('(', paste0(validTerms, collapse = '|'), ')') + splitDf[['halophily']] <- splitDf[['halophily']] |> dplyr::mutate(Attribute_value = strsplit(Attribute_value, ';')) |> tidyr::unnest(cols = 'Attribute_value') |> dplyr::filter(!grepl('no growth', Attribute_value)) |> @@ -194,7 +194,7 @@ dplyr::distinct() ## hemolysis #### - split_df[['hemolysis']] <- split_df[['hemolysis']] |> + splitDf[['hemolysis']] <- splitDf[['hemolysis']] |> dplyr::mutate( Attribute_value = strsplit(Attribute_value, ';|/') ) |> @@ -210,21 +210,21 @@ ## incubation period ## This one must be removed - split_df[['incubation period']] <- NULL + splitDf[['incubation period']] <- NULL ## motility #### - split_df[['motility']] <- split_df[['motility']] |> + splitDf[['motility']] <- splitDf[['motility']] |> dplyr::mutate( Attribute_value = dplyr::case_when( Attribute_value == 'yes' ~ TRUE, Attribute_value == 'no' ~ FALSE ) ) - split_df[['motility']][['Attribute_group']] <- 'motility' - split_df[['motility']][['Attribute_type']] <- 'binary' + splitDf[['motility']][['Attribute_group']] <- 'motility' + splitDf[['motility']][['Attribute_type']] <- 'binary' ## pathogenicity human #### - pat <- split_df[['pathogenicity human']] + pat <- splitDf[['pathogenicity human']] pat[['Note']] <- stringr::str_extract( pat[['Attribute_value']], 'in single cases' ) @@ -235,10 +235,10 @@ pat <- pat[!is.na(pat[['Attribute_value']]),] pat[['Attribute_group']] <- 'pathogenicity human' pat[['Attribute_type']] <- 'binary' - split_df[['pathogenicity human']] <- pat + splitDf[['pathogenicity human']] <- pat ## metabolite production #### - mp <- split_df[['metabolite production']] + mp <- splitDf[['metabolite production']] mp <- mp |> dplyr::mutate(Attribute_value = strsplit(Attribute_value, ';')) |> tidyr::unnest(Attribute_value) @@ -250,12 +250,12 @@ mp[['Attribute']] <- sub(' (yes|no)$', '', mp[['Attribute']]) mp[['Attribute_group']] <- 'metabolite utilization' mp[['Attribute_type']] <- 'multistate-intersection' - split_df[['metabolite production']] <- mp + splitDf[['metabolite production']] <- mp ## metabolite utilization #### - pos <- names(split_df) == 'metabolite utiilization' - names(split_df)[pos] <- 'metabolite utilization' - mu <- split_df[['metabolite utilization']] + pos <- names(splitDf) == 'metabolite utiilization' + names(splitDf)[pos] <- 'metabolite utilization' + mu <- splitDf[['metabolite utilization']] mu <- mu |> dplyr::mutate(Attribute_value = strsplit(Attribute_value, ';')) |> tidyr::unnest(Attribute_value) |> @@ -280,10 +280,10 @@ dplyr::mutate(Attribute_value = as.logical(Attribute_value)) mu[['Attribute_group']] <- 'metabolite utilization' mu[['Attribute_type']] <- 'multistate-intersection' - split_df[['metabolite utilization']] <- mu + splitDf[['metabolite utilization']] <- mu ## spore formation #### - sf <- split_df[['spore formation']] + sf <- splitDf[['spore formation']] sf <- sf |> dplyr::mutate( Attribute_value = dplyr::case_when( @@ -294,9 +294,9 @@ Attribute_type = 'binary' ) |> dplyr::filter(!is.na(Attribute_value)) - split_df[['spore formation']] <- sf + splitDf[['spore formation']] <- sf - split_df <- lapply(split_df, function(x) { + splitDf <- lapply(splitDf, function(x) { x <- as.data.frame(x) x[['NCBI_ID']] <- as.character(x[['NCBI_ID']]) x[['Parent_NCBI_ID']] <- as.character(x[['Parent_NCBI_ID']]) @@ -312,7 +312,7 @@ as.data.frame(x) }) - return(split_df) + return(splitDf) } ## Helper function for .reshapeBacDive diff --git a/R/bugphyzz.R b/R/bugphyzz.R index c148ea9..f904d79 100644 --- a/R/bugphyzz.R +++ b/R/bugphyzz.R @@ -14,10 +14,10 @@ utils::globalVariables(c( #' #' @param version Character string indicating the version. Default is the #' latest release on Zenodo. Options: Zenodo DOI, GitHub commit hash, or devel. -#' @param force_download Logical value. Force a fresh download of the data or +#' @param forceDownload Logical value. Force a fresh download of the data or #' use the one stored in the cache (if available). Default is FALSE. #' @param v Validation value. Default 0.8 (see details). -#' @param exclude_rarely Default is TRUE. Exclude values with +#' @param excludeRarely Default is TRUE. Exclude values with #' Frequency == FALSE (see details). #' #' @details @@ -37,12 +37,12 @@ utils::globalVariables(c( #' imported. The minimum value can be adjusted with the `v` argument (only #' values between 0 and 1). #' -#' ## Frequency (exclude_rarely argument) +#' ## Frequency (excludeRarely argument) #' One of the variables in the bugphyzz data.frames is "Frequency", which #' can adopt values of #' "always", "usually", "sometimes", "rarely", or "never". By default #' "never" and "rarely" are excluded. "rarely" could be included with -#' `exclude_rarely = FALSE`. To learn more about these frequency keywords +#' `excludeRarely = FALSE`. To learn more about these frequency keywords #' please check the bugphyzz vignette with `browseVignettes("bugphyzz")`. #' #' @return A list of tidy data frames. @@ -54,14 +54,14 @@ utils::globalVariables(c( #' names(bp) #' importBugphyzz <- function( - version = "10.5281/zenodo.10980813", force_download = FALSE, v = 0.8, - exclude_rarely = TRUE + version = "10.5281/zenodo.10980813", forceDownload = FALSE, v = 0.8, + excludeRarely = TRUE ) { ## output is a list of three data.frames ## one of each: binary, multistate, numeric - output <- .downloadResource(version, force_download) + output <- .downloadResource(version, forceDownload) ## TODO add release version output <- lapply(output, function(x) split(x, x$Attribute)) @@ -90,13 +90,13 @@ importBugphyzz <- function( dplyr::mutate(attribute = tolower(attribute)) output <- purrr::map(output, ~ { - attr_type <- unique(.x$Attribute_type) - if (attr_type == "binary") { + attrType <- unique(.x$Attribute_type) + if (attrType == "binary") { val <- dplyr::select(val, Attribute = attribute, value) o <- dplyr::left_join(.x, val, by = "Attribute" ) } else if ( - attr_type == "multistate-intersection" || - attr_type == "multistate-union" + attrType == "multistate-intersection" || + attrType == "multistate-union" ) { val <- dplyr::select( val, Attribute = physiology, Attribute_value = attribute, value @@ -105,7 +105,7 @@ importBugphyzz <- function( dplyr::mutate(.x, Attribute_value = tolower(Attribute_value)), val, by = c("Attribute", "Attribute_value") ) - } else if (attr_type == "numeric") { + } else if (attrType == "numeric") { val <- dplyr::select(val, Attribute = attribute, value) o <- dplyr::left_join(.x, val, by = "Attribute") |> dplyr::rename(NSTI = nsti) @@ -118,7 +118,7 @@ importBugphyzz <- function( dplyr::rename(Validation = value) }) - if (exclude_rarely) { + if (excludeRarely) { output <- purrr::map( output, ~ dplyr::filter(.x, Frequency != "rarely") ) @@ -133,8 +133,8 @@ importBugphyzz <- function( #' run `browseVignettes("bugphyz")` for detailed examples. #' #' @param dat A data.frame. -#' @param tax_id_type A character string. Valid options: NCBI_ID, Taxon_name. -#' @param tax_level A character vector. Taxonomic rank. Valid options: +#' @param taxIdType A character string. Valid options: NCBI_ID, Taxon_name. +#' @param taxLevel A character vector. Taxonomic rank. Valid options: #' superkingdom, kingdom, phylum, class, order, family, genus, species, strain. #' They can be combined. "mixed" is equivalent to select all valid ranks. #' @param evidence A character vector. Valid options: exp, igc, nas, tas, tax, @@ -142,7 +142,7 @@ importBugphyzz <- function( #' @param frequency A character vector. Valid options: always, usually, #' sometimes, rarely, unknown. They can be combined. By default, "rarely" is #' excluded. -#' @param min_size Minimum number of bugs in a signature. Default is 10. +#' @param minSize Minimum number of bugs in a signature. Default is 10. #' @param min Minimum value (inclusive). Only for numeric attributes. #' Default is NULL. #' @param max Maximum value (inclusive). Only for numeric attributes. @@ -158,21 +158,21 @@ importBugphyzz <- function( #' sigs <- purrr::list_flatten(sigs, name_spec = "{inner}") #' makeSignatures <- function( - dat, tax_id_type = "NCBI_ID", - tax_level = "mixed", + dat, taxIdType = "NCBI_ID", + taxLevel = "mixed", evidence = c("exp", "igc", "tas", "nas", "tax", "asr"), frequency = c("always", "usually", "sometimes", "unknown"), - min_size = 10, min = NULL, max = NULL + minSize = 10, min = NULL, max = NULL ) { - attr_type <- unique(dat$Attribute_type) - if ("mixed" %in% tax_level) { - tax_level <- c( + attrType <- unique(dat$Attribute_type) + if ("mixed" %in% taxLevel) { + taxLevel <- c( "kingdom", "phylum", "class", "order", "family", "genus", "species", "strain" ) } dat <- dat |> - {\(y) y[which(y$Rank %in% tax_level),]}() |> + {\(y) y[which(y$Rank %in% taxLevel),]}() |> {\(y) y[which(y$Evidence %in% evidence),]}() |> {\(y) y[which(y$Frequency %in% frequency),]}() @@ -185,16 +185,16 @@ makeSignatures <- function( return(NULL) } if ( - attr_type %in% + attrType %in% c("multistate-intersection", "binary", "multistate-union") ) { - s <- .makeSignaturesDiscrete(dat = dat, tax_id_type = tax_id_type) - } else if (attr_type %in% c("range", "numeric")) { + s <- .makeSignaturesDiscrete(dat = dat, taxIdType = taxIdType) + } else if (attrType %in% c("range", "numeric")) { s <- .makeSignaturesNumeric( - dat = dat, tax_id_type = tax_id_type, min = min, max = max + dat = dat, taxIdType = taxIdType, min = min, max = max ) } - output <- purrr::keep(s, ~ length(.x) >= min_size) + output <- purrr::keep(s, ~ length(.x) >= minSize) if (!length(output)) { warning( "Not enough data for creating signatures.", @@ -212,7 +212,7 @@ makeSignatures <- function( #' bugphyzz vignette; please run `browseVignettes("bugphyzz")`. #' #' @param tax A valid NCBI ID or taxon name. If taxon name is used, the -#' argument tax_id_type = "Taxon_name" must also be used. +#' argument taxIdType = "Taxon_name" must also be used. #' @param bp List of data.frames imported with \code{importBugphyzz}. #' @param ... Arguments passed to \code{makeSignatures}. #' @@ -224,7 +224,7 @@ makeSignatures <- function( #' taxonName <- "Escherichia coli" #' bp <- importBugphyzz() #' sig_names_1 <- getTaxonSignatures(taxid, bp) -#' sig_names_2 <- getTaxonSignatures(taxonName, bp, tax_id_type = "Taxon_name") +#' sig_names_2 <- getTaxonSignatures(taxonName, bp, taxIdType = "Taxon_name") #' getTaxonSignatures <- function(tax, bp, ...) { sigs <- purrr::map(bp, makeSignatures, ...) @@ -235,17 +235,17 @@ getTaxonSignatures <- function(tax, bp, ...) { } # Non exported functions ---------------------------------------------------- -.makeSignaturesDiscrete <- function(dat, tax_id_type = "NCBI_ID") { +.makeSignaturesDiscrete <- function(dat, taxIdType = "NCBI_ID") { dat$Attribute <- paste0( "bugphyz:", dat$Attribute, "|", dat$Attribute_value ) dat |> {\(y) S4Vectors::split(y, y$Attribute)}() |> - lapply(function(x) unique(x[[tax_id_type]])) + lapply(function(x) unique(x[[taxIdType]])) } .makeSignaturesNumeric <- function( - dat, tax_id_type = "NCBI_ID", min = NULL, max = NULL + dat, taxIdType = "NCBI_ID", min = NULL, max = NULL ) { if (!is.null(min) || !is.null(max)) { if (is.null(min)) { @@ -270,29 +270,29 @@ getTaxonSignatures <- function(tax, bp, ...) { } else { thr <- .thresholds() |> dplyr::filter(Attribute_group == unique(dat$Attribute)) - attr_name <- thr$Attribute - min_values <- thr$lower - max_values <- thr$upper + attrName <- thr$Attribute + minValues <- thr$lower + maxValues <- thr$upper dat$tmp_col <- NA - for (i in seq_along(attr_name)) { - if (is.na(min_values[i])) - min_values[i] <- min(dat$Attribute_value) - 0.01 - if (is.na(max_values[i])) - max_values[i] <- max(dat$Attribute_value) + for (i in seq_along(attrName)) { + if (is.na(minValues[i])) + minValues[i] <- min(dat$Attribute_value) - 0.01 + if (is.na(maxValues[i])) + maxValues[i] <- max(dat$Attribute_value) pos <- which( - dat$Attribute_value > min_values[i] & - dat$Attribute_value <= max_values[i] + dat$Attribute_value > minValues[i] & + dat$Attribute_value <= maxValues[i] ) - dat$tmp_col[pos] <- attr_name[i] + dat$tmp_col[pos] <- attrName[i] dat$Attribute[pos] <- paste0( - "bugphyzz:", dat$Attribute[pos], "|", attr_name[i], "| > ", - round(min_values[i], 2), " & <= ", max_values[i] + "bugphyzz:", dat$Attribute[pos], "|", attrName[i], "| > ", + round(minValues[i], 2), " & <= ", maxValues[i] ) } } dat |> {\(y) S4Vectors::split(y, y$Attribute)}() |> - lapply(function(x) unique(x[[tax_id_type]])) + lapply(function(x) unique(x[[taxIdType]])) } .thresholds <- function() { @@ -329,15 +329,15 @@ getTaxonSignatures <- function(tax, bp, ...) { } ## Import a version of bupghyzz -.downloadResource <- function(version, force_download) { +.downloadResource <- function(version, forceDownload) { if (stringr::str_detect(version, "^10.5281/zenodo.[0-9]+$")) { suffix <- sub("^10.5281/zenodo\\.", "", version) - output <- .downloadZ(suffix, force_download) + output <- .downloadZ(suffix, forceDownload) } else if ( version == "devel" || stringr::str_detect(version, stringr::regex("^[:alnum:]{7}$")) ){ - output <- .downloadGH(version, force_download) + output <- .downloadGH(version, forceDownload) } else { stop("Version must be a Zenodo DOI, GitHub commit hash, or 'devel'.") } @@ -345,24 +345,24 @@ getTaxonSignatures <- function(tax, bp, ...) { } ## Function for downloading data on Zenodo -.downloadZ <- function(record, force_download) { - base_url <- paste0("https://zenodo.org/api/records/", record) - req <- httr2::request(base_url) +.downloadZ <- function(record, forceDownload) { + baseUrl <- paste0("https://zenodo.org/api/records/", record) + req <- httr2::request(baseUrl) res <- httr2::req_perform(req) l <- httr2::resp_body_json(res) - file_names_api <- purrr::map_chr(l$files, ~ .x$links$self) - file_names_url <- sub( - "(^.*)(api/)(.*)(/content$)", "\\1\\3", file_names_api + fileNamesApi <- purrr::map_chr(l$files, ~ .x$links$self) + fileNamesUrl <- sub( + "(^.*)(api/)(.*)(/content$)", "\\1\\3", fileNamesApi ) rpath <- .getResource( rname = paste0("bugphyzz.zip"), - url = file_names_url, verbose = TRUE, force = force_download + url = fileNamesUrl, verbose = TRUE, force = forceDownload ) - temp_dir <- tempdir() - utils::unzip(zipfile = rpath, exdir = temp_dir, junkpaths = TRUE) - files <- list.files(temp_dir, pattern = "csv", full.names = TRUE) + tempDir <- tempdir() + utils::unzip(zipfile = rpath, exdir = tempDir, junkpaths = TRUE) + files <- list.files(tempDir, pattern = "csv", full.names = TRUE) output <- vector("list", length(files)) for (i in seq_along(output)) { @@ -373,11 +373,11 @@ getTaxonSignatures <- function(tax, bp, ...) { } ## Function for downloading data on GitHub -.downloadGH <- function(version, force_download) { - file_suffix <- c("binary", "multistate", "numeric") +.downloadGH <- function(version, forceDownload) { + fileSuffix <- c("binary", "multistate", "numeric") urls <- paste0( "https://github.com/waldronlab/bugphyzzExports/raw/", version, - "/bugphyzz_", file_suffix, ".csv" + "/bugphyzz_", fileSuffix, ".csv" ) names(urls) <- c("binary", "multistate", "numeric") output <- vector("list", length(urls)) @@ -386,7 +386,7 @@ getTaxonSignatures <- function(tax, bp, ...) { names(output)[i] <- names(urls)[i] rpath <- .getResource( rname = paste0("bugphyzz_", names(urls)[i], ".csv"), - url = urls[i], verbose = TRUE, force = force_download + url = urls[i], verbose = TRUE, force = forceDownload ) output[[i]] <- utils::read.csv(rpath, header = TRUE, skip = 1) |> dplyr::mutate(Attribute = tolower(Attribute)) diff --git a/R/physiologies.R b/R/physiologies.R index 651cd79..88c1c08 100644 --- a/R/physiologies.R +++ b/R/physiologies.R @@ -8,7 +8,7 @@ #' @param keyword Character vector with one or more valid keywords. #' Valid keyboards can be checked with \code{showPhys}. If 'all', all #' physiologies are imported. -#' @param full_source Logical. If `TRUE`, the Attribute_source column will +#' @param fullSource Logical. If `TRUE`, the Attribute_source column will #' contain full source information. If `FALSE`, the Attribute_source column #' will contain shortened versions of the sources. Default is `FALSE`. #' @@ -20,7 +20,7 @@ #' l <- physiologies('all') #' df <- physiologies('aerophilicity')[[1]] #' -physiologies <- function(keyword = 'all', full_source = FALSE) { +physiologies <- function(keyword = 'all', fullSource = FALSE) { keyword <- .checkKeyword(keyword) cond1 <- any(keyword %in% showPhys('spreadsheets')) cond2 <- any(keyword %in% showPhys('bacdive')) @@ -62,20 +62,19 @@ physiologies <- function(keyword = 'all', full_source = FALSE) { ) |> dplyr::distinct() - if (full_source) { - df$Attribute_source <- df$full_source + if (fullSource) { + df$Attribute_source <- df$fullSource } - df$full_source <- NULL + df$fullSource <- NULL df <- .reorderColumns( df = df, name = unique(df$Attribute_group), - attr_type = unique(df$Attribute_type) + attrType = unique(df$Attribute_type) ) df <- as.data.frame(df[, vapply(df, \(y) !all(is.na(y)), logical(1))]) - ## TODO this code could be somewhere else if (unique(df$Attribute_group) == 'aerophilicity') { df <- .homogenizeAerophilicityAttributeNames(df) } @@ -92,7 +91,7 @@ physiologies <- function(keyword = 'all', full_source = FALSE) { #' imported with the \code{\link{physiologies}} function. This function #' should be used by developers/curators. #' -#' @param which_names A character string. Options: 'all' (default), +#' @param whichNames A character string. Options: 'all' (default), #' 'spreadsheets', 'bacdive'. #' #' @return A character vector with the names of the physiologies. @@ -103,20 +102,20 @@ physiologies <- function(keyword = 'all', full_source = FALSE) { #' showPhys('bacdive') #' showPhys('spreadsheets') #' -showPhys <- function(which_names = 'all') { +showPhys <- function(whichNames = 'all') { fname <- system.file( 'extdata', 'spreadsheet_links.tsv', package = 'bugphyzz' ) links <- utils::read.table(fname, header = TRUE, sep = '\t') - spreadsheet_phys <- links[['physiology']] - if (which_names == 'all') - ## bacdive_phys_names is a character vector saved as internal data - phys_names <- sort(unique(c(spreadsheet_phys, bacdive_phys_names))) - if (which_names == 'spreadsheets') - phys_names <- spreadsheet_phys - if (which_names == 'bacdive') - phys_names <- bacdive_phys_names - return(phys_names) + spreadsheetPhys <- links[['physiology']] + if (whichNames == 'all') + ## bacdivePhysNames is a character vector saved as internal data + physNames <- sort(unique(c(spreadsheetPhys, bacdivePhysNames))) + if (whichNames == 'spreadsheets') + physNames <- spreadsheetPhys + if (whichNames == 'bacdive') + physNames <- bacdivePhysNames + return(physNames) } ## Helper function for physiologies @@ -135,13 +134,13 @@ showPhys <- function(which_names = 'all') { keyword <- showPhys() } } - valid_keywords <- showPhys() - lgl_vct <- keyword %in% valid_keywords - if (any(!lgl_vct) ) { - invalid_keywords <- keyword[!lgl_vct] + validKeywords <- showPhys() + lglVct <- keyword %in% validKeywords + if (any(!lglVct) ) { + invalidKeywords <- keyword[!lglVct] stop( "Invalid keyword(s): ", - paste0(invalid_keywords, collapse = ', '), '.', + paste0(invalidKeywords, collapse = ', '), '.', " Check valid keywords with showPhys() or use 'all' to import all", " physiologies.", call. = FALSE @@ -152,7 +151,7 @@ showPhys <- function(which_names = 'all') { ## Helper function for physiologies .importSpreadsheets <- function(keyword) { - parent_col_names <- c('Parent_name', 'Parent_NCBI_ID', 'Parent_rank') + parentColNames <- c('Parent_name', 'Parent_NCBI_ID', 'Parent_rank') fname <- system.file( 'extdata', 'spreadsheet_links.tsv', package = 'bugphyzz' ) @@ -160,13 +159,13 @@ showPhys <- function(which_names = 'all') { links <- links[links[['physiology']] %in% keyword,] spreadsheets <- vector('list', nrow(links)) for (i in seq_along(spreadsheets)) { - phys_name <- links[i, 'physiology', drop = FALSE][[1]] - attr_type <- links[i, 'attribute_type', drop = FALSE][[1]] - names(spreadsheets)[i] <- phys_name + physName <- links[i, 'physiology', drop = FALSE][[1]] + attrType <- links[i, 'attribute_type', drop = FALSE][[1]] + names(spreadsheets)[i] <- physName url <- links[i, 'link', drop = FALSE][[1]] df <- dplyr::distinct(utils::read.csv(url)) - df[['Attribute_type']] <- attr_type - df[['Attribute_group']] <- phys_name + df[['Attribute_type']] <- attrType + df[['Attribute_group']] <- physName df[['NCBI_ID']] <- as.character(df[['NCBI_ID']]) df <- df[!is.na(df[['Attribute_value']]),] @@ -175,21 +174,21 @@ showPhys <- function(which_names = 'all') { } else if (unique(df[['Attribute_type']] == 'range')) { df <- .modifyRange(df) } else if ( - unique(df[['Attribute_type']] %in% .DISCRETE_ATTRIBUTE_TYPES()) + unique(df[['Attribute_type']] %in% .discreteAttributeTypes()) ) { df <- dplyr::filter( df, Attribute_value == TRUE | Attribute_value == FALSE ) } - if (all(parent_col_names %in% colnames(df))) { + if (all(parentColNames %in% colnames(df))) { df$Parent_NCBI_ID <- stringr::str_squish( as.character(df$Parent_NCBI_ID) ) } else { - ## ranks_parents is an internal object (data.frame) in bugphyzz + ## ranksParents is an internal object (data.frame) in bugphyzz rp <- purrr::modify_at( - .x = ranks_parents, + .x = ranksParents, .at = c('NCBI_ID', 'Parent_NCBI_ID'), .f = as.character ) @@ -264,7 +263,7 @@ showPhys <- function(which_names = 'all') { } ## helper function for .importSpreadsheets -.DISCRETE_ATTRIBUTE_TYPES <- function() { +.discreteAttributeTypes <- function() { fname <- system.file( 'extdata', 'spreadsheet_links.tsv', package = 'bugphyzz' ) @@ -277,33 +276,33 @@ showPhys <- function(which_names = 'all') { fpath <- system.file( 'extdata', 'attribute_sources.tsv', package = 'bugphyzz' ) - source_data <- utils::read.table( + sourceData <- utils::read.table( file = fpath, header = TRUE, sep = '\t', quote = '', check.names = FALSE, comment.char = '' ) - dplyr::left_join(dat, source_data, by = 'Attribute_source') + dplyr::left_join(dat, sourceData, by = 'Attribute_source') } ## Helper function for physiologies -.reorderColumns <- function(df, name = NULL, attr_type) { - col_names <- colnames(df) - req_cols <- .requiredColumns(attr_type) - cols_lgl <- req_cols %in% col_names - if (!all(cols_lgl)) { - missing_cols <- paste0(req_cols[!cols_lgl], collapse = ', ') +.reorderColumns <- function(df, name = NULL, attrType) { + colNames <- colnames(df) + reqCols <- .requiredColumns(attrType) + colsLgl <- reqCols %in% colNames + if (!all(colsLgl)) { + missingCols <- paste0(reqCols[!colsLgl], collapse = ', ') if (!is.null(name)) { msg <- paste0( 'Missing columns in ', name, '.', ' Missing columns are: ', - missing_cols + missingCols ) } else { msg <- paste0( - 'Missing columns.', ' Missing columns are: ', missing_cols + 'Missing columns.', ' Missing columns are: ', missingCols ) } warning(msg, call. = FALSE) } - cols <- req_cols[cols_lgl] + cols <- reqCols[colsLgl] df |> dplyr::relocate(dplyr::all_of(cols)) } @@ -321,12 +320,12 @@ showPhys <- function(which_names = 'all') { } ## Required columns -.requiredColumns <- function(attr_type) { +.requiredColumns <- function(attrType) { fname <- system.file("extdata/curation_template.tsv", package = "bugphyzz") df <- utils::read.table(fname, sep = "\t", header = TRUE) - lgl_vct_1 <- df$requiredness == "required" - lgl_vct_2 <- grepl(attr_type, df$attribute_types) - df <- df[lgl_vct_1 & lgl_vct_2,] + lglVct1 <- df$requiredness == "required" + lglVct2 <- grepl(attrType, df$attribute_types) + df <- df[lglVct1 & lglVct2,] df[order(df[["required_column_order"]]), , drop = FALSE] output <- df[['column_name']] return(output) @@ -334,11 +333,11 @@ showPhys <- function(which_names = 'all') { ## Generate a template for a bugphyzz dataset .template <- function(dataset) { - template_tsv <- system.file( + templateTsv <- system.file( "extdata/curation_template.tsv", package = "bugphyzz" ) template <- utils::read.table( - file = template_tsv, sep = "\t", check.names = FALSE, header = TRUE, + file = templateTsv, sep = "\t", check.names = FALSE, header = TRUE, allowEscapes = TRUE ) # template <- readr::read_tsv(template_tsv, show_col_types = FALSE) template[template[["column_name"]] %in% colnames(dataset), ] @@ -359,11 +358,11 @@ showPhys <- function(which_names = 'all') { 'extdata/spreadsheet_links.tsv', package = 'bugphyzz' ) links <- utils::read.table(fname1, header = TRUE, sep = '\t') - select_cols <- c("physiology", "source_link") + selectCols <- c("physiology", "source_link") phys_links <- links |> - dplyr::select(tidyselect::all_of(select_cols)) + dplyr::select(tidyselect::all_of(selectCols)) custom_links <- .customLinks() |> - dplyr::select(tidyselect::all_of((select_cols))) + dplyr::select(tidyselect::all_of((selectCols))) links <- dplyr::bind_rows(phys_links, custom_links) x |> dplyr::left_join(links, by = c("dataset" = "physiology")) diff --git a/R/sysdata.rda b/R/sysdata.rda index 7be45a71c3fc8c50b6183c579e21f2924d3e4d1c..419ee423a6d308e31e4958785a56f1a19c4668c3 100644 GIT binary patch delta 159633 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 z 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 z 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,&d;)&)_+%f``cUL#p#E>X78uU`Jx=s_Aiq;fzNb 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%0DcFZgLsxaVgc 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%0Dw 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 z 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 =!#R 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 NF64@Ep&^edTYNJP%)0;p diff --git a/inst/scripts/sysdata.R b/inst/scripts/sysdata.R index 9b18508..31d7b13 100644 --- a/inst/scripts/sysdata.R +++ b/inst/scripts/sysdata.R @@ -9,25 +9,25 @@ library(stringr) getParentRank <- function(x) { ranks <- taxizedb::taxid2rank(x, db = 'ncbi', verbose = FALSE) - lowest_ranks <- c( + lowestRanks <- c( 'biotype', 'isolate', 'serogroup', 'serotype', 'strain', 'subspecies' ) dplyr::case_when( - ranks %in% lowest_ranks ~ 'species', + ranks %in% lowestRanks ~ 'species', ranks == 'species' ~ 'genus', ranks == 'genus' ~ 'family', TRUE ~ NA ) } -tax_ranks <- c( +taxRanks <- c( "superkingdom", "phylum", "class", "order", "family", "genus", "species", "strain" ) phys <- physiologies() -ncbi_ids <- phys |> +ncbiIds <- phys |> map( ~ pull(.x, NCBI_ID)) |> flatten_chr() |> unique() |> @@ -38,59 +38,59 @@ ncbi_ids <- phys |> sort(decreasing = TRUE) tim <- system.time({ - taxonomies <- taxizedb::classification(ncbi_ids, db = "ncbi") - lgl_vct <- !map_lgl(taxonomies, ~ all(is.na(.x))) - taxonomies <- taxonomies[lgl_vct] - ncbi_ids <- ncbi_ids[lgl_vct] + taxonomies <- taxizedb::classification(ncbiIds, db = "ncbi") + lglVct <- !map_lgl(taxonomies, ~ all(is.na(.x))) + taxonomies <- taxonomies[lglVct] + ncbiIds <- ncbiIds[lglVct] }) print(tim) ## Check names and taxid match all(names(taxonomies) == map_chr(taxonomies, ~ as.character(tail(.x$id, 1)))) -parents_ranks <- getParentRank(ncbi_ids) -lgl_vct <- !is.na(parents_ranks) -ncbi_ids <- ncbi_ids[lgl_vct] -parents_ranks <- parents_ranks[lgl_vct] -taxonomies <- taxonomies[lgl_vct] +parentsRanks <- getParentRank(ncbiIds) +lglVct <- !is.na(parentsRanks) +ncbiIds <- ncbiIds[lglVct] +parentsRanks <- parentsRanks[lglVct] +taxonomies <- taxonomies[lglVct] -parent_ids <- map2(taxonomies, parents_ranks, ~{ - parent_rank <- .x |> - filter(rank %in% tax_ranks) |> +parentIds <- map2(taxonomies, parentsRanks, ~{ + parentRank <- .x |> + filter(rank %in% taxRanks) |> pull(rank) |> {\(y) y[-length(y)]}() |> ## Need to remove the current rank tail(1) - parent_id <- .x |> - filter(rank %in% tax_ranks) |> + parentId <- .x |> + filter(rank %in% taxRanks) |> pull(id) |> {\(y) y[-length(y)]}() |> ## Need to remove the current rank tail(1) - names(parent_id) <- parent_rank - ifelse(names(parent_id) == .y, parent_id, NA) + names(parentId) <- parentRank + ifelse(names(parentId) == .y, parentId, NA) }) -lgl_vct <- !is.na(parent_ids) -ncbi_ids <- ncbi_ids[lgl_vct] -parent_ids <- parent_ids[lgl_vct] +lglVct <- !is.na(parentIds) +ncbiIds <- ncbiIds[lglVct] +parentIds <- parentIds[lglVct] -ranks_parents <- data.frame( - NCBI_ID = ncbi_ids, - # Taxon_name = taxizedb::taxid2name(ncbi_ids, db = 'ncbi'), - Rank = taxizedb::taxid2rank(ncbi_ids, db = 'ncbi'), - Parent_NCBI_ID = unlist(parent_ids), - Parent_name = taxizedb::taxid2name(unlist(parent_ids), db = 'ncbi'), - Parent_rank = taxizedb::taxid2rank(unlist(parent_ids), db = 'ncbi') +ranksParents <- data.frame( + NCBI_ID = ncbiIds, + # Taxon_name = taxizedb::taxid2name(ncbiIds, db = 'ncbi'), + Rank = taxizedb::taxid2rank(ncbiIds, db = 'ncbi'), + Parent_NCBI_ID = unlist(parentIds), + Parent_name = taxizedb::taxid2name(unlist(parentIds), db = 'ncbi'), + Parent_rank = taxizedb::taxid2rank(unlist(parentIds), db = 'ncbi') ) -rownames(ranks_parents) <- NULL +rownames(ranksParents) <- NULL # BacDive ----------------------------------------------------------------- bacdive <- bugphyzz:::.getBacDive() |> bugphyzz:::.reshapeBacDive() -bacdive_phys_names <- names(bacdive) +bacdivePhysNames <- names(bacdive) ## Save data ------------------------------------------------------------- usethis::use_data( - ranks_parents, - bacdive_phys_names, + ranksParents, + bacdivePhysNames, overwrite = TRUE, internal = TRUE ) diff --git a/man/getTaxonSignatures.Rd b/man/getTaxonSignatures.Rd index e6b5dde..68dc4ee 100644 --- a/man/getTaxonSignatures.Rd +++ b/man/getTaxonSignatures.Rd @@ -8,7 +8,7 @@ getTaxonSignatures(tax, bp, ...) } \arguments{ \item{tax}{A valid NCBI ID or taxon name. If taxon name is used, the -argument tax_id_type = "Taxon_name" must also be used.} +argument taxIdType = "Taxon_name" must also be used.} \item{bp}{List of data.frames imported with \code{importBugphyzz}.} @@ -27,6 +27,6 @@ taxid <- "562" taxonName <- "Escherichia coli" bp <- importBugphyzz() sig_names_1 <- getTaxonSignatures(taxid, bp) -sig_names_2 <- getTaxonSignatures(taxonName, bp, tax_id_type = "Taxon_name") +sig_names_2 <- getTaxonSignatures(taxonName, bp, taxIdType = "Taxon_name") } diff --git a/man/importBugphyzz.Rd b/man/importBugphyzz.Rd index 699e3b0..396c5f0 100644 --- a/man/importBugphyzz.Rd +++ b/man/importBugphyzz.Rd @@ -6,21 +6,21 @@ \usage{ importBugphyzz( version = "10.5281/zenodo.10980813", - force_download = FALSE, + forceDownload = FALSE, v = 0.8, - exclude_rarely = TRUE + excludeRarely = TRUE ) } \arguments{ \item{version}{Character string indicating the version. Default is the latest release on Zenodo. Options: Zenodo DOI, GitHub commit hash, or devel.} -\item{force_download}{Logical value. Force a fresh download of the data or +\item{forceDownload}{Logical value. Force a fresh download of the data or use the one stored in the cache (if available). Default is FALSE.} \item{v}{Validation value. Default 0.8 (see details).} -\item{exclude_rarely}{Default is TRUE. Exclude values with +\item{excludeRarely}{Default is TRUE. Exclude values with Frequency == FALSE (see details).} } \value{ @@ -51,13 +51,13 @@ imported. The minimum value can be adjusted with the \code{v} argument (only values between 0 and 1). } -\subsection{Frequency (exclude_rarely argument)}{ +\subsection{Frequency (excludeRarely argument)}{ One of the variables in the bugphyzz data.frames is "Frequency", which can adopt values of "always", "usually", "sometimes", "rarely", or "never". By default "never" and "rarely" are excluded. "rarely" could be included with -\code{exclude_rarely = FALSE}. To learn more about these frequency keywords +\code{excludeRarely = FALSE}. To learn more about these frequency keywords please check the bugphyzz vignette with \code{browseVignettes("bugphyzz")}. } } diff --git a/man/makeSignatures.Rd b/man/makeSignatures.Rd index 5eb2b59..05fcc4c 100644 --- a/man/makeSignatures.Rd +++ b/man/makeSignatures.Rd @@ -6,11 +6,11 @@ \usage{ makeSignatures( dat, - tax_id_type = "NCBI_ID", - tax_level = "mixed", + taxIdType = "NCBI_ID", + taxLevel = "mixed", evidence = c("exp", "igc", "tas", "nas", "tax", "asr"), frequency = c("always", "usually", "sometimes", "unknown"), - min_size = 10, + minSize = 10, min = NULL, max = NULL ) @@ -18,9 +18,9 @@ makeSignatures( \arguments{ \item{dat}{A data.frame.} -\item{tax_id_type}{A character string. Valid options: NCBI_ID, Taxon_name.} +\item{taxIdType}{A character string. Valid options: NCBI_ID, Taxon_name.} -\item{tax_level}{A character vector. Taxonomic rank. Valid options: +\item{taxLevel}{A character vector. Taxonomic rank. Valid options: superkingdom, kingdom, phylum, class, order, family, genus, species, strain. They can be combined. "mixed" is equivalent to select all valid ranks.} @@ -31,7 +31,7 @@ asr. They can be combined. Default is all.} sometimes, rarely, unknown. They can be combined. By default, "rarely" is excluded.} -\item{min_size}{Minimum number of bugs in a signature. Default is 10.} +\item{minSize}{Minimum number of bugs in a signature. Default is 10.} \item{min}{Minimum value (inclusive). Only for numeric attributes. Default is NULL.} diff --git a/man/physiologies.Rd b/man/physiologies.Rd index fe7fc3b..20ab067 100644 --- a/man/physiologies.Rd +++ b/man/physiologies.Rd @@ -4,14 +4,14 @@ \alias{physiologies} \title{Import physiologies (for devs)} \usage{ -physiologies(keyword = "all", full_source = FALSE) +physiologies(keyword = "all", fullSource = FALSE) } \arguments{ \item{keyword}{Character vector with one or more valid keywords. Valid keyboards can be checked with \code{showPhys}. If 'all', all physiologies are imported.} -\item{full_source}{Logical. If \code{TRUE}, the Attribute_source column will +\item{fullSource}{Logical. If \code{TRUE}, the Attribute_source column will contain full source information. If \code{FALSE}, the Attribute_source column will contain shortened versions of the sources. Default is \code{FALSE}.} } diff --git a/man/showPhys.Rd b/man/showPhys.Rd index 4e40c1f..2794e2a 100644 --- a/man/showPhys.Rd +++ b/man/showPhys.Rd @@ -4,10 +4,10 @@ \alias{showPhys} \title{Show list of available physiologies (for devs)} \usage{ -showPhys(which_names = "all") +showPhys(whichNames = "all") } \arguments{ -\item{which_names}{A character string. Options: 'all' (default), +\item{whichNames}{A character string. Options: 'all' (default), 'spreadsheets', 'bacdive'.} } \value{ diff --git a/tests/testthat/test-getTaxonSignatures.R b/tests/testthat/test-getTaxonSignatures.R index a31e185..4a109d2 100644 --- a/tests/testthat/test-getTaxonSignatures.R +++ b/tests/testthat/test-getTaxonSignatures.R @@ -3,7 +3,7 @@ taxName <- "Escherichia coli" bp <- importBugphyzz() sigs_ids <- getTaxonSignatures(taxID, bp) sigs_tax <- getTaxonSignatures( - tax = taxName, bp = bp, tax_id_type = "Taxon_name" + tax = taxName, bp = bp, taxIdType = "Taxon_name" ) test_that("getTaxonSignatures works with IDs", { expect_gt(length(sigs_ids), 0) diff --git a/vignettes/bugphyzz.Rmd b/vignettes/bugphyzz.Rmd index a66429a..275a40b 100644 --- a/vignettes/bugphyzz.Rmd +++ b/vignettes/bugphyzz.Rmd @@ -217,7 +217,7 @@ attribute (discrete): ```{r} aer_sigs_g <- makeSignatures( - dat = bp[["aerophilicity"]], tax_id_type = "Taxon_name", tax_level = "genus" + dat = bp[["aerophilicity"]], taxIdType = "Taxon_name", taxLevel = "genus" ) map(aer_sigs_g, head) ``` @@ -227,8 +227,8 @@ temperature attribute (numeric): ```{r} gt_sigs_sp <- makeSignatures( - dat = bp[["growth temperature"]], tax_id_type = "Taxon_name", - tax_level = 'species' + dat = bp[["growth temperature"]], taxIdType = "Taxon_name", + taxLevel = 'species' ) map(gt_sigs_sp, head) ``` @@ -238,8 +238,8 @@ attribute (numeric): ```{r} gt_sigs_mix <- makeSignatures( - dat = bp[["growth temperature"]], tax_id_type = "Taxon_name", - tax_level = "mixed", min = 0, max = 25 + dat = bp[["growth temperature"]], taxIdType = "Taxon_name", + taxLevel = "mixed", min = 0, max = 25 ) map(gt_sigs_mix, head) ``` @@ -248,8 +248,8 @@ map(gt_sigs_mix, head) ```{r} ap_sigs_mix <- makeSignatures( - dat = bp[["animal pathogen"]], tax_id_type = "NCBI_ID", - tax_level = "mixed", evidence = c("exp", "igc", "nas", "tas") + dat = bp[["animal pathogen"]], taxIdType = "NCBI_ID", + taxLevel = "mixed", evidence = c("exp", "igc", "nas", "tas") ) map(ap_sigs_mix, head) ``` From a511505c2d1f8942c69d5519e3eb425d85d77b67 Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Fri, 21 Jun 2024 13:09:24 -0400 Subject: [PATCH 06/20] Fix bug in a test file afte homogenizing variable names --- tests/testthat/test-importBugphyzz.R | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/testthat/test-importBugphyzz.R b/tests/testthat/test-importBugphyzz.R index a947884..c44a851 100644 --- a/tests/testthat/test-importBugphyzz.R +++ b/tests/testthat/test-importBugphyzz.R @@ -168,7 +168,7 @@ checkUniqueAnnotations <- function(x) { # tests ------------------------------------------------------------------- test_that("importBugphyzz works with devel", { - bp <- importBugphyzz(version = "devel", force_download = TRUE) + bp <- importBugphyzz(version = "devel", forceDownload = TRUE) expect_true(all("data.frame" == map_chr(bp, class))) expect_true(all(map_lgl(bp, ~ nrow(.x) > 0))) expect_true(all(map_lgl(bp, checkColumnNames))) @@ -179,7 +179,7 @@ test_that("importBugphyzz works with devel", { }) test_that("importBugphyzz works with hash", { - bp <- importBugphyzz(version = "c2d34c0", force_download = TRUE) + bp <- importBugphyzz(version = "c2d34c0", forceDownload = TRUE) expect_true(all("data.frame" == map_chr(bp, class))) expect_true(all(map_lgl(bp, ~ nrow(.x) > 0))) expect_true(all(map_lgl(bp, checkColumnNames))) @@ -190,7 +190,7 @@ test_that("importBugphyzz works with hash", { }) test_that("importBugphyzz works with Zenodo DOI", { - bp <- importBugphyzz(version = "10.5281/zenodo.10980813", force_download = TRUE) + bp <- importBugphyzz(version = "10.5281/zenodo.10980813", forceDownload = TRUE) expect_true(all("data.frame" == map_chr(bp, class))) expect_true(all(map_lgl(bp, ~ nrow(.x) > 0))) expect_true(all(map_lgl(bp, checkColumnNames))) @@ -202,5 +202,5 @@ test_that("importBugphyzz works with Zenodo DOI", { ## TODO create test for using Zenodo test_that("importBugphyzz doesn't work with other words", { - expect_error(importBugphyzz(version = "abcd-1234", force_download = TRUE)) + expect_error(importBugphyzz(version = "abcd-1234", forceDownload = TRUE)) }) From aa4fd4731a8cd36bd6755341fda48cd5692040fe Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Fri, 21 Jun 2024 14:04:35 -0400 Subject: [PATCH 07/20] fix bug in tests for makeSignatures related to homogenization of variable names --- tests/testthat/test-makeSignatures-DataFrame.R | 4 ++-- tests/testthat/test-makeSignatures.R | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/testthat/test-makeSignatures-DataFrame.R b/tests/testthat/test-makeSignatures-DataFrame.R index 97225c3..7a7bbaf 100644 --- a/tests/testthat/test-makeSignatures-DataFrame.R +++ b/tests/testthat/test-makeSignatures-DataFrame.R @@ -1,9 +1,9 @@ library(purrr) library(S4Vectors) bp <- map(importBugphyzz(), DataFrame) -sigsNames <- map(bp, ~ makeSignatures(.x, tax_id_type = "Taxon_name")) |> +sigsNames <- map(bp, ~ makeSignatures(.x, taxIdType = "Taxon_name")) |> list_flatten(name_spec = "{inner}") -sigsIDs <- map(bp, ~ makeSignatures(.x, tax_id_type = "NCBI_ID")) |> +sigsIDs <- map(bp, ~ makeSignatures(.x, taxIdType = "NCBI_ID")) |> list_flatten(name_spec = "{inner}") test_that("makeSignatures works with IDs", { diff --git a/tests/testthat/test-makeSignatures.R b/tests/testthat/test-makeSignatures.R index a8fc7d2..f758844 100644 --- a/tests/testthat/test-makeSignatures.R +++ b/tests/testthat/test-makeSignatures.R @@ -1,8 +1,8 @@ library(purrr) bp <- importBugphyzz() -sigsNames <- map(bp, ~ makeSignatures(.x, tax_id_type = "Taxon_name")) |> +sigsNames <- map(bp, ~ makeSignatures(.x, taxIdType = "Taxon_name")) |> list_flatten(name_spec = "{inner}") -sigsIDs <- map(bp, ~ makeSignatures(.x, tax_id_type = "NCBI_ID")) |> +sigsIDs <- map(bp, ~ makeSignatures(.x, taxIdType = "NCBI_ID")) |> list_flatten(name_spec = "{inner}") test_that("makeSignatures works with IDs", { From b9cf2d0e739c89f7cda13db6b2fd671118b2338f Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Fri, 21 Jun 2024 15:39:46 -0400 Subject: [PATCH 08/20] fix bugs in .fattyAcidCompositions and R code in .downloadZ --- R/bugphyzz.R | 2 +- R/fattyAcidComposition.R | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/R/bugphyzz.R b/R/bugphyzz.R index f904d79..6ebc352 100644 --- a/R/bugphyzz.R +++ b/R/bugphyzz.R @@ -367,7 +367,7 @@ getTaxonSignatures <- function(tax, bp, ...) { output <- vector("list", length(files)) for (i in seq_along(output)) { output[[i]] <- utils::read.csv(files[i], header = TRUE, skip = 1) |> - dplyr::mutate(Attribute = tolower(.data$Attribute)) + dplyr::mutate(Attribute = tolower(Attribute)) } return(output) } diff --git a/R/fattyAcidComposition.R b/R/fattyAcidComposition.R index c0a1e6b..082a8c2 100644 --- a/R/fattyAcidComposition.R +++ b/R/fattyAcidComposition.R @@ -10,7 +10,7 @@ names_to = "Attribute_new", values_to = "Attribute_value" ) |> dplyr::mutate(NCBI_ID = as.character(NCBI_ID)) - dplyr::left_join(fac_long, ranks_parents, by = "NCBI_ID") |> + dplyr::left_join(fac_long, ranksParents, by = "NCBI_ID") |> as.data.frame() |> .addSourceInfo() |> purrr::modify_at( @@ -21,7 +21,7 @@ ) |> dplyr::select(-Attribute) |> dplyr::rename(Attribute = Attribute_new) |> - .reorderColumns(attr_type = 'numeric') + .reorderColumns(attrType = 'numeric') } ## Function to import custom links From c03491601ed05ce6a8b3483d3d18205e5cacc188 Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Mon, 24 Jun 2024 12:06:01 -0400 Subject: [PATCH 09/20] update vignette clarifying the use of counts and normalized counts prior GSEA --- vignettes/bugphyzz.Rmd | 46 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/vignettes/bugphyzz.Rmd b/vignettes/bugphyzz.Rmd index 275a40b..a5da0a1 100644 --- a/vignettes/bugphyzz.Rmd +++ b/vignettes/bugphyzz.Rmd @@ -304,17 +304,47 @@ tse_subset <- tse_genus[rowSums(assay(tse_genus) >= 1) >= min_n_samples,] tse_subset ``` -Perform differential abundance (DA) analysis to get sets of microbes: +Let's use the edgeR method for differential abundance analysis and +obtain sets of microbes. +Subgingival plaque will be used as reference +or "control", so negative values will mean enrichment in the subgingival plaque +and positive values will mean enrichment in the supragingival plaque. + +Perform differential abundance (DA) analysis: ```{r} tse_subset$GROUP <- ifelse( tse_subset$body_subsite == 'subgingival_plaque', 0, 1 ) se <- EnrichmentBrowser::deAna( - expr = tse_subset, de.method = 'limma', padj.method = 'fdr', + expr = tse_subset, de.method = 'edgeR', padj.method = 'fdr', filter.by.expr = FALSE, ) +``` + +It's recommended to perform a normalization step of the counts before +running GSEA. From the original [GSEA user guide](https://www.gsea-msigdb.org/gsea/doc/GSEAUserGuideTEXT.htm): +"GSEA does not normalize RNA-seq data. +RNA-seq data must be normalized for between-sample comparisons using an +external normalization procedure (e.g. those in DESeq2 or Voom)." + +In this example, we are treating the microbiome +data as RNA-seq (see: https://link.springer.com/article/10.1186/s13059-020-02104-1). +Let's use the `limma::voom` function. + +A glimpse to the assay stored in the SE: + +```{r} +assay(se)[1:5, 1:5] # counts +``` +From the `?limma::voom` documentation, input should be "a numeric matrix +containing raw counts...". Note that the assay in the SummarizedExperiment +will be replaced with normalized counts. + +Perform normalization step: + +```{r} dat <- data.frame(colData(se)) design <- stats::model.matrix(~ GROUP, data = dat) assay(se) <- limma::voom( @@ -322,12 +352,22 @@ assay(se) <- limma::voom( )$E ``` +The output is a "numeric matrix of normalized expression values on the +log2 scale" as described in the `?lima::voom` documentation. This output +is ready for GSEA. + +```{r} +assay(se)[1:5, 1:5] # normalized counts +``` + Perform GSEA and display the results: ```{r, message=FALSE} gsea <- EnrichmentBrowser::sbea( method = 'gsea', se = se, gs = aer_sigs_g, perm = 1000, - alpha = 0.1 + # Alpha is the FDR threshold (calculated above) to consider a feature as + # significant. + alpha = 0.1 ) gsea_tbl <- as.data.frame(gsea$res.tbl) |> mutate( From d8fe5a69e86adec7f162e1e1f39f9523991811c1 Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Mon, 24 Jun 2024 14:03:50 -0400 Subject: [PATCH 10/20] add vignette('sources', 'bugphyzz') --- R/bugphyzz.R | 8 +++++- man/importBugphyzz.Rd | 10 ++++++- vignettes/articles/attributes.Rmd | 4 --- vignettes/sources.Rmd | 48 +++++++++++++++++++++++++++++++ 4 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 vignettes/sources.Rmd diff --git a/R/bugphyzz.R b/R/bugphyzz.R index 6ebc352..e416f3f 100644 --- a/R/bugphyzz.R +++ b/R/bugphyzz.R @@ -10,7 +10,8 @@ utils::globalVariables(c( #' #' \code{importBugphyzz} imports bugphyzz annotations as a list of #' tidy data.frames. To learn more about the structure of the data.frames -#' please check the bugphyzz vignette with `browseVignettes("bugphyzz")`. +#' please check the bugphyzz vignette with `browseVignettes("bugphyzz")` or +#' `vignette("bugphyzz", "bugphyzz"). #' #' @param version Character string indicating the version. Default is the #' latest release on Zenodo. Options: Zenodo DOI, GitHub commit hash, or devel. @@ -44,6 +45,11 @@ utils::globalVariables(c( #' "never" and "rarely" are excluded. "rarely" could be included with #' `excludeRarely = FALSE`. To learn more about these frequency keywords #' please check the bugphyzz vignette with `browseVignettes("bugphyzz")`. +#' +#' ## Sources +#' By default, the datasets imported with the `importBugphuzz` function +#' will always return a shortened version of the source. Please use +#' vigette("sources", "bugphyz") to see the full sources. #' #' @return A list of tidy data frames. #' @export diff --git a/man/importBugphyzz.Rd b/man/importBugphyzz.Rd index 396c5f0..0324759 100644 --- a/man/importBugphyzz.Rd +++ b/man/importBugphyzz.Rd @@ -29,7 +29,8 @@ A list of tidy data frames. \description{ \code{importBugphyzz} imports bugphyzz annotations as a list of tidy data.frames. To learn more about the structure of the data.frames -please check the bugphyzz vignette with \code{browseVignettes("bugphyzz")}. +please check the bugphyzz vignette with \code{browseVignettes("bugphyzz")} or +`vignette("bugphyzz", "bugphyzz"). } \details{ \subsection{Data structure}{ @@ -60,6 +61,13 @@ can adopt values of \code{excludeRarely = FALSE}. To learn more about these frequency keywords please check the bugphyzz vignette with \code{browseVignettes("bugphyzz")}. } + +\subsection{Sources}{ + +By default, the datasets imported with the \code{importBugphuzz} function +will always return a shortened version of the source. Please use +vigette("sources", "bugphyz") to see the full sources. +} } \examples{ diff --git a/vignettes/articles/attributes.Rmd b/vignettes/articles/attributes.Rmd index 5aa89fc..4d8a36f 100644 --- a/vignettes/articles/attributes.Rmd +++ b/vignettes/articles/attributes.Rmd @@ -26,8 +26,6 @@ library(dplyr) library(purrr) ``` -## Sources - ```{r, echo=FALSE} sources_fname <- system.file( "extdata", "attribute_sources.tsv", package = "bugphyzz", mustWork = TRUE @@ -40,8 +38,6 @@ sources <- readr::read_tsv(sources_fname, show_col_types = FALSE) |> ) ``` -The `r nrow(sources)` sources of annotations in bugphyzz: - ```{r, echo=FALSE} DT::datatable( data = sources, rownames = FALSE, diff --git a/vignettes/sources.Rmd b/vignettes/sources.Rmd new file mode 100644 index 0000000..4dbe36c --- /dev/null +++ b/vignettes/sources.Rmd @@ -0,0 +1,48 @@ +--- +title: "Sources" +output: + rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Sources} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + message = FALSE, + warning = FALSE, + echo = FALSE +) +``` + +```{r setup} +library(DT) +library(bugphyzz) +library(dplyr) +library(purrr) +``` + +## Sources + +```{r, echo=FALSE} +sources_fname <- system.file( + "extdata", "attribute_sources.tsv", package = "bugphyzz", mustWork = TRUE +) +sources <- readr::read_tsv(sources_fname, show_col_types = FALSE) |> + dplyr::rename( + Source = Attribute_source, + `Confidence in curation` = Confidence_in_curation, + `Full source` = full_source + ) +``` + +The `r nrow(sources)` sources of annotations in bugphyzza. +exp = experimental data; igc = inferred from genome context; tas = traceable +author statement; nast = non-traceable author statement. + +```{r, echo=FALSE} +knitr::kable(sources) +``` From 71e3b0eddae6ed6a2c35afab7c56e90ea2991101 Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Mon, 24 Jun 2024 15:02:06 -0400 Subject: [PATCH 11/20] use match.ags to check imput parameters --- R/bugphyzz.R | 15 +++++++++++---- man/makeSignatures.Rd | 5 +++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/R/bugphyzz.R b/R/bugphyzz.R index e416f3f..6b92b53 100644 --- a/R/bugphyzz.R +++ b/R/bugphyzz.R @@ -164,17 +164,24 @@ importBugphyzz <- function( #' sigs <- purrr::list_flatten(sigs, name_spec = "{inner}") #' makeSignatures <- function( - dat, taxIdType = "NCBI_ID", - taxLevel = "mixed", + dat, + taxIdType = c("NCBI_ID", "Taxon_name"), + taxLevel = c("mixed", "superkingdom", "phylum", "class", "order", + "family", "genus", "species", "strain"), evidence = c("exp", "igc", "tas", "nas", "tax", "asr"), frequency = c("always", "usually", "sometimes", "unknown"), minSize = 10, min = NULL, max = NULL ) { + taxIdType <- match.arg(arg = taxIdType, several.ok = FALSE) + taxLevel <- match.arg(arg = taxLevel, several.ok = TRUE) + evidence <- match.arg(arg = evidence, several.ok = TRUE) + frequency <- match.arg(arg = frequency, several.ok = TRUE) + attrType <- unique(dat$Attribute_type) if ("mixed" %in% taxLevel) { taxLevel <- c( - "kingdom", "phylum", "class", "order", "family", "genus", "species", - "strain" + "superkingdom", "phylum", "class", "order", "family", "genus", + "species", "strain" ) } dat <- dat |> diff --git a/man/makeSignatures.Rd b/man/makeSignatures.Rd index 05fcc4c..a6410f4 100644 --- a/man/makeSignatures.Rd +++ b/man/makeSignatures.Rd @@ -6,8 +6,9 @@ \usage{ makeSignatures( dat, - taxIdType = "NCBI_ID", - taxLevel = "mixed", + taxIdType = c("NCBI_ID", "Taxon_name"), + taxLevel = c("mixed", "superkingdom", "phylum", "class", "order", "family", "genus", + "species", "strain"), evidence = c("exp", "igc", "tas", "nas", "tax", "asr"), frequency = c("always", "usually", "sometimes", "unknown"), minSize = 10, From b5d6a1540e19da20216ae18c4694d8faf773f0ad Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Mon, 24 Jun 2024 17:19:58 -0400 Subject: [PATCH 12/20] remove unncessary for loops and use lapply instead --- R/bacdive.R | 4 +++- R/bugphyzz.R | 26 ++++++++++---------------- R/physiologies.R | 26 +++++++++++++------------- 3 files changed, 26 insertions(+), 30 deletions(-) diff --git a/R/bacdive.R b/R/bacdive.R index 648553b..c0c8855 100644 --- a/R/bacdive.R +++ b/R/bacdive.R @@ -72,7 +72,9 @@ 'isolation site' ## colony color (delete) ) - + + ## Modifying an already existing vector rather than creating a list + ## Keeping this for loop for (i in seq_along(attrNames)) { splitDf[[attrNames[i]]] <- .catToLog(splitDf[[attrNames[i]]]) if (attrNames[i] %in% c('aerophilicity', 'shape')) { diff --git a/R/bugphyzz.R b/R/bugphyzz.R index 6b92b53..92e9fe9 100644 --- a/R/bugphyzz.R +++ b/R/bugphyzz.R @@ -287,6 +287,8 @@ getTaxonSignatures <- function(tax, bp, ...) { minValues <- thr$lower maxValues <- thr$upper dat$tmp_col <- NA + ## This for loop modify a series of vectors rather than creating + ## a list. Result has been pre-allocated in those vectors. for (i in seq_along(attrName)) { if (is.na(minValues[i])) minValues[i] <- min(dat$Attribute_value) - 0.01 @@ -357,18 +359,16 @@ getTaxonSignatures <- function(tax, bp, ...) { return(output) } -## Function for downloading data on Zenodo +## Function for downloading data from Zenodo .downloadZ <- function(record, forceDownload) { baseUrl <- paste0("https://zenodo.org/api/records/", record) req <- httr2::request(baseUrl) res <- httr2::req_perform(req) l <- httr2::resp_body_json(res) - fileNamesApi <- purrr::map_chr(l$files, ~ .x$links$self) fileNamesUrl <- sub( "(^.*)(api/)(.*)(/content$)", "\\1\\3", fileNamesApi ) - rpath <- .getResource( rname = paste0("bugphyzz.zip"), url = fileNamesUrl, verbose = TRUE, force = forceDownload @@ -376,16 +376,13 @@ getTaxonSignatures <- function(tax, bp, ...) { tempDir <- tempdir() utils::unzip(zipfile = rpath, exdir = tempDir, junkpaths = TRUE) files <- list.files(tempDir, pattern = "csv", full.names = TRUE) - - output <- vector("list", length(files)) - for (i in seq_along(output)) { - output[[i]] <- utils::read.csv(files[i], header = TRUE, skip = 1) |> + lapply(files, function(x) { + utils::read.csv(x, header = TRUE, skip = 1) |> dplyr::mutate(Attribute = tolower(Attribute)) - } - return(output) + }) } -## Function for downloading data on GitHub +## Function for downloading data from GitHub .downloadGH <- function(version, forceDownload) { fileSuffix <- c("binary", "multistate", "numeric") urls <- paste0( @@ -393,16 +390,13 @@ getTaxonSignatures <- function(tax, bp, ...) { "/bugphyzz_", fileSuffix, ".csv" ) names(urls) <- c("binary", "multistate", "numeric") - output <- vector("list", length(urls)) - for (i in seq_along(output)) { + lapply(seq_len(length(urls)), function(i) { message("Importing ", names(urls)[i], " data...") - names(output)[i] <- names(urls)[i] rpath <- .getResource( rname = paste0("bugphyzz_", names(urls)[i], ".csv"), url = urls[i], verbose = TRUE, force = forceDownload ) - output[[i]] <- utils::read.csv(rpath, header = TRUE, skip = 1) |> + utils::read.csv(rpath, header = TRUE, skip = 1) |> dplyr::mutate(Attribute = tolower(Attribute)) - } - return(output) + }) } diff --git a/R/physiologies.R b/R/physiologies.R index 88c1c08..99472c0 100644 --- a/R/physiologies.R +++ b/R/physiologies.R @@ -30,23 +30,25 @@ physiologies <- function(keyword = 'all', fullSource = FALSE) { spreadsheets <- spreadsheets[names(spreadsheets) %in% keyword] bacdive <- .reshapeBacDive(.getBacDive(verbose = FALSE)) bacdive <- bacdive[names(bacdive) %in% keyword] - physiologies <- vector('list', length(keyword)) - for (i in seq_along(keyword)) { + physiologies <- lapply(seq_along(keyword), function(i) { df1 <- spreadsheets[[keyword[i]]] df2 <- bacdive[[keyword[i]]] - physiologies[[i]] <- dplyr::bind_rows(df1, df2) - names(physiologies)[i] <- keyword[i] + o <- dplyr::bind_rows(df1, df2) message('Finished ', keyword[i], '.') - } + o + }) + names(physiologies) <- keyword } else if (cond1 && !cond2) { spreadsheets <- .importSpreadsheets(keyword = keyword) physiologies <- spreadsheets[names(spreadsheets) %in% keyword] + ## Not creating a vector. Only usin the side effect of the for loop. for (i in seq_along(keyword)) { message('Finished ', keyword[i], '.') } } else if (!cond1 && cond2) { bacdive <- .reshapeBacDive(.getBacDive(verbose = FALSE)) physiologies <- bacdive[names(bacdive) %in% keyword] + ## Not creating a vector. Only using the side effect of the for loop. for (i in seq_along(keyword)) { message('Finished ', keyword[i], '.') } @@ -65,7 +67,7 @@ physiologies <- function(keyword = 'all', fullSource = FALSE) { if (fullSource) { df$Attribute_source <- df$fullSource } - df$fullSource <- NULL + df$full_source <- NULL df <- .reorderColumns( df = df, @@ -157,18 +159,16 @@ showPhys <- function(whichNames = 'all') { ) links <- utils::read.table(fname, header = TRUE, sep = '\t') links <- links[links[['physiology']] %in% keyword,] - spreadsheets <- vector('list', nrow(links)) - for (i in seq_along(spreadsheets)) { + spreadsheets <- lapply(seq_len(nrow(links)), function(i) { physName <- links[i, 'physiology', drop = FALSE][[1]] attrType <- links[i, 'attribute_type', drop = FALSE][[1]] - names(spreadsheets)[i] <- physName url <- links[i, 'link', drop = FALSE][[1]] df <- dplyr::distinct(utils::read.csv(url)) df[['Attribute_type']] <- attrType df[['Attribute_group']] <- physName df[['NCBI_ID']] <- as.character(df[['NCBI_ID']]) df <- df[!is.na(df[['Attribute_value']]),] - + if (unique(df[['Attribute_type']]) == 'numeric') { df <- .numericToRange(df) } else if (unique(df[['Attribute_type']] == 'range')) { @@ -180,7 +180,6 @@ showPhys <- function(whichNames = 'all') { df, Attribute_value == TRUE | Attribute_value == FALSE ) } - if (all(parentColNames %in% colnames(df))) { df$Parent_NCBI_ID <- stringr::str_squish( as.character(df$Parent_NCBI_ID) @@ -194,8 +193,9 @@ showPhys <- function(whichNames = 'all') { ) df <- dplyr::left_join(df, rp, by = "NCBI_ID") } - spreadsheets[[i]] <- df - } + df + }) + names(spreadsheets) <- links$physiology return(spreadsheets) } From d710bf31333de45e4de5be03c97d1c6b360c4eb7 Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Mon, 24 Jun 2024 17:34:52 -0400 Subject: [PATCH 13/20] fix plant pathogenity to plant pathogenicity in the curation file --- R/bugphyzz.R | 15 --------------- inst/extdata/attributes.tsv | 2 +- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/R/bugphyzz.R b/R/bugphyzz.R index 92e9fe9..11bb003 100644 --- a/R/bugphyzz.R +++ b/R/bugphyzz.R @@ -73,21 +73,6 @@ importBugphyzz <- function( output <- lapply(output, function(x) split(x, x$Attribute)) output <- purrr::list_flatten(output) - ## TODO correct plant pathogenicity name earlier in the workflow or - ## better yet, directly in the curation - pos <- which(names(output) == "plant pathogenity") - names(output)[pos] <- "plant pathogenicity" - output <- purrr::map(output, ~ { - .x |> - dplyr::mutate( - Attribute = ifelse( - Attribute == "plant pathogenity", - "plant pathogenicity", - Attribute - ) - ) - }) - names(output) <- purrr::map_chr(output, ~ unique(.x$Attribute)) val <- .validationData() |> dplyr::filter(rank == "all") |> diff --git a/inst/extdata/attributes.tsv b/inst/extdata/attributes.tsv index a674c77..757e3bd 100644 --- a/inst/extdata/attributes.tsv +++ b/inst/extdata/attributes.tsv @@ -193,7 +193,7 @@ "growth temperature" "growth temperature" "numeric" NA NA "oral" "habitat" "logical" NA NA "optimal ph" "optimal ph" "numeric" NA NA -"plant pathogenity" "plant pathogenicity" "numeric" NA NA +"plant pathogenicity" "plant pathogenicity" "numeric" NA NA "blade of grass from raritan river nj, usa" "isolation site" "logical" NA NA "hot swamp from kunashir island, russia" "isolation site" "logical" NA NA "30-m-tall sulfide mound in the iheya north field, japan" "isolation site" "logical" NA NA From ad7af59c33cfc888c4b4a32142305bad224d2626 Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Mon, 24 Jun 2024 17:42:57 -0400 Subject: [PATCH 14/20] remove TODO that was already completed --- R/bugphyzz.R | 1 - 1 file changed, 1 deletion(-) diff --git a/R/bugphyzz.R b/R/bugphyzz.R index 11bb003..2f9b56a 100644 --- a/R/bugphyzz.R +++ b/R/bugphyzz.R @@ -69,7 +69,6 @@ importBugphyzz <- function( ## one of each: binary, multistate, numeric output <- .downloadResource(version, forceDownload) - ## TODO add release version output <- lapply(output, function(x) split(x, x$Attribute)) output <- purrr::list_flatten(output) From 347b46a499389d926b3c9a387e61593417547e24 Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Tue, 25 Jun 2024 13:22:16 -0400 Subject: [PATCH 15/20] Change biofilm forming to biofilm formation in spreadsheets link --- inst/extdata/spreadsheet_links.tsv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/extdata/spreadsheet_links.tsv b/inst/extdata/spreadsheet_links.tsv index 4eb3a20..0a1e9c4 100644 --- a/inst/extdata/spreadsheet_links.tsv +++ b/inst/extdata/spreadsheet_links.tsv @@ -5,7 +5,7 @@ animal pathogen NA discrete binary https://docs.google.com/spreadsheets/d/e/2PAC antimicrobial resistance NA discrete multistate-union https://docs.google.com/spreadsheets/d/e/2PACX-1vQmtXGNF7n8mGZKow2Kj2m5JPXsisau9T4TF_u53ovqeELiIVxrDUjaNbdGi-qiKanTKoO5xfba5LTq/pub?gid=0&single=true&output=csv https://docs.google.com/spreadsheets/d/1ldVVQr6zT9g_Bf6WsJtAjke8yyP-gLp8llMYh6bipag antimicrobial sensitivity NA discrete binary https://docs.google.com/spreadsheets/d/e/2PACX-1vR0FdQpAD-xhkyIXgZMtC9oCmlbx77Cj1ncCyojm9oO410NBwJRhBNFl4hnd4HMlj2okxEKLvA8EPr2/pub?output=csv https://docs.google.com/spreadsheets/d/1eTceiQnE8YRoYGDWRL6uQqG6Wx9PPsBXk2X6Pvq7p6M arrangement NA discrete multistate-intersection https://docs.google.com/spreadsheets/d/e/2PACX-1vSgNXC-VPLmG8dUN8VAun_pbT0Y4-qJo6u9ozHGO8j7Weq6ymPaPw9kJUPl-RpHSYvtUgACo-SVHyk5/pub?output=csv https://docs.google.com/spreadsheets/d/1qkNPdVDjpkdvZ-UtWeIrmWA3aYCInIQrseDDYqXiH-w -biofilm forming NA discrete binary https://docs.google.com/spreadsheets/d/e/2PACX-1vRduthxAWAhSLSoOgFNAmI8DX8ORerG1U6OmI8y6-5coe31pONYfISNsUE-e-E_eiyxtQzin6Xq9b0m/pub?output=csv https://docs.google.com/spreadsheets/d/1H8Pon9zmivcN7mtrlLuTLF4IL_lN5wi_k93XRlhWlRg +biofilm formation NA discrete binary https://docs.google.com/spreadsheets/d/e/2PACX-1vRduthxAWAhSLSoOgFNAmI8DX8ORerG1U6OmI8y6-5coe31pONYfISNsUE-e-E_eiyxtQzin6Xq9b0m/pub?output=csv https://docs.google.com/spreadsheets/d/1H8Pon9zmivcN7mtrlLuTLF4IL_lN5wi_k93XRlhWlRg butyrate producing NA discrete binary https://docs.google.com/spreadsheets/d/e/2PACX-1vQPnLOpbFbfLvOb8fvC6A-WfzVNMDYRWOUsT4hIseDNgI7nwZGjVwg3KBkWeFtOBBLK0j-DRiZ-jtqG/pub?output=csv https://docs.google.com/spreadsheets/d/1uPOIyeFD5ClPR2W2XyT6jAdD8FkgGuNBSl_8F2CT_uI COGEM pathogenicity rating NA discrete multistate-intersection https://docs.google.com/spreadsheets/d/e/2PACX-1vQYZjtf0RcacNAe54pLOnzor2q0ZeK4cF19f-gjji7cHfrtOf3VuDPA-jSAKRNDNZoWQanyw2QCugRZ/pub?output=csv https://docs.google.com/spreadsheets/d/19DrBFbAMGNvqf17yJ4HzuKQjJoRlMCVYTCtmyugoDjQ disease association NA discrete multistate-union https://docs.google.com/spreadsheets/d/e/2PACX-1vQvmmfCe2iXNNR3oC73wXTgukNGNj6_i9qU_20kwpBITtrjn_zgNBK_w9-cfJYKsvXmgXWF_2P8ZMZF/pub?gid=546928968&single=true&output=csv https://docs.google.com/spreadsheets/d/1MAtkI-UEc7T33BYvLBAkw4PDmEmNBroMVUi4KwN8cCc From b3b4b39d9a733eda1c095d8b5a9dadb4909909be Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Tue, 25 Jun 2024 14:48:16 -0400 Subject: [PATCH 16/20] change Butyrate-producing Bacteria to butyrate producing in the attribute_group column of attributes.tsv --- inst/extdata/attributes.tsv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/extdata/attributes.tsv b/inst/extdata/attributes.tsv index 757e3bd..8efb4bc 100644 --- a/inst/extdata/attributes.tsv +++ b/inst/extdata/attributes.tsv @@ -171,7 +171,7 @@ "COGEM pathogenicity rating" "COGEM pathogenicity rating" "integer" NA NA "antimicrobial sensitivity" "antimicrobial sensitivity" "logical" NA NA "biofilm formation" "biofilm formation" "logical" "APO:0000159" "The ability to form a layer on solid surfaces with or without other microorganisms." -"Butyrate-Producing Bacteria" "Butyrate-Producing Bacteria" "numeric" "NCIT:C126417" "Any anaerobic bacteria that metabolizes complex carbohydrates to produce butyrate. These microorganisms may form colonies in the intestines of mammals; their presence may aid the host by catabolizing undigested fiber and starch. Additionally, butyrate is metabolized by colonic epithelial cells and may protect the host against ulcerative colitis and cancer." +"Butyrate-Producing Bacteria" "butyrate producing" "numeric" "NCIT:C126417" "Any anaerobic bacteria that metabolizes complex carbohydrates to produce butyrate. These microorganisms may form colonies in the intestines of mammals; their presence may aid the host by catabolizing undigested fiber and starch. Additionally, butyrate is metabolized by colonic epithelial cells and may protect the host against ulcerative colitis and cancer." "acetate producing" "acetate producing" "numeric" NA NA "lactate producing" "lactate producing" "numeric" NA NA "mutation rate per site per year" "mutation rates per site per year" "numeric" NA NA From 685467c6fa235176eb3f7d83e56e3d31f66940a2 Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Thu, 27 Jun 2024 11:12:18 -0400 Subject: [PATCH 17/20] Update valitadion file to v1.0.4 --- inst/extdata/validation_summary.tsv | 180 ++++++++++++++-------------- inst/scripts/README.md | 4 +- 2 files changed, 92 insertions(+), 92 deletions(-) diff --git a/inst/extdata/validation_summary.tsv b/inst/extdata/validation_summary.tsv index a5d6087..93f8082 100644 --- a/inst/extdata/validation_summary.tsv +++ b/inst/extdata/validation_summary.tsv @@ -1,111 +1,111 @@ method rank physiology attribute mcc_mean mcc_sd r2_mean r2_sd ltp_bp bp ltp_bp_phys bp_phys ltp nsti_mean nsti_sd ltp_bp_per ltp_bp_phys_per -phytools-ltp all aerophilicity aerobic 0.71 0.02 NA NA 8530 10771 11728 15872 23501 0.042 0.046 36 50 -phytools-ltp all aerophilicity anaerobic 0.84 0.02 NA NA 2399 3766 11728 15872 23501 0.042 0.046 10 50 -phytools-ltp all aerophilicity facultatively anaerobic 0.23 0.06 NA NA 970 1575 11728 15872 23501 0.042 0.046 4 50 -phytools-ltp genus aerophilicity aerobic 0.71 0.05 NA NA 631 639 1169 1184 23501 0.088 0.06 3 5 -phytools-ltp genus aerophilicity anaerobic 0.71 0.04 NA NA 392 398 1169 1184 23501 0.088 0.06 2 5 -phytools-ltp genus aerophilicity facultatively anaerobic 0.5 0.1 NA NA 173 174 1169 1184 23501 0.088 0.06 1 5 -phytools-ltp species aerophilicity aerobic 0.68 0.03 NA NA 7152 8418 9078 11268 23501 0.054 0.06 30 39 -phytools-ltp species aerophilicity anaerobic 0.84 0.03 NA NA 1387 2162 9078 11268 23501 0.054 0.06 6 39 -phytools-ltp species aerophilicity facultatively anaerobic 0.21 0.07 NA NA 683 901 9078 11268 23501 0.054 0.06 3 39 -phytools-ltp strain aerophilicity aerobic 0.74 0.07 NA NA 747 1714 1481 3420 23501 0.1 0.065 3 6 -phytools-ltp strain aerophilicity anaerobic 0.83 0.05 NA NA 620 1206 1481 3420 23501 0.1 0.065 3 6 -phytools-ltp strain aerophilicity facultatively anaerobic 0.35 0.07 NA NA 114 500 1481 3420 23501 0.1 0.065 0 6 -phytools-ltp all arrangement branched 0.1 0.16 NA NA 97 109 741 1568 23501 0.119 0.079 0 3 -phytools-ltp all arrangement cell chain 0.37 0.17 NA NA 219 448 741 1568 23501 0.119 0.079 1 3 -phytools-ltp all arrangement cell cluster 0.28 0.23 NA NA 97 130 741 1568 23501 0.119 0.079 0 3 -phytools-ltp all arrangement filamentous 0.33 0.36 NA NA 24 68 741 1568 23501 0.119 0.079 0 3 -phytools-ltp all arrangement paired cells 0.38 0.17 NA NA 376 775 741 1568 23501 0.119 0.079 2 3 -phytools-ltp all arrangement single 0.23 0.17 NA NA 368 771 741 1568 23501 0.119 0.079 2 3 -phytools-ltp all arrangement tetrads 0 0 NA NA 28 44 741 1568 23501 0.119 0.079 0 3 -phytools-ltp genus arrangement branched 0.13 0.19 NA NA 87 90 376 390 23501 0.137 0.086 0 2 -phytools-ltp genus arrangement cell chain -0.01 0.01 NA NA 108 109 376 390 23501 0.137 0.086 0 2 -phytools-ltp genus arrangement cell cluster 0.06 0.22 NA NA 70 73 376 390 23501 0.137 0.086 0 2 -phytools-ltp genus arrangement paired cells 0.09 0.23 NA NA 193 194 376 390 23501 0.137 0.086 1 2 -phytools-ltp genus arrangement single -0.01 0.02 NA NA 221 228 376 390 23501 0.137 0.086 1 2 -phytools-ltp all biosafety level biosafety level 1 0.58 0.04 NA NA 9076 11160 9928 12477 23501 0.051 0.051 39 42 -phytools-ltp all biosafety level biosafety level 2 0.51 0.05 NA NA 851 1320 9928 12477 23501 0.051 0.051 4 42 -phytools-ltp all biosafety level biosafety level 3 0.24 0.4 NA NA 12 15 9928 12477 23501 0.051 0.051 0 42 -phytools-ltp species biosafety level biosafety level 1 0.54 0.04 NA NA 7623 8195 8208 8907 23501 0.06 0.059 32 35 -phytools-ltp species biosafety level biosafety level 2 0.5 0.05 NA NA 586 717 8208 8907 23501 0.06 0.059 2 35 -phytools-ltp strain biosafety level biosafety level 1 0.52 0.08 NA NA 1453 2965 1720 3570 23501 0.094 0.062 6 7 -phytools-ltp strain biosafety level biosafety level 2 0.5 0.1 NA NA 265 603 1720 3570 23501 0.094 0.062 1 7 +phytools-ltp all aerophilicity aerobic 0.71 0.02 NA NA 8530 10771 11728 15872 23501 0.039 0.045 36 50 +phytools-ltp all aerophilicity anaerobic 0.84 0.02 NA NA 2399 3766 11728 15872 23501 0.039 0.045 10 50 +phytools-ltp all aerophilicity facultatively anaerobic 0.23 0.06 NA NA 970 1575 11728 15872 23501 0.039 0.045 4 50 +phytools-ltp genus aerophilicity aerobic 0.71 0.05 NA NA 631 639 1169 1184 23501 0.085 0.062 3 5 +phytools-ltp genus aerophilicity anaerobic 0.71 0.04 NA NA 392 398 1169 1184 23501 0.085 0.062 2 5 +phytools-ltp genus aerophilicity facultatively anaerobic 0.5 0.1 NA NA 173 174 1169 1184 23501 0.085 0.062 1 5 +phytools-ltp species aerophilicity aerobic 0.69 0.03 NA NA 7152 8418 9078 11268 23501 0.053 0.059 30 39 +phytools-ltp species aerophilicity anaerobic 0.84 0.03 NA NA 1387 2162 9078 11268 23501 0.053 0.059 6 39 +phytools-ltp species aerophilicity facultatively anaerobic 0.21 0.07 NA NA 683 901 9078 11268 23501 0.053 0.059 3 39 +phytools-ltp strain aerophilicity aerobic 0.74 0.07 NA NA 747 1714 1481 3420 23501 0.099 0.066 3 6 +phytools-ltp strain aerophilicity anaerobic 0.83 0.05 NA NA 620 1206 1481 3420 23501 0.099 0.066 3 6 +phytools-ltp strain aerophilicity facultatively anaerobic 0.35 0.07 NA NA 114 500 1481 3420 23501 0.099 0.066 0 6 +phytools-ltp all arrangement branched 0.1 0.16 NA NA 97 109 741 1568 23501 0.116 0.079 0 3 +phytools-ltp all arrangement cell chain 0.37 0.17 NA NA 219 448 741 1568 23501 0.116 0.079 1 3 +phytools-ltp all arrangement cell cluster 0.28 0.23 NA NA 97 130 741 1568 23501 0.116 0.079 0 3 +phytools-ltp all arrangement filamentous 0.33 0.36 NA NA 24 68 741 1568 23501 0.116 0.079 0 3 +phytools-ltp all arrangement paired cells 0.38 0.17 NA NA 376 775 741 1568 23501 0.116 0.079 2 3 +phytools-ltp all arrangement single 0.23 0.17 NA NA 368 771 741 1568 23501 0.116 0.079 2 3 +phytools-ltp all arrangement tetrads 0 0 NA NA 28 44 741 1568 23501 0.116 0.079 0 3 +phytools-ltp genus arrangement branched 0.13 0.19 NA NA 87 90 376 390 23501 0.133 0.086 0 2 +phytools-ltp genus arrangement cell chain -0.01 0.01 NA NA 108 109 376 390 23501 0.133 0.086 0 2 +phytools-ltp genus arrangement cell cluster 0.06 0.22 NA NA 70 73 376 390 23501 0.133 0.086 0 2 +phytools-ltp genus arrangement paired cells 0.09 0.23 NA NA 193 194 376 390 23501 0.133 0.086 1 2 +phytools-ltp genus arrangement single -0.01 0.02 NA NA 221 228 376 390 23501 0.133 0.086 1 2 +phytools-ltp all biosafety level biosafety level 1 0.58 0.04 NA NA 9076 11160 9928 12477 23501 0.049 0.05 39 42 +phytools-ltp all biosafety level biosafety level 2 0.51 0.05 NA NA 851 1320 9928 12477 23501 0.049 0.05 4 42 +phytools-ltp all biosafety level biosafety level 3 0.24 0.4 NA NA 12 15 9928 12477 23501 0.049 0.05 0 42 +phytools-ltp species biosafety level biosafety level 1 0.54 0.04 NA NA 7623 8195 8208 8907 23501 0.058 0.059 32 35 +phytools-ltp species biosafety level biosafety level 2 0.5 0.05 NA NA 586 717 8208 8907 23501 0.058 0.059 2 35 +phytools-ltp strain biosafety level biosafety level 1 0.52 0.08 NA NA 1453 2965 1720 3570 23501 0.093 0.062 6 7 +phytools-ltp strain biosafety level biosafety level 2 0.5 0.1 NA NA 265 603 1720 3570 23501 0.093 0.062 1 7 phytools-ltp all COGEM pathogenicity rating COGEM pathogenicity rating 1 0.74 0.1 NA NA 164 489 450 1036 23501 0.184 0.129 1 2 phytools-ltp all COGEM pathogenicity rating COGEM pathogenicity rating 2 0.71 0.1 NA NA 267 514 450 1036 23501 0.184 0.129 1 2 phytools-ltp all COGEM pathogenicity rating COGEM pathogenicity rating 3 0.72 0.42 NA NA 19 33 450 1036 23501 0.184 0.129 0 2 phytools-ltp species COGEM pathogenicity rating COGEM pathogenicity rating 1 0.74 0.1 NA NA 164 489 450 1036 23501 0.184 0.129 1 2 phytools-ltp species COGEM pathogenicity rating COGEM pathogenicity rating 2 0.71 0.1 NA NA 267 514 450 1036 23501 0.184 0.129 1 2 phytools-ltp species COGEM pathogenicity rating COGEM pathogenicity rating 3 0.72 0.42 NA NA 19 33 450 1036 23501 0.184 0.129 0 2 -phytools-ltp all gram stain gram stain negative 0.93 0.01 NA NA 5515 7508 8856 12116 23501 0.043 0.042 23 38 -phytools-ltp all gram stain gram stain positive 0.91 0.01 NA NA 3223 4466 8856 12116 23501 0.043 0.042 14 38 -phytools-ltp all gram stain gram stain variable 0.1 0.08 NA NA 130 155 8856 12116 23501 0.043 0.042 1 38 -phytools-ltp genus gram stain gram stain negative 0.85 0.05 NA NA 786 816 1243 1278 23501 0.083 0.059 3 5 -phytools-ltp genus gram stain gram stain positive 0.83 0.05 NA NA 423 427 1243 1278 23501 0.083 0.059 2 5 -phytools-ltp genus gram stain gram stain variable 0.12 0.22 NA NA 44 45 1243 1278 23501 0.083 0.059 0 5 -phytools-ltp species gram stain gram stain negative 0.95 0.01 NA NA 4034 5179 6609 8498 23501 0.063 0.067 17 28 -phytools-ltp species gram stain gram stain positive 0.93 0.02 NA NA 2502 3237 6609 8498 23501 0.063 0.067 11 28 -phytools-ltp species gram stain gram stain variable 0.1 0.17 NA NA 75 85 6609 8498 23501 0.063 0.067 0 28 -phytools-ltp strain gram stain gram stain negative 0.87 0.04 NA NA 695 1513 1004 2340 23501 0.11 0.07 3 4 -phytools-ltp strain gram stain gram stain positive 0.88 0.03 NA NA 298 802 1004 2340 23501 0.11 0.07 1 4 -phytools-ltp strain gram stain gram stain variable 0.2 0.42 NA NA 11 25 1004 2340 23501 0.11 0.07 0 4 -phytools-ltp all hemolysis alpha 0.27 0.16 NA NA 94 112 435 587 23501 0.272 0.188 0 2 -phytools-ltp all hemolysis beta 0.31 0.17 NA NA 131 195 435 587 23501 0.272 0.188 1 2 -phytools-ltp all hemolysis gamma 0.33 0.13 NA NA 266 345 435 587 23501 0.272 0.188 1 2 -phytools-ltp species hemolysis alpha 0.15 0.2 NA NA 74 77 341 411 23501 0.282 0.188 0 1 -phytools-ltp species hemolysis beta 0.23 0.15 NA NA 115 159 341 411 23501 0.282 0.188 0 1 -phytools-ltp species hemolysis gamma 0.36 0.11 NA NA 201 228 341 411 23501 0.282 0.188 1 1 -phytools-ltp all shape bacillus 0.46 0.07 NA NA 1511 2960 2045 3969 23501 0.071 0.051 6 9 -phytools-ltp all shape coccobacillus 0 0 NA NA 35 37 2045 3969 23501 0.071 0.051 0 9 -phytools-ltp all shape coccus 0.63 0.09 NA NA 441 781 2045 3969 23501 0.071 0.051 2 9 -phytools-ltp all shape elliptic 0.18 0.3 NA NA 109 122 2045 3969 23501 0.071 0.051 0 9 -phytools-ltp all shape filamentous 0.17 0.23 NA NA 45 60 2045 3969 23501 0.071 0.051 0 9 -phytools-ltp all shape spirillum 0.7 0.16 NA NA 96 202 2045 3969 23501 0.071 0.051 0 9 -phytools-ltp all shape tail 1 0 NA NA 15 34 2045 3969 23501 0.071 0.051 0 9 -phytools-ltp genus shape bacillus 0.18 0.08 NA NA 806 840 1113 1177 23501 0.088 0.058 3 5 -phytools-ltp genus shape coccobacillus 0 0 NA NA 35 37 1113 1177 23501 0.088 0.058 0 5 -phytools-ltp genus shape coccus 0.37 0.11 NA NA 292 319 1113 1177 23501 0.088 0.058 1 5 -phytools-ltp genus shape elliptic 0.12 0.27 NA NA 109 122 1113 1177 23501 0.088 0.058 0 5 -phytools-ltp genus shape filamentous 0.06 0.18 NA NA 33 36 1113 1177 23501 0.088 0.058 0 5 -phytools-ltp genus shape spirillum 0.23 0.32 NA NA 53 59 1113 1177 23501 0.088 0.058 0 5 +phytools-ltp all gram stain gram stain negative 0.93 0.01 NA NA 5515 7508 8856 12116 23501 0.041 0.042 23 38 +phytools-ltp all gram stain gram stain positive 0.91 0.01 NA NA 3223 4466 8856 12116 23501 0.041 0.042 14 38 +phytools-ltp all gram stain gram stain variable 0.1 0.08 NA NA 130 155 8856 12116 23501 0.041 0.042 1 38 +phytools-ltp genus gram stain gram stain negative 0.85 0.05 NA NA 786 816 1243 1278 23501 0.08 0.06 3 5 +phytools-ltp genus gram stain gram stain positive 0.83 0.05 NA NA 423 427 1243 1278 23501 0.08 0.06 2 5 +phytools-ltp genus gram stain gram stain variable 0.12 0.22 NA NA 44 45 1243 1278 23501 0.08 0.06 0 5 +phytools-ltp species gram stain gram stain negative 0.95 0.01 NA NA 4034 5179 6609 8498 23501 0.062 0.067 17 28 +phytools-ltp species gram stain gram stain positive 0.93 0.02 NA NA 2502 3237 6609 8498 23501 0.062 0.067 11 28 +phytools-ltp species gram stain gram stain variable 0.1 0.17 NA NA 75 85 6609 8498 23501 0.062 0.067 0 28 +phytools-ltp strain gram stain gram stain negative 0.87 0.04 NA NA 695 1513 1004 2340 23501 0.109 0.07 3 4 +phytools-ltp strain gram stain gram stain positive 0.88 0.03 NA NA 298 802 1004 2340 23501 0.109 0.07 1 4 +phytools-ltp strain gram stain gram stain variable 0.2 0.42 NA NA 11 25 1004 2340 23501 0.109 0.07 0 4 +phytools-ltp all hemolysis alpha 0.27 0.16 NA NA 94 112 433 585 23501 0.273 0.19 0 2 +phytools-ltp all hemolysis beta 0.37 0.18 NA NA 131 195 433 585 23501 0.273 0.19 1 2 +phytools-ltp all hemolysis gamma 0.33 0.13 NA NA 266 345 433 585 23501 0.273 0.19 1 2 +phytools-ltp species hemolysis alpha 0.15 0.2 NA NA 74 77 339 409 23501 0.283 0.19 0 1 +phytools-ltp species hemolysis beta 0.3 0.16 NA NA 115 159 339 409 23501 0.283 0.19 0 1 +phytools-ltp species hemolysis gamma 0.36 0.11 NA NA 201 228 339 409 23501 0.283 0.19 1 1 +phytools-ltp all shape bacillus 0.46 0.07 NA NA 1511 2960 2045 3969 23501 0.069 0.052 6 9 +phytools-ltp all shape coccobacillus 0 0 NA NA 35 37 2045 3969 23501 0.069 0.052 0 9 +phytools-ltp all shape coccus 0.63 0.09 NA NA 441 781 2045 3969 23501 0.069 0.052 2 9 +phytools-ltp all shape elliptic 0.18 0.3 NA NA 109 122 2045 3969 23501 0.069 0.052 0 9 +phytools-ltp all shape filamentous 0.17 0.23 NA NA 45 60 2045 3969 23501 0.069 0.052 0 9 +phytools-ltp all shape spirillum 0.7 0.16 NA NA 96 202 2045 3969 23501 0.069 0.052 0 9 +phytools-ltp all shape tail 1 0 NA NA 15 34 2045 3969 23501 0.069 0.052 0 9 +phytools-ltp genus shape bacillus 0.18 0.08 NA NA 806 840 1113 1177 23501 0.085 0.059 3 5 +phytools-ltp genus shape coccobacillus 0 0 NA NA 35 37 1113 1177 23501 0.085 0.059 0 5 +phytools-ltp genus shape coccus 0.37 0.11 NA NA 292 319 1113 1177 23501 0.085 0.059 1 5 +phytools-ltp genus shape elliptic 0.12 0.27 NA NA 109 122 1113 1177 23501 0.085 0.059 0 5 +phytools-ltp genus shape filamentous 0.06 0.18 NA NA 33 36 1113 1177 23501 0.085 0.059 0 5 +phytools-ltp genus shape spirillum 0.23 0.32 NA NA 53 59 1113 1177 23501 0.085 0.059 0 5 phytools-ltp species shape bacillus 0.96 0.06 NA NA 409 1299 527 1629 23501 0.182 0.131 2 2 phytools-ltp species shape coccus 0.79 0.15 NA NA 67 203 527 1629 23501 0.182 0.131 0 2 phytools-ltp species shape spirillum 1 0 NA NA 26 78 527 1629 23501 0.182 0.131 0 2 phytools-ltp species shape tail 1 0 NA NA 15 34 527 1629 23501 0.182 0.131 0 2 -phytools-ltp strain shape bacillus 0.68 0.1 NA NA 296 821 405 1163 23501 0.163 0.082 1 2 -phytools-ltp strain shape coccus 0.62 0.2 NA NA 82 259 405 1163 23501 0.163 0.082 0 2 -phytools-ltp strain shape filamentous 0.27 0.44 NA NA 10 18 405 1163 23501 0.163 0.082 0 2 -phytools-ltp strain shape spirillum 0.42 0.45 NA NA 17 65 405 1163 23501 0.163 0.082 0 2 -phytools-ltp all spore shape coccus 0 0 NA NA 26 26 300 708 23501 0.366 0.204 0 1 -phytools-ltp all spore shape elliptic 0.19 0.43 NA NA 34 34 300 708 23501 0.366 0.204 0 1 -phytools-ltp all spore shape endospore 0.15 0.23 NA NA 281 689 300 708 23501 0.366 0.204 1 1 -castor-ltp all coding genes coding genes NA NA 0.72 0.03 NA NA 1410 4303 23031 0.101 0.07 NA 6 +phytools-ltp strain shape bacillus 0.68 0.1 NA NA 296 821 405 1163 23501 0.161 0.081 1 2 +phytools-ltp strain shape coccus 0.62 0.2 NA NA 82 259 405 1163 23501 0.161 0.081 0 2 +phytools-ltp strain shape filamentous 0.27 0.44 NA NA 10 18 405 1163 23501 0.161 0.081 0 2 +phytools-ltp strain shape spirillum 0.42 0.45 NA NA 17 65 405 1163 23501 0.161 0.081 0 2 +phytools-ltp all spore shape coccus 0 0 NA NA 26 26 300 708 23501 0.364 0.204 0 1 +phytools-ltp all spore shape elliptic 0.19 0.43 NA NA 34 34 300 708 23501 0.364 0.204 0 1 +phytools-ltp all spore shape endospore 0.15 0.23 NA NA 281 689 300 708 23501 0.364 0.204 1 1 +castor-ltp all coding genes coding genes NA NA 0.72 0.03 NA NA 1410 4303 23031 0.101 0.069 NA 6 castor-ltp species coding genes coding genes NA NA 0.66 0.11 NA NA 700 1440 23031 0.135 0.096 NA 3 -castor-ltp strain coding genes coding genes NA NA 0.62 0.11 NA NA 710 2863 23031 0.132 0.077 NA 3 -castor-ltp all genome size genome size NA NA 0.72 0.07 NA NA 1409 4298 23031 0.101 0.07 NA 6 +castor-ltp strain coding genes coding genes NA NA 0.62 0.11 NA NA 710 2863 23031 0.131 0.077 NA 3 +castor-ltp all genome size genome size NA NA 0.72 0.07 NA NA 1409 4298 23031 0.101 0.069 NA 6 castor-ltp species genome size genome size NA NA 0.67 0.12 NA NA 700 1437 23031 0.135 0.096 NA 3 -castor-ltp strain genome size genome size NA NA 0.62 0.11 NA NA 709 2861 23031 0.132 0.077 NA 3 -castor-ltp all growth temperature growth temperature NA NA 0.55 0.04 NA NA 14251 21033 23031 0.036 0.042 NA 62 -castor-ltp species growth temperature growth temperature NA NA 0.47 0.04 NA NA 12433 16916 23031 0.044 0.053 NA 54 -castor-ltp strain growth temperature growth temperature NA NA 0.71 0.09 NA NA 1818 4117 23031 0.093 0.062 NA 8 -castor-ltp all length length NA NA 0.15 0.24 NA NA 605 636 23031 0.118 0.077 NA 3 -castor-ltp genus length length NA NA 0.15 0.24 NA NA 605 636 23031 0.118 0.077 NA 3 -castor-ltp all optimal ph optimal ph NA NA 0.14 0.16 NA NA 290 878 23031 0.18 0.11 NA 1 -castor-ltp species optimal ph optimal ph NA NA 0.14 0.16 NA NA 290 878 23031 0.18 0.11 NA 1 -castor-ltp all width width NA NA 0.04 0.04 NA NA 756 812 23031 0.105 0.076 NA 3 -castor-ltp genus width width NA NA 0.04 0.04 NA NA 756 812 23031 0.105 0.076 NA 3 +castor-ltp strain genome size genome size NA NA 0.62 0.11 NA NA 709 2861 23031 0.131 0.077 NA 3 +castor-ltp all growth temperature growth temperature NA NA 0.55 0.04 NA NA 14251 21033 23031 0.035 0.04 NA 62 +castor-ltp species growth temperature growth temperature NA NA 0.47 0.04 NA NA 12433 16916 23031 0.043 0.051 NA 54 +castor-ltp strain growth temperature growth temperature NA NA 0.71 0.09 NA NA 1818 4117 23031 0.092 0.062 NA 8 +castor-ltp all length length NA NA 0.15 0.24 NA NA 605 636 23031 0.114 0.078 NA 3 +castor-ltp genus length length NA NA 0.15 0.24 NA NA 605 636 23031 0.114 0.078 NA 3 +castor-ltp all optimal ph optimal ph NA NA 0.14 0.16 NA NA 290 878 23031 0.179 0.11 NA 1 +castor-ltp species optimal ph optimal ph NA NA 0.14 0.16 NA NA 290 878 23031 0.179 0.11 NA 1 +castor-ltp all width width NA NA 0.04 0.04 NA NA 756 812 23031 0.102 0.076 NA 3 +castor-ltp genus width width NA NA 0.04 0.04 NA NA 756 812 23031 0.102 0.076 NA 3 phytools-ltp all animal pathogen animal pathogen 0.47 0.06 NA NA NA NA 999 2071 23501 0.154 0.11 NA 4 phytools-ltp species animal pathogen animal pathogen 0.5 0.06 NA NA NA NA 879 1782 23501 0.157 0.111 NA 4 -phytools-ltp all antimicrobial sensitivity antimicrobial sensitivity 0.5 0.12 NA NA NA NA 304 825 23501 0.192 0.12 NA 1 -phytools-ltp species antimicrobial sensitivity antimicrobial sensitivity 0.5 0.12 NA NA NA NA 304 825 23501 0.192 0.12 NA 1 +phytools-ltp all antimicrobial sensitivity antimicrobial sensitivity 0.5 0.12 NA NA NA NA 304 825 23501 0.191 0.119 NA 1 +phytools-ltp species antimicrobial sensitivity antimicrobial sensitivity 0.5 0.12 NA NA NA NA 304 825 23501 0.191 0.119 NA 1 phytools-ltp all extreme environment extreme environment 0.4 0.13 NA NA NA NA 708 1856 23501 0.147 0.1 NA 3 phytools-ltp species extreme environment extreme environment 0.4 0.13 NA NA NA NA 708 1856 23501 0.147 0.1 NA 3 phytools-ltp all host-associated host-associated 0.47 0.06 NA NA NA NA 900 2492 23501 0.133 0.095 NA 4 -phytools-ltp species host-associated host-associated 0.46 0.05 NA NA NA NA 890 2482 23501 0.135 0.095 NA 4 -phytools-ltp all motility motility 0.53 0.03 NA NA NA NA 5793 6529 23501 0.065 0.063 NA 25 -phytools-ltp species motility motility 0.52 0.03 NA NA NA NA 5122 5331 23501 0.071 0.069 NA 22 -phytools-ltp strain motility motility 0.43 0.07 NA NA NA NA 671 1198 23501 0.13 0.085 NA 3 +phytools-ltp species host-associated host-associated 0.46 0.05 NA NA NA NA 890 2482 23501 0.134 0.095 NA 4 +phytools-ltp all motility motility 0.53 0.03 NA NA NA NA 5793 6529 23501 0.064 0.063 NA 25 +phytools-ltp species motility motility 0.52 0.03 NA NA NA NA 5122 5331 23501 0.07 0.069 NA 22 +phytools-ltp strain motility motility 0.43 0.07 NA NA NA NA 671 1198 23501 0.129 0.084 NA 3 phytools-ltp all plant pathogenicity plant pathogenicity 0.57 0.26 NA NA NA NA 568 1476 23501 0.164 0.113 NA 2 phytools-ltp species plant pathogenicity plant pathogenicity 0.57 0.26 NA NA NA NA 568 1476 23501 0.164 0.113 NA 2 -phytools-ltp all spore formation spore formation 0.88 0.03 NA NA NA NA 4177 4731 23501 0.086 0.087 NA 18 -phytools-ltp species spore formation spore formation 0.89 0.03 NA NA NA NA 3673 3809 23501 0.096 0.097 NA 16 +phytools-ltp all spore formation spore formation 0.88 0.03 NA NA NA NA 4177 4731 23501 0.085 0.086 NA 18 +phytools-ltp species spore formation spore formation 0.89 0.03 NA NA NA NA 3673 3809 23501 0.095 0.097 NA 16 phytools-ltp strain spore formation spore formation 0.76 0.13 NA NA NA NA 504 922 23501 0.146 0.094 NA 2 diff --git a/inst/scripts/README.md b/inst/scripts/README.md index 0d5f8d5..6468bb6 100644 --- a/inst/scripts/README.md +++ b/inst/scripts/README.md @@ -121,10 +121,10 @@ https://raw.githubusercontent.com/waldronlab/taxPProValidation/a7a31b0/validatio The code used, which was executed directly in the extdata directory, was: -This is version 1.0.2 +This is version 1.0.4 ```bash -wget https://raw.githubusercontent.com/waldronlab/taxPProValidation/a7a31b0/validation_summary.tsv +wget https://raw.githubusercontent.com/waldronlab/taxPProValidation/cc45761/validation_summary.tsv ``` | Column name | Description | From c9cf709530238b2186e719aa7533e4c207d88dae Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Thu, 27 Jun 2024 17:02:26 -0400 Subject: [PATCH 18/20] Update attributes.tsv file to accept both butyrate producing and butyrate-producing bacteria in attribute group. This is for compatibility with the spreadsheet names and the test for attribute group values --- inst/extdata/attributes.tsv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/extdata/attributes.tsv b/inst/extdata/attributes.tsv index 8efb4bc..02b76a9 100644 --- a/inst/extdata/attributes.tsv +++ b/inst/extdata/attributes.tsv @@ -171,7 +171,7 @@ "COGEM pathogenicity rating" "COGEM pathogenicity rating" "integer" NA NA "antimicrobial sensitivity" "antimicrobial sensitivity" "logical" NA NA "biofilm formation" "biofilm formation" "logical" "APO:0000159" "The ability to form a layer on solid surfaces with or without other microorganisms." -"Butyrate-Producing Bacteria" "butyrate producing" "numeric" "NCIT:C126417" "Any anaerobic bacteria that metabolizes complex carbohydrates to produce butyrate. These microorganisms may form colonies in the intestines of mammals; their presence may aid the host by catabolizing undigested fiber and starch. Additionally, butyrate is metabolized by colonic epithelial cells and may protect the host against ulcerative colitis and cancer." +"Butyrate-Producing Bacteria" "Butyrate-Producing Bacteria;butyrate producing" "numeric" "NCIT:C126417" "Any anaerobic bacteria that metabolizes complex carbohydrates to produce butyrate. These microorganisms may form colonies in the intestines of mammals; their presence may aid the host by catabolizing undigested fiber and starch. Additionally, butyrate is metabolized by colonic epithelial cells and may protect the host against ulcerative colitis and cancer." "acetate producing" "acetate producing" "numeric" NA NA "lactate producing" "lactate producing" "numeric" NA NA "mutation rate per site per year" "mutation rates per site per year" "numeric" NA NA From 36f9d7858b9951705e1c5cc08e97ff2349efc0d6 Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Thu, 27 Jun 2024 17:03:27 -0400 Subject: [PATCH 19/20] update Zenodo version to the most recent --- R/bugphyzz.R | 2 +- man/importBugphyzz.Rd | 2 +- tests/testthat/test-importBugphyzz.R | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/R/bugphyzz.R b/R/bugphyzz.R index 2f9b56a..90a0616 100644 --- a/R/bugphyzz.R +++ b/R/bugphyzz.R @@ -60,7 +60,7 @@ utils::globalVariables(c( #' names(bp) #' importBugphyzz <- function( - version = "10.5281/zenodo.10980813", forceDownload = FALSE, v = 0.8, + version = "10.5281/zenodo.12574596", forceDownload = FALSE, v = 0.8, excludeRarely = TRUE ) { diff --git a/man/importBugphyzz.Rd b/man/importBugphyzz.Rd index 0324759..57e0868 100644 --- a/man/importBugphyzz.Rd +++ b/man/importBugphyzz.Rd @@ -5,7 +5,7 @@ \title{Import bugphyzz} \usage{ importBugphyzz( - version = "10.5281/zenodo.10980813", + version = "10.5281/zenodo.12574596", forceDownload = FALSE, v = 0.8, excludeRarely = TRUE diff --git a/tests/testthat/test-importBugphyzz.R b/tests/testthat/test-importBugphyzz.R index c44a851..e8ef16d 100644 --- a/tests/testthat/test-importBugphyzz.R +++ b/tests/testthat/test-importBugphyzz.R @@ -179,7 +179,7 @@ test_that("importBugphyzz works with devel", { }) test_that("importBugphyzz works with hash", { - bp <- importBugphyzz(version = "c2d34c0", forceDownload = TRUE) + bp <- importBugphyzz(version = "8a09b46", forceDownload = TRUE) expect_true(all("data.frame" == map_chr(bp, class))) expect_true(all(map_lgl(bp, ~ nrow(.x) > 0))) expect_true(all(map_lgl(bp, checkColumnNames))) @@ -190,7 +190,7 @@ test_that("importBugphyzz works with hash", { }) test_that("importBugphyzz works with Zenodo DOI", { - bp <- importBugphyzz(version = "10.5281/zenodo.10980813", forceDownload = TRUE) + bp <- importBugphyzz(version = "10.5281/zenodo.12574596", forceDownload = TRUE) expect_true(all("data.frame" == map_chr(bp, class))) expect_true(all(map_lgl(bp, ~ nrow(.x) > 0))) expect_true(all(map_lgl(bp, checkColumnNames))) From 5c29708ea1f9e9433d2a08ff8429663c40864d12 Mon Sep 17 00:00:00 2001 From: sdgamboa Date: Thu, 27 Jun 2024 17:04:44 -0400 Subject: [PATCH 20/20] Add Rproj file to .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 9c46447..74caa1d 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,5 @@ jupyter_notebooks/updated_spore_shape_v2.xlsx protratis_data/ misc + +*.Rproj