[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DTKET7M5ZXYYEWBBP9ACD3":3,"skill-same:01M6DTKET7M5ZXYYEWBBP9ACD3":107},{"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":22,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M6DTKET7M5ZXYYEWBBP9ACD3","sc-standardize-input",null,"Load when an external single-cell h5ad\u002Fh5\u002Floom\u002Fmtx needs to be canonicalised onto the OmicsClaw AnnData contract before downstream scRNA skills run. Skip when data already came from sc-count (already canonical); bulk RNA-seq (use bulkrna-qc); spatial (use spatial-preprocess).","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\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"sc standardize input","input","cell","standardization","singlecell","bulkrna","single-cell","scrna","qc","contract","prepare","RNA","Spatial","use","skills run","fix","anndata","data","run","2026-11-10 10:12:30",false,"---\nname: sc-standardize-input\ndescription: Load when an external single-cell h5ad\u002Fh5\u002Floom\u002Fmtx needs to be canonicalised onto the OmicsClaw\n  AnnData contract before downstream scRNA skills run. Skip when data already came from sc-count (already\n  canonical); bulk RNA-seq (use bulkrna-qc); spatial (use spatial-preprocess).\ntrigger: standardize AnnData, fix scRNA input, canonicalize single-cell input, prepare AnnData, input contract\ntags:\n- singlecell\n- scrna\n- input\n- standardization\n- anndata\n---\n\n# sc-standardize-input\n\n## When to use\n\nThe user has a single-cell expression file from outside OmicsClaw (a public\n`.h5ad`, a 10X mtx directory, a `.loom`, etc.) and needs the canonical\nAnnData contract every downstream scRNA skill assumes: raw counts in\n`layers[\"counts\"]` and `adata.raw`, harmonised feature names, and a\n`uns[\"omicsclaw_matrix_contract\"]` provenance record.  Run this once before\n`sc-qc` \u002F `sc-preprocessing` \u002F etc.\n\n## Use from a step\n\n```python\nstandardizer = load_skill(\"sc-standardize-input\")\nadata = standardizer.standardize(read_input(\"external.h5ad\"), species=\"human\")\nwrite_output(adata, \"intermediate\u002Fadata_standardized.h5ad\")\n```\n\n`standardize` returns a new AnnData. It does not filter, normalize or\ncluster. A runnable PBMC example is in `examples\u002Fexample_step.py`.\n\n## API\n\n\u003C!-- api:begin generated from _api.py; regenerate with run.py api \u003Cskill dir> --write -->\n\n### `standardize(adata, *, species: str='auto')`\n\nReturn a canonical copy with count-like X, layers['counts'] and raw.\n\nSelect counts from layers['counts'], aligned raw or X, in that order;\nharmonize feature names and record the matrix and input contracts.\n\n:param adata: AnnData with at least one count-like expression matrix.\n:param species: 'auto' uses infer_species; 'human' or 'mouse' overrides it.\n:returns: A new AnnData. run_info reports the selected matrix and warnings.\n:raises ValueError: The species is invalid or no count-like matrix is present.\n\n### `infer_species(adata) -> str`\n\nInfer human or mouse from feature names, defaulting to human.\n\n:param adata: AnnData whose feature names or gene-symbol metadata are examined.\n:returns: The species hint used by standardize(species=\"auto\").\n\n### `run_info(adata, *, keep: bool=True) -> dict`\n\nRead standardization diagnostics stored as JSON in adata.uns.\n\n:param adata: The AnnData returned by standardize.\n:param keep: False removes these diagnostics after reading; default True.\n:returns: A dictionary, or an empty dictionary before standardize runs.\n\n\u003C!-- api:end -->\n\n## Methods and parameters\n\n`species=\"auto\"` uses the existing gene-name heuristic; use `human` or\n`mouse` when the organism is known. `infer_species` exposes that heuristic.\nCounts are selected from `layers[\"counts\"]`, aligned `raw`, then `X`.\n`run_info` reports the chosen source and any warnings. This method has no\nrandom state or optional backend.\n\n## Inputs & Outputs\n\n**Inputs**\n\n- Input kinds: `file`, `directory`\n- Modalities: scrna\n- File types: `.h5ad`, `.h5`, `.loom`, `.csv`, `.tsv`\n\n**Outputs**\n\n- `processed.h5ad`\n- `report.md`\n- `result.json`\n- Processed AnnData (`saves_h5ad`) — adds `layers`: `counts`\n\n## Flow\n\n1. Load via the shared multi-format single-cell loader.\n2. Pre-flight: validate non-empty input; auto-detect species from gene name case (UPPER → human, Title → mouse).\n3. Pick the best count-like matrix among `layers[\"counts\"]`, `adata.raw`, and `adata.X` (orchestrated by `canonicalize_singlecell_adata` in `skills\u002Fsinglecell\u002F_lib\u002Fadata_utils.py`, which calls the `matrix_looks_count_like` heuristic at `_lib\u002Fadata_utils.py`).\n4. Harmonise feature names (Ensembl ↔ symbol, deduplicate).\n5. Persist `uns[\"omicsclaw_input_contract\"]` + `uns[\"omicsclaw_matrix_contract\"]`.\n6. Save `processed.h5ad`; emit `report.md` + `result.json`.\n\n## Gotchas\n\n- **`--r-enhanced` is accepted but produces no R plots.** `sc_standardize_input.py` declares the flag for CLI consistency; this skill is input canonicalisation, not visualisation.  Pass it freely, but expect no R Enhanced figures.\n- Count-source selection uses a count-like heuristic, not file provenance.\n  Check `run_info(adata)[\"expression_source\"]` and `warnings`, or the CLI's\n  `result.json[\"summary\"]`, before downstream normalization.\n- **Species auto-detect is gene-case-based.** UPPER-case symbols → human, Title-case → mouse.  Non-standard gene-name conventions (Ensembl IDs only, lowercase) silently fall through to the `auto` default.  Pass `--species human` or `--species mouse` explicitly when working with non-symbol matrices.\n- **No filtering, no normalisation, no clustering.** Even if `result.json` looks complete, the output is still raw counts in canonical form — run `sc-qc` and `sc-preprocessing` next.\n\n## Key CLI\n\n```bash\n# Demo (built-in PBMC3K)\npython skills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002Fsc_standardize_input.py --demo --output \u002Ftmp\u002Fsc_std_demo\n\n# Real run with species hint\npython skills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002Fsc_standardize_input.py \\\n  --input external.h5ad --output results\u002F --species mouse\n```\n\n## See also\n\n- `references\u002Fparameters.md` — every CLI flag and tuning hint\n- `references\u002Fmethodology.md` — count-source heuristic, species detection logic\n- `references\u002Foutput_contract.md` — exact `processed.h5ad` + `result.json` shape\n- Adjacent skills: `sc-count` (FASTQ → AnnData; skip standardisation when used), `sc-qc` (next step), `sc-preprocessing` (full normalise+cluster pipeline)\n\n## Dependencies\n\nPython packages this skill's script needs. They are not installed for you — check before a long run.\n\n`anndata`, `matplotlib`, `numpy`, `pandas`, `scanpy`, `scipy`\n","# sc-standardize-input\n\n## When to use\n\nThe user has a single-cell expression file from outside OmicsClaw (a public\n`.h5ad`, a 10X mtx directory, a `.loom`, etc.) and needs the canonical\nAnnData contract every downstream scRNA skill assumes: raw counts in\n`layers[\"counts\"]` and `adata.raw`, harmonised feature names, and a\n`uns[\"omicsclaw_matrix_contract\"]` provenance record.  Run this once before\n`sc-qc` \u002F `sc-preprocessing` \u002F etc.\n\n## Use from a step\n\n```python\nstandardizer = load_skill(\"sc-standardize-input\")\nadata = standardizer.standardize(read_input(\"external.h5ad\"), species=\"human\")\nwrite_output(adata, \"intermediate\u002Fadata_standardized.h5ad\")\n```\n\n`standardize` returns a new AnnData. It does not filter, normalize or\ncluster. A runnable PBMC example is in `examples\u002Fexample_step.py`.\n\n## API\n\n\u003C!-- api:begin generated from _api.py; regenerate with run.py api \u003Cskill dir> --write -->\n\n### `standardize(adata, *, species: str='auto')`\n\nReturn a canonical copy with count-like X, layers['counts'] and raw.\n\nSelect counts from layers['counts'], aligned raw or X, in that order;\nharmonize feature names and record the matrix and input contracts.\n\n:param adata: AnnData with at least one count-like expression matrix.\n:param species: 'auto' uses infer_species; 'human' or 'mouse' overrides it.\n:returns: A new AnnData. run_info reports the selected matrix and warnings.\n:raises ValueError: The species is invalid or no count-like matrix is present.\n\n### `infer_species(adata) -> str`\n\nInfer human or mouse from feature names, defaulting to human.\n\n:param adata: AnnData whose feature names or gene-symbol metadata are examined.\n:returns: The species hint used by standardize(species=\"auto\").\n\n### `run_info(adata, *, keep: bool=True) -> dict`\n\nRead standardization diagnostics stored as JSON in adata.uns.\n\n:param adata: The AnnData returned by standardize.\n:param keep: False removes these diagnostics after reading; default True.\n:returns: A dictionary, or an empty dictionary before standardize runs.\n\n\u003C!-- api:end -->\n\n## Methods and parameters\n\n`species=\"auto\"` uses the existing gene-name heuristic; use `human` or\n`mouse` when the organism is known. `infer_species` exposes that heuristic.\nCounts are selected from `layers[\"counts\"]`, aligned `raw`, then `X`.\n`run_info` reports the chosen source and any warnings. This method has no\nrandom state or optional backend.\n\n## Inputs & Outputs\n\n**Inputs**\n\n- Input kinds: `file`, `directory`\n- Modalities: scrna\n- File types: `.h5ad`, `.h5`, `.loom`, `.csv`, `.tsv`\n\n**Outputs**\n\n- `processed.h5ad`\n- `report.md`\n- `result.json`\n- Processed AnnData (`saves_h5ad`) — adds `layers`: `counts`\n\n## Flow\n\n1. Load via the shared multi-format single-cell loader.\n2. Pre-flight: validate non-empty input; auto-detect species from gene name case (UPPER → human, Title → mouse).\n3. Pick the best count-like matrix among `layers[\"counts\"]`, `adata.raw`, and `adata.X` (orchestrated by `canonicalize_singlecell_adata` in `skills\u002Fsinglecell\u002F_lib\u002Fadata_utils.py`, which calls the `matrix_looks_count_like` heuristic at `_lib\u002Fadata_utils.py`).\n4. Harmonise feature names (Ensembl ↔ symbol, deduplicate).\n5. Persist `uns[\"omicsclaw_input_contract\"]` + `uns[\"omicsclaw_matrix_contract\"]`.\n6. Save `processed.h5ad`; emit `report.md` + `result.json`.\n\n## Gotchas\n\n- **`--r-enhanced` is accepted but produces no R plots.** `sc_standardize_input.py` declares the flag for CLI consistency; this skill is input canonicalisation, not visualisation.  Pass it freely, but expect no R Enhanced figures.\n- Count-source selection uses a count-like heuristic, not file provenance.\n  Check `run_info(adata)[\"expression_source\"]` and `warnings`, or the CLI's\n  `result.json[\"summary\"]`, before downstream normalization.\n- **Species auto-detect is gene-case-based.** UPPER-case symbols → human, Title-case → mouse.  Non-standard gene-name conventions (Ensembl IDs only, lowercase) silently fall through to the `auto` default.  Pass `--species human` or `--species mouse` explicitly when working with non-symbol matrices.\n- **No filtering, no normalisation, no clustering.** Even if `result.json` looks complete, the output is still raw counts in canonical form — run `sc-qc` and `sc-preprocessing` next.\n\n## Key CLI\n\n```bash\n# Demo (built-in PBMC3K)\npython skills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002Fsc_standardize_input.py --demo --output \u002Ftmp\u002Fsc_std_demo\n\n# Real run with species hint\npython skills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002Fsc_standardize_input.py \\\n  --input external.h5ad --output results\u002F --species mouse\n```\n\n## See also\n\n- `references\u002Fparameters.md` — every CLI flag and tuning hint\n- `references\u002Fmethodology.md` — count-source heuristic, species detection logic\n- `references\u002Foutput_contract.md` — exact `processed.h5ad` + `result.json` shape\n- Adjacent skills: `sc-count` (FASTQ → AnnData; skip standardisation when used), `sc-qc` (next step), `sc-preprocessing` (full normalise+cluster pipeline)\n\n## Dependencies\n\nPython packages this skill's script needs. They are not installed for you — check before a long run.\n\n`anndata`, `matplotlib`, `numpy`, `pandas`, `scanpy`, `scipy`\n",{"name":5,"tags":47,"trigger":48,"description":7},[27,30,24,26,39],"standardize AnnData, fix scRNA input, canonicalize single-cell input, prepare AnnData, input contract","main","90a3bec3e6549bc33dddbf67e4b23869736c49d1","skills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input",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":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add TianGzlab\u002FOmicsClaw --skill sc-standardize-input",{"tool":63,"command":64},"bunx","bunx skills add TianGzlab\u002FOmicsClaw --skill sc-standardize-input",{"tool":66,"command":67},"pnpm","pnpm dlx skills add TianGzlab\u002FOmicsClaw --skill sc-standardize-input","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002FSKILL.md",true,[71,77,81,87,91,95,99,103],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"_api.py","SCRIPT","脚本",2714,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002F_api.py",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"examples\u002Fexample_step.py",830,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002Fexamples\u002Fexample_step.py",{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fmethodology.md","REFERENCE","参考文档",3129,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002Freferences\u002Fmethodology.md",{"path":88,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Foutput_contract.md",548,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002Freferences\u002Foutput_contract.md",{"path":92,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fparameters.md",237,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002Freferences\u002Fparameters.md",{"path":96,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Fr_visualization.md",341,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002Freferences\u002Fr_visualization.md",{"path":100,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":101,"sourceHtmlUrl":102},"sc_standardize_input.py",16567,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002Fsc_standardize_input.py",{"path":104,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":105,"sourceHtmlUrl":106},"tests\u002Ftest_standardize_api.py",1154,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fsinglecell\u002Fscrna\u002Fsc-standardize-input\u002Ftests\u002Ftest_standardize_api.py",[108,126,138,155,178,198],{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":119,"publishedAt":42},"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",[114],{"categoryNo":115,"categoryName":116,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[120,121,122,123,124,36,125],"demo skill","demo","tests","fixture","fixture skill","environment",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":42},"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",[],[133,134,135,122,123,136,137],"domains","fake domains","deployment","never","test",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":145,"publishedAt":42},"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",[144],{"categoryNo":115,"categoryName":116,"taxonomyType":117,"taxonomyTypeDesc":118},[146,147,148,149,150,151,152,153,154],"me","replace me skill","template","directory","skill template","existing skill","new skill","bootstrap","scaffold",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":42},"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",[],[162,163,35,164,24,165,166,167,34,168,169,170,171,172,173,174,175,36,176,177],"velocity","spatial velocity","scvelo","starsolo","time","deep","kb-python","via","velocyto","rna-velocity","velovi","dynamics","upstream","kb","python","deterministic",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":184,"publishedAt":42},"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",[],[35,185,186,187,188,189,190,191,169,192,193,194,195,25,162,196,36,197,39,40],"trajectory","spatial trajectory","state","terminal","lineage","diffusion","cellrank","palantir","dpt","pseudotime","probability","default","branch",{"skillNo":199,"name":200,"nameZh":6,"description":201,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":202,"categories":203,"keywords":204,"publishedAt":42},"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",[],[205,206,35,169,207,208,209,210,211,212,133,213,214,215,216,36,39,217,218,219],"spatial statistics","statistics","nhood-enrichment","co-occurrence","ripley","geary","moran","neighbourhood","ranking","autocorrelation","local","domain","detection","enrichment","stats"]