```{bash, echo=FALSE} wget --no-verbose https://cf.10xgenomics.com/samples/cell-arc/1.0.0/pbmc_granulocyte_sorted_10k/pbmc_granulocyte_sorted_10k_atac_fragments.tsv.gz wget --no-verbose https://cf.10xgenomics.com/samples/cell-arc/1.0.0/pbmc_granulocyte_sorted_10k/pbmc_granulocyte_sorted_10k_atac_fragments.tsv.gz.tbi wget --no-check-certificate --no-verbose https://costalab.ukaachen.de/open_data/MOJITOO/PBMC-Multiom_annotation.tsv wget --no-verbose https://cf.10xgenomics.com/samples/cell-arc/1.0.0/pbmc_granulocyte_sorted_10k/pbmc_granulocyte_sorted_10k_filtered_feature_bc_matrix.h5
### 2. library ```r suppressPackageStartupMessages(library(MOJITOO)) suppressPackageStartupMessages(library(parallel)) suppressPackageStartupMessages(library(ArchR)) suppressPackageStartupMessages(library(Seurat)) suppressPackageStartupMessages(library(ggsci)) suppressPackageStartupMessages(library(stringr)) suppressPackageStartupMessages(library(EnsDb.Hsapiens.v86)) addArchRGenome("hg38") addArchRThreads(30)
inputFiles <- "pbmc_granulocyte_sorted_10k_atac_fragments.tsv.gz" ArrowFiles <- createArrowFiles(inputFiles = inputFiles, sampleNames = "pbmc", minTSS = 0, ##4 filterFrags = 0, ## 1000 addTileMat = T, addGeneScoreMat = F) ArrowFiles <- "pbmc.arrow" proj <- ArchRProject(ArrowFiles = ArrowFiles, outputDirectory = "PBMC", copyArrows = T, showLogo=F) meta <- read.csv("PBMC-Multiom_annotation.tsv", sep="\t") rownames(meta) <- paste0("pbmc#", (meta$barcode)) bc <- intersect(rownames(proj@cellColData), rownames(meta)) meta <- meta[bc, ] proj <- proj[bc, ] proj <- setCellCol(proj, meta=meta) gene.coords <- genes(EnsDb.Hsapiens.v86, filter = ~ gene_biotype == "protein_coding") ucsc.levels <- stringr::str_replace(string=paste("chr",seqlevels(gene.coords),sep=""), pattern="chrMT", replacement="chrM") seqlevels(gene.coords) <- ucsc.levels genebody.coords <- keepStandardChromosomes(gene.coords, pruning.mode = 'coarse') mtxs <- Read10X_h5("pbmc_granulocyte_sorted_10k_filtered_feature_bc_matrix.h5") RNA <- mtxs[["Gene Expression"]] colnames(RNA) <- paste0("pbmc#", colnames(RNA)) RNA <- RNA[, rownames(proj@cellColData)] inter_gene_name <- intersect(rownames(RNA), elementMetadata(genebody.coords)$gene_name) gtfMatch <- genebody.coords[na.omit(match(rownames(RNA), genebody.coords$gene_name))] names(gtfMatch) <- gtfMatch$gene_name seRNA <- SummarizedExperiment( assays = SimpleList(counts=RNA[inter_gene_name, ]), rowData = gtfMatch ) proj <- addGeneExpressionMatrix(proj, seRNA)
proj <- addIterativeLSI(ArchRProj = proj, useMatrix = "TileMatrix", name = "IterativeLSI", iterations = 2, varFeatures = 25000, dimsToUse = 1:30) object <- CreateSeuratObject(counts=RNA, assay="RNA") object <- NormalizeData(object, normalization.method = "LogNormalize", scale.factor = 10000, verbose=F) object <- FindVariableFeatures(object, nfeatures=3000, verbose=F) object <- ScaleData(object, verbose=F) object <- RunPCA(object, npcs=50, reduction.name="RNA_PCA", verbose=F) proj <- setDimRed(proj, mtx=Embeddings(object[["RNA_PCA"]]), type="reducedDims", reduction.name="RNA_PCA") saveArchRProject(proj)
proj <- loadArchRProject("PBMC", showLogo=F) proj <- mojitoo( object=proj, reduction.list = list("RNA_PCA", "IterativeLSI"), dims.list = list(1:50, 1:30), is.reduction.center=T, is.reduction.scale=T, reduction.name='MOJITOO' ) proj <- addUMAP( ArchRProj = proj, reducedDims = "MOJITOO", name = "MOJITOO_UMAP", nNeighbors = 30, minDist = 0.5, metric = "cosine" )
p <- plotEmbedding(ArchRProj = proj, colorBy = "cellColData", name = "annotation", embedding = "MOJITOO_UMAP") p
sessionInfo()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.