opencode-knowledge-work 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +212 -0
- package/README.md +124 -2
- package/content/bio-research/.mcp.json +48 -0
- package/content/bio-research/CONNECTORS.md +23 -0
- package/content/bio-research/LICENSE +202 -0
- package/content/bio-research/README.md +83 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/LICENSE.txt +201 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/SKILL.md +280 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/asm_schema_overview.md +226 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/field_classification_guide.md +503 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/flattening_guide.md +254 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/references/supported_instruments.md +151 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/requirements.txt +26 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/convert_to_asm.py +543 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/export_parser.py +481 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/flatten_asm.py +254 -0
- package/content/bio-research/skills/bio-research-instrument-data-to-allotrope/scripts/validate_asm.py +1102 -0
- package/content/bio-research/skills/bio-research-nextflow-development/LICENSE.txt +201 -0
- package/content/bio-research/skills/bio-research-nextflow-development/SKILL.md +290 -0
- package/content/bio-research/skills/bio-research-nextflow-development/references/geo-sra-acquisition.md +416 -0
- package/content/bio-research/skills/bio-research-nextflow-development/references/installation.md +96 -0
- package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/atacseq.md +138 -0
- package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/rnaseq.md +118 -0
- package/content/bio-research/skills/bio-research-nextflow-development/references/pipelines/sarek.md +145 -0
- package/content/bio-research/skills/bio-research-nextflow-development/references/troubleshooting.md +137 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/check_environment.py +452 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/genomes.yaml +148 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/atacseq.yaml +187 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/rnaseq.yaml +147 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/config/pipelines/sarek.yaml +233 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/detect_data_type.py +300 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/generate_samplesheet.py +455 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/manage_genomes.py +521 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/sra_geo_fetch.py +732 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/__init__.py +69 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/file_discovery.py +189 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/ncbi_utils.py +808 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/sample_inference.py +290 -0
- package/content/bio-research/skills/bio-research-nextflow-development/scripts/utils/validators.py +256 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/LICENSE.txt +201 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/SKILL.md +269 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/01-intuition-pumps.md +264 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/02-risk-assessment.md +323 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/03-optimization-function.md +481 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/04-parameter-strategy.md +396 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/05-decision-tree.md +85 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/06-adversity-planning.md +123 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/07-problem-inversion.md +152 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/08-integration-synthesis.md +173 -0
- package/content/bio-research/skills/bio-research-scientific-problem-selection/references/09-meta-framework.md +504 -0
- package/content/bio-research/skills/bio-research-scvi-tools/LICENSE.txt +201 -0
- package/content/bio-research/skills/bio-research-scvi-tools/SKILL.md +155 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/atac_peakvi.md +398 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/batch_correction_sysvi.md +417 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/citeseq_totalvi.md +420 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/data_preparation.md +286 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/environment_setup.md +254 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/label_transfer.md +373 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/multiome_multivi.md +384 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/rna_velocity_velovi.md +410 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/scarches_mapping.md +401 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/scrna_integration.md +429 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/spatial_deconvolution.md +438 -0
- package/content/bio-research/skills/bio-research-scvi-tools/references/troubleshooting.md +420 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/cluster_embed.py +212 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/differential_expression.py +220 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/integrate_datasets.py +237 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/model_utils.py +634 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/prepare_data.py +169 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/train_model.py +370 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/transfer_labels.py +224 -0
- package/content/bio-research/skills/bio-research-scvi-tools/scripts/validate_adata.py +397 -0
- package/content/bio-research/skills/bio-research-single-cell-rna-qc/LICENSE.txt +201 -0
- package/content/bio-research/skills/bio-research-single-cell-rna-qc/SKILL.md +175 -0
- package/content/bio-research/skills/bio-research-single-cell-rna-qc/references/scverse_qc_guidelines.md +186 -0
- package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_analysis.py +232 -0
- package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_core.py +233 -0
- package/content/bio-research/skills/bio-research-single-cell-rna-qc/scripts/qc_plotting.py +235 -0
- package/content/bio-research/skills/bio-research-start/SKILL.md +79 -0
- package/content/customer-support/.mcp.json +40 -0
- package/content/customer-support/CONNECTORS.md +19 -0
- package/content/customer-support/LICENSE +202 -0
- package/content/customer-support/README.md +140 -0
- package/content/customer-support/skills/customer-support-customer-escalation/SKILL.md +248 -0
- package/content/customer-support/skills/customer-support-customer-research/SKILL.md +252 -0
- package/content/customer-support/skills/customer-support-draft-response/SKILL.md +418 -0
- package/content/customer-support/skills/customer-support-kb-article/SKILL.md +351 -0
- package/content/customer-support/skills/customer-support-ticket-triage/SKILL.md +275 -0
- package/content/data/.mcp.json +36 -0
- package/content/data/CONNECTORS.md +18 -0
- package/content/data/LICENSE +202 -0
- package/content/data/README.md +121 -0
- package/content/data/skills/data-analyze/SKILL.md +119 -0
- package/content/data/skills/data-build-dashboard/SKILL.md +924 -0
- package/content/data/skills/data-create-viz/SKILL.md +154 -0
- package/content/data/skills/data-data-context-extractor/SKILL.md +227 -0
- package/content/data/skills/data-data-context-extractor/references/domain-template.md +147 -0
- package/content/data/skills/data-data-context-extractor/references/example-output.md +198 -0
- package/content/data/skills/data-data-context-extractor/references/skill-template.md +148 -0
- package/content/data/skills/data-data-context-extractor/references/sql-dialects.md +121 -0
- package/content/data/skills/data-data-context-extractor/scripts/package_data_skill.py +126 -0
- package/content/data/skills/data-data-visualization/SKILL.md +305 -0
- package/content/data/skills/data-explore-data/SKILL.md +325 -0
- package/content/data/skills/data-sql-queries/SKILL.md +428 -0
- package/content/data/skills/data-statistical-analysis/SKILL.md +245 -0
- package/content/data/skills/data-validate-data/SKILL.md +383 -0
- package/content/data/skills/data-write-query/SKILL.md +122 -0
- package/content/design/.mcp.json +44 -0
- package/content/design/CONNECTORS.md +18 -0
- package/content/design/README.md +117 -0
- package/content/design/skills/design-accessibility-review/SKILL.md +128 -0
- package/content/design/skills/design-design-critique/SKILL.md +118 -0
- package/content/design/skills/design-design-handoff/SKILL.md +131 -0
- package/content/design/skills/design-design-system/SKILL.md +190 -0
- package/content/design/skills/design-research-synthesis/SKILL.md +92 -0
- package/content/design/skills/design-user-research/SKILL.md +41 -0
- package/content/design/skills/design-ux-copy/SKILL.md +107 -0
- package/content/engineering/.mcp.json +48 -0
- package/content/engineering/CONNECTORS.md +19 -0
- package/content/engineering/README.md +136 -0
- package/content/engineering/skills/engineering-architecture/SKILL.md +85 -0
- package/content/engineering/skills/engineering-code-review/SKILL.md +118 -0
- package/content/engineering/skills/engineering-debug/SKILL.md +95 -0
- package/content/engineering/skills/engineering-deploy-checklist/SKILL.md +78 -0
- package/content/engineering/skills/engineering-documentation/SKILL.md +49 -0
- package/content/engineering/skills/engineering-incident-response/SKILL.md +158 -0
- package/content/engineering/skills/engineering-standup/SKILL.md +75 -0
- package/content/engineering/skills/engineering-system-design/SKILL.md +42 -0
- package/content/engineering/skills/engineering-tech-debt/SKILL.md +32 -0
- package/content/engineering/skills/engineering-testing-strategy/SKILL.md +33 -0
- package/content/enterprise-search/.mcp.json +36 -0
- package/content/enterprise-search/CONNECTORS.md +21 -0
- package/content/enterprise-search/LICENSE +202 -0
- package/content/enterprise-search/README.md +157 -0
- package/content/enterprise-search/skills/enterprise-search-digest/SKILL.md +173 -0
- package/content/enterprise-search/skills/enterprise-search-knowledge-synthesis/SKILL.md +258 -0
- package/content/enterprise-search/skills/enterprise-search-search/SKILL.md +178 -0
- package/content/enterprise-search/skills/enterprise-search-search-strategy/SKILL.md +222 -0
- package/content/enterprise-search/skills/enterprise-search-source-management/SKILL.md +173 -0
- package/content/finance/.mcp.json +32 -0
- package/content/finance/CONNECTORS.md +20 -0
- package/content/finance/LICENSE +202 -0
- package/content/finance/README.md +92 -0
- package/content/finance/skills/finance-audit-support/SKILL.md +374 -0
- package/content/finance/skills/finance-close-management/SKILL.md +221 -0
- package/content/finance/skills/finance-financial-statements/SKILL.md +335 -0
- package/content/finance/skills/finance-journal-entry/SKILL.md +131 -0
- package/content/finance/skills/finance-journal-entry-prep/SKILL.md +186 -0
- package/content/finance/skills/finance-reconciliation/SKILL.md +175 -0
- package/content/finance/skills/finance-sox-testing/SKILL.md +218 -0
- package/content/finance/skills/finance-variance-analysis/SKILL.md +266 -0
- package/content/human-resources/.mcp.json +28 -0
- package/content/human-resources/CONNECTORS.md +19 -0
- package/content/human-resources/README.md +138 -0
- package/content/human-resources/skills/human-resources-comp-analysis/SKILL.md +92 -0
- package/content/human-resources/skills/human-resources-draft-offer/SKILL.md +82 -0
- package/content/human-resources/skills/human-resources-interview-prep/SKILL.md +37 -0
- package/content/human-resources/skills/human-resources-onboarding/SKILL.md +104 -0
- package/content/human-resources/skills/human-resources-org-planning/SKILL.md +28 -0
- package/content/human-resources/skills/human-resources-people-report/SKILL.md +99 -0
- package/content/human-resources/skills/human-resources-performance-review/SKILL.md +149 -0
- package/content/human-resources/skills/human-resources-policy-lookup/SKILL.md +94 -0
- package/content/human-resources/skills/human-resources-recruiting-pipeline/SKILL.md +31 -0
- package/content/legal/.mcp.json +36 -0
- package/content/legal/CONNECTORS.md +21 -0
- package/content/legal/LICENSE +202 -0
- package/content/legal/README.md +234 -0
- package/content/legal/skills/legal-brief/SKILL.md +208 -0
- package/content/legal/skills/legal-compliance-check/SKILL.md +274 -0
- package/content/legal/skills/legal-legal-response/SKILL.md +457 -0
- package/content/legal/skills/legal-legal-risk-assessment/SKILL.md +265 -0
- package/content/legal/skills/legal-meeting-briefing/SKILL.md +220 -0
- package/content/legal/skills/legal-review-contract/SKILL.md +358 -0
- package/content/legal/skills/legal-signature-request/SKILL.md +104 -0
- package/content/legal/skills/legal-triage-nda/SKILL.md +262 -0
- package/content/legal/skills/legal-vendor-check/SKILL.md +159 -0
- package/content/manifest.json +86 -0
- package/content/marketing/.mcp.json +60 -0
- package/content/marketing/CONNECTORS.md +20 -0
- package/content/marketing/LICENSE +202 -0
- package/content/marketing/README.md +90 -0
- package/content/marketing/skills/marketing-brand-review/SKILL.md +276 -0
- package/content/marketing/skills/marketing-campaign-plan/SKILL.md +308 -0
- package/content/marketing/skills/marketing-competitive-brief/SKILL.md +331 -0
- package/content/marketing/skills/marketing-content-creation/SKILL.md +157 -0
- package/content/marketing/skills/marketing-draft-content/SKILL.md +117 -0
- package/content/marketing/skills/marketing-email-sequence/SKILL.md +220 -0
- package/content/marketing/skills/marketing-performance-report/SKILL.md +392 -0
- package/content/marketing/skills/marketing-seo-audit/SKILL.md +190 -0
- package/content/operations/.mcp.json +32 -0
- package/content/operations/CONNECTORS.md +20 -0
- package/content/operations/README.md +135 -0
- package/content/operations/skills/operations-capacity-plan/SKILL.md +113 -0
- package/content/operations/skills/operations-change-request/SKILL.md +121 -0
- package/content/operations/skills/operations-compliance-tracking/SKILL.md +44 -0
- package/content/operations/skills/operations-process-doc/SKILL.md +82 -0
- package/content/operations/skills/operations-process-optimization/SKILL.md +39 -0
- package/content/operations/skills/operations-risk-assessment/SKILL.md +40 -0
- package/content/operations/skills/operations-runbook/SKILL.md +87 -0
- package/content/operations/skills/operations-status-report/SKILL.md +77 -0
- package/content/operations/skills/operations-vendor-review/SKILL.md +104 -0
- package/content/pdf-viewer/.mcp.json +8 -0
- package/content/pdf-viewer/CONNECTORS.md +15 -0
- package/content/pdf-viewer/LICENSE +202 -0
- package/content/pdf-viewer/README.md +57 -0
- package/content/pdf-viewer/commands/annotate.md +51 -0
- package/content/pdf-viewer/commands/fill-form.md +73 -0
- package/content/pdf-viewer/commands/open.md +34 -0
- package/content/pdf-viewer/commands/sign.md +54 -0
- package/content/pdf-viewer/skills/pdf-viewer-view-pdf/SKILL.md +147 -0
- package/content/product-management/.mcp.json +72 -0
- package/content/product-management/CONNECTORS.md +22 -0
- package/content/product-management/LICENSE +202 -0
- package/content/product-management/README.md +118 -0
- package/content/product-management/commands/brainstorm.md +120 -0
- package/content/product-management/skills/product-management-competitive-brief/SKILL.md +302 -0
- package/content/product-management/skills/product-management-metrics-review/SKILL.md +388 -0
- package/content/product-management/skills/product-management-product-brainstorming/SKILL.md +273 -0
- package/content/product-management/skills/product-management-roadmap-update/SKILL.md +266 -0
- package/content/product-management/skills/product-management-sprint-planning/SKILL.md +94 -0
- package/content/product-management/skills/product-management-stakeholder-update/SKILL.md +352 -0
- package/content/product-management/skills/product-management-synthesize-research/SKILL.md +312 -0
- package/content/product-management/skills/product-management-write-spec/SKILL.md +250 -0
- package/content/productivity/.mcp.json +44 -0
- package/content/productivity/CONNECTORS.md +18 -0
- package/content/productivity/LICENSE +202 -0
- package/content/productivity/README.md +97 -0
- package/content/productivity/skills/dashboard.html +3111 -0
- package/content/productivity/skills/productivity-memory-management/SKILL.md +323 -0
- package/content/productivity/skills/productivity-start/SKILL.md +158 -0
- package/content/productivity/skills/productivity-task-management/SKILL.md +91 -0
- package/content/productivity/skills/productivity-update/SKILL.md +168 -0
- package/content/sales/.mcp.json +100 -0
- package/content/sales/CONNECTORS.md +36 -0
- package/content/sales/LICENSE +202 -0
- package/content/sales/README.md +148 -0
- package/content/sales/skills/sales-account-context/SKILL.md +94 -0
- package/content/sales/skills/sales-account-plan/SKILL.md +95 -0
- package/content/sales/skills/sales-account-research/SKILL.md +99 -0
- package/content/sales/skills/sales-account-tiering/SKILL.md +101 -0
- package/content/sales/skills/sales-call-prep/SKILL.md +111 -0
- package/content/sales/skills/sales-call-summary/SKILL.md +111 -0
- package/content/sales/skills/sales-close-plan/SKILL.md +106 -0
- package/content/sales/skills/sales-competitive-intelligence/SKILL.md +102 -0
- package/content/sales/skills/sales-create-an-asset/SKILL.md +105 -0
- package/content/sales/skills/sales-crm-hygiene-check/SKILL.md +103 -0
- package/content/sales/skills/sales-customer-health/SKILL.md +108 -0
- package/content/sales/skills/sales-customer-voice/SKILL.md +94 -0
- package/content/sales/skills/sales-daily-briefing/SKILL.md +61 -0
- package/content/sales/skills/sales-deal-advance-gap/SKILL.md +102 -0
- package/content/sales/skills/sales-deal-review/SKILL.md +105 -0
- package/content/sales/skills/sales-deal-signals/SKILL.md +96 -0
- package/content/sales/skills/sales-deal-slip-scenario/SKILL.md +101 -0
- package/content/sales/skills/sales-draft-outreach/SKILL.md +116 -0
- package/content/sales/skills/sales-end-of-day/SKILL.md +114 -0
- package/content/sales/skills/sales-expansion-whitespace/SKILL.md +97 -0
- package/content/sales/skills/sales-forecast/SKILL.md +100 -0
- package/content/sales/skills/sales-handle-objection/SKILL.md +93 -0
- package/content/sales/skills/sales-inbox-sweep/SKILL.md +114 -0
- package/content/sales/skills/sales-lead-triage/SKILL.md +105 -0
- package/content/sales/skills/sales-log-activity/SKILL.md +111 -0
- package/content/sales/skills/sales-pipeline-review/SKILL.md +97 -0
- package/content/sales/skills/sales-renewal-radar/SKILL.md +95 -0
- package/content/sales/skills/sales-rep-context/SKILL.md +90 -0
- package/content/sales/skills/sales-route-lead/SKILL.md +111 -0
- package/content/sales/skills/sales-schedule-meeting/SKILL.md +99 -0
- package/content/sales/skills/sales-setup/SKILL.md +195 -0
- package/content/sales/skills/sales-stakeholder-map/SKILL.md +107 -0
- package/content/sales/skills/sales-team-pipeline/SKILL.md +105 -0
- package/content/sales/skills/sales-update-opportunity/SKILL.md +111 -0
- package/content/sales/skills/sales-weekly-wrap/SKILL.md +90 -0
- package/content/sales/skills/sales-win-loss-review/SKILL.md +88 -0
- package/content/small-business/.mcp.json +148 -0
- package/content/small-business/README.md +117 -0
- package/content/small-business/skills/small-business-ad-manager/SKILL.md +128 -0
- package/content/small-business/skills/small-business-ad-manager/reference/ad_copy.md +112 -0
- package/content/small-business/skills/small-business-ad-manager/reference/change_playbook.md +127 -0
- package/content/small-business/skills/small-business-ad-manager/reference/data_sources.md +100 -0
- package/content/small-business/skills/small-business-ad-manager/reference/diagnostics.md +89 -0
- package/content/small-business/skills/small-business-ad-manager/reference/gotchas.md +181 -0
- package/content/small-business/skills/small-business-ap-processor/SKILL.md +158 -0
- package/content/small-business/skills/small-business-ap-processor/reference/coding_rules.md +70 -0
- package/content/small-business/skills/small-business-ap-processor/reference/gotchas.md +131 -0
- package/content/small-business/skills/small-business-ap-processor/reference/intake_and_extraction.md +82 -0
- package/content/small-business/skills/small-business-ap-processor/reference/matching_and_exceptions.md +80 -0
- package/content/small-business/skills/small-business-ap-processor/reference/payment_run.md +77 -0
- package/content/small-business/skills/small-business-brand-style/SKILL.md +106 -0
- package/content/small-business/skills/small-business-build-agent/SKILL.md +105 -0
- package/content/small-business/skills/small-business-build-agent/reference/capture.md +133 -0
- package/content/small-business/skills/small-business-build-agent/reference/gotchas.md +204 -0
- package/content/small-business/skills/small-business-build-agent/reference/skill_authoring.md +165 -0
- package/content/small-business/skills/small-business-build-connector/SKILL.md +102 -0
- package/content/small-business/skills/small-business-build-connector/reference/discovery.md +120 -0
- package/content/small-business/skills/small-business-build-connector/reference/gotchas.md +237 -0
- package/content/small-business/skills/small-business-build-connector/reference/paths.md +106 -0
- package/content/small-business/skills/small-business-build-connector/reference/use-zapier.md +128 -0
- package/content/small-business/skills/small-business-business-pulse/SKILL.md +181 -0
- package/content/small-business/skills/small-business-business-pulse/reference/data_sources.md +173 -0
- package/content/small-business/skills/small-business-business-pulse/reference/gotchas.md +103 -0
- package/content/small-business/skills/small-business-business-pulse/reference/output_template.md +109 -0
- package/content/small-business/skills/small-business-business-pulse/reference/thresholds.md +71 -0
- package/content/small-business/skills/small-business-business-pulse/reference/v2_sources.md +63 -0
- package/content/small-business/skills/small-business-call-list/SKILL.md +82 -0
- package/content/small-business/skills/small-business-canva-creator/SKILL.md +448 -0
- package/content/small-business/skills/small-business-canva-creator/reference/canva-api.md +208 -0
- package/content/small-business/skills/small-business-canva-creator/reference/examples/boutique-brief-campaign.md +181 -0
- package/content/small-business/skills/small-business-canva-creator/reference/gotchas.md +380 -0
- package/content/small-business/skills/small-business-canva-creator/reference/hubspot-staging.md +137 -0
- package/content/small-business/skills/small-business-cash-flow-snapshot/SKILL.md +251 -0
- package/content/small-business/skills/small-business-cash-flow-snapshot/reference/examples/worked-example.md +92 -0
- package/content/small-business/skills/small-business-cash-flow-snapshot/reference/gotchas.md +62 -0
- package/content/small-business/skills/small-business-cash-flow-snapshot/reference/v2_sources.md +84 -0
- package/content/small-business/skills/small-business-close-month/SKILL.md +86 -0
- package/content/small-business/skills/small-business-content-strategy/SKILL.md +152 -0
- package/content/small-business/skills/small-business-content-strategy/reference/examples/retail-boutique-example.md +71 -0
- package/content/small-business/skills/small-business-content-strategy/reference/gotchas.md +104 -0
- package/content/small-business/skills/small-business-content-strategy/reference/v2_sources.md +40 -0
- package/content/small-business/skills/small-business-contract-review/SKILL.md +158 -0
- package/content/small-business/skills/small-business-contract-review/reference/docusign-fetch.md +32 -0
- package/content/small-business/skills/small-business-contract-review/reference/examples/flagged-summary-saas.md +97 -0
- package/content/small-business/skills/small-business-contract-review/reference/gmail-fetch.md +30 -0
- package/content/small-business/skills/small-business-contract-review/reference/gotchas.md +105 -0
- package/content/small-business/skills/small-business-contract-review/reference/m365-fetch.md +60 -0
- package/content/small-business/skills/small-business-crm-autopilot/SKILL.md +162 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/cleanup-checklist.md +82 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/examples/cleanup-deal.md +83 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/examples/log-call-happy-path.md +68 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/examples/log-email-happy-path.md +50 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/gotchas.md +110 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/hubspot-fields.md +62 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/lightweight_crm.md +125 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/salesforce-fields.md +122 -0
- package/content/small-business/skills/small-business-crm-autopilot/reference/standing_mode.md +144 -0
- package/content/small-business/skills/small-business-grant-rfp-writer/SKILL.md +162 -0
- package/content/small-business/skills/small-business-grant-rfp-writer/reference/drafting.md +129 -0
- package/content/small-business/skills/small-business-grant-rfp-writer/reference/go_no_go.md +125 -0
- package/content/small-business/skills/small-business-grant-rfp-writer/reference/gotchas.md +180 -0
- package/content/small-business/skills/small-business-grant-rfp-writer/reference/opportunity_sources.md +90 -0
- package/content/small-business/skills/small-business-grant-rfp-writer/reference/org_profile.md +81 -0
- package/content/small-business/skills/small-business-grow-pipeline/SKILL.md +92 -0
- package/content/small-business/skills/small-business-growth-pulse/SKILL.md +143 -0
- package/content/small-business/skills/small-business-growth-pulse/reference/data_sources.md +113 -0
- package/content/small-business/skills/small-business-growth-pulse/reference/gotchas.md +175 -0
- package/content/small-business/skills/small-business-growth-pulse/reference/output_template.md +122 -0
- package/content/small-business/skills/small-business-growth-pulse/reference/thresholds.md +110 -0
- package/content/small-business/skills/small-business-hiring-screener/SKILL.md +137 -0
- package/content/small-business/skills/small-business-hiring-screener/reference/candidate_comms.md +132 -0
- package/content/small-business/skills/small-business-hiring-screener/reference/fair_screening.md +103 -0
- package/content/small-business/skills/small-business-hiring-screener/reference/gotchas.md +183 -0
- package/content/small-business/skills/small-business-hiring-screener/reference/onboarding.md +82 -0
- package/content/small-business/skills/small-business-hiring-screener/reference/rubric.md +122 -0
- package/content/small-business/skills/small-business-inbox-manager/SKILL.md +130 -0
- package/content/small-business/skills/small-business-inbox-manager/reference/digest_format.md +110 -0
- package/content/small-business/skills/small-business-inbox-manager/reference/gotchas.md +220 -0
- package/content/small-business/skills/small-business-inbox-manager/reference/handoffs.md +77 -0
- package/content/small-business/skills/small-business-inbox-manager/reference/reply_drafting.md +116 -0
- package/content/small-business/skills/small-business-inbox-manager/reference/triage_rules.md +72 -0
- package/content/small-business/skills/small-business-inventory-planner/SKILL.md +126 -0
- package/content/small-business/skills/small-business-inventory-planner/reference/data_sources.md +94 -0
- package/content/small-business/skills/small-business-inventory-planner/reference/gotchas.md +153 -0
- package/content/small-business/skills/small-business-inventory-planner/reference/po_drafting.md +92 -0
- package/content/small-business/skills/small-business-inventory-planner/reference/seasonality.md +112 -0
- package/content/small-business/skills/small-business-inventory-planner/reference/velocity_and_reorder.md +154 -0
- package/content/small-business/skills/small-business-invoice-chase/SKILL.md +131 -0
- package/content/small-business/skills/small-business-invoice-chase/reference/examples/firm-reminder.md +28 -0
- package/content/small-business/skills/small-business-invoice-chase/reference/examples/gentle-reminder.md +27 -0
- package/content/small-business/skills/small-business-invoice-chase/reference/gotchas.md +75 -0
- package/content/small-business/skills/small-business-invoice-chase/reference/tone-matching.md +44 -0
- package/content/small-business/skills/small-business-invoice-chase/reference/v2_sources.md +78 -0
- package/content/small-business/skills/small-business-job-post-builder/SKILL.md +204 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/docusign-routing.md +63 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/examples/worked-example.md +110 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/existing-document-merge.md +58 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/gotchas.md +68 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/interview-guide-structure.md +93 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/job-post-structure.md +62 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/offer-letter-template.md +145 -0
- package/content/small-business/skills/small-business-job-post-builder/reference/role-intake.md +73 -0
- package/content/small-business/skills/small-business-lead-finder/SKILL.md +119 -0
- package/content/small-business/skills/small-business-lead-finder/reference/gotchas.md +152 -0
- package/content/small-business/skills/small-business-lead-finder/reference/icp_method.md +97 -0
- package/content/small-business/skills/small-business-lead-finder/reference/output_template.md +124 -0
- package/content/small-business/skills/small-business-lead-finder/reference/scoring.md +92 -0
- package/content/small-business/skills/small-business-lead-finder/reference/sourcing.md +78 -0
- package/content/small-business/skills/small-business-lead-triage/SKILL.md +81 -0
- package/content/small-business/skills/small-business-lead-triage/reference/examples/happy-path-triage.md +68 -0
- package/content/small-business/skills/small-business-lead-triage/reference/gotchas.md +76 -0
- package/content/small-business/skills/small-business-lead-triage/reference/hubspot-scoring.md +169 -0
- package/content/small-business/skills/small-business-marketing-monday/SKILL.md +108 -0
- package/content/small-business/skills/small-business-monday-brief/SKILL.md +97 -0
- package/content/small-business/skills/small-business-month-end-prep/SKILL.md +331 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/close-packet-format.md +127 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/examples/pl-narrative.md +52 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/gotchas.md +113 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/paypal-settlements.md +110 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/quickbooks-reconcile.md +71 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/v2_sources.md +125 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/xero-reconcile.md +175 -0
- package/content/small-business/skills/small-business-month-end-prep/reference/zoho-books-reconcile.md +168 -0
- package/content/small-business/skills/small-business-outreach-composer/SKILL.md +144 -0
- package/content/small-business/skills/small-business-outreach-composer/reference/gotchas.md +213 -0
- package/content/small-business/skills/small-business-outreach-composer/reference/output_template.md +147 -0
- package/content/small-business/skills/small-business-outreach-composer/reference/sequence_patterns.md +99 -0
- package/content/small-business/skills/small-business-outreach-composer/reference/slop_test.md +164 -0
- package/content/small-business/skills/small-business-pay-the-bills/SKILL.md +101 -0
- package/content/small-business/skills/small-business-payroll-prep/SKILL.md +139 -0
- package/content/small-business/skills/small-business-payroll-prep/reference/anomaly_rules.md +99 -0
- package/content/small-business/skills/small-business-payroll-prep/reference/books_sync.md +72 -0
- package/content/small-business/skills/small-business-payroll-prep/reference/gotchas.md +153 -0
- package/content/small-business/skills/small-business-payroll-prep/reference/run_sheet_format.md +90 -0
- package/content/small-business/skills/small-business-payroll-prep/reference/timesheet_intake.md +118 -0
- package/content/small-business/skills/small-business-plan-payroll/SKILL.md +88 -0
- package/content/small-business/skills/small-business-proposal-builder/SKILL.md +168 -0
- package/content/small-business/skills/small-business-proposal-builder/reference/discovery_extraction.md +138 -0
- package/content/small-business/skills/small-business-proposal-builder/reference/gotchas.md +184 -0
- package/content/small-business/skills/small-business-proposal-builder/reference/output_template.md +128 -0
- package/content/small-business/skills/small-business-proposal-builder/reference/pricing_method.md +125 -0
- package/content/small-business/skills/small-business-proposal-builder/reference/proposal_structure.md +120 -0
- package/content/small-business/skills/small-business-reactivate/SKILL.md +109 -0
- package/content/small-business/skills/small-business-report-builder/SKILL.md +142 -0
- package/content/small-business/skills/small-business-report-builder/reference/data_sources.md +168 -0
- package/content/small-business/skills/small-business-report-builder/reference/gotchas.md +155 -0
- package/content/small-business/skills/small-business-report-builder/reference/output_template.md +109 -0
- package/content/small-business/skills/small-business-report-builder/reference/report_spec.md +109 -0
- package/content/small-business/skills/small-business-report-builder/reference/saved_reports.md +50 -0
- package/content/small-business/skills/small-business-report-pack/SKILL.md +83 -0
- package/content/small-business/skills/small-business-restock/SKILL.md +88 -0
- package/content/small-business/skills/small-business-review-reputation/SKILL.md +130 -0
- package/content/small-business/skills/small-business-review-reputation/reference/churn-signals.md +110 -0
- package/content/small-business/skills/small-business-review-reputation/reference/examples/example-report.md +150 -0
- package/content/small-business/skills/small-business-review-reputation/reference/gotchas.md +164 -0
- package/content/small-business/skills/small-business-review-reputation/reference/response-patterns.md +123 -0
- package/content/small-business/skills/small-business-review-reputation/reference/sources.md +116 -0
- package/content/small-business/skills/small-business-seo-ai-visibility/SKILL.md +143 -0
- package/content/small-business/skills/small-business-seo-ai-visibility/reference/ai_visibility.md +173 -0
- package/content/small-business/skills/small-business-seo-ai-visibility/reference/audit_checklist.md +134 -0
- package/content/small-business/skills/small-business-seo-ai-visibility/reference/catalog_refresh.md +126 -0
- package/content/small-business/skills/small-business-seo-ai-visibility/reference/content_rewrite.md +113 -0
- package/content/small-business/skills/small-business-seo-ai-visibility/reference/gotchas.md +211 -0
- package/content/small-business/skills/small-business-smb-onboard/SKILL.md +82 -0
- package/content/small-business/skills/small-business-smb-onboard/reference/examples/happy-path.md +190 -0
- package/content/small-business/skills/small-business-smb-onboard/reference/gotchas.md +111 -0
- package/content/small-business/skills/small-business-smb-onboard/reference/onboard-checklist.md +99 -0
- package/content/small-business/skills/small-business-smb-onboard/reference/website-research.md +82 -0
- package/content/small-business/skills/small-business-smb-router/SKILL.md +216 -0
- package/content/small-business/skills/small-business-smb-router/reference/connector-map.md +96 -0
- package/content/small-business/skills/small-business-social-content-engine/SKILL.md +162 -0
- package/content/small-business/skills/small-business-social-content-engine/reference/calendar.md +116 -0
- package/content/small-business/skills/small-business-social-content-engine/reference/canva-api.md +208 -0
- package/content/small-business/skills/small-business-social-content-engine/reference/examples/okonkwo-campaign.md +190 -0
- package/content/small-business/skills/small-business-social-content-engine/reference/gotchas.md +447 -0
- package/content/small-business/skills/small-business-social-content-engine/reference/publishing.md +166 -0
- package/content/small-business/skills/small-business-social-content-engine/reference/shopify-assets.md +77 -0
- package/content/small-business/skills/small-business-speed-to-lead/SKILL.md +172 -0
- package/content/small-business/skills/small-business-speed-to-lead/reference/approval.md +61 -0
- package/content/small-business/skills/small-business-speed-to-lead/reference/gotchas.md +167 -0
- package/content/small-business/skills/small-business-speed-to-lead/reference/qualification.md +153 -0
- package/content/small-business/skills/small-business-speed-to-lead/reference/response_patterns.md +184 -0
- package/content/small-business/skills/small-business-tax-prep/SKILL.md +85 -0
- package/content/small-business/skills/small-business-tax-season-organizer/SKILL.md +210 -0
- package/content/small-business/skills/small-business-tax-season-organizer/reference/calculation-assumptions.md +177 -0
- package/content/small-business/skills/small-business-tax-season-organizer/reference/connector-queries.md +267 -0
- package/content/small-business/skills/small-business-tax-season-organizer/reference/examples/quarterly-estimate.md +92 -0
- package/content/small-business/skills/small-business-tax-season-organizer/reference/examples/year-end-1099.md +102 -0
- package/content/small-business/skills/small-business-tax-season-organizer/reference/gotchas.md +104 -0
- package/content/small-business/skills/small-business-tax-season-organizer/reference/output-formats.md +68 -0
- package/content/small-business/skills/small-business-ticket-deflector/SKILL.md +164 -0
- package/content/small-business/skills/small-business-ticket-deflector/reference/examples/deny-refund-request.md +98 -0
- package/content/small-business/skills/small-business-ticket-deflector/reference/examples/respond-refund-request.md +77 -0
- package/content/small-business/skills/small-business-ticket-deflector/reference/gotchas.md +57 -0
- package/index.ts +84 -0
- package/package.json +30 -3
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scvi-tools
|
|
3
|
+
description: Deep learning for single-cell analysis using scvi-tools. This skill should be used when users need (1) data integration and batch correction with scVI/scANVI, (2) ATAC-seq analysis with PeakVI, (3) CITE-seq multi-modal analysis with totalVI, (4) multiome RNA+ATAC analysis with MultiVI, (5) spatial transcriptomics deconvolution with DestVI, (6) label transfer and reference mapping with scANVI/scArches, (7) RNA velocity with veloVI, or (8) any deep learning-based single-cell method. Triggers include mentions of scVI, scANVI, totalVI, PeakVI, MultiVI, DestVI, veloVI, sysVI, scArches, variational autoencoder, VAE, batch correction, data integration, multi-modal, CITE-seq, multiome, reference mapping, latent space.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# scvi-tools Deep Learning Skill
|
|
7
|
+
|
|
8
|
+
This skill provides guidance for deep learning-based single-cell analysis using scvi-tools, the leading framework for probabilistic models in single-cell genomics.
|
|
9
|
+
|
|
10
|
+
## How to Use This Skill
|
|
11
|
+
|
|
12
|
+
1. Identify the appropriate workflow from the model/workflow tables below
|
|
13
|
+
2. Read the corresponding reference file for detailed steps and code
|
|
14
|
+
3. Use scripts in `scripts/` to avoid rewriting common code
|
|
15
|
+
4. For installation or GPU issues, consult `references/environment_setup.md`
|
|
16
|
+
5. For debugging, consult `references/troubleshooting.md`
|
|
17
|
+
|
|
18
|
+
## When to Use This Skill
|
|
19
|
+
|
|
20
|
+
- When scvi-tools, scVI, scANVI, or related models are mentioned
|
|
21
|
+
- When deep learning-based batch correction or integration is needed
|
|
22
|
+
- When working with multi-modal data (CITE-seq, multiome)
|
|
23
|
+
- When reference mapping or label transfer is required
|
|
24
|
+
- When analyzing ATAC-seq or spatial transcriptomics data
|
|
25
|
+
- When learning latent representations of single-cell data
|
|
26
|
+
|
|
27
|
+
## Model Selection Guide
|
|
28
|
+
|
|
29
|
+
| Data Type | Model | Primary Use Case |
|
|
30
|
+
|-----------|-------|------------------|
|
|
31
|
+
| scRNA-seq | **scVI** | Unsupervised integration, DE, imputation |
|
|
32
|
+
| scRNA-seq + labels | **scANVI** | Label transfer, semi-supervised integration |
|
|
33
|
+
| CITE-seq (RNA+protein) | **totalVI** | Multi-modal integration, protein denoising |
|
|
34
|
+
| scATAC-seq | **PeakVI** | Chromatin accessibility analysis |
|
|
35
|
+
| Multiome (RNA+ATAC) | **MultiVI** | Joint modality analysis |
|
|
36
|
+
| Spatial + scRNA reference | **DestVI** | Cell type deconvolution |
|
|
37
|
+
| RNA velocity | **veloVI** | Transcriptional dynamics |
|
|
38
|
+
| Cross-technology | **sysVI** | System-level batch correction |
|
|
39
|
+
|
|
40
|
+
## Workflow Reference Files
|
|
41
|
+
|
|
42
|
+
| Workflow | Reference File | Description |
|
|
43
|
+
|----------|---------------|-------------|
|
|
44
|
+
| Environment Setup | `references/environment_setup.md` | Installation, GPU, version info |
|
|
45
|
+
| Data Preparation | `references/data_preparation.md` | Formatting data for any model |
|
|
46
|
+
| scRNA Integration | `references/scrna_integration.md` | scVI/scANVI batch correction |
|
|
47
|
+
| ATAC-seq Analysis | `references/atac_peakvi.md` | PeakVI for accessibility |
|
|
48
|
+
| CITE-seq Analysis | `references/citeseq_totalvi.md` | totalVI for protein+RNA |
|
|
49
|
+
| Multiome Analysis | `references/multiome_multivi.md` | MultiVI for RNA+ATAC |
|
|
50
|
+
| Spatial Deconvolution | `references/spatial_deconvolution.md` | DestVI spatial analysis |
|
|
51
|
+
| Label Transfer | `references/label_transfer.md` | scANVI reference mapping |
|
|
52
|
+
| scArches Mapping | `references/scarches_mapping.md` | Query-to-reference mapping |
|
|
53
|
+
| Batch Correction | `references/batch_correction_sysvi.md` | Advanced batch methods |
|
|
54
|
+
| RNA Velocity | `references/rna_velocity_velovi.md` | veloVI dynamics |
|
|
55
|
+
| Troubleshooting | `references/troubleshooting.md` | Common issues and solutions |
|
|
56
|
+
|
|
57
|
+
## CLI Scripts
|
|
58
|
+
|
|
59
|
+
Modular scripts for common workflows. Chain together or modify as needed.
|
|
60
|
+
|
|
61
|
+
### Pipeline Scripts
|
|
62
|
+
|
|
63
|
+
| Script | Purpose | Usage |
|
|
64
|
+
|--------|---------|-------|
|
|
65
|
+
| `prepare_data.py` | QC, filter, HVG selection | `python scripts/prepare_data.py raw.h5ad prepared.h5ad --batch-key batch` |
|
|
66
|
+
| `train_model.py` | Train any scvi-tools model | `python scripts/train_model.py prepared.h5ad results/ --model scvi` |
|
|
67
|
+
| `cluster_embed.py` | Neighbors, UMAP, Leiden | `python scripts/cluster_embed.py adata.h5ad results/` |
|
|
68
|
+
| `differential_expression.py` | DE analysis | `python scripts/differential_expression.py model/ adata.h5ad de.csv --groupby leiden` |
|
|
69
|
+
| `transfer_labels.py` | Label transfer with scANVI | `python scripts/transfer_labels.py ref_model/ query.h5ad results/` |
|
|
70
|
+
| `integrate_datasets.py` | Multi-dataset integration | `python scripts/integrate_datasets.py results/ data1.h5ad data2.h5ad` |
|
|
71
|
+
| `validate_adata.py` | Check data compatibility | `python scripts/validate_adata.py data.h5ad --batch-key batch` |
|
|
72
|
+
|
|
73
|
+
### Example Workflow
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# 1. Validate input data
|
|
77
|
+
python scripts/validate_adata.py raw.h5ad --batch-key batch --suggest
|
|
78
|
+
|
|
79
|
+
# 2. Prepare data (QC, HVG selection)
|
|
80
|
+
python scripts/prepare_data.py raw.h5ad prepared.h5ad --batch-key batch --n-hvgs 2000
|
|
81
|
+
|
|
82
|
+
# 3. Train model
|
|
83
|
+
python scripts/train_model.py prepared.h5ad results/ --model scvi --batch-key batch
|
|
84
|
+
|
|
85
|
+
# 4. Cluster and visualize
|
|
86
|
+
python scripts/cluster_embed.py results/adata_trained.h5ad results/ --resolution 0.8
|
|
87
|
+
|
|
88
|
+
# 5. Differential expression
|
|
89
|
+
python scripts/differential_expression.py results/model results/adata_clustered.h5ad results/de.csv --groupby leiden
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Python Utilities
|
|
93
|
+
|
|
94
|
+
The `scripts/model_utils.py` provides importable functions for custom workflows:
|
|
95
|
+
|
|
96
|
+
| Function | Purpose |
|
|
97
|
+
|----------|---------|
|
|
98
|
+
| `prepare_adata()` | Data preparation (QC, HVG, layer setup) |
|
|
99
|
+
| `train_scvi()` | Train scVI or scANVI |
|
|
100
|
+
| `evaluate_integration()` | Compute integration metrics |
|
|
101
|
+
| `get_marker_genes()` | Extract DE markers |
|
|
102
|
+
| `save_results()` | Save model, data, plots |
|
|
103
|
+
| `auto_select_model()` | Suggest best model |
|
|
104
|
+
| `quick_clustering()` | Neighbors + UMAP + Leiden |
|
|
105
|
+
|
|
106
|
+
## Critical Requirements
|
|
107
|
+
|
|
108
|
+
1. **Raw counts required**: scvi-tools models require integer count data
|
|
109
|
+
```python
|
|
110
|
+
adata.layers["counts"] = adata.X.copy() # Before normalization
|
|
111
|
+
scvi.model.SCVI.setup_anndata(adata, layer="counts")
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
2. **HVG selection**: Use 2000-4000 highly variable genes
|
|
115
|
+
```python
|
|
116
|
+
sc.pp.highly_variable_genes(adata, n_top_genes=2000, batch_key="batch", layer="counts", flavor="seurat_v3")
|
|
117
|
+
adata = adata[:, adata.var['highly_variable']].copy()
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
3. **Batch information**: Specify batch_key for integration
|
|
121
|
+
```python
|
|
122
|
+
scvi.model.SCVI.setup_anndata(adata, layer="counts", batch_key="batch")
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Quick Decision Tree
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
Need to integrate scRNA-seq data?
|
|
129
|
+
├── Have cell type labels? → scANVI (references/label_transfer.md)
|
|
130
|
+
└── No labels? → scVI (references/scrna_integration.md)
|
|
131
|
+
|
|
132
|
+
Have multi-modal data?
|
|
133
|
+
├── CITE-seq (RNA + protein)? → totalVI (references/citeseq_totalvi.md)
|
|
134
|
+
├── Multiome (RNA + ATAC)? → MultiVI (references/multiome_multivi.md)
|
|
135
|
+
└── scATAC-seq only? → PeakVI (references/atac_peakvi.md)
|
|
136
|
+
|
|
137
|
+
Have spatial data?
|
|
138
|
+
└── Need cell type deconvolution? → DestVI (references/spatial_deconvolution.md)
|
|
139
|
+
|
|
140
|
+
Have pre-trained reference model?
|
|
141
|
+
└── Map query to reference? → scArches (references/scarches_mapping.md)
|
|
142
|
+
|
|
143
|
+
Need RNA velocity?
|
|
144
|
+
└── veloVI (references/rna_velocity_velovi.md)
|
|
145
|
+
|
|
146
|
+
Strong cross-technology batch effects?
|
|
147
|
+
└── sysVI (references/batch_correction_sysvi.md)
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Key Resources
|
|
151
|
+
|
|
152
|
+
- [scvi-tools Documentation](https://docs.scvi-tools.org/)
|
|
153
|
+
- [scvi-tools Tutorials](https://docs.scvi-tools.org/en/stable/tutorials/index.html)
|
|
154
|
+
- [Model Hub](https://huggingface.co/scvi-tools)
|
|
155
|
+
- [GitHub Issues](https://github.com/scverse/scvi-tools/issues)
|
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
# scATAC-seq Analysis with PeakVI
|
|
2
|
+
|
|
3
|
+
This reference covers single-cell ATAC-seq analysis using PeakVI for dimensionality reduction, batch correction, and differential accessibility.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
PeakVI is a deep generative model for scATAC-seq data that:
|
|
8
|
+
- Models binary accessibility (peak open/closed)
|
|
9
|
+
- Handles batch effects
|
|
10
|
+
- Provides latent representation for clustering
|
|
11
|
+
- Enables differential accessibility analysis
|
|
12
|
+
|
|
13
|
+
## Prerequisites
|
|
14
|
+
|
|
15
|
+
```python
|
|
16
|
+
import scvi
|
|
17
|
+
import scanpy as sc
|
|
18
|
+
import numpy as np
|
|
19
|
+
import anndata as ad
|
|
20
|
+
|
|
21
|
+
print(f"scvi-tools version: {scvi.__version__}")
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Step 1: Load and Prepare ATAC Data
|
|
25
|
+
|
|
26
|
+
### From 10x Genomics (Cell Ranger ATAC)
|
|
27
|
+
|
|
28
|
+
```python
|
|
29
|
+
# Peak-cell matrix from fragments
|
|
30
|
+
# Usually in filtered_peak_bc_matrix format
|
|
31
|
+
|
|
32
|
+
adata = sc.read_10x_h5("filtered_peak_bc_matrix.h5")
|
|
33
|
+
|
|
34
|
+
# Or from mtx format
|
|
35
|
+
adata = sc.read_10x_mtx("filtered_peak_bc_matrix/")
|
|
36
|
+
|
|
37
|
+
# Check structure
|
|
38
|
+
print(f"Cells: {adata.n_obs}, Peaks: {adata.n_vars}")
|
|
39
|
+
print(f"Sparsity: {1 - adata.X.nnz / (adata.n_obs * adata.n_vars):.2%}")
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### From ArchR/Signac
|
|
43
|
+
|
|
44
|
+
```python
|
|
45
|
+
# Export from ArchR (in R)
|
|
46
|
+
# saveArchRProject(proj, outputDirectory="atac_export", load=FALSE)
|
|
47
|
+
# Then read the exported files in Python
|
|
48
|
+
|
|
49
|
+
# From Signac:
|
|
50
|
+
# Export peak matrix and metadata
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Step 2: Quality Control
|
|
54
|
+
|
|
55
|
+
```python
|
|
56
|
+
# Calculate QC metrics
|
|
57
|
+
sc.pp.calculate_qc_metrics(adata, inplace=True)
|
|
58
|
+
|
|
59
|
+
# Key metrics for ATAC:
|
|
60
|
+
# - n_genes_by_counts: peaks per cell (should rename)
|
|
61
|
+
# - total_counts: fragments per cell
|
|
62
|
+
adata.obs['n_peaks'] = adata.obs['n_genes_by_counts']
|
|
63
|
+
adata.obs['total_fragments'] = adata.obs['total_counts']
|
|
64
|
+
|
|
65
|
+
# Filter cells
|
|
66
|
+
adata = adata[adata.obs['n_peaks'] > 500].copy()
|
|
67
|
+
adata = adata[adata.obs['n_peaks'] < 50000].copy() # Remove potential doublets
|
|
68
|
+
|
|
69
|
+
# Filter peaks (accessible in at least n cells)
|
|
70
|
+
sc.pp.filter_genes(adata, min_cells=10)
|
|
71
|
+
|
|
72
|
+
print(f"After QC: {adata.shape}")
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Binarize Data
|
|
76
|
+
|
|
77
|
+
```python
|
|
78
|
+
# PeakVI works with binary accessibility
|
|
79
|
+
# Binarize if not already binary
|
|
80
|
+
adata.X = (adata.X > 0).astype(np.float32)
|
|
81
|
+
|
|
82
|
+
# Verify
|
|
83
|
+
print(f"Unique values: {np.unique(adata.X.data)}")
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Step 3: Feature Selection
|
|
87
|
+
|
|
88
|
+
Unlike RNA-seq, peak selection for ATAC is less established. Options:
|
|
89
|
+
|
|
90
|
+
### Option A: Most Accessible Peaks
|
|
91
|
+
|
|
92
|
+
```python
|
|
93
|
+
# Select top peaks by accessibility frequency
|
|
94
|
+
peak_accessibility = np.array(adata.X.sum(axis=0)).flatten()
|
|
95
|
+
top_peaks = np.argsort(peak_accessibility)[-50000:] # Top 50k peaks
|
|
96
|
+
|
|
97
|
+
adata = adata[:, top_peaks].copy()
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Option B: Variable Peaks
|
|
101
|
+
|
|
102
|
+
```python
|
|
103
|
+
# Select peaks with high variance
|
|
104
|
+
# (Most informative for clustering)
|
|
105
|
+
from sklearn.feature_selection import VarianceThreshold
|
|
106
|
+
|
|
107
|
+
selector = VarianceThreshold(threshold=0.05)
|
|
108
|
+
selector.fit(adata.X)
|
|
109
|
+
adata = adata[:, selector.get_support()].copy()
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Option C: Peaks Near Genes
|
|
113
|
+
|
|
114
|
+
```python
|
|
115
|
+
# Keep peaks within promoter regions or gene bodies
|
|
116
|
+
# Requires peak annotation
|
|
117
|
+
# gene_peaks = peaks with gene annotation
|
|
118
|
+
# adata = adata[:, adata.var['near_gene']].copy()
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Step 4: Add Batch Information
|
|
122
|
+
|
|
123
|
+
```python
|
|
124
|
+
# Add batch annotation if multiple samples
|
|
125
|
+
adata.obs['batch'] = adata.obs['sample_id'] # Or appropriate column
|
|
126
|
+
|
|
127
|
+
print(adata.obs['batch'].value_counts())
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Step 5: Setup and Train PeakVI
|
|
131
|
+
|
|
132
|
+
```python
|
|
133
|
+
# Setup AnnData
|
|
134
|
+
scvi.model.PEAKVI.setup_anndata(
|
|
135
|
+
adata,
|
|
136
|
+
batch_key="batch" # Optional, omit for single batch
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
# Create model
|
|
140
|
+
model = scvi.model.PEAKVI(
|
|
141
|
+
adata,
|
|
142
|
+
n_latent=20, # Latent dimensions
|
|
143
|
+
n_layers_encoder=2,
|
|
144
|
+
n_layers_decoder=2
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
# Train
|
|
148
|
+
model.train(
|
|
149
|
+
max_epochs=200,
|
|
150
|
+
early_stopping=True,
|
|
151
|
+
batch_size=128
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
# Check training
|
|
155
|
+
model.history['elbo_train'].plot()
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Step 6: Get Latent Representation
|
|
159
|
+
|
|
160
|
+
```python
|
|
161
|
+
# Latent space for downstream analysis
|
|
162
|
+
adata.obsm["X_PeakVI"] = model.get_latent_representation()
|
|
163
|
+
|
|
164
|
+
# Clustering and visualization
|
|
165
|
+
sc.pp.neighbors(adata, use_rep="X_PeakVI", n_neighbors=15)
|
|
166
|
+
sc.tl.umap(adata)
|
|
167
|
+
sc.tl.leiden(adata, resolution=0.5)
|
|
168
|
+
|
|
169
|
+
# Visualize
|
|
170
|
+
sc.pl.umap(adata, color=['leiden', 'batch'], ncols=2)
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Step 7: Differential Accessibility
|
|
174
|
+
|
|
175
|
+
```python
|
|
176
|
+
# Differential accessibility between clusters
|
|
177
|
+
da_results = model.differential_accessibility(
|
|
178
|
+
groupby='leiden',
|
|
179
|
+
group1='0',
|
|
180
|
+
group2='1'
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
# Filter significant peaks
|
|
184
|
+
da_sig = da_results[
|
|
185
|
+
(da_results['is_da_fdr_0.05']) &
|
|
186
|
+
(abs(da_results['lfc_mean']) > 1)
|
|
187
|
+
]
|
|
188
|
+
|
|
189
|
+
print(f"Significant DA peaks: {len(da_sig)}")
|
|
190
|
+
print(da_sig.head())
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### DA Between Conditions
|
|
194
|
+
|
|
195
|
+
```python
|
|
196
|
+
# Compare conditions within cell type
|
|
197
|
+
adata_subset = adata[adata.obs['cell_type'] == 'CD4 T cells'].copy()
|
|
198
|
+
|
|
199
|
+
da_condition = model.differential_accessibility(
|
|
200
|
+
groupby='condition',
|
|
201
|
+
group1='treated',
|
|
202
|
+
group2='control'
|
|
203
|
+
)
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Step 8: Peak Annotation
|
|
207
|
+
|
|
208
|
+
```python
|
|
209
|
+
# Annotate peaks with nearest genes
|
|
210
|
+
# Using pybedtools or similar
|
|
211
|
+
|
|
212
|
+
# Example peak name format: chr1:1000-2000
|
|
213
|
+
# Parse into bed format for annotation
|
|
214
|
+
|
|
215
|
+
import pandas as pd
|
|
216
|
+
|
|
217
|
+
def parse_peak_names(peak_names):
|
|
218
|
+
"""Parse peak names into bed format."""
|
|
219
|
+
records = []
|
|
220
|
+
for peak in peak_names:
|
|
221
|
+
chrom, coords = peak.split(':')
|
|
222
|
+
start, end = coords.split('-')
|
|
223
|
+
records.append({
|
|
224
|
+
'chrom': chrom,
|
|
225
|
+
'start': int(start),
|
|
226
|
+
'end': int(end),
|
|
227
|
+
'peak': peak
|
|
228
|
+
})
|
|
229
|
+
return pd.DataFrame(records)
|
|
230
|
+
|
|
231
|
+
peak_bed = parse_peak_names(adata.var_names)
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Step 9: Motif Analysis
|
|
235
|
+
|
|
236
|
+
```python
|
|
237
|
+
# Export significant peaks for motif analysis
|
|
238
|
+
# Use HOMER, MEME, or chromVAR
|
|
239
|
+
|
|
240
|
+
# Export peak sequences
|
|
241
|
+
sig_peaks = da_sig.index.tolist()
|
|
242
|
+
peak_bed_sig = peak_bed[peak_bed['peak'].isin(sig_peaks)]
|
|
243
|
+
peak_bed_sig.to_csv("significant_peaks.bed", sep='\t', index=False, header=False)
|
|
244
|
+
|
|
245
|
+
# Then run HOMER:
|
|
246
|
+
# findMotifsGenome.pl significant_peaks.bed hg38 motif_output/ -size 200
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
## Step 10: Gene Activity Scores
|
|
250
|
+
|
|
251
|
+
```python
|
|
252
|
+
# Compute gene activity from peak accessibility
|
|
253
|
+
# (Requires peak-gene annotations)
|
|
254
|
+
|
|
255
|
+
def compute_gene_activity(adata, peak_gene_map):
|
|
256
|
+
"""
|
|
257
|
+
Compute gene activity scores from peak accessibility.
|
|
258
|
+
|
|
259
|
+
Parameters
|
|
260
|
+
----------
|
|
261
|
+
adata : AnnData
|
|
262
|
+
ATAC data with peaks
|
|
263
|
+
peak_gene_map : dict
|
|
264
|
+
Mapping of peaks to genes
|
|
265
|
+
|
|
266
|
+
Returns
|
|
267
|
+
-------
|
|
268
|
+
AnnData with gene activity scores
|
|
269
|
+
"""
|
|
270
|
+
from scipy.sparse import csr_matrix
|
|
271
|
+
|
|
272
|
+
genes = list(set(peak_gene_map.values()))
|
|
273
|
+
gene_matrix = np.zeros((adata.n_obs, len(genes)))
|
|
274
|
+
|
|
275
|
+
for i, gene in enumerate(genes):
|
|
276
|
+
gene_peaks = [p for p, g in peak_gene_map.items() if g == gene]
|
|
277
|
+
if gene_peaks:
|
|
278
|
+
peak_idx = [list(adata.var_names).index(p) for p in gene_peaks if p in adata.var_names]
|
|
279
|
+
if peak_idx:
|
|
280
|
+
gene_matrix[:, i] = np.array(adata.X[:, peak_idx].sum(axis=1)).flatten()
|
|
281
|
+
|
|
282
|
+
adata_gene = ad.AnnData(
|
|
283
|
+
X=csr_matrix(gene_matrix),
|
|
284
|
+
obs=adata.obs.copy(),
|
|
285
|
+
var=pd.DataFrame(index=genes)
|
|
286
|
+
)
|
|
287
|
+
|
|
288
|
+
return adata_gene
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
## Complete Pipeline
|
|
292
|
+
|
|
293
|
+
```python
|
|
294
|
+
def analyze_scatac(
|
|
295
|
+
adata,
|
|
296
|
+
batch_key=None,
|
|
297
|
+
n_top_peaks=50000,
|
|
298
|
+
n_latent=20,
|
|
299
|
+
resolution=0.5
|
|
300
|
+
):
|
|
301
|
+
"""
|
|
302
|
+
Complete scATAC-seq analysis with PeakVI.
|
|
303
|
+
|
|
304
|
+
Parameters
|
|
305
|
+
----------
|
|
306
|
+
adata : AnnData
|
|
307
|
+
Raw peak-cell matrix
|
|
308
|
+
batch_key : str, optional
|
|
309
|
+
Batch annotation column
|
|
310
|
+
n_top_peaks : int
|
|
311
|
+
Number of top peaks to use
|
|
312
|
+
n_latent : int
|
|
313
|
+
Latent dimensions
|
|
314
|
+
resolution : float
|
|
315
|
+
Leiden clustering resolution
|
|
316
|
+
|
|
317
|
+
Returns
|
|
318
|
+
-------
|
|
319
|
+
Tuple of (processed AnnData, trained model)
|
|
320
|
+
"""
|
|
321
|
+
import scvi
|
|
322
|
+
import scanpy as sc
|
|
323
|
+
import numpy as np
|
|
324
|
+
|
|
325
|
+
adata = adata.copy()
|
|
326
|
+
|
|
327
|
+
# QC
|
|
328
|
+
sc.pp.calculate_qc_metrics(adata, inplace=True)
|
|
329
|
+
adata = adata[adata.obs['n_genes_by_counts'] > 500].copy()
|
|
330
|
+
sc.pp.filter_genes(adata, min_cells=10)
|
|
331
|
+
|
|
332
|
+
# Binarize
|
|
333
|
+
adata.X = (adata.X > 0).astype(np.float32)
|
|
334
|
+
|
|
335
|
+
# Select top peaks
|
|
336
|
+
if adata.n_vars > n_top_peaks:
|
|
337
|
+
peak_accessibility = np.array(adata.X.sum(axis=0)).flatten()
|
|
338
|
+
top_peaks = np.argsort(peak_accessibility)[-n_top_peaks:]
|
|
339
|
+
adata = adata[:, top_peaks].copy()
|
|
340
|
+
|
|
341
|
+
# Setup PeakVI
|
|
342
|
+
scvi.model.PEAKVI.setup_anndata(adata, batch_key=batch_key)
|
|
343
|
+
|
|
344
|
+
# Train
|
|
345
|
+
model = scvi.model.PEAKVI(adata, n_latent=n_latent)
|
|
346
|
+
model.train(max_epochs=200, early_stopping=True)
|
|
347
|
+
|
|
348
|
+
# Latent representation
|
|
349
|
+
adata.obsm["X_PeakVI"] = model.get_latent_representation()
|
|
350
|
+
|
|
351
|
+
# Clustering
|
|
352
|
+
sc.pp.neighbors(adata, use_rep="X_PeakVI")
|
|
353
|
+
sc.tl.umap(adata)
|
|
354
|
+
sc.tl.leiden(adata, resolution=resolution)
|
|
355
|
+
|
|
356
|
+
return adata, model
|
|
357
|
+
|
|
358
|
+
# Usage
|
|
359
|
+
adata, model = analyze_scatac(
|
|
360
|
+
adata,
|
|
361
|
+
batch_key="sample",
|
|
362
|
+
n_top_peaks=50000
|
|
363
|
+
)
|
|
364
|
+
|
|
365
|
+
# Visualize
|
|
366
|
+
sc.pl.umap(adata, color=['leiden', 'sample'])
|
|
367
|
+
|
|
368
|
+
# Differential accessibility
|
|
369
|
+
da_results = model.differential_accessibility(
|
|
370
|
+
groupby='leiden',
|
|
371
|
+
group1='0',
|
|
372
|
+
group2='1'
|
|
373
|
+
)
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
## Integration with scRNA-seq
|
|
377
|
+
|
|
378
|
+
For multiome data or separate RNA/ATAC from same cells:
|
|
379
|
+
|
|
380
|
+
```python
|
|
381
|
+
# See MultiVI for joint RNA+ATAC analysis
|
|
382
|
+
# Or use WNN (weighted nearest neighbors) approach
|
|
383
|
+
|
|
384
|
+
# Transfer labels from RNA to ATAC using shared latent space
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
## Troubleshooting
|
|
388
|
+
|
|
389
|
+
| Issue | Cause | Solution |
|
|
390
|
+
|-------|-------|----------|
|
|
391
|
+
| Training slow | Too many peaks | Subset to top 50k peaks |
|
|
392
|
+
| Poor clustering | Too few informative peaks | Use variable peaks |
|
|
393
|
+
| Batch dominates | Strong technical effects | Ensure batch_key is set |
|
|
394
|
+
| Memory error | Large peak matrix | Use sparse format, reduce peaks |
|
|
395
|
+
|
|
396
|
+
## Key References
|
|
397
|
+
|
|
398
|
+
- Ashuach et al. (2022) "PeakVI: A deep generative model for single-cell chromatin accessibility analysis"
|