Add some defaults to subset.loom
authorPaul Hoffman <phoffman@nygenome.org>
Wed, 13 Dec 2017 19:06:23 +0000 (14:06 -0500)
committerPaul Hoffman <phoffman@nygenome.org>
Wed, 13 Dec 2017 19:06:23 +0000 (14:06 -0500)
R/loom.R
man/subset.loom.Rd

index 4898b7f79d4817f68b400be1b4caa7ac713e8cb4..f69de92931ef19da67b7903434f9eab4a7b6b110 100644 (file)
--- a/R/loom.R
+++ b/R/loom.R
@@ -944,9 +944,9 @@ connect <- function(filename, mode = "r", skip.validate = FALSE) {
 #' Subset a loom file
 #'
 #' @param x A loom object
-#' @param m Rows (genes) to subset
-#' @param n Columns (cells) to subset
-#' @param filename Filename for new loom object
+#' @param m Rows (genes) to subset, defaults to all rows
+#' @param n Columns (cells) to subset, defaults to all columns
+#' @param filename Filename for new loom object, defaults to ...
 #' @param overwrite Overwrite \code{filename} if already exists?
 #' @param display.progress Display progress as we're copying over data
 #'
@@ -959,23 +959,34 @@ connect <- function(filename, mode = "r", skip.validate = FALSE) {
 #'
 subset.loom <- function(
   x,
-  m,
-  n,
-  filename,
+  m = NULL,
+  n = NULL,
+  filename = NULL,
   overwrite = FALSE,
   display.progress = TRUE,
   ...
 ) {
   new.pb <- function() {return(txtProgressBar(style = 3, char = '='))}
-  # # Set mode based on
-  # mode <- ifelse(test = overwrite, yes = 'w', no = 'w-')
+  # Set some defaults
+  if (is.null(x = m)) {
+    m <- 1:x$shape[1]
+  }
+  if (is.null(x = n)) {
+    n <- 1:x$shape[2]
+  }
+  if (is.null(x = filename)) {
+    filename <- paste(
+      unlist(x = strsplit(x = lfile$filename, split = '.', fixed = TRUE)),
+      collapse = '_subset.'
+    )
+  }
   # Ensure that m and n are within the bounds of the loom file
   if (max(m) > x$shape[1] || max(n) > x$shape[2]) {
     stop(paste(
       "'m' and 'n' must be less than",
-      self$shape[1],
+      x$shape[1],
       "and",
-      self$shape[2],
+      x$shape[2],
       "respectively"
     ))
   }
index 5135e388783fb7e779a2848ba63fbf1124a1183d..8c00a5f45017eccef6859c6546d8a6eb63360312 100644 (file)
@@ -4,17 +4,17 @@
 \alias{subset.loom}
 \title{Subset a loom file}
 \usage{
-\method{subset}{loom}(x, m, n, filename, overwrite = FALSE,
-  display.progress = TRUE, ...)
+\method{subset}{loom}(x, m = NULL, n = NULL, filename = NULL,
+  overwrite = FALSE, display.progress = TRUE, ...)
 }
 \arguments{
 \item{x}{A loom object}
 
-\item{m}{Rows (genes) to subset}
+\item{m}{Rows (genes) to subset, defaults to all rows}
 
-\item{n}{Columns (cells) to subset}
+\item{n}{Columns (cells) to subset, defaults to all columns}
 
-\item{filename}{Filename for new loom object}
+\item{filename}{Filename for new loom object, defaults to ...}
 
 \item{overwrite}{Overwrite \code{filename} if already exists?}