#' .exportGenesInfos
#'
#' @description
#' Export the genes information tables per cluster.
#'
#' @param theObject scRNASeq object on which the methods ?retrieveGenesInfo
#' was run.
#' @param outputInfos Output directory defined as dataDirectory/9_genesInfos.
#'
#' @keywords internal
#' @importFrom utils write.csv
#' @noRd
.exportGenesInfos <- function(theObject, outputInfos){
infos <- getGenesInfos(theObject)
infosList <- split(infos, infos$clusters)
invisible(lapply(infosList, function(clusterDF){
clustNB <- unique(clusterDF$clusters)
if(!isTRUE(all.equal(length(clustNB), 1)))
stop("Error in saveGenesInfo. Contact the",
" developper.")
outputFile <- file.path(outputInfos,
paste0("genes_info_clust", clustNB,
".csv"))
write.csv(clusterDF, file=outputFile,
row.names=FALSE)
}))
message("Genes infos saved.")
}
#' .exportMarkers
#'
#' @description
#' Export the full markers lists (?rankGenes) or the top markers lists
#' (?retrieveTopClustersMarkers).
#'
#' @param theObject scRNASeq object on which the methods ?rankGenes or
#' ?retrieveTopClustersMarkers were run.
#' @param outputDir Output directory defined as dataDirectory/7_fullMarkers or
#' dataDirectory/8_TopMarkers. dataDirectory is directly retrieved from the
#' scRNASeq object.
#' @param listType String displayed in the final message to indicate the type of
#' information retrieved.
#' @param top Default=FALSE. If TRUE, exports the top markers otherwise the
#' complete lists.
#'
#' @keywords internal
#' @importFrom utils write.csv
#' @noRd
.exportMarkers <- function(theObject, outputDir, listType="Full marker lists",
top=FALSE){
if(top){
markers <- getTopMarkers(theObject)
firstElement <- markers[1,"geneName"]
slotName <- "clustersMarkers"
funName <- "retrieveTopClustersMarkers"
markers <- split(markers, markers$clusters)
}else{
markers <- getMarkerGenesList(theObject)
firstElement <- markers[[1]][1,"Gene"]
slotName <- "markerGenesList"
funName <- "rankGenes"
}
if(isTRUE(all.equal(firstElement, "gene1")))
stop("The 'scRNAseq' object that you're using with 'exportResults' ",
"function doesn't have its '", slotName, "' slot updated. ",
"Please use '", funName,"' on the object before.")
invisible(mapply(function(currentMarkers, clustNb){
fileName <- paste0("markers_clust", clustNb, ".csv")
write.csv(currentMarkers, file=file.path(outputDir,
fileName))
}, markers, seq_len(length(markers))))
message(listType, " saved.")
}
#' .conclusResult
#'
#' @description
#' Export the result of the concensus clustering that is defined in the row
#' and col metadata of the sceNorm slot of the scRNASeq object.
#'
#' @param theObject scRNASeq object on which the method
#' ?calculateClustersSimilarity was run.
#' @param experimentName Name of the experiment retrieved in the corresponding
#' slot of the scRNASeq object.
#' @param sceObject SingleCellExperiment object retrieved with ?getSceNorm. See
#' ?SingleCellExperiment::SingleCellExperiment for more details.
#' @param outputDir Output directory defined as dataDirectory/6_ConclusResult.
#' dataDirectory is directly retrieved from the scRNASeq object.
#' @param experimentName Name of the experiment obtained with
#' ?getExperimentName.
#'
#' @keywords internal
#' @importFrom utils write.table
#' @noRd
.conclusResult <- function(theObject, sceObject, outputDir, experimentName){
## Check that the cluster similarity matrix was computed
## This step is necessary to update the 'clusters' column
## of the col metadata.
matrix <- getClustersSimilarityMatrix(theObject)
if(all(dim(matrix) == c(1,1)))
stop("The 'scRNAseq' object that you're using with 'exportResults' ",
"function doesn't have its columns metadata ",
"updated. Please use 'calculateClustersSimilarity' on the ",
"object before.")
colMetaDf <- SummarizedExperiment::colData(sceObject)
results <- data.frame(clusters=colMetaDf$clusters,
cells=colMetaDf$cellName)
fileName <- paste0(experimentName,"_clusters_table.tsv")
write.table(results, file=file.path(outputDir, fileName), quote=FALSE,
sep="\t", row.names=FALSE, col.names=TRUE)
message("Clusters table saved.")
}
#' .exportCSM
#'
#' @description
#' Export the cells and clusters similarity matrices that were obtained with
#' ?clusterCellsInternal and ?calculateClustersSimilarity respectively.
#'
#' @param theObject scRNASeq object on which the methods mentioned above were
#' run.
#' @param experimentName Name of the experiment retrieved in the corresponding
#' slot of the scRNASeq object.
#' @param outputDir Output directory defined as
#' dataDirectory/4_CellSimilarityMatrix or
#' dataDirectory/5_ClusterSimilarityMatrix. dataDirectory is directly retrieved
#' from the scRNASeq object.
#' @param cell If TRUE, exports the cells similarity matrix otherwise
#' exports the clusters similarity matrix. Default=TRUE.
#'
#' @keywords internal
#'
#' @importFrom utils write.csv
#' @noRd
.exportCSM <- function(theObject, experimentName, outputDir, cell=TRUE){
if(cell){
matrix <- getCellsSimilarityMatrix(theObject)
matType <- "cellsSimilarityMatrix"
funName <- "clusterCellsInternal"
fileName <- "_cells_similarity_matrix.csv"
}else{
matrix <- getClustersSimilarityMatrix(theObject)
matType <- "clustersSimilarityMatrix"
funName <- "calculateClustersSimilarity"
fileName <- "_clusters_similarity_matrix.csv"
}
if(all(dim(matrix) == c(0,0)) || all(dim(matrix) == c(1,1)))
stop("The 'scRNAseq' object that you're using with 'exportResults' ",
"function doesn't have its '", matType,"' slot ",
"updated. Please use '", funName,"' on the object ",
"before.")
fileName <- paste0(experimentName, fileName)
write.csv(matrix, file=file.path(outputDir, fileName))
message(matType, " saved.")
}
#' .exportDBScan
#'
#' @description
#' Export the dbscan clustering results for each combination of epsilon and
#' minPts. These results were obtained with ?runDBSCAN.
#'
#' @param theObject scRNASeq object on which ?runDBSCAN was run.
#' @param outputDir Output directory defined as dataDirectory/3_dbScan.
#' dataDirectory is directly retrieved from the scRNASeq object.
#'
#' @keywords internal
#' @importFrom utils write.table
#' @noRd
.exportDBScan <- function(theObject, outputDir){
dbscanList <- getDbscanList(theObject)
if(isTRUE(all.equal(length(getName(dbscanList[[1]])), 0)))
stop("The 'scRNAseq' object that you're using with 'exportResults' ",
"method doesn't have its 'dbscanList' slot updated. Please use",
" 'runDBSCAN' on the object before.")
invisible(lapply(dbscanList, function(currentDBScan){
name <- getName(currentDBScan)
eps <- getEpsilon(currentDBScan)
mPt <- getMinPoints(currentDBScan)
fileName <- paste(name, eps, mPt, sep="_")
fileName <- paste0(fileName, ".tsv")
write.table(getClustering(currentDBScan),
file=file.path(outputDir, fileName),
quote=FALSE, row.names=TRUE, col.names=TRUE)
}))
message("dbScan clustering saved.")
}
#' .exportTsne
#'
#' @description
#' Export the tsne coordinates for each combination of PCs and perplexities.
#' These results were obtained with ?generateTSNECoordinates.
#'
#' @param theObject scRNASeq object on which ?generateTSNECoordinates was run.
#' @param outputDir Output directory defined as dataDirectory/2_TSNECoordinates.
#' dataDirectory is directly retrieved from the scRNASeq object.
#'
#' @keywords internal
#' @importFrom utils write.table
#' @noRd
.exportTsne <- function(theObject, outputDir){
tsneList <- getTSNEList(theObject)
if(isTRUE(all.equal(length(getName(tsneList[[1]])), 0)))
stop("The 'scRNAseq' object that you're using with 'exportResults' ",
"method doesn't have its 'tSNEList' slot updated. Please use ",
"'generateTSNECoordinates' on the object before.")
invisible(lapply(tsneList, function(currentTSNE, outputDir){
fileName <- paste0(getName(currentTSNE), ".tsv")
write.table(getCoordinates(currentTSNE),
file=file.path(outputDir, fileName),
quote=FALSE, sep="\t", row.names=TRUE,
col.names=TRUE)
},outputDir))
message("Tsne coordinates saved.")
}
#' .exportNormInfo
#'
#' @description
#' Export the normalized matrix, the columns, and the rows metadata to the
#' sub-directory '1_MatrixInfo'. These results were obtained with
#' ?normaliseCountMatrix.
#'
#' @param theObject scRNASeq object on which ?normaliseCountMatrix was run.
#' @param outputDir Output directory defined as dataDirectory/1_MatrixInfo.
#' dataDirectory is directly retrieved from the scRNASeq object.
#' @param experimentName Name of the experiment retrieved in the corresponding
#' slot of the scRNASeq object.
#' @param sceObject SingleCellExperiment object retrieved with ?getSceNorm. See
#' ?SingleCellExperiment::SingleCellExperiment for more details.
#' @param f Function defining the type of information retrieved from the
#' sceObject. Can be the normalized count matrix with f=Biobase::exprs, the row
#' metadata with f=SummarizedExperiment::rowData, or the col metadata with
#' f=SummarizedExperiment::colData.
#' @param fileSuffix Suffix to add to the output files.
#' @param objectName String used in the message to indicate what object was
#' saved.
#'
#' @keywords internal
#' @importFrom utils write.table
#' @noRd
.exportNormInfo <- function(theObject, outputDir, experimentName, sceObject, f,
fileSuffix, objectName){
if(all(dim(sceObject) == c(0,0)))
stop("The 'scRNAseq' object that you're using with ",
"'exportResults' method doesn't have its ",
"'sceNorm' slot updated. Please use 'normaliseCountMatrix'",
" on the object before.")
fileName <- paste0(experimentName, fileSuffix)
write.table(f(sceObject), file=file.path(outputDir, fileName),
quote=FALSE, sep="\t", row.names=TRUE, col.names=TRUE)
message(objectName, " saved.")
}
.createFolder <- function(outputDir){
if(!file.exists(outputDir))
dir.create(outputDir, recursive=TRUE, showWarnings=FALSE)
}
#' .saveNormalizedMatrix
#'
#' @description
#' Internal function of exportResults. Save after normalization step the
#' normalized count matrix, the colData and the rowData in "1_MatrixInfo"
#' directory.
#'
#' @param theObject An Object of class scRNASeq for which different steps of
#' CONCLUS was applied to. The number of steps to run depends on what is
#' wanted to be saved.
#' @param experimentName Name of the experiment retrieved in the corresponding
#' slot of the scRNASeq object.
#' @param sceObject SingleCellExperiment object retrieved with ?getSceNorm. See
#' ?SingleCellExperiment::SingleCellExperiment for more details.
#' @param outputDir Output directory defined as dataDirectory/1_MatrixInfo.
#' dataDirectory is directly retrieved from the scRNASeq object.
#' @param saveNormalizedMatrix Default=FALSE. Save the normalized count matrix
#' as a csv file. It is obtained with ?normaliseCountMatrix. The matrix is saved
#' to the sub-directory '1_MatrixInfo'.
#' @param saveRowData Default=FALSE. Save the raw metadata of the normalized
#' count matrix as a tsv file. These data are obtained with
#' ?normaliseCountMatrix. They are saved in the sub-directory '1_MatrixInfo'.
#' saved.
#' @param saveColData Default=FALSE. Save the columns metadata of the normalized
#' count matrix as a tsv file. These data are obtained with
#' ?normaliseCountMatrix or were given as input of the method. These data are
#' saved in the sub-directory '1_MatrixInfo'.
#'
#' @keywords internal
#' @noRd
.saveNormalizedMatrix <- function(theObject, experimentName, sceObject,
outputDir, saveNormalizedMatrix,
saveRowData, saveColData){
if(saveNormalizedMatrix || saveRowData || saveColData){
outputNorm <- file.path(outputDir, "1_MatrixInfo")
.createFolder(outputNorm)
## Export Normalized expression matrix
if(saveNormalizedMatrix)
.exportNormInfo(theObject, outputNorm, experimentName,
sceObject, Biobase::exprs, "_expression_matrix.tsv",
"Normalized expression matrix")
## Export RowData
if(saveRowData)
.exportNormInfo(theObject, outputNorm, experimentName,
sceObject, SummarizedExperiment::rowData,
"_rowData.tsv", "RowData")
## Export ColData
if(saveColData)
.exportNormInfo(theObject, outputNorm, experimentName,
sceObject, SummarizedExperiment::colData,
"_colData.tsv", "ColData")
}
}
#' .saveTsne
#'
#' @description
#' Internal function of exportResults. Save after TSNE calculation step the
#' tsne coordinates in tsv files in "2_TSNECoordinates" directory.
#' sub-directory.
#'
#' @param theObject An Object of class scRNASeq for which different steps of
#' CONCLUS was applied to. The number of steps to run depends on what is
#' wanted to be saved.
#' @param outputDir Output directory defined as dataDirectory/1_MatrixInfo.
#' dataDirectory is directly retrieved from the scRNASeq object.
#' @param saveTsne Default=FALSE. Save the tsne coordinates for each combination
#' of PCs and perplexities as tsv files. These coordinates were obtained with
#' ?generateTSNECoordinates. They are saved in the sub-directory
#' '2_TSNECoordinates'.
#'
#' @keywords internal
#' @noRd
.saveTsne <- function(theObject, outputDir, saveTsne){
if(saveTsne){
outputTSNE <- file.path(outputDir, "2_TSNECoordinates")
.createFolder(outputTSNE)
.exportTsne(theObject, outputTSNE)
}
}
#' .saveDBScan
#'
#' @description
#' Internal function of exportResults. Save after DBSCAN calculation step the
#' results as dbscan as tsv files in '3_dbScan' sub-directory.
#'
#' @param theObject An Object of class scRNASeq for which different steps of
#' CONCLUS was applied to. The number of steps to run depends on what is
#' wanted to be saved.
#' @param outputDir Output directory defined as dataDirectory/1_MatrixInfo.
#' dataDirectory is directly retrieved from the scRNASeq object.
#' @param saveDBScan Default=FALSE. Save the clustering results of dbscan as tsv
#' files. The number of clustering solutions is
#' PCs*perplexity*epsilon*minPoints (see ?runDBSCAN, 84 solutions by default).
#' These are saved in the sub-directory '3_dbScan'.
#'
#' @keywords internal
#' @noRd
.saveDBScan <- function(theObject, outputDir, saveDBScan){
if(saveDBScan){
outputDBSCAN <- file.path(outputDir, "3_dbScan")
.createFolder(outputDBSCAN)
.exportDBScan(theObject, outputDBSCAN)
}
}
#' .saveCellsSimilarityMatrix
#'
#' @description
#' Internal function of exportResults. Save after the consensus clustering
#' the cell similarity matrix in '4_CellSimilarityMatrix' sub-directory.
#'
#' @param theObject An Object of class scRNASeq for which different steps of
#' CONCLUS was applied to. The number of steps to run depends on what is
#' wanted to be saved.
#' @param experimentName Name of the experiment retrieved in the corresponding
#' slot of the scRNASeq object.
#' @param outputDir Output directory defined as dataDirectory/1_MatrixInfo.
#' dataDirectory is directly retrieved from the scRNASeq object.
#' @param saveCellsSimilarityMatrix Default=FALSE. Save the cells similarity
#' matrix that was obtained with ?clusterCellsInternal. This matrix is saved in
#' the sub-directory '4_CellSimilarityMatrix'.
#'
#' @keywords internal
#' @noRd
.saveCellsSimilarityMatrix <- function(theObject, experimentName, outputDir,
saveCellsSimilarityMatrix){
if(saveCellsSimilarityMatrix){
outputCellSM <- file.path(outputDir,
"4_CellSimilarityMatrix")
.createFolder(outputCellSM)
.exportCSM(theObject, experimentName, outputCellSM)
}
}
#' .saveClustersSimilarityMatrix
#'
#' @description
#' Internal function of exportResults. Save the cluster similarity matrix
#' in '5_ClusterSimilarityMatrix' sub-directory.
#'
#' @param theObject An Object of class scRNASeq for which different steps of
#' CONCLUS was applied to. The number of steps to run depends on what is
#' wanted to be saved.
#' @param experimentName Name of the experiment retrieved in the corresponding
#' slot of the scRNASeq object.
#' @param outputDir Output directory defined as dataDirectory/1_MatrixInfo.
#' dataDirectory is directly retrieved from the scRNASeq object.
#' @param saveClustersSimilarityMatrix Default=FALSE. Save the cluster
#' similarity matrix that was obtained with ?calculateClustersSimilarity. It is
#' saved in the sub-directory '5_ClusterSimilarityMatrix'.
#'
#' @keywords internal
#' @noRd
.saveClustersSimilarityMatrix <- function(theObject, experimentName, outputDir,
saveClustersSimilarityMatrix){
if(saveClustersSimilarityMatrix){
outClustSM <- file.path(outputDir,
"5_ClusterSimilarityMatrix")
.createFolder(outClustSM)
.exportCSM(theObject, experimentName, outClustSM,
cell=FALSE)
}
}
#' .saveClusteringResults
#'
#' @description
#' Internal function of exportResults. Save a table cluster-cell being the
#' consensus clustering result in '6_ConclusResult' sub-directory.
#'
#' @param theObject An Object of class scRNASeq for which different steps of
#' CONCLUS was applied to. The number of steps to run depends on what is
#' wanted to be saved.
#' @param experimentName Name of the experiment retrieved in the corresponding
#' slot of the scRNASeq object.
#' @param sceObject SingleCellExperiment object retrieved with ?getSceNorm. See
#' ?SingleCellExperiment::SingleCellExperiment for more details.
#' @param outputDir Output directory defined as dataDirectory/1_MatrixInfo.
#' dataDirectory is directly retrieved from the scRNASeq object.
#' @param saveClusteringResults Default=TRUE. Save the final clustering results
#' giving the corresponding cluster number to each cell. The method
#' ?calculateClustersSimilarity should have been run on the object. It is saved
#' in the sub-directory 6_ConclusResult.
#'
#' @keywords internal
#' @noRd
.saveClusteringResults <- function(theObject, experimentName, sceObject,
outputDir, saveClusteringResults){
if (saveClusteringResults){
outputClust <- file.path(outputDir, "6_ConclusResult")
.createFolder(outputClust)
## Export Clustering results
.conclusResult(theObject, sceObject, outputClust,
experimentName)
}
}
#' .saveFullMarkers
#'
#' @description
#' Internal function of exportResults. Save the full markers lists
#' in '7_fullMarkers' sub-directory.
#'
#' @param theObject An Object of class scRNASeq for which different steps of
#' CONCLUS was applied to. The number of steps to run depends on what is
#' wanted to be saved.
#' @param outputDir Output directory defined as dataDirectory/1_MatrixInfo.
#' dataDirectory is directly retrieved from the scRNASeq object.
#' @param saveFullMarkers Default=FALSE. Save the lists of markers that were
#' obtained with ?rankGenes to the sub-directory 7_fullMarkers.
#'
#' @keywords internal
#' @noRd
.saveFullMarkers <- function(theObject, outputDir, saveFullMarkers){
if(saveFullMarkers){
outputFull <- file.path(outputDir, "7_fullMarkers")
.createFolder(outputFull)
.exportMarkers(theObject, outputFull)
}
}
#' .saveTopMarkers
#'
#' @description
#' Internal function of exportResults. Save the top markers per clusters as csv
#' files in '8_TopMarkers' sub-directory.
#'
#' @param theObject An Object of class scRNASeq for which different steps of
#' CONCLUS was applied to. The number of steps to run depends on what is
#' wanted to be saved.
#' @param outputDir Output directory defined as dataDirectory/1_MatrixInfo.
#' dataDirectory is directly retrieved from the scRNASeq object.
#' @param saveTopMarkers Default=FALSE. Save the top markers per clusters as csv
#' files in the sub-directory '8_TopMarkers'. See ?retrieveTopClustersMarkers
#' for more details.
#'
#' @keywords internal
#' @noRd
.saveTopMarkers <- function(theObject, outputDir, saveTopMarkers){
if(saveTopMarkers){
outputTop <- file.path(outputDir, "8_TopMarkers")
.createFolder(outputTop)
.exportMarkers(theObject, outputTop, "Top markers",
top=TRUE)
}
}
#' .saveGenesInfos
#'
#' @description
#' Internal function of exportResults. Save the genes information for each
#' cluster as csv files in '9_genesInfos' sub-directory.
#'
#' @param theObject An Object of class scRNASeq for which different steps of
#' CONCLUS was applied to. The number of steps to run depends on what is
#' wanted to be saved.
#' @param outputDir Output directory defined as dataDirectory/1_MatrixInfo.
#' dataDirectory is directly retrieved from the scRNASeq object.
#' @param saveGenesInfos Default=FALSE. Save the genes information for each
#' cluster as csv files in the sub-directory '9_genesInfos'. See
#' ?retrieveGenesInfo for more details.
#'
#' @keywords internal
#' @noRd
.saveGenesInfos <- function(theObject, outputDir, saveGenesInfos){
if(saveGenesInfos){
outputInfos <- file.path(outputDir, "9_genesInfos")
.createFolder(outputInfos)
.exportGenesInfos(theObject, outputInfos)
}
}
#' exportResults
#'
#' @description
#' Export all the results of Conclus to a Results sub-directory.
#'
#' @usage
#' exportResults(theObject, saveClusteringResults=TRUE, saveAll=FALSE,
#' saveNormalizedMatrix=FALSE, saveColData=FALSE, saveRowData=FALSE,
#' saveTsne=FALSE, saveDBScan=FALSE, saveCellsSimilarityMatrix=FALSE,
#' saveClustersSimilarityMatrix=FALSE, saveFullMarkers=FALSE,
#' saveTopMarkers=FALSE, saveGenesInfos=FALSE)
#'
#' @param theObject An Object of class scRNASeq for which different steps of
#' CONCLUS was applied to. The number of steps to run depends on what is
#' wanted to be saved.
#' @param saveClusteringResults Default=TRUE. Save the final clustering results
#' giving the corresponding cluster number to each cell. The method
#' ?calculateClustersSimilarity should have been run on the object. It is saved
#' in the sub-directory 6_ConclusResult.
#' @param saveAll Default=FALSE. Save all results of CONCLUS. The
#' last step run on the scRNASeq object should be ?retrieveGenesInfo.
#' @param saveNormalizedMatrix Default=FALSE. Save the normalized count matrix
#' as a csv file. It is obtained with ?normaliseCountMatrix. The matrix is saved
#' to the sub-directory '1_MatrixInfo'.
#' @param saveColData Default=FALSE. Save the columns metadata of the normalized
#' count matrix as a tsv file. These data are obtained with
#' ?normaliseCountMatrix or were given as input of the method. These data are
#' saved in the sub-directory '1_MatrixInfo'.
#' @param saveRowData Default=FALSE. Save the raw metadata of the normalized
#' count matrix as a tsv file. These data are obtained with
#' ?normaliseCountMatrix. They are saved in the sub-directory '1_MatrixInfo'.
#' @param saveTsne Default=FALSE. Save the tsne coordinates for each combination
#' of PCs and perplexities as tsv files. These coordinates were obtained with
#' ?generateTSNECoordinates. They are saved in the sub-directory
#' '2_TSNECoordinates'.
#' @param saveDBScan Default=FALSE. Save the clustering results of dbscan as tsv
#' files. The number of clustering solutions is
#' PCs*perplexity*epsilon*minPoints (see ?runDBSCAN, 84 solutions by default).
#' These are saved in the sub-directory '3_dbScan'.
#' @param saveCellsSimilarityMatrix Default=FALSE. Save the cells similarity
#' matrix that was obtained with ?clusterCellsInternal. This matrix is saved in
#' the sub-directory '4_CellSimilarityMatrix'.
#' @param saveClustersSimilarityMatrix Default=FALSE. Save the cluster
#' similarity matrix that was obtained with ?calculateClustersSimilarity. It is
#' saved in the sub-directory '5_ClusterSimilarityMatrix'.
#' @param saveFullMarkers Default=FALSE. Save the lists of markers that were
#' obtained with ?rankGenes to the sub-directory 7_fullMarkers.
#' @param saveTopMarkers Default=FALSE. Save the top markers per clusters as csv
#' files in the sub-directory '8_TopMarkers'. See ?retrieveTopClustersMarkers
#' for more details.
#' @param saveGenesInfos Default=FALSE. Save the genes information for each
#' cluster as csv files in the sub-directory '9_genesInfos'. See
#' ?retrieveGenesInfo for more details.
#'
#' @return Sub-directories containing the results of the different conclus
#' steps. See the 'Quick start' section of the vignette for details.
#'
#' @aliases exportResults
#'
#' @author
#' Ilyess RACHEDI and Nicolas DESCOSTES.
#'
#' @rdname exportResults-scRNAseq
#'
#'
#' @examples
#' ## Object scr containing the results of previous steps
#' load(system.file("extdata/scrFull.Rdat", package="conclus"))
#'
#' ## Saving all results
#' exportResults(scr, saveAll=TRUE)
#'
#' ## Removing output directory
#' unlink("YourOutputDirectory", recursive=TRUE)
#'
#' @exportMethod exportResults
#' @importFrom SummarizedExperiment rowData
#' @importFrom SummarizedExperiment colData
#' @importFrom Biobase exprs
setMethod(
f = "exportResults",
signature = "scRNAseq",
definition = function(theObject, saveClusteringResults=TRUE,
saveAll=FALSE, saveNormalizedMatrix=FALSE, saveColData=FALSE,
saveRowData=FALSE, saveTsne=FALSE, saveDBScan=FALSE,
saveCellsSimilarityMatrix=FALSE,
saveClustersSimilarityMatrix=FALSE, saveFullMarkers=FALSE,
saveTopMarkers=FALSE, saveGenesInfos=FALSE){
if(saveAll){
message("Saving all results.")
saveNormalizedMatrix <- saveColData <- saveRowData <- TRUE
saveTsne <- saveDBScan <- saveCellsSimilarityMatrix <- TRUE
saveClustersSimilarityMatrix <- saveFullMarkers <- TRUE
saveTopMarkers <- saveGenesInfos <- TRUE
}
dataDirectory <- getOutputDirectory(theObject)
experimentName <- getExperimentName(theObject)
sceObject <- getSceNorm(theObject)
outputDir <- file.path(dataDirectory, "Results")
.createFolder(outputDir)
.saveNormalizedMatrix(theObject, experimentName, sceObject,
outputDir, saveNormalizedMatrix, saveRowData,
saveColData)
.saveTsne(theObject, outputDir, saveTsne)
.saveDBScan(theObject, outputDir, saveDBScan)
.saveCellsSimilarityMatrix(theObject, experimentName, outputDir,
saveCellsSimilarityMatrix)
.saveClustersSimilarityMatrix(theObject, experimentName, outputDir,
saveClustersSimilarityMatrix)
.saveClusteringResults(theObject, experimentName, sceObject,
outputDir, saveClusteringResults)
.saveFullMarkers(theObject, outputDir, saveFullMarkers)
.saveTopMarkers(theObject, outputDir, saveTopMarkers)
.saveGenesInfos(theObject, outputDir, saveGenesInfos)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.