[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DTM2XB8499QEQHSYNF6BYG":3,"skill-same:01M6DTM2XB8499QEQHSYNF6BYG":133},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":46,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":48,"install":49,"resources":62},"01M6DTM2XB8499QEQHSYNF6BYG","spatial-communication",null,"Load when computing ligand-receptor communication on labelled spatial AnnData with LIANA, CellPhoneDB, FastCCC or CellChat. Skip unlabelled data (use spatial-annotate) and non-spatial scRNA analysis (use sc-cell-communication).","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-communication\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"communication","Spatial","spatial communication","data","anndata","analysis","use","annotate","cell","scrna","cell-communication","ligand-receptor","liana","cellphonedb","cellchat","2026-11-10 10:12:30",false,"---\nname: spatial-communication\ndescription: Load when computing ligand-receptor communication on labelled spatial AnnData with LIANA, CellPhoneDB, FastCCC or CellChat. Skip unlabelled data (use spatial-annotate) and non-spatial scRNA analysis (use sc-cell-communication).\ntrigger: cell communication, ligand receptor, LIANA, CellPhoneDB, FastCCC, CellChat\ntags:\n- spatial\n- communication\n- ligand-receptor\n---\n\n# Spatial communication\n\n## When to use\n\nInfer ligand-receptor interactions between annotated populations. LIANA is\nthe default; CellPhoneDB and FastCCC need a local CellPhoneDB database.\nCellChat runs in an R subprocess. These methods do not constrain interactions\nby spatial distance: coordinates support the CLI maps, not the inference.\n\n## API\n\nUse `load_skill(\"spatial-communication\")` in an analysis step.\n`examples\u002Fexample_step.py` uses real PBMC expression with explicitly synthetic\ncoordinates. The CLI demo uses synthetic expression and is not biological evidence.\n\n\u003C!-- api:begin generated from _api.py; regenerate with run.py api \u003Cskill dir> --write -->\n\n### `communicate(adata, *, method='liana', cell_type_key='leiden', species='human', random_state=None, **parameters)`\n\nInfer ligand-receptor interactions and return the same AnnData.\n\nLIANA uses raw when present, otherwise X. Other backends read normalized\nX. Coordinates support CLI maps; these methods do not impose distance filters.\n\n:param adata: Log-normalized expression with cell-type labels; modified in place.\n:param method: CLI default liana; cellphonedb, fastccc or cellchat_r also supported.\n:param cell_type_key: CLI default leiden; obs column defining populations.\n:param species: CLI default human; mouse supported by LIANA and CellChat.\n:param random_state: None keeps LIANA seed 1337 and CellChat seed 1; CellPhoneDB uses 0.\n:param parameters: Native backend keywords in references\u002Fparameters.md.\n:returns: The same AnnData with canonical ccc_results and role summaries in uns.\n:raises ValueError: Method, labels, species or numeric controls are invalid.\n:raises ImportError: Optional backend is missing; use install_skill_deps.\n:raises FileNotFoundError: CellPhoneDB\u002FFastCCC's local database is missing.\n\n### `interactions(adata, *, significant_only=False)`\n\nReturn ligand-receptor scores; unmeasured p values remain missing.\n\n:param adata: AnnData returned by communicate.\n:param significant_only: Default False; True selects real p values below 0.05.\n:returns: A new DataFrame with ligand, receptor, source, target, score and pvalue.\n:raises ValueError: No run is recorded.\n\n### `run_info(adata, *, keep=True)`\n\nRead the last run's diagnostics and optional backend tables.\n\n:param adata: AnnData returned by communicate.\n:param keep: Default True; False removes transient diagnostics for CLI serialization.\n:returns: Summary dictionary including tested\u002Fsignificant counts and extra_tables.\n:raises ValueError: No communication run is recorded.\n\n### `roles_figure(adata, *, n_top=20)`\n\nPlot population sender and receiver scores without file writes.\n\n:param adata: AnnData returned by communicate.\n:param n_top: Default 20 populations; use fewer for a smaller figure.\n:returns: A matplotlib Figure, explicitly labelled when no scores exist.\n:raises ValueError: No run is recorded or n_top is not positive.\n\n\u003C!-- api:end -->\n\n## Key CLI\n\n```bash\npython skills\u002Fspatial\u002Fspatial-communication\u002Fspatial_communication.py \\\n  --input processed.h5ad --output results\u002Fcommunication \\\n  --cell-type-key cell_type --method liana --liana-n-perms 1000\npython skills\u002Fspatial\u002Fspatial-communication\u002Fspatial_communication.py \\\n  --demo --output \u002Ftmp\u002Fcommunication_demo\n```\n\n## Inputs & Outputs\n\nInput is log-normalized AnnData with at least two populations in\n`obs[cell_type_key]` (default `leiden`). LIANA reads `raw` when present;\nother methods read `X`. Use gene symbols, not synthetic feature identifiers.\nLIANA and CellChat support human and mouse; the other wrappers support human.\n\nThe API mutates and returns the same object, preserving observation and\nfeature order. It stores `uns[\"ccc_results\"]`, method-specific results,\n`communication_summary`, `communication_signaling_roles`, and diagnostics.\n`interactions` returns a new DataFrame; `roles_figure` returns a Figure.\nLibrary calls do not create report directories. Optional external tools use\ntemporary files that are removed after execution.\n\nThe CLI writes `processed.h5ad`, `report.md`, `result.json`, reproducibility\ncommands, figure-data CSVs, and conditional tables\u002Ffigures.\nSee [output inventory](references\u002Foutput_contract.md) for exact conditions.\n\n## Gotchas\n\n- `_api.py:communicate` rejects absent labels and populations with fewer than\n  two distinct labels; it does not substitute a different annotation.\n- `uns[\"ccc_results\"]` has missing p values when the backend supplies no\n  statistical test. LIANA specificity ranks are not p values.\n- `tables\u002Flr_interactions.csv` is absent when no interactions are returned;\n  an empty result does not establish absence of biological communication.\n- `_api.py:communicate` raises an install hint for missing backends.\n  CellPhoneDB\u002FFastCCC also require a local database; no substitute is generated.\n- `rscripts\u002Fcellchat.R` needs Rscript, Matrix and CellChat, not rpy2.\n- `_api.py:communicate` defaults to LIANA seed 1337, CellPhoneDB 0 and\n  CellChat 1; FastCCC has no seed argument.\n\n## References\n\n- [Parameters](references\u002Fparameters.md): CLI-to-library keyword mapping.\n- [Methodology](references\u002Fmethodology.md): matrix and statistical semantics.\n- [Output contract](references\u002Foutput_contract.md): files and AnnData keys.\n\n## Dependencies\n\n`anndata`, `cellphonedb`, `fastccc`, `liana`, `matplotlib`, `numpy`, `pandas`, `scanpy`, `scipy`, `seaborn`, `CellChat`, `Matrix`\n\nThe R backend requires an Rscript executable.\n","# Spatial communication\n\n## When to use\n\nInfer ligand-receptor interactions between annotated populations. LIANA is\nthe default; CellPhoneDB and FastCCC need a local CellPhoneDB database.\nCellChat runs in an R subprocess. These methods do not constrain interactions\nby spatial distance: coordinates support the CLI maps, not the inference.\n\n## API\n\nUse `load_skill(\"spatial-communication\")` in an analysis step.\n`examples\u002Fexample_step.py` uses real PBMC expression with explicitly synthetic\ncoordinates. The CLI demo uses synthetic expression and is not biological evidence.\n\n\u003C!-- api:begin generated from _api.py; regenerate with run.py api \u003Cskill dir> --write -->\n\n### `communicate(adata, *, method='liana', cell_type_key='leiden', species='human', random_state=None, **parameters)`\n\nInfer ligand-receptor interactions and return the same AnnData.\n\nLIANA uses raw when present, otherwise X. Other backends read normalized\nX. Coordinates support CLI maps; these methods do not impose distance filters.\n\n:param adata: Log-normalized expression with cell-type labels; modified in place.\n:param method: CLI default liana; cellphonedb, fastccc or cellchat_r also supported.\n:param cell_type_key: CLI default leiden; obs column defining populations.\n:param species: CLI default human; mouse supported by LIANA and CellChat.\n:param random_state: None keeps LIANA seed 1337 and CellChat seed 1; CellPhoneDB uses 0.\n:param parameters: Native backend keywords in references\u002Fparameters.md.\n:returns: The same AnnData with canonical ccc_results and role summaries in uns.\n:raises ValueError: Method, labels, species or numeric controls are invalid.\n:raises ImportError: Optional backend is missing; use install_skill_deps.\n:raises FileNotFoundError: CellPhoneDB\u002FFastCCC's local database is missing.\n\n### `interactions(adata, *, significant_only=False)`\n\nReturn ligand-receptor scores; unmeasured p values remain missing.\n\n:param adata: AnnData returned by communicate.\n:param significant_only: Default False; True selects real p values below 0.05.\n:returns: A new DataFrame with ligand, receptor, source, target, score and pvalue.\n:raises ValueError: No run is recorded.\n\n### `run_info(adata, *, keep=True)`\n\nRead the last run's diagnostics and optional backend tables.\n\n:param adata: AnnData returned by communicate.\n:param keep: Default True; False removes transient diagnostics for CLI serialization.\n:returns: Summary dictionary including tested\u002Fsignificant counts and extra_tables.\n:raises ValueError: No communication run is recorded.\n\n### `roles_figure(adata, *, n_top=20)`\n\nPlot population sender and receiver scores without file writes.\n\n:param adata: AnnData returned by communicate.\n:param n_top: Default 20 populations; use fewer for a smaller figure.\n:returns: A matplotlib Figure, explicitly labelled when no scores exist.\n:raises ValueError: No run is recorded or n_top is not positive.\n\n\u003C!-- api:end -->\n\n## Key CLI\n\n```bash\npython skills\u002Fspatial\u002Fspatial-communication\u002Fspatial_communication.py \\\n  --input processed.h5ad --output results\u002Fcommunication \\\n  --cell-type-key cell_type --method liana --liana-n-perms 1000\npython skills\u002Fspatial\u002Fspatial-communication\u002Fspatial_communication.py \\\n  --demo --output \u002Ftmp\u002Fcommunication_demo\n```\n\n## Inputs & Outputs\n\nInput is log-normalized AnnData with at least two populations in\n`obs[cell_type_key]` (default `leiden`). LIANA reads `raw` when present;\nother methods read `X`. Use gene symbols, not synthetic feature identifiers.\nLIANA and CellChat support human and mouse; the other wrappers support human.\n\nThe API mutates and returns the same object, preserving observation and\nfeature order. It stores `uns[\"ccc_results\"]`, method-specific results,\n`communication_summary`, `communication_signaling_roles`, and diagnostics.\n`interactions` returns a new DataFrame; `roles_figure` returns a Figure.\nLibrary calls do not create report directories. Optional external tools use\ntemporary files that are removed after execution.\n\nThe CLI writes `processed.h5ad`, `report.md`, `result.json`, reproducibility\ncommands, figure-data CSVs, and conditional tables\u002Ffigures.\nSee [output inventory](references\u002Foutput_contract.md) for exact conditions.\n\n## Gotchas\n\n- `_api.py:communicate` rejects absent labels and populations with fewer than\n  two distinct labels; it does not substitute a different annotation.\n- `uns[\"ccc_results\"]` has missing p values when the backend supplies no\n  statistical test. LIANA specificity ranks are not p values.\n- `tables\u002Flr_interactions.csv` is absent when no interactions are returned;\n  an empty result does not establish absence of biological communication.\n- `_api.py:communicate` raises an install hint for missing backends.\n  CellPhoneDB\u002FFastCCC also require a local database; no substitute is generated.\n- `rscripts\u002Fcellchat.R` needs Rscript, Matrix and CellChat, not rpy2.\n- `_api.py:communicate` defaults to LIANA seed 1337, CellPhoneDB 0 and\n  CellChat 1; FastCCC has no seed argument.\n\n## References\n\n- [Parameters](references\u002Fparameters.md): CLI-to-library keyword mapping.\n- [Methodology](references\u002Fmethodology.md): matrix and statistical semantics.\n- [Output contract](references\u002Foutput_contract.md): files and AnnData keys.\n\n## Dependencies\n\n`anndata`, `cellphonedb`, `fastccc`, `liana`, `matplotlib`, `numpy`, `pandas`, `scanpy`, `scipy`, `seaborn`, `CellChat`, `Matrix`\n\nThe R backend requires an Rscript executable.\n",{"name":5,"tags":38,"trigger":40,"description":7},[39,18,29],"spatial","cell communication, ligand receptor, LIANA, CellPhoneDB, FastCCC, CellChat","main","90a3bec3e6549bc33dddbf67e4b23869736c49d1","skills\u002Fspatial\u002Fspatial-communication",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":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add TianGzlab\u002FOmicsClaw --skill spatial-communication",{"tool":55,"command":56},"bunx","bunx skills add TianGzlab\u002FOmicsClaw --skill spatial-communication",{"tool":58,"command":59},"pnpm","pnpm dlx skills add TianGzlab\u002FOmicsClaw --skill spatial-communication","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002FSKILL.md",true,[63,69,73,79,85,89,93,97,101,105,109,113,117,121,125,129],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"_api.py","SCRIPT","脚本",4707,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002F_api.py",{"path":70,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":71,"sourceHtmlUrl":72},"examples\u002Fexample_step.py",1198,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002Fexamples\u002Fexample_step.py",{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"r_visualization\u002Fcommunication_publication_template.R","OTHER","其他",1721,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002Fr_visualization\u002Fcommunication_publication_template.R",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"r_visualization\u002FREADME.md","REFERENCE","参考文档",1605,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002Fr_visualization\u002FREADME.md",{"path":86,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fcode-quality-review.md",5217,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Finterrogate\u002Freferences\u002Fcode-quality-review.md",{"path":90,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Flead-judgment.md",3466,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Finterrogate\u002Freferences\u002Flead-judgment.md",{"path":94,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fmethodology.md",1908,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002Freferences\u002Fmethodology.md",{"path":98,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Foutput_contract.md",2457,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002Freferences\u002Foutput_contract.md",{"path":102,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Fparameters.md",4206,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002Freferences\u002Fparameters.md",{"path":106,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":107,"sourceHtmlUrl":108},"references\u002Freviewer-prompt.md",2495,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Finterrogate\u002Freferences\u002Freviewer-prompt.md",{"path":110,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":111,"sourceHtmlUrl":112},"references\u002Frubric.md",5025,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Finterrogate\u002Freferences\u002Frubric.md",{"path":114,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":115,"sourceHtmlUrl":116},"rscripts\u002Fcellchat.R",8233,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002Frscripts\u002Fcellchat.R",{"path":118,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":119,"sourceHtmlUrl":120},"spatial_communication.py",44803,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002Fspatial_communication.py",{"path":122,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":123,"sourceHtmlUrl":124},"tests\u002Ftest_api.py",3656,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002Ftests\u002Ftest_api.py",{"path":126,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":127,"sourceHtmlUrl":128},"tests\u002Ftest_example_replay.py",1825,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002Ftests\u002Ftest_example_replay.py",{"path":130,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":131,"sourceHtmlUrl":132},"tests\u002Ftest_spatial_communication.py",12277,"https:\u002F\u002Fgithub.com\u002FTianGzlab\u002FOmicsClaw\u002Fblob\u002Fmain\u002Fskills\u002Fspatial\u002Fspatial-communication\u002Ftests\u002Ftest_spatial_communication.py",[134,152,164,181,206,226],{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":145,"publishedAt":33},"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",[140],{"categoryNo":141,"categoryName":142,"taxonomyType":143,"taxonomyTypeDesc":144},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[146,147,148,149,150,24,151],"demo skill","demo","tests","fixture","fixture skill","environment",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":33},"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",[],[159,160,161,148,149,162,163],"domains","fake domains","deployment","never","test",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":171,"publishedAt":33},"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",[170],{"categoryNo":141,"categoryName":142,"taxonomyType":143,"taxonomyTypeDesc":144},[172,173,174,175,176,177,178,179,180],"me","replace me skill","template","directory","skill template","existing skill","new skill","bootstrap","scaffold",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":187,"publishedAt":33},"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",[],[188,189,19,190,191,192,193,194,195,196,197,198,199,200,201,202,203,24,204,205],"velocity","spatial velocity","scvelo","input","starsolo","time","deep","RNA","kb-python","via","velocyto","rna-velocity","velovi","dynamics","upstream","kb","python","deterministic",{"skillNo":207,"name":208,"nameZh":6,"description":209,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":210,"categories":211,"keywords":212,"publishedAt":33},"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,213,214,215,216,217,218,219,197,220,221,222,223,26,188,224,24,225,22,21],"trajectory","spatial trajectory","state","terminal","lineage","diffusion","cellrank","palantir","dpt","pseudotime","probability","default","branch",{"skillNo":227,"name":228,"nameZh":6,"description":229,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":230,"categories":231,"keywords":232,"publishedAt":33},"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",[],[233,234,19,197,235,236,237,238,239,240,159,241,242,243,244,24,22,245,246,247],"spatial statistics","statistics","nhood-enrichment","co-occurrence","ripley","geary","moran","neighbourhood","ranking","autocorrelation","local","domain","detection","enrichment","stats"]