## ----pre_install, eval = FALSE------------------------------------------------ # if(!requireNamespace("BiocManager", quietly = TRUE)) # install.packages("BiocManager") # # install from bioconductor # BiocManager::install(c('org.Mm.eg.db','multtest', 'org.Hs.eg.db','clusterProfiler','DEsingle', 'DrImpute', 'scater', 'scran')) # # install from cran # chooseCRANmirror() # BiocManager::install(c('devtools', 'AdaptGauss', "pheatmap", 'mixtools','MCL', 'anocva', "Polychrome", 'qgraph','Rtools','ggpubr',"ggraph", "Seurat")) # ## ----install_IRISFGM, eval= FALSE--------------------------------------------- # BiocManager::install("IRISFGM") ## ----setwd, eval =TRUE, echo = TRUE------------------------------------------- # dir.create("your working directory",recursive = TRUE) # setwd("your working directory") library(IRISFGM) ## ----input_h5, eval= TRUE, echo = TRUE---------------------------------------- # if you will use the ".h5" as input file, please uncomment the following command. # input_matrix <- ReadFrom10X_h5("dir_to_your_hdf5_file") ## ----input_10x, eval = TRUE, echo = TRUE-------------------------------------- # if you will use the 10x folder as input file, please uncomment the following command. # input_matrix <- ReadFrom10X_folder("dir_to_10x_folder") ## ----txt, eval= TRUE, echo = TRUE--------------------------------------------- InputMatrix <- read.table(url("https://raw.githubusercontent.com/BMEngineeR/IRISFGM-data/main/Data/Yan_expression.txt"), header = TRUE, row.names = 1, check.names = FALSE) ## ----create_object, eval= TRUE, echo = TRUE,message=TRUE---------------------- set.seed(123) seed_idx <- sample(1:nrow(InputMatrix),3000) InputMatrix_sub <- InputMatrix[seed_idx,] object <- CreateIRISFGMObject(InputMatrix_sub) ## ----add_metadata, eval= TRUE, echo = TRUE------------------------------------ my_meta <- read.table(url("https://raw.githubusercontent.com/BMEngineeR/IRISFGM-data/main/Data/Yan_cell_label.txt"),header = TRUE,row.names = 1) object <- AddMeta(object, meta.info = my_meta) ## ----plot_metadata,eval= TRUE, echo = TRUE------------------------------------ PlotMeta(object) ## ----subset_data,eval= TRUE, echo = TRUE------------------------------------- object <- SubsetData(object , nFeature.upper=2000,nFeature.lower=250) ## ----ProcessData,echo = TRUE, eval= TRUE-------------------------------------- object <- ProcessData(object, normalization = "cpm", IsImputation = FALSE) ## ----run_LTMG, echo = TRUE,eval = TRUE---------------------------------------- # do not show progress bar quiet <- function(x) { sink(tempfile()) on.exit(sink()) invisible(force(x)) } # demo only run top 500 gene for saving time. object <- quiet(RunLTMG(object, Gene_use = "500")) # you can get LTMG signal matrix LTMG_Matrix <- GetLTMGmatrix(object) LTMG_Matrix[1:5,1:5] ## ----biclustering_basedLTMG,eval= TRUE,echo = TRUE---------------------------- object <- CalBinaryMultiSignal(object) # Please uncomment the following command and make sure to set a correct working directory so that the following command will generate intermeidate files. # object <- RunBicluster(object, DiscretizationModel = "LTMG",OpenDual = FALSE, # NumBlockOutput = 100, BlockOverlap = 0.5, BlockCellMin = 25) ## ----Run_dimReduce, eval= TRUE, echo = TRUE----------------------------------- # demo only run top 500 gene for saving time. object <- RunDimensionReduction(object, mat.source = "UMImatrix",reduction = "umap") object <- RunClassification(object, k.param = 20, resolution = 0.8, algorithm = 1) ## ----cell_type, eval=TRUE, echo =TRUE----------------------------------------- # Please uncomment the following command and make sure your working directory is the same as the directory containing intermediate output files. # object <- FindClassBasedOnMC(object) ## ----load_example_object, eval= TRUE, echo = TRUE----------------------------- data("example_object") getMeta(example_object)[1:5,] ## ----bicluster_network, eval=TRUE, echo =TRUE--------------------------------- PlotNetwork(example_object,N.bicluster = c(1:20)) ## ----bicluster_heatmap, eval=TRUE, echo =TRUE--------------------------------- PlotHeatmap(example_object,N.bicluster = c(1, 20),show.clusters = TRUE,show.annotation=TRUE) ## ----bicluster_network_module, eval=TRUE, echo =TRUE-------------------------- PlotModuleNetwork(example_object,N.bicluster = 3,method = "spearman", cutoff.neg = -0.5, cutoff.pos = 0.5, layout = "circle", node.label = TRUE, node.col = "black", node.label.cex = 10) ## ----cell_clustering_umap, eval=TRUE, echo =TRUE------------------------------ # cell clustering results based on Seurat clustering method PlotDimension(example_object, reduction = "umap",idents = "Seurat_r_0.8_k_20") # cell clustering results based on MCL clustering method PlotDimension(example_object, reduction = "umap",idents = "MC_Label") ## ----cell_clustering_globalmarker, eval=TRUE, echo =TRUE---------------------- global_marker <- FindGlobalMarkers(example_object,idents = "Seurat_r_0.8_k_20") PlotMarkerHeatmap(Globalmarkers = global_marker,object = example_object,idents ="Seurat_r_0.8_k_20") ## ----------------------------------------------------------------------------- sessionInfo()