Note
Click here to download the full example code
Deep Profiling of Mouse Splenic Architecture with CODEX Multiplexed ImagingΒΆ
Yury Goltsev, Nikolay Samusik, Julia Kennedy-Darling, Salil Bhate, Matthew Hale, Gustavo Vazquez, Sarah Black, Garry P. Nolan
The data can be downloaded here: http://welikesharingdata.blob.core.windows.net/forshare/index.html and the paper is available here: https://doi.org/10.1016/j.cell.2018.07.010
from collections import defaultdict
from io import BytesIO
import pandas as pd
import requests
import starspace
from starspace.constants import *
response = requests.get(
"https://d24h2xsgaj29mf.cloudfront.net/raw/codex_goltsev_2018_cell_spleen/"
"Suppl.Table2.CODEX_paper_MRLdatasetexpression.csv"
)
data = pd.read_csv(BytesIO(response.content))
attributes = {
REQUIRED_ATTRIBUTES.ASSAY: ASSAYS.CODEX,
REQUIRED_ATTRIBUTES.SAMPLE_TYPE: "spleen",
REQUIRED_ATTRIBUTES.AUTHORS: [
"Yury Goltsev", "Nikolay Samusik", "Julia Kennedy-Darling", "Salil Bhate", "Matthew Hale",
"Gustavo Vazquez", "Sarah Black", "Garry P. Nolan"
],
REQUIRED_ATTRIBUTES.YEAR: 2018,
REQUIRED_ATTRIBUTES.ORGANISM: "mouse",
OPTIONAL_ATTRIBUTES.PUBLICATION_URL: "https://doi.org/10.1016/j.cell.2018.07.010",
OPTIONAL_ATTRIBUTES.PUBLICATION_NAME:
"Deep Profiling of Mouse Splenic Architecture with CODEX Multiplexed Imaging",
}
dims = tuple(MATRIX_AXES)
x = data["X.X"]
y = data["Y.Y"]
z = data["Z.Z"]
group = data["niche cluster ID"]
metadata_col = data["sample_Xtile_Ytile"]
type_annotation = data["Imaging phenotype cluster ID"]
data = data.drop(
["X.X", "Y.Y", "Z.Z", "sample_Xtile_Ytile", "niche cluster ID", "Imaging phenotype cluster ID"],
axis=1
)
additional_metadata = defaultdict(list)
for i, v in enumerate(metadata_col):
sample_type, fov_x, fov_y = v.split('_')
additional_metadata["sample_type"].append(sample_type)
additional_metadata["fov_x"].append(int(fov_x.strip("X")))
additional_metadata["fov_y"].append(int(fov_y.strip("Y")))
additional_metadata = pd.DataFrame(additional_metadata)
coords = {
MATRIX_REQUIRED_REGIONS.REGION_ID: (MATRIX_AXES.REGIONS, data.index),
MATRIX_REQUIRED_FEATURES.GENE_NAME: (MATRIX_AXES.FEATURES, data.columns),
MATRIX_REQUIRED_REGIONS.X_REGION: (MATRIX_AXES.REGIONS, x),
MATRIX_REQUIRED_REGIONS.Y_REGION: (MATRIX_AXES.REGIONS, y),
MATRIX_OPTIONAL_REGIONS.Z_REGION: (MATRIX_AXES.REGIONS, z),
MATRIX_OPTIONAL_REGIONS.GROUP_ID: (MATRIX_AXES.REGIONS, group),
MATRIX_OPTIONAL_REGIONS.TYPE_ANNOTATION: (MATRIX_AXES.REGIONS, type_annotation),
"fov_x": (MATRIX_AXES.REGIONS, additional_metadata["fov_x"]),
"fov_y": (MATRIX_AXES.REGIONS, additional_metadata["fov_y"]),
"sample_type": (MATRIX_AXES.REGIONS, additional_metadata["sample_type"])
}
matrix = starspace.Matrix.from_expression_data(data.values, coords, dims, attributes)
url = ("codex_goltsev_2018_cell_spleen/")
matrix.save_zarr(url=url)
Total running time of the script: ( 0 minutes 0.000 seconds)