{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Processing and integrating PBMC TEA-seq data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebooks provides an example for TEA-seq data processing in Python.\n", "\n", "TEA-seq is a method for trimodal single-cell profiling that allows to get gene expression, chromatin accessibility, and epitope information per cell. The method is described in [Swanson et al., 2021](https://elifesciences.org/articles/63632).\n", "\n", "The data used in this notebook is on peripheral blood mononuclear cells (PBMCs) and [can be downloaded from GEO](https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE158013).\n", "We will use a single TEA-seq sample in this notebook — `GSM5123951`." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Change directory to the root folder of the repository\n", "import os\n", "os.chdir(\"../../\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Import libraries" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import scanpy as sc" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import muon as mu\n", "import muon.atac as ac\n", "import muon.prot as pt" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import matplotlib\n", "from matplotlib import pyplot as plt\n", "plt.rcParams['figure.dpi'] = 100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Prepare & load data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will use `*_cellranger-arc_filtered_feature_bc_matrix.h5` and `*_adt_counts.csv.gz` files with counts. For chromatin accessibility, we'll also use `*_atac_filtered_fragments.tsv.gz` files with fragments as well as metadata in `*_atac_filtered_metadata.csv.gz`.\n", "\n", "For this notebook, we work with a single sample." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# This is the directory where those files are downloaded to\n", "data_dir = \"data/teaseq\"" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "data/teaseq/GSM5123951_X066-MP0C1W3_leukopak_perm-cells_tea_200M_atac_filtered_metadata.csv.gz\n", "data/teaseq/GSM5123951_X066-MP0C1W3_leukopak_perm-cells_tea_200M_atac_filtered_fragments.tsv.gz.tbi\n", "data/teaseq/GSM5123951_X066-MP0C1W3_leukopak_perm-cells_tea_48M_adt_counts.csv.gz\n", "data/teaseq/GSM5123951_X066-MP0C1W3_leukopak_perm-cells_tea_200M_atac_filtered_fragments.tsv.gz\n", "data/teaseq/GSM5123951_X066-MP0C1W3_leukopak_perm-cells_tea_200M_cellranger-arc_filtered_feature_bc_matrix.h5\n" ] } ], "source": [ "from glob import glob\n", "for file in glob(f\"{data_dir}/GSM5123951*\"):\n", " print(file)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Construct simple metadata parsed from the filenames:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'GSM5123951': 'W3'}" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "meta = {}\n", "for file in glob(f\"{data_dir}/GSM5123951*\"):\n", " tokens = os.path.basename(file).split(\"_\")\n", " meta[\n", " tokens[0] # GSM5123951\n", " ] = tokens[1][-2:] # W3\n", " \n", "meta" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we will load RNA+ATAC counts." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/bin/miniconda3/envs/issue57/lib/python3.8/site-packages/anndata/_core/anndata.py:1830: UserWarning: Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", " utils.warn_names_duplicates(\"var\")\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Added `interval` annotation for features from data/teaseq/GSM5123951_X066-MP0C1W3_leukopak_perm-cells_tea_200M_cellranger-arc_filtered_feature_bc_matrix.h5\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/bin/miniconda3/envs/issue57/lib/python3.8/site-packages/anndata/_core/anndata.py:1830: UserWarning: Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", " utils.warn_names_duplicates(\"var\")\n", "mudata/_core/mudata.py:437: UserWarning: var_names are not unique. To make them unique, call `.var_names_make_unique`.\n", " warnings.warn(\n", "mudata/mudata/_core/mudata.py:437: UserWarning: var_names are not unique. To make them unique, call `.var_names_make_unique`.\n", " warnings.warn(\n" ] } ], "source": [ "get_h5_file = lambda root, s, w: f\"{root}/{s}_X066-MP0C1{w}_leukopak_perm-cells_tea_200M_cellranger-arc_filtered_feature_bc_matrix.h5\"\n", "\n", "s, w = list(meta.items())[0]\n", "\n", "mdata = mu.read_10x_h5(\n", " get_h5_file(data_dir, s, w)\n", ")\n", "\n", "mdata.obs[\"sample\"] = s\n", "mdata.obs[\"well\"] = w\n", "\n", "mdata.update()\n", "mdata.var_names_make_unique()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
MuData object with n_obs × n_vars = 7966 × 138155\n", " obs:\t'sample', 'well'\n", " var:\t'gene_ids', 'feature_types', 'genome', 'interval'\n", " 2 modalities\n", " rna:\t7966 x 36601\n", " var:\t'gene_ids', 'feature_types', 'genome', 'interval'\n", " atac:\t7966 x 101554\n", " var:\t'gene_ids', 'feature_types', 'genome', 'interval'" ], "text/plain": [ "MuData object with n_obs × n_vars = 7966 × 138155\n", " obs:\t'sample', 'well'\n", " var:\t'gene_ids', 'feature_types', 'genome', 'interval'\n", " 2 modalities\n", " rna:\t7966 x 36601\n", " var:\t'gene_ids', 'feature_types', 'genome', 'interval'\n", " atac:\t7966 x 101554\n", " var:\t'gene_ids', 'feature_types', 'genome', 'interval'" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mdata" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use [rich representation](https://muon.readthedocs.io/en/latest/notebooks/quickstart_mudata.html#Rich-representation) to explore the structure of the object." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "mu.set_options(display_style=\"html\", display_html_expand=0b000);" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "MuData object 7966 obs × 138155 var in 2 modalities
sample | object | GSM5123951,GSM5123951,GSM5123951,GSM5123951,... | \n", "
well | object | W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,... | \n", "
prot:total_counts | int64 | 863,957,1108,899,1155,835,820,643,822,776,406,... | \n", "
sample | object | GSM5123951,GSM5123951,GSM5123951,GSM5123951,... | \n", "
well | object | W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,... | \n", "
total_counts | int64 | 863,957,1108,899,1155,835,820,643,822,776,406,... | \n", "
\n", " | original_barcodes | \n", "n_fragments | \n", "n_duplicate | \n", "n_mito | \n", "n_unique | \n", "altius_count | \n", "altius_frac | \n", "gene_bodies_count | \n", "gene_bodies_frac | \n", "peaks_count | \n", "peaks_frac | \n", "tss_count | \n", "tss_frac | \n", "barcodes | \n", "cell_name | \n", "well_id | \n", "chip_id | \n", "batch_id | \n", "pbmc_sample_id | \n", "DoubletScore | \n", "DoubletEnrichment | \n", "TSSEnrichment | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "GTGTGAGCATGCTATG-1 | \n", "38760 | \n", "17870 | \n", "2 | \n", "17316 | \n", "13692 | \n", "0.790714 | \n", "11785 | \n", "0.680584 | \n", "10043 | \n", "0.579984 | \n", "5100 | \n", "0.294525 | \n", "69c6c7c43ef411ebb8b442010a19c80f | \n", "unblacked_accurate_myotis | \n", "X066-AP0C1W3 | \n", "X066-AP0C1 | \n", "X066 | \n", "X066-Well3 | \n", "0.000000 | \n", "0.257143 | \n", "8.046 | \n", "
1 | \n", "TCACCGGCACAGAACG-1 | \n", "12820 | \n", "7294 | \n", "12 | \n", "4291 | \n", "3751 | \n", "0.874155 | \n", "3128 | \n", "0.728968 | \n", "3159 | \n", "0.736192 | \n", "2194 | \n", "0.511303 | \n", "69c7d3ee3ef411ebb8b442010a19c80f | \n", "fabulous_panphobic_tahr | \n", "X066-AP0C1W3 | \n", "X066-AP0C1 | \n", "X066 | \n", "X066-Well3 | \n", "0.000000 | \n", "0.114286 | \n", "8.997 | \n", "
2 | \n", "AAAGGACGTACAATGT-1 | \n", "16117 | \n", "9524 | \n", "0 | \n", "4989 | \n", "4561 | \n", "0.914211 | \n", "3602 | \n", "0.721988 | \n", "3863 | \n", "0.774303 | \n", "2828 | \n", "0.566847 | \n", "69be295c3ef411ebb8b442010a19c80f | \n", "tricky_anaemic_mayfly | \n", "X066-AP0C1W3 | \n", "X066-AP0C1 | \n", "X066 | \n", "X066-Well3 | \n", "0.000000 | \n", "0.085714 | \n", "11.081 | \n", "
3 | \n", "CAGCCTAAGACAACAG-1 | \n", "44967 | \n", "24156 | \n", "0 | \n", "17456 | \n", "15918 | \n", "0.911893 | \n", "12033 | \n", "0.689333 | \n", "13724 | \n", "0.786205 | \n", "7241 | \n", "0.414814 | \n", "69c161123ef411ebb8b442010a19c80f | \n", "agonizing_haughty_collie | \n", "X066-AP0C1W3 | \n", "X066-AP0C1 | \n", "X066 | \n", "X066-Well3 | \n", "2.351825 | \n", "1.828571 | \n", "12.804 | \n", "
4 | \n", "ACTCGCTTCCAGGAAA-1 | \n", "16526 | \n", "8896 | \n", "0 | \n", "6227 | \n", "5584 | \n", "0.896740 | \n", "4286 | \n", "0.688293 | \n", "4747 | \n", "0.762325 | \n", "2658 | \n", "0.426851 | \n", "69bf6b003ef411ebb8b442010a19c80f | \n", "exorcistic_harmonic_bushbaby | \n", "X066-AP0C1W3 | \n", "X066-AP0C1 | \n", "X066 | \n", "X066-Well3 | \n", "0.000000 | \n", "1.400000 | \n", "21.016 | \n", "
\n", " | Chromosome | \n", "Start | \n", "End | \n", "gene_id | \n", "gene_name | \n", "
---|---|---|---|---|---|
AL627309.5 | \n", "chr1 | \n", "149706 | \n", "173862 | \n", "ENSG00000241860 | \n", "AL627309.5 | \n", "
LINC01409 | \n", "chr1 | \n", "778757 | \n", "803934 | \n", "ENSG00000237491 | \n", "LINC01409 | \n", "
LINC01128 | \n", "chr1 | \n", "827597 | \n", "860227 | \n", "ENSG00000228794 | \n", "LINC01128 | \n", "
rna:n_genes_by_counts | int32 | 1375,957,1052,1253,783,681,922,828,1083,1161,998,... | \n", "
rna:total_counts | float32 | 2509.00,1405.00,1777.00,2399.00,1501.00,1018.00,... | \n", "
rna:total_counts_mt | float32 | 200.00,119.00,298.00,277.00,448.00,144.00,411.00,... | \n", "
rna:pct_counts_mt | float32 | 7.97,8.47,16.77,11.55,29.85,14.15,24.49,27.18,... | \n", "
rna:leiden | object | 2,2,7,0,8,3,8,3,5,1,0,2,2,2,1,2,6,0,3,0,0,4,4,1,1,... | \n", "
atac:n_fragments | float64 | 13705.00,11567.00,25610.00,30969.00,16007.00,... | \n", "
atac:n_duplicate | float64 | 8269.00,6897.00,15043.00,17513.00,8686.00,6703.00,... | \n", "
atac:n_mito | float64 | 50.00,0.00,0.00,128.00,899.00,4.00,3.00,0.00,0.00,... | \n", "
atac:n_unique | float64 | 4163.00,3516.00,8395.00,10883.00,4839.00,3152.00,... | \n", "
atac:altius_count | float64 | 3777.00,3145.00,7613.00,9992.00,4314.00,2806.00,... | \n", "
atac:altius_frac | float64 | 0.91,0.89,0.91,0.92,0.89,0.89,0.90,0.89,0.89,0.91,... | \n", "
atac:gene_bodies_count | float64 | 3070.00,2545.00,6168.00,7951.00,3514.00,2263.00,... | \n", "
atac:gene_bodies_frac | float64 | 0.74,0.72,0.73,0.73,0.73,0.72,0.71,0.72,0.74,0.74,... | \n", "
atac:peaks_count | float64 | 3245.00,2648.00,6466.00,8669.00,3617.00,2408.00,... | \n", "
atac:peaks_frac | float64 | 0.78,0.75,0.77,0.80,0.75,0.76,0.77,0.74,0.74,0.76,... | \n", "
atac:tss_count | float64 | 2422.00,2053.00,5054.00,6165.00,2644.00,1812.00,... | \n", "
atac:tss_frac | float64 | 0.58,0.58,0.60,0.57,0.55,0.57,0.54,0.57,0.59,0.57,... | \n", "
atac:barcodes | object | 69be0ea43ef411ebb8b442010a19c80f,... | \n", "
atac:cell_name | object | viceregal_unconstant_hornet,... | \n", "
atac:well_id | object | X066-AP0C1W3,X066-AP0C1W3,X066-AP0C1W3,... | \n", "
atac:chip_id | object | X066-AP0C1,X066-AP0C1,X066-AP0C1,X066-AP0C1,... | \n", "
atac:batch_id | object | X066,X066,X066,X066,X066,X066,X066,X066,X066,X066,... | \n", "
atac:pbmc_sample_id | object | X066-Well3,X066-Well3,X066-Well3,X066-Well3,... | \n", "
atac:DoubletScore | float64 | 0.00,0.00,0.00,0.00,0.00,11.71,0.00,0.83,0.00,... | \n", "
atac:DoubletEnrichment | float64 | 0.37,1.23,1.26,0.69,0.89,2.46,0.34,1.69,1.00,0.74,... | \n", "
atac:TSSEnrichment | float64 | 17.69,18.75,21.54,21.58,15.49,23.57,19.00,18.32,... | \n", "
atac:n_genes_by_counts | int32 | 2846,2366,4987,6409,3105,2126,3849,2472,3107,4512,... | \n", "
atac:total_counts | float32 | 7103.00,5916.00,14559.00,19267.00,8280.00,5259.00,... | \n", "
atac:nucleosome_signal | float64 | 0.67,0.77,0.69,0.42,0.54,0.69,0.53,0.52,0.41,0.69,... | \n", "
atac:tss_score | float64 | 9.91,5.17,6.09,4.33,6.03,10.30,5.83,3.20,14.67,... | \n", "
atac:n_counts | float32 | 7102.00,5915.00,14559.00,19266.00,8280.00,5259.00,... | \n", "
atac:leiden | object | 0,0,7,1,9,4,9,0,6,2,1,0,0,0,2,0,3,1,0,1,1,5,2,2,4,... | \n", "
prot:total_counts | int64 | 863,957,899,835,820,643,822,776,406,923,909,1320,... | \n", "
sample | object | GSM5123951,GSM5123951,GSM5123951,GSM5123951,... | \n", "
well | object | W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,W3,... | \n", "
leiden_multiplex | object | 0,0,4,1,1,0,1,0,5,3,1,0,0,0,2,0,6,1,0,1,1,3,4,2,2,... | \n", "
leiden_mofa | category | 0,0,6,2,7,0,7,0,5,3,2,4,0,0,1,4,8,7,0,7,2,3,3,1,1,... | \n", "
rna:mod_weight | float64 | 0.33,0.30,0.34,0.30,0.30,0.33,0.21,0.32,0.33,0.31,... | \n", "
atac:mod_weight | float64 | 0.33,0.30,0.33,0.30,0.26,0.35,0.29,0.33,0.34,0.31,... | \n", "
prot:mod_weight | float64 | 0.35,0.40,0.33,0.40,0.45,0.33,0.50,0.36,0.33,0.39,... | \n", "
leiden_wnn | category | 0,0,4,1,7,0,7,0,5,3,1,0,0,0,2,0,6,1,0,1,1,3,3,2,2,... | \n", "
celltype | category | naïve CD4+ T,naïve CD4+ T,naïve CD8+ T,naïve B,... | \n", "
X_mofa | float64 | numpy.ndarray | 10 dims | \n", "
X_umap | float32 | numpy.ndarray | 2 dims | \n", "
X_mofa_umap | float32 | numpy.ndarray | 2 dims | \n", "
X_wnn_umap | float32 | numpy.ndarray | 2 dims | \n", "
mofa_distances | float64 | scipy.sparse._csr.csr_matrix | \n", "
mofa_connectivities | float32 | scipy.sparse._csr.csr_matrix | \n", "
wnn_distances | float32 | scipy.sparse._csr.csr_matrix | \n", "
wnn_connectivities | float32 | scipy.sparse._csr.csr_matrix | \n", "
leiden | dict | 1 element | params: resolution,random_state,n_iterations | \n", "
mofa | dict | 3 elements | connectivities_key,distances_key,params | \n", "
umap | dict | 1 element | params: a,b,random_state | \n", "
leiden_mofa_colors | list | 11 elements | #1f77b4,#ff7f0e,#279e68,#d62728,#aa40fc,#8c564b,... | \n", "
wnn | dict | 3 elements | connectivities_key,distances_key,params | \n", "
leiden_wnn_colors | list | 11 elements | #1f77b4,#ff7f0e,#279e68,#d62728,#aa40fc,#8c564b,... | \n", "
celltype_colors | list | 9 elements | #8000ff,#4062fa,#00b5eb,#40ecd4,#80ffb4,#c0eb8d,... | \n", "
lognorm | float32 | scipy.sparse._csr.csr_matrix | \n", " |
n_genes_by_counts | int32 | 1375,957,1052,1253,783,681,922,828,1083,1161,998,... | \n", "
total_counts | float32 | 2509.00,1405.00,1777.00,2399.00,1501.00,1018.00,... | \n", "
total_counts_mt | float32 | 200.00,119.00,298.00,277.00,448.00,144.00,411.00,... | \n", "
pct_counts_mt | float32 | 7.97,8.47,16.77,11.55,29.85,14.15,24.49,27.18,... | \n", "
leiden | category | 2,2,7,0,8,3,8,3,5,1,0,2,2,2,1,2,6,0,3,0,0,4,4,1,1,... | \n", "
X_pca | float32 | numpy.ndarray | 50 dims | \n", "
X_umap | float32 | numpy.ndarray | 2 dims | \n", "
distances | float64 | scipy.sparse._csr.csr_matrix | \n", "
connectivities | float32 | scipy.sparse._csr.csr_matrix | \n", "
log1p | dict | 1 element | base: None | \n", "
hvg | dict | 1 element | flavor: seurat | \n", "
pca | dict | 3 elements | params,variance,variance_ratio | \n", "
neighbors | anndata.compat._overloaded_dict.OverloadedDict | 3 elements | connectivities_key,distances_key,params | \n", "
leiden | dict | 1 element | params: resolution,random_state,n_iterations | \n", "
umap | dict | 1 element | params: a,b,random_state | \n", "
leiden_colors | list | 13 elements | #1f77b4,#ff7f0e,#279e68,#d62728,#aa40fc,#8c564b,... | \n", "
counts | float32 | scipy.sparse._csr.csr_matrix | \n", " |
lognorm | float32 | scipy.sparse._csr.csr_matrix | \n", " |
n_fragments | float64 | 13705.00,11567.00,25610.00,30969.00,16007.00,... | \n", "
n_duplicate | float64 | 8269.00,6897.00,15043.00,17513.00,8686.00,6703.00,... | \n", "
n_mito | float64 | 50.00,0.00,0.00,128.00,899.00,4.00,3.00,0.00,0.00,... | \n", "
n_unique | float64 | 4163.00,3516.00,8395.00,10883.00,4839.00,3152.00,... | \n", "
altius_count | float64 | 3777.00,3145.00,7613.00,9992.00,4314.00,2806.00,... | \n", "
altius_frac | float64 | 0.91,0.89,0.91,0.92,0.89,0.89,0.90,0.89,0.89,0.91,... | \n", "
gene_bodies_count | float64 | 3070.00,2545.00,6168.00,7951.00,3514.00,2263.00,... | \n", "
gene_bodies_frac | float64 | 0.74,0.72,0.73,0.73,0.73,0.72,0.71,0.72,0.74,0.74,... | \n", "
peaks_count | float64 | 3245.00,2648.00,6466.00,8669.00,3617.00,2408.00,... | \n", "
peaks_frac | float64 | 0.78,0.75,0.77,0.80,0.75,0.76,0.77,0.74,0.74,0.76,... | \n", "
tss_count | float64 | 2422.00,2053.00,5054.00,6165.00,2644.00,1812.00,... | \n", "
tss_frac | float64 | 0.58,0.58,0.60,0.57,0.55,0.57,0.54,0.57,0.59,0.57,... | \n", "
barcodes | object | 69be0ea43ef411ebb8b442010a19c80f,... | \n", "
cell_name | object | viceregal_unconstant_hornet,... | \n", "
well_id | category | X066-AP0C1W3,X066-AP0C1W3,X066-AP0C1W3,... | \n", "
chip_id | category | X066-AP0C1,X066-AP0C1,X066-AP0C1,X066-AP0C1,... | \n", "
batch_id | category | X066,X066,X066,X066,X066,X066,X066,X066,X066,X066,... | \n", "
pbmc_sample_id | category | X066-Well3,X066-Well3,X066-Well3,X066-Well3,... | \n", "
DoubletScore | float64 | 0.00,0.00,0.00,0.00,0.00,11.71,0.00,0.83,0.00,... | \n", "
DoubletEnrichment | float64 | 0.37,1.23,1.26,0.69,0.89,2.46,0.34,1.69,1.00,0.74,... | \n", "
TSSEnrichment | float64 | 17.69,18.75,21.54,21.58,15.49,23.57,19.00,18.32,... | \n", "
n_genes_by_counts | int32 | 2846,2366,4987,6409,3105,2126,3849,2472,3107,4512,... | \n", "
total_counts | float32 | 7103.00,5916.00,14559.00,19267.00,8280.00,5259.00,... | \n", "
nucleosome_signal | float64 | 0.67,0.77,0.69,0.42,0.54,0.69,0.53,0.52,0.41,0.69,... | \n", "
tss_score | float64 | 9.91,5.17,6.09,4.33,6.03,10.30,5.83,3.20,14.67,... | \n", "
n_counts | float32 | 7102.00,5915.00,14559.00,19266.00,8280.00,5259.00,... | \n", "
leiden | category | 0,0,7,1,9,4,9,0,6,2,1,0,0,0,2,0,3,1,0,1,1,5,2,2,4,... | \n", "
X_pca | float32 | numpy.ndarray | 50 dims | \n", "
X_umap | float32 | numpy.ndarray | 2 dims | \n", "
distances | float64 | scipy.sparse._csr.csr_matrix | \n", "
connectivities | float32 | scipy.sparse._csr.csr_matrix | \n", "
files | dict | 1 element | fragments: data/teaseq/GSM5123951_X066-MP0C1W3_leukopak_perm-cells_tea_200M_atac_filtered_fragments.tsv.gz | \n", "
log1p | dict | 1 element | base: None | \n", "
hvg | dict | 1 element | flavor: seurat | \n", "
pca | dict | 3 elements | params,variance,variance_ratio | \n", "
neighbors | anndata.compat._overloaded_dict.OverloadedDict | 3 elements | connectivities_key,distances_key,params | \n", "
leiden | dict | 1 element | params: resolution,random_state,n_iterations | \n", "
umap | dict | 1 element | params: a,b,random_state | \n", "
leiden_colors | list | 11 elements | #1f77b4,#ff7f0e,#279e68,#d62728,#aa40fc,#8c564b,... | \n", "
counts | float32 | numpy.ndarray | \n", " |
total_counts | int64 | 863,957,899,835,820,643,822,776,406,923,909,1320,... | \n", "
X_pca | float32 | numpy.ndarray | 45 dims | \n", "
X_umap | float32 | numpy.ndarray | 2 dims | \n", "
distances | float64 | scipy.sparse._csr.csr_matrix | \n", "
connectivities | float32 | scipy.sparse._csr.csr_matrix | \n", "
pca | dict | 3 elements | params,variance,variance_ratio | \n", "
neighbors | anndata.compat._overloaded_dict.OverloadedDict | 3 elements | connectivities_key,distances_key,params | \n", "
umap | dict | 1 element | params: a,b,random_state | \n", "