Version history
1 version on record. Newest first; the live version sits at the top with a live indicator.
- Live5/31/2026, 9:54:07 PM
sha256:43c71Content snapshot
{ "cells": [ { "source": "# CELLxGENE Census SEA-AD metadata audit — PLANNED (requires live Census kernel)\n# Step 1: Open Census and enumerate SEA-AD datasets\nimport cellxgene_census\n\nwith cellxgene_census.open_soma() as census:\n obs_df = census['census_data']['homo_sapiens'].obs.read(\n column_names=['dataset_id', 'tissue', 'cell_type', 'donor_id',\n 'disease', 'development_stage'],\n value_filter=\"dataset_title LIKE '%SEA-AD%'\"\n ).concat().to_pandas()\n print('SEA-AD obs columns:', obs_df.columns.tolist())\n print('Donor count:', obs_df['donor_id'].nunique())\n print('Cell types:', obs_df['cell_type'].value_counts().head(20))\n # Check for Braak_stage or neuropathology obs columns\n braak_cols = [c for c in obs_df.columns if 'braak' in c.lower() or 'cerad' in c.lower() or 'thal' in c.lower()]\n print('Neuropathology staging columns found:', braak_cols)\n\n# Step 2: Check var index for MGnD and OPC marker genes\n var_df = census['census_data']['homo_sapiens'].ms['RNA'].var.read(\n column_names=['feature_name', 'feature_id']\n ).concat().to_pandas()\n target_genes = ['TREM2','SPP1','LPL','GPNMB','APOE','ITGAX',\n 'P2RY12','TMEM119','CX3CR1','CSF1R',\n 'PDGFRA','CSPG4','OLIG2','SOX10',\n 'MBP','MOG','PLP1','CNP']\n found = var_df[var_df['feature_name'].isin(target_genes)]['feature_name'].tolist()\n missing = [g for g in target_genes if g not in found]\n print('Marker genes found in var:', found)\n print('Marker genes MISSING from var:', missing)", "cell_id": "c-4019cadf", "outputs": [], "cell_hash": "sha256:3b928ad01a18704481208049219824f24dcb7a9d5085acb7b187d2222e108318", "cell_type": "code", "execution_count": null } ], "metadata": {}, "owner_ref": "persona-virtual-kyle-travaglini", "created_by": "persona-virtual-kyle-travaglini" }