[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DTMA0FWHNVPAD5KYP9DFX0":3,"skill-same:01M6DTMA0FWHNVPAD5KYP9DFX0":127},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6DTMA0FWHNVPAD5KYP9DFX0","spatial-de",null,"Load when ranking spatial cluster markers or comparing two spatial groups. Skip when the data is single-cell (use sc-de), bulk (use bulkrna-de), or for spatially variable expression (use spatial-genes).","TianGzlab\u002FOmicsClaw","TianGzlab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F150978281?v=4","01M6DT9WNJJ470ADHPSMFAA02Y","01M6DT9WSN09C5K65GB6RK18R9",161,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"spatial de","Spatial","de","ranking","pseudobulk","markers","wilcoxon","bulkrna","differential-expression","single-cell","test","expression","t-test","cell","use","pydeseq2","data","2026-11-10 10:12:30",false,"---\nname: spatial-de\ndescription: Load when ranking spatial cluster markers or comparing two spatial groups. Skip when the data is single-cell (use sc-de), bulk (use bulkrna-de), or for spatially variable expression (use spatial-genes).\ntrigger: differential expression, marker gene, pseudobulk, Wilcoxon, t-test, PyDESeq2, spatial DE\ntags:\n- spatial\n- differential-expression\n- markers\n- wilcoxon\n- t-test\n- pydeseq2\n- pseudobulk\n---\n\n# spatial-de\n\n## When to use\n\nRank spatial group markers with Wilcoxon or t-test, or compare conditions\nwith sample-aware PyDESeq2 pseudobulk. Biological sample labels are required;\nspatial spots do not supply independent replicates.\n\n## Use from a step\n\n```python\nfrom skills._sdk.notebook import load_skill, read_input, write_output\nlibrary = load_skill(\"spatial-de\")\nadata = read_input(\"processed.h5ad\")\nlibrary.differential_expression(adata, groupby=\"leiden\")\nwrite_output(library.results(adata), \"tables\u002Fde_full.csv\")\n```\n\nThe executable example checks known markers in simulated spatial domains.\n\n## API\n\n\u003C!-- api:begin generated from _api.py; regenerate with run.py api \u003Cskill dir> --write -->\n\n### `differential_expression(adata, *, method='wilcoxon', groupby='leiden', group1=None, group2=None, n_top_genes=10, fdr_threshold=0.05, log2fc_threshold=1.0, **parameters)`\n\nTest groups and return the same AnnData, with results in its diagnostics.\n\nScanpy uses raw when present, otherwise log-normalized X. PyDESeq2 uses\ncounts, then raw, then X; provide integer counts and biological samples.\n\n:param adata: Expression and group labels; modified in place.\n:param method: CLI default wilcoxon; t-test or pydeseq2 for other tests.\n:param groupby: CLI default leiden; obs column defining comparisons.\n:param group1: Tested group, or None for each group versus rest.\n:param group2: Reference group; supply together with group1.\n:param n_top_genes: CLI default 10 marker genes per group.\n:param fdr_threshold: CLI default 0.05 adjusted-p-value threshold.\n:param log2fc_threshold: CLI default 1.0 effect-size threshold.\n:param parameters: Method-specific CLI parameters from references\u002Fparameters.md.\n:returns: The same AnnData; results returns the full result table.\n:raises ValueError: Groups, method or sample replication are invalid.\n:raises ImportError: PyDESeq2 is unavailable; use install_skill_deps.\n\n### `results(adata, *, markers_only=False)`\n\nReturn the full or selected marker table without changing expression.\n\n:param adata: AnnData returned by differential_expression.\n:param markers_only: Default False; True selects the reported top markers.\n:returns: A new DataFrame with method-native effect and significance columns.\n:raises ValueError: No differential expression run is recorded.\n\n### `run_info(adata, *, keep=True)`\n\nRead diagnostics and the result tables from the most recent run.\n\n:param adata: AnnData returned by differential_expression.\n:param keep: Default True; False removes diagnostics before CLI serialization.\n:returns: Diagnostic dictionary including full_df and markers_df.\n:raises ValueError: No differential expression run is recorded.\n\n### `volcano_figure(adata, *, group=None)`\n\nPlot effect size against adjusted significance for one comparison.\n\n:param adata: AnnData returned by differential_expression.\n:param group: Tested group; None chooses the first reported group.\n:returns: A matplotlib Figure; no files are written.\n:raises ValueError: No results exist for the selected group.\n\n\u003C!-- api:end -->\n\n## Methods and parameters\n\nScanpy ranks every gene, then optionally filters markers. PyDESeq2 requires\nboth group labels and two retained pseudobulk profiles per condition. It uses\na paired design when two biological samples contribute to both groups.\nSee [parameters](references\u002Fparameters.md) for keyword arguments and\n[methodology](references\u002Fmethodology.md) for matrix and design details.\n\n## Gotchas\n\n- `differential_expression` uses Scanpy's raw preference when raw exists;\n  otherwise provide log-normalized X. Count methods prefer `layers['counts']`.\n- `run_info()['design_formula']` records the PyDESeq2 paired\u002Funpaired design.\n- `tables\u002Fskipped_sample_groups.csv` records bins below the cell threshold.\n- `results(markers_only=True)` may contain nonsignificant top genes when no\n  genes pass all filters; inspect the significance columns.\n\n## Inputs and outputs\n\nFunctions modify AnnData in place and return DataFrames\u002FFigures without\nwriting files. The CLI writes `processed.h5ad`, `tables\u002Fde_full.csv`,\nmarker\u002Fdiagnostic tables, report and result JSON.\nThe [output contract](references\u002Foutput_contract.md) lists conditional figures.\n\n## CLI\n\n```bash\npython skills\u002Fspatial\u002Fspatial-de\u002Fspatial_de.py --input processed.h5ad --output results\u002Fde\npython skills\u002Fspatial\u002Fspatial-de\u002Fspatial_de.py --demo --output \u002Ftmp\u002Fspatial-de_demo\n```\n\n## See also\n\nUse spatial-preprocess before analysis, spatial-genes for autocorrelation,\nand sc-de or bulkrna-de for their respective modalities.\n\n## Dependencies\n\n`anndata`, `matplotlib`, `numpy`, `pandas`, `pydeseq2`, `scanpy`, `scipy`, `seaborn`\n","# spatial-de\n\n## When to use\n\nRank spatial group markers with Wilcoxon or t-test, or compare conditions\nwith sample-aware PyDESeq2 pseudobulk. Biological sample labels are required;\nspatial spots do not supply independent replicates.\n\n## Use from a step\n\n```python\nfrom skills._sdk.notebook import load_skill, read_input, write_output\nlibrary = load_skill(\"spatial-de\")\nadata = read_input(\"processed.h5ad\")\nlibrary.differential_expression(adata, groupby=\"leiden\")\nwrite_output(library.results(adata), \"tables\u002Fde_full.csv\")\n```\n\nThe executable example checks known markers in simulated spatial domains.\n\n## API\n\n\u003C!-- api:begin generated from _api.py; regenerate with run.py api \u003Cskill dir> --write -->\n\n### `differential_expression(adata, *, method='wilcoxon', groupby='leiden', group1=None, group2=None, n_top_genes=10, fdr_threshold=0.05, log2fc_threshold=1.0, **parameters)`\n\nTest groups and return the same AnnData, with results in its diagnostics.\n\nScanpy uses raw when present, otherwise log-normalized X. PyDESeq2 uses\ncounts, then raw, then X; provide integer counts and biological samples.\n\n:param adata: Expression and group labels; modified in place.\n:param method: CLI default wilcoxon; t-test or pydeseq2 for other tests.\n:param groupby: CLI default leiden; obs column defining comparisons.\n:param group1: Tested group, or None for each group versus rest.\n:param group2: Reference group; supply together with group1.\n:param n_top_genes: CLI default 10 marker genes per group.\n:param fdr_threshold: CLI default 0.05 adjusted-p-value threshold.\n:param log2fc_threshold: CLI default 1.0 effect-size threshold.\n:param parameters: Method-specific CLI parameters from references\u002Fparameters.md.\n:returns: The same AnnData; results returns the full result table.\n:raises ValueError: Groups, method or sample replication are invalid.\n:raises ImportError: PyDESeq2 is unavailable; use install_skill_deps.\n\n### `results(adata, *, markers_only=False)`\n\nReturn the full or selected marker table without changing expression.\n\n:param adata: AnnData returned by differential_expression.\n:param markers_only: Default False; True selects the reported top markers.\n:returns: A new DataFrame with method-native effect and significance columns.\n:raises ValueError: No differential expression run is recorded.\n\n### `run_info(adata, *, keep=True)`\n\nRead diagnostics and the result tables from the most recent run.\n\n:param adata: AnnData returned by differential_expression.\n:param keep: Default True; False removes diagnostics before CLI serialization.\n:returns: Diagnostic dictionary including full_df and markers_df.\n:raises ValueError: No differential expression run is recorded.\n\n### `volcano_figure(adata, *, group=None)`\n\nPlot effect size against adjusted significance for one comparison.\n\n:param adata: AnnData returned by differential_expression.\n:param group: Tested group; None chooses the first reported group.\n:returns: A matplotlib Figure; no files are written.\n:raises ValueError: No results exist for the selected group.\n\n\u003C!-- api:end -->\n\n## Methods and parameters\n\nScanpy ranks every gene, then optionally filters markers. PyDESeq2 requires\nboth group labels and two retained pseudobulk profiles per condition. It uses\na paired design when two biological samples contribute to both groups.\nSee [parameters](references\u002Fparameters.md) for keyword arguments and\n[methodology](references\u002Fmethodology.md) for matrix and design details.\n\n## Gotchas\n\n- `differential_expression` uses Scanpy's raw preference when raw exists;\n  otherwise provide log-normalized X. Count methods prefer `layers['counts']`.\n- `run_info()['design_formula']` records the PyDESeq2 paired\u002Funpaired design.\n- `tables\u002Fskipped_sample_groups.csv` records bins below the cell threshold.\n- `results(markers_only=True)` may contain nonsignificant top genes when no\n  genes pass all filters; inspect the significance columns.\n\n## Inputs and outputs\n\nFunctions modify AnnData in place and return DataFrames\u002FFigures without\nwriting files. The CLI writes `processed.h5ad`, `tables\u002Fde_full.csv`,\nmarker\u002Fdiagnostic tables, report and result JSON.\nThe [output contract](references\u002Foutput_contract.md) lists conditional figures.\n\n## CLI\n\n```bash\npython skills\u002Fspatial\u002Fspatial-de\u002Fspatial_de.py --input processed.h5ad --output results\u002Fde\npython skills\u002Fspatial\u002Fspatial-de\u002Fspatial_de.py --demo --output \u002Ftmp\u002Fspatial-de_demo\n```\n\n## See also\n\nUse spatial-preprocess before analysis, spatial-genes for autocorrelation,\nand sc-de or bulkrna-de for their respective modalities.\n\n## Dependencies\n\n`anndata`, `matplotlib`, `numpy`, `pandas`, `pydeseq2`, `scanpy`, `scipy`, `seaborn`\n",{"name":5,"tags":40,"trigger":42,"description":7},[41,26,23,24,30,33,22],"spatial","differential expression, marker gene, pseudobulk, Wilcoxon, t-test, PyDESeq2, spatial DE","main","90a3bec3e6549bc33dddbf67e4b23869736c49d1","skills\u002Fspatial\u002Fspatial-de",27,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw","https:\u002F\u002FTianGzlab.github.io\u002FOmicsClaw\u002F","https:\u002F\u002Fgithub.com\u002FTianGzlab","2026-10-08 01:36:11",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add TianGzlab\u002FOmicsClaw --skill spatial-de",{"tool":57,"command":58},"bunx","bunx skills add TianGzlab\u002FOmicsClaw --skill spatial-de",{"tool":60,"command":61},"pnpm","pnpm dlx skills add TianGzlab\u002FOmicsClaw --skill spatial-de","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002FSKILL.md",true,[65,71,75,81,87,91,95,99,103,107,111,115,119,123],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"_api.py","SCRIPT","脚本",5462,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002F_api.py",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"examples\u002Fexample_step.py",861,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002Fexamples\u002Fexample_step.py",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"OPERATOR.json","REFERENCE","参考文档",379,"https:\u002F\u002Fgithub.com\u002Fhefarica\u002Farbitragex-v2\u002Fblob\u002Fmain\u002Fskills\u002Farbitragex-ultra\u002Foperators\u002Fop_29\u002FOPERATOR.json",{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"r_visualization\u002Fde_publication_template.R","OTHER","其他",7411,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002Fr_visualization\u002Fde_publication_template.R",{"path":88,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":89,"sourceHtmlUrl":90},"r_visualization\u002FREADME.md",1657,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002Fr_visualization\u002FREADME.md",{"path":92,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fmethodology.md",7782,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002Freferences\u002Fmethodology.md",{"path":96,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Foutput_contract.md",1913,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002Freferences\u002Foutput_contract.md",{"path":100,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":101,"sourceHtmlUrl":102},"references\u002Fparameters.md",4902,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002Freferences\u002Fparameters.md",{"path":104,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":105,"sourceHtmlUrl":106},"references\u002Fr_visualization.md",808,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002Freferences\u002Fr_visualization.md",{"path":108,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":109,"sourceHtmlUrl":110},"spatial_de.py",67459,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002Fspatial_de.py",{"path":112,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":113,"sourceHtmlUrl":114},"tests\u002F__init__.py",0,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002Ftests\u002F__init__.py",{"path":116,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":117,"sourceHtmlUrl":118},"tests\u002Ftest_api.py",2253,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002Ftests\u002Ftest_api.py",{"path":120,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":121,"sourceHtmlUrl":122},"tests\u002Ftest_examples_replay.py",1841,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002Ftests\u002Ftest_examples_replay.py",{"path":124,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":125,"sourceHtmlUrl":126},"tests\u002Ftest_spatial_de.py",7378,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-de\u002Ftests\u002Ftest_spatial_de.py",[128,146,157,174,199,220],{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":139,"publishedAt":35},"01M6DTP4X225Q92RMY8XXHPCTT","demo-skill","A fixture skill for the skill environment tests. Use it for nothing else.","https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Ftests\u002Fskillenv\u002Ffixtures\u002Fskills\u002Fdemo\u002Fdemo-skill\u002FSKILL.md",[134],{"categoryNo":135,"categoryName":136,"taxonomyType":137,"taxonomyTypeDesc":138},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[140,141,142,143,144,32,145],"demo skill","demo","tests","fixture","fixture skill","environment",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":35},"01M6DTP28JTWQK3HHXDNQV8BBV","fake-domains","Test fixture for the golden deployment in tests\u002Fentry. Load never; it has no script.","https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Ftests\u002Fentry\u002Ffake_skills\u002Fspatial\u002Ffake-domains\u002FSKILL.md",[],[153,154,155,142,143,156,28],"domains","fake domains","deployment","never",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":164,"publishedAt":35},"01M6DTNZ4AMWKTME1T18K5C643","replace-me-skill","Load when copying this directory to bootstrap a new OmicsClaw skill. Skip when an existing skill already covers the request.","https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Ftemplates\u002Fskill\u002FSKILL.md",[163],{"categoryNo":135,"categoryName":136,"taxonomyType":137,"taxonomyTypeDesc":138},[165,166,167,168,169,170,171,172,173],"me","replace me skill","template","directory","skill template","existing skill","new skill","bootstrap","scaffold",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":35},"01M6DTNV63MTD0Q6YRC52F0B1Y","spatial-velocity","Load when estimating RNA velocity on a spatial AnnData with `layers[\"spliced\"]` + `layers[\"unspliced\"]` via scVelo (stochastic \u002F deterministic \u002F dynamical) or veloVI (deep generative). Skip when input lacks the spliced\u002Funspliced layers (must be quantified upstream by velocyto \u002F kb-python \u002F STARsolo); non-spatial scRNA velocity (use sc-velocity).","https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-velocity\u002FSKILL.md",[],[181,182,19,183,184,185,186,187,188,189,190,191,192,193,194,195,196,32,197,198],"velocity","spatial velocity","scvelo","input","starsolo","time","deep","RNA","kb-python","via","velocyto","rna-velocity","velovi","dynamics","upstream","kb","python","deterministic",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":205,"publishedAt":35},"01M6DTNPMR227NAT8QFY620YDW","spatial-trajectory","Load when inferring pseudotime \u002F lineage trajectories on a preprocessed spatial AnnData via DPT (default — diffusion pseudotime), CellRank (terminal-state + fate-probability), or Palantir (waypoint branch probabilities). Skip when the data has spliced\u002Funspliced layers and you want velocity-driven dynamics (use spatial-velocity); non-spatial scRNA pseudotime (use sc-pseudotime).","https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-trajectory\u002FSKILL.md",[],[19,206,207,208,209,210,211,212,190,213,214,215,216,31,181,217,32,218,219,34],"trajectory","spatial trajectory","state","terminal","lineage","diffusion","cellrank","palantir","dpt","pseudotime","probability","default","branch","anndata",{"skillNo":221,"name":222,"nameZh":6,"description":223,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":224,"categories":225,"keywords":226,"publishedAt":35},"01M6DTNJEYFT33P84DGHDNXW95","spatial-statistics","Load when running spatial autocorrelation \u002F hotspot \u002F co-occurrence \u002F neighbourhood-enrichment \u002F Ripley K stats on a clustered spatial AnnData via squidpy. Skip when ranking spatially variable genes (use spatial-genes); tissue domain detection (use spatial-domains).","https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-statistics\u002FSKILL.md",[],[227,228,19,190,229,230,231,232,233,234,153,21,235,236,237,32,219,238,239,240],"spatial statistics","statistics","nhood-enrichment","co-occurrence","ripley","geary","moran","neighbourhood","autocorrelation","local","domain","detection","enrichment","stats"]