diff --git a/NEWS.md b/NEWS.md index e4097e7..3f129d3 100644 --- a/NEWS.md +++ b/NEWS.md @@ -5,6 +5,8 @@ * Remove `cat()` calls in functions. * Implement helper `check_input()` to validate input before passing them to other functions. +* Run examples and tests only if MEME Suite is detected (only for functions +which require MEME Suite). # MotifPeeker 0.99.5 / 0.99.6 diff --git a/R/MotifPeeker.R b/R/MotifPeeker.R index e55a042..a41b395 100644 --- a/R/MotifPeeker.R +++ b/R/MotifPeeker.R @@ -142,6 +142,7 @@ #' ) #' #' \donttest{ +#' if (memes::meme_is_installed()) { #' # MotifPeeker takes time to run #' MotifPeeker( #' peak_files = peaks, @@ -163,6 +164,7 @@ #' quiet = TRUE, #' verbose = FALSE #' ) +#' } #' } #' #' @export diff --git a/R/denovo_motifs.R b/R/denovo_motifs.R index b3e4a7a..8212395 100644 --- a/R/denovo_motifs.R +++ b/R/denovo_motifs.R @@ -36,6 +36,7 @@ #' associated metadata. #' #' @examples +#' if (memes::meme_is_installed()) { #' data("CTCF_TIP_peaks", package = "MotifPeeker") #' if (requireNamespace("BSgenome.Hsapiens.UCSC.hg38", quietly = TRUE)) { #' genome_build <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 @@ -48,6 +49,7 @@ #' out_dir = tempdir()) #' print(res[[1]]$consensus) #' } +#' } #' @export denovo_motifs <- function(seqs, trim_seq_width, diff --git a/R/find_motifs.R b/R/find_motifs.R index c33d241..50b7ccc 100644 --- a/R/find_motifs.R +++ b/R/find_motifs.R @@ -23,6 +23,7 @@ #' data("CTCF_TIP_peaks", package = "MotifPeeker") #' #' \donttest{ +#' if (memes::meme_is_installed()) { #' if (requireNamespace("BSgenome.Hsapiens.UCSC.hg38", quietly = TRUE)) { #' genome_build <- #' BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 @@ -37,6 +38,7 @@ #' out_dir = tempdir()) #' print(res2) #' } +#' } #' } #' #' @export diff --git a/R/get_df_distances.R b/R/get_df_distances.R index 1a8c48d..e399b31 100644 --- a/R/get_df_distances.R +++ b/R/get_df_distances.R @@ -35,6 +35,7 @@ #' } #' #' @examples +#' if (memes::meme_is_installed()) { #' data("CTCF_ChIP_peaks", package = "MotifPeeker") #' data("motif_MA1102.3", package = "MotifPeeker") #' data("motif_MA1930.2", package = "MotifPeeker") @@ -56,6 +57,7 @@ #' workers = 1) #' print(distances_df) #' } +#' } #' #' @family generate data.frames #' diff --git a/R/get_df_enrichment.R b/R/get_df_enrichment.R index e72f8f6..d753e0c 100644 --- a/R/get_df_enrichment.R +++ b/R/get_df_enrichment.R @@ -26,6 +26,7 @@ #' } #' #' @examples +#' if (memes::meme_is_installed()) { #' data("CTCF_ChIP_peaks", package = "MotifPeeker") #' data("CTCF_TIP_peaks", package = "MotifPeeker") #' data("motif_MA1102.3", package = "MotifPeeker") @@ -55,6 +56,7 @@ #' ) #' } #' } +#' } #' #' @family generate data.frames #' diff --git a/R/motif_enrichment.R b/R/motif_enrichment.R index d0eb089..1465140 100644 --- a/R/motif_enrichment.R +++ b/R/motif_enrichment.R @@ -24,6 +24,7 @@ #' to the proportion of peaks with a motif. #' #' @examples +#' if (memes::meme_is_installed()) { #' data("CTCF_TIP_peaks", package = "MotifPeeker") #' data("motif_MA1102.3", package = "MotifPeeker") #' @@ -36,6 +37,7 @@ #' ) #' print(res) #' } +#' } #' #' @seealso \code{\link[memes]{runAme}} #' diff --git a/R/motif_similarity.R b/R/motif_similarity.R index 937826f..1b5ee40 100644 --- a/R/motif_similarity.R +++ b/R/motif_similarity.R @@ -30,6 +30,7 @@ #' The list is repeated for each set of comparison groups in input. #' #' @examples +#' if (memes::meme_is_installed()) { #' data("CTCF_TIP_peaks", package = "MotifPeeker") #' data("CTCF_ChIP_peaks", package = "MotifPeeker") #' @@ -49,6 +50,7 @@ #' print(similarity_matrices) #' } #' } +#' } #' #' @export motif_similarity <- function(streme_out, diff --git a/R/summit_to_motif.R b/R/summit_to_motif.R index daf2a2d..a19d9e8 100644 --- a/R/summit_to_motif.R +++ b/R/summit_to_motif.R @@ -30,6 +30,7 @@ #' distances for each valid peak. #' #' @examples +#' if (memes::meme_is_installed()) { #' data("CTCF_TIP_peaks", package = "MotifPeeker") #' data("motif_MA1102.3", package = "MotifPeeker") #' @@ -40,6 +41,7 @@ #' genome_build = BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 #' ) #' print(res) +#' } #' #' @seealso \code{\link[memes]{runAme}} #' diff --git a/README.md b/README.md index 547c60a..3e8db7b 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ status](https://github.com/neurogenomics/MotifPeeker/workflows/rworkflows/badge. **Authors:** ***Hiranyamaya (Hiru) Dash, Thomas Roberts, Nathan Skene*** -**Updated:** ***Nov-01-2024*** +**Updated:** ***Nov-04-2024*** ## Introduction @@ -380,12 +380,12 @@ utils::sessionInfo() ## [19] desc_1.4.3 dlstats_0.1.7 rprojroot_2.0.4 ## [22] munsell_0.5.1 pillar_1.9.0 RColorBrewer_1.1-3 ## [25] rlang_1.1.4 utf8_1.2.4 badger_0.2.4 - ## [28] xfun_0.48 fs_1.6.4 cli_3.6.3 + ## [28] xfun_0.49 fs_1.6.5 cli_3.6.3 ## [31] magrittr_2.0.3 rworkflows_1.0.2 digest_0.6.37 ## [34] grid_4.4.1 rstudioapi_0.17.1 lifecycle_1.0.4 ## [37] vctrs_0.6.5 evaluate_1.0.1 glue_1.8.0 ## [40] data.table_1.16.2 fansi_1.0.6 colorspace_2.1-1 - ## [43] rmarkdown_2.28 tools_4.4.1 pkgconfig_2.0.3 + ## [43] rmarkdown_2.29 tools_4.4.1 pkgconfig_2.0.3 ## [46] htmltools_0.5.8.1 diff --git a/man/MotifPeeker.Rd b/man/MotifPeeker.Rd index b2672c3..f88967e 100644 --- a/man/MotifPeeker.Rd +++ b/man/MotifPeeker.Rd @@ -207,6 +207,7 @@ motifs <- list( ) \donttest{ + if (memes::meme_is_installed()) { # MotifPeeker takes time to run MotifPeeker( peak_files = peaks, @@ -228,6 +229,7 @@ motifs <- list( quiet = TRUE, verbose = FALSE ) + } } } diff --git a/man/denovo_motifs.Rd b/man/denovo_motifs.Rd index 628c77d..1690cb2 100644 --- a/man/denovo_motifs.Rd +++ b/man/denovo_motifs.Rd @@ -77,6 +77,7 @@ the search space. The result is then optionally filtered to remove motifs with a high number of nucleotide repeats } \examples{ +if (memes::meme_is_installed()) { data("CTCF_TIP_peaks", package = "MotifPeeker") if (requireNamespace("BSgenome.Hsapiens.UCSC.hg38", quietly = TRUE)) { genome_build <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 @@ -90,3 +91,4 @@ if (requireNamespace("BSgenome.Hsapiens.UCSC.hg38", quietly = TRUE)) { print(res[[1]]$consensus) } } +} diff --git a/man/find_motifs.Rd b/man/find_motifs.Rd index 0ba9aca..434bf98 100644 --- a/man/find_motifs.Rd +++ b/man/find_motifs.Rd @@ -61,6 +61,7 @@ Light wrapper around \code{TOMTOM} from MEME Suite. data("CTCF_TIP_peaks", package = "MotifPeeker") \donttest{ + if (memes::meme_is_installed()) { if (requireNamespace("BSgenome.Hsapiens.UCSC.hg38", quietly = TRUE)) { genome_build <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 @@ -75,6 +76,7 @@ data("CTCF_TIP_peaks", package = "MotifPeeker") out_dir = tempdir()) print(res2) } + } } } diff --git a/man/get_df_distances.Rd b/man/get_df_distances.Rd index f8213b5..f73af2c 100644 --- a/man/get_df_distances.Rd +++ b/man/get_df_distances.Rd @@ -65,6 +65,7 @@ for all peaks and motifs, generating a \code{data.frame} suitable for plots. } \examples{ +if (memes::meme_is_installed()) { data("CTCF_ChIP_peaks", package = "MotifPeeker") data("motif_MA1102.3", package = "MotifPeeker") data("motif_MA1930.2", package = "MotifPeeker") @@ -86,6 +87,7 @@ if (requireNamespace("BSgenome.Hsapiens.UCSC.hg38")) { workers = 1) print(distances_df) } +} } \seealso{ diff --git a/man/get_df_enrichment.Rd b/man/get_df_enrichment.Rd index 5a1f182..e9d67be 100644 --- a/man/get_df_enrichment.Rd +++ b/man/get_df_enrichment.Rd @@ -80,6 +80,7 @@ suitable for plots. The \code{data.frame} contains values for all and segregated peaks. } \examples{ +if (memes::meme_is_installed()) { data("CTCF_ChIP_peaks", package = "MotifPeeker") data("CTCF_TIP_peaks", package = "MotifPeeker") data("motif_MA1102.3", package = "MotifPeeker") @@ -109,6 +110,7 @@ reference_index <- 1 ) } } +} } \seealso{ diff --git a/man/motif_enrichment.Rd b/man/motif_enrichment.Rd index ba68f56..189cb34 100644 --- a/man/motif_enrichment.Rd +++ b/man/motif_enrichment.Rd @@ -53,6 +53,7 @@ background sequences using Analysis of Motif Enrichment (AME) from \link{memes}. } \examples{ +if (memes::meme_is_installed()) { data("CTCF_TIP_peaks", package = "MotifPeeker") data("motif_MA1102.3", package = "MotifPeeker") @@ -65,6 +66,7 @@ data("motif_MA1102.3", package = "MotifPeeker") ) print(res) } +} } \seealso{ diff --git a/man/motif_similarity.Rd b/man/motif_similarity.Rd index ff79ef7..a928ee1 100644 --- a/man/motif_similarity.Rd +++ b/man/motif_similarity.Rd @@ -152,6 +152,7 @@ are of little use for motifs with a different number of alphabet letters } } \examples{ +if (memes::meme_is_installed()) { data("CTCF_TIP_peaks", package = "MotifPeeker") data("CTCF_ChIP_peaks", package = "MotifPeeker") @@ -171,5 +172,6 @@ data("CTCF_ChIP_peaks", package = "MotifPeeker") print(similarity_matrices) } } +} } diff --git a/man/summit_to_motif.Rd b/man/summit_to_motif.Rd index ba23c24..9c093ba 100644 --- a/man/summit_to_motif.Rd +++ b/man/summit_to_motif.Rd @@ -82,6 +82,7 @@ the approximate formula: \href{https://meme-suite.org/meme/doc/fimo-tutorial.html}{FIMO documentation}) } \examples{ +if (memes::meme_is_installed()) { data("CTCF_TIP_peaks", package = "MotifPeeker") data("motif_MA1102.3", package = "MotifPeeker") @@ -92,6 +93,7 @@ res <- summit_to_motif( genome_build = BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 ) print(res) +} } \seealso{