Expand documentation
authorPaul Hoffman <phoffman@nygenome.org>
Mon, 30 Oct 2017 21:02:09 +0000 (17:02 -0400)
committerPaul Hoffman <phoffman@nygenome.org>
Mon, 30 Oct 2017 21:02:09 +0000 (17:02 -0400)
R/loom.R
man/create.Rd
man/loom-class.Rd
man/validateLoom.Rd

index 14a6e563afc5720c00b5c34c66d8f6235ebc5a89..8274af1ed571c01dae3225d16a90f180c5a7c79b 100644 (file)
--- a/R/loom.R
+++ b/R/loom.R
@@ -83,8 +83,8 @@ loom <- R6Class(
         # Load layers
         private$load_layers()
         # Load attributes
-        private$load_attirubtes(MARGIN = 1) # Column
-        private$load_attributes(MARGIN = 2) # Row
+        private$load_attirubtes(MARGIN = 1) # Cells (col_attrs)
+        private$load_attributes(MARGIN = 2) # Genes (row_attrs)
       } else {
         # Assume new HDF5 file
         self$version <- packageVersion(pkg = 'loomR')
@@ -207,11 +207,11 @@ loom <- R6Class(
 
 #' Create a loom object
 #'
-#' @param filename ...
-#' @param data ...
-#' @param row.attrs ...
-#' @param col.attrs ...
-#' @param chunk.dims ...
+#' @param filename The name of the new loom file
+#' @param data The data for \code{/matrix}, should be cells as rows and genes as columns
+#' @param gene.attrs A named list of vectors with extra data for genes, each vector must be as long as the number of genes in \code{data}
+#' @param cell.attrs A named list of vectors with extra data for cells, each vector must be as long as the number of cells in \code{data}
+#' @param chunk.dims A one- or two-length integer vector of chunksizes for \code{/matrix}, defaults to 'auto' to automatically determine chunksize
 #'
 #' @return A connection to a loom file
 #'
@@ -222,8 +222,8 @@ loom <- R6Class(
 create <- function(
   filename,
   data,
-  row.attrs = NULL,
-  col.attrs = NULL,
+  gene.attrs = NULL,
+  cell.attrs = NULL,
   layers = NULL,
   chunk.dims = 'auto'
 ) {
@@ -259,7 +259,7 @@ create <- function(
   h5attr(x = new.loom, which = 'version') <- as.character(x = packageVersion(pkg = 'loomR'))
   h5attr(x = new.loom, which = 'chunks') <- paste0(
     '(',
-    paste(new.loom[['matrix']]$chunks, collapse = ', '),
+    paste(new.loom[['matrix']]$chunk_dims, collapse = ', '),
     ')'
   )
   # Groups
@@ -270,11 +270,15 @@ create <- function(
   for (ly in layers) {
     new.loom$add.layer(layer = ly)
   }
-  new.loom$add.row.attribute(attribute = row.attrs)
-  new.loom$add.col.attribute(attribute = col.attrs)
+  new.loom$add.row.attribute(attribute = gene.attrs)
+  new.loom$add.col.attribute(attribute = cell.attrs)
   # Set last bit of information
-  new.loom$shape <- ''
-  new.loom$chunksize <- ''
+  new.loom$shape <- new.loom[['matrix']]$dims
+  chunks <- new.loom[['matrix']]$chunk_dims
+  chunks <- gsub(pattern = '(', replacement = '', x = chunks, fixed = TRUE)
+  chunks <- gsub(pattern = ')', replacement = '', x = chunks, fixed = TRUE)
+  chunks <- unlist(x = strsplit(x = chunks, split = ','))
+  new.loom$chunksize <- as.integer(x = chunks)
   # Return the connection
   return(new.loom)
 }
index b6361066348a00790f21b8e475732e3a9504c77f..70e12b368b79c9cfe540931756ee0fc05f352c68 100644 (file)
@@ -4,19 +4,19 @@
 \alias{create}
 \title{Create a loom object}
 \usage{
-create(filename, data, row.attrs = NULL, col.attrs = NULL, layers = NULL,
-  chunk.dims = "auto")
+create(filename, data, gene.attrs = NULL, cell.attrs = NULL,
+  layers = NULL, chunk.dims = "auto")
 }
 \arguments{
-\item{filename}{...}
+\item{filename}{The name of the new loom file}
 
-\item{data}{...}
+\item{data}{The data for \code{/matrix}, should be cells as rows and genes as columns}
 
-\item{row.attrs}{...}
+\item{gene.attrs}{A named list of vectors with extra data for genes, each vector must be as long as the number of genes in \code{data}}
 
-\item{col.attrs}{...}
+\item{cell.attrs}{A named list of vectors with extra data for cells, each vector must be as long as the number of cells in \code{data}}
 
-\item{chunk.dims}{...}
+\item{chunk.dims}{A one- or two-length integer vector of chunksizes for \code{/matrix}, defaults to 'auto' to automatically determine chunksize}
 }
 \value{
 A connection to a loom file
index 826066dca543f27bf86d47de0b3f9e4f0caf1869..ec709fc426b5678022ee8ec02d723c2f52403db2 100644 (file)
@@ -4,7 +4,7 @@
 \name{loom-class}
 \alias{loom-class}
 \alias{loom}
-\title{A class for loom}
+\title{A class for loom files}
 \format{An \code{\link{R6Class}} object}
 \usage{
 loom
@@ -13,7 +13,7 @@ loom
 Object of \code{\link{R6Class}} to generate \code{loom} objects
 }
 \description{
-A class for loom
+A class for loom files
 }
 \section{Fields}{
 
index 5fa8ee26c3e737b99f842bf92bdac936bdb93c4a..7002f3f4a9ed9b6fee925c47e0298fb3349b2fdb 100644 (file)
@@ -10,7 +10,7 @@ validateLoom(object)
 \item{object}{A loom object}
 }
 \value{
-None, errors if object is an invalid loom object
+None, errors if object is an invalid loom connection
 }
 \description{
 Validate a loom object