#' @title add_cell_annotation
#' @description Adds the data.frame with cell information to the loom file
#' @param loom loom file handler
#' @param cellAnnotation data.frame with the cell information
#' @return The .loom file
#' @export
add_cell_annotation <- function(loom, cellAnnotation)
{
cellAnnotation <- data.frame(cellAnnotation)
if(any(c("nGene", "nUMI") %in% colnames(cellAnnotation)))
{
warning("Columns 'nGene' and 'nUMI' will not be added as annotations to the loom file.")
cellAnnotation <- cellAnnotation[,colnames(cellAnnotation) != "nGene", drop=FALSE]
cellAnnotation <- cellAnnotation[,colnames(cellAnnotation) != "nUMI", drop=FALSE]
}
if(ncol(cellAnnotation)<=0) stop("The cell annotation contains no columns")
if(!all(get_cell_ids(loom) %in% rownames(cellAnnotation))) stop("Cell IDs are missing in the annotation")
cellAnnotation <- cellAnnotation[get_cell_ids(loom),,drop=FALSE]
# Add annotation
for(cn in colnames(cellAnnotation))
{
add_col_attr(loom=loom, key=cn, value=cellAnnotation[,cn])
}
invisible(loom)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.