@wentorai/research-plugins 1.1.0 → 1.2.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/README.md +18 -18
- package/curated/analysis/README.md +12 -1
- package/curated/domains/README.md +48 -1
- package/curated/literature/README.md +46 -1
- package/curated/research/README.md +16 -1
- package/curated/tools/README.md +20 -1
- package/curated/writing/README.md +13 -1
- package/mcp-configs/academic-db/alphafold-mcp.json +20 -0
- package/mcp-configs/academic-db/brightspace-mcp.json +21 -0
- package/mcp-configs/academic-db/climatiq-mcp.json +20 -0
- package/mcp-configs/academic-db/gibs-mcp.json +20 -0
- package/mcp-configs/academic-db/gis-mcp-server.json +22 -0
- package/mcp-configs/academic-db/google-earth-engine-mcp.json +21 -0
- package/mcp-configs/academic-db/m4-clinical-mcp.json +21 -0
- package/mcp-configs/academic-db/medical-mcp.json +21 -0
- package/mcp-configs/academic-db/nexonco-mcp.json +20 -0
- package/mcp-configs/academic-db/omop-mcp.json +20 -0
- package/mcp-configs/academic-db/onekgpd-mcp.json +20 -0
- package/mcp-configs/academic-db/openedu-mcp.json +20 -0
- package/mcp-configs/academic-db/opengenes-mcp.json +20 -0
- package/mcp-configs/academic-db/openstax-mcp.json +21 -0
- package/mcp-configs/academic-db/openstreetmap-mcp.json +21 -0
- package/mcp-configs/academic-db/opentargets-mcp.json +21 -0
- package/mcp-configs/academic-db/pdb-mcp.json +21 -0
- package/mcp-configs/academic-db/smithsonian-mcp.json +20 -0
- package/mcp-configs/ai-platform/magi-researchers.json +21 -0
- package/mcp-configs/ai-platform/mcp-academic-researcher.json +22 -0
- package/mcp-configs/ai-platform/open-paper-machine.json +21 -0
- package/mcp-configs/ai-platform/paper-intelligence.json +21 -0
- package/mcp-configs/ai-platform/paper-reader.json +21 -0
- package/mcp-configs/ai-platform/paperdebugger.json +21 -0
- package/mcp-configs/browser/exa-mcp.json +20 -0
- package/mcp-configs/browser/mcp-searxng.json +21 -0
- package/mcp-configs/browser/mcp-webresearch.json +20 -0
- package/mcp-configs/communication/discourse-mcp.json +21 -0
- package/mcp-configs/data-platform/automl-stat-mcp.json +21 -0
- package/mcp-configs/data-platform/jefferson-stats-mcp.json +22 -0
- package/mcp-configs/data-platform/mcp-excel-server.json +21 -0
- package/mcp-configs/data-platform/mcp-stata.json +21 -0
- package/mcp-configs/data-platform/mcpstack-jupyter.json +21 -0
- package/mcp-configs/data-platform/ml-mcp.json +21 -0
- package/mcp-configs/data-platform/nasdaq-data-link-mcp.json +20 -0
- package/mcp-configs/data-platform/numpy-mcp.json +21 -0
- package/mcp-configs/dev-platform/geogebra-mcp.json +21 -0
- package/mcp-configs/dev-platform/latex-mcp-server.json +21 -0
- package/mcp-configs/dev-platform/manim-mcp.json +20 -0
- package/mcp-configs/dev-platform/mcp-echarts.json +20 -0
- package/mcp-configs/dev-platform/panel-viz-mcp.json +20 -0
- package/mcp-configs/dev-platform/paperbanana.json +20 -0
- package/mcp-configs/dev-platform/texflow-mcp.json +20 -0
- package/mcp-configs/dev-platform/texmcp.json +20 -0
- package/mcp-configs/dev-platform/typst-mcp.json +21 -0
- package/mcp-configs/dev-platform/vizro-mcp.json +20 -0
- package/mcp-configs/note-knowledge/local-faiss-mcp.json +21 -0
- package/mcp-configs/note-knowledge/mcp-memory-service.json +21 -0
- package/mcp-configs/note-knowledge/mcp-obsidian.json +23 -0
- package/mcp-configs/note-knowledge/mcp-ragdocs.json +20 -0
- package/mcp-configs/note-knowledge/mcp-summarizer.json +21 -0
- package/mcp-configs/note-knowledge/mediawiki-mcp.json +21 -0
- package/mcp-configs/note-knowledge/openzim-mcp.json +20 -0
- package/mcp-configs/note-knowledge/zettelkasten-mcp.json +21 -0
- package/mcp-configs/reference-mgr/academic-paper-mcp-http.json +20 -0
- package/mcp-configs/reference-mgr/academix.json +20 -0
- package/mcp-configs/reference-mgr/arxiv-research-mcp.json +21 -0
- package/mcp-configs/reference-mgr/google-scholar-abstract-mcp.json +19 -0
- package/mcp-configs/reference-mgr/google-scholar-mcp.json +20 -0
- package/mcp-configs/reference-mgr/mcp-paperswithcode.json +21 -0
- package/mcp-configs/reference-mgr/mcp-scholarly.json +20 -0
- package/mcp-configs/reference-mgr/mcp-simple-arxiv.json +20 -0
- package/mcp-configs/reference-mgr/mcp-simple-pubmed.json +20 -0
- package/mcp-configs/reference-mgr/mcp-zotero.json +21 -0
- package/mcp-configs/reference-mgr/mendeley-mcp.json +20 -0
- package/mcp-configs/reference-mgr/ncbi-mcp-server.json +22 -0
- package/mcp-configs/reference-mgr/onecite.json +21 -0
- package/mcp-configs/reference-mgr/paper-search-mcp.json +21 -0
- package/mcp-configs/reference-mgr/pubmed-search-mcp.json +21 -0
- package/mcp-configs/reference-mgr/scholar-mcp.json +21 -0
- package/mcp-configs/reference-mgr/scholar-multi-mcp.json +21 -0
- package/mcp-configs/reference-mgr/seerai.json +21 -0
- package/mcp-configs/reference-mgr/semantic-scholar-fastmcp.json +21 -0
- package/mcp-configs/reference-mgr/sourcelibrary.json +20 -0
- package/openclaw.plugin.json +2 -2
- package/package.json +2 -2
- package/skills/analysis/dataviz/citation-map-guide/SKILL.md +184 -0
- package/skills/analysis/dataviz/data-visualization-principles/SKILL.md +171 -0
- package/skills/analysis/econometrics/econml-causal-guide/SKILL.md +2 -2
- package/skills/analysis/econometrics/empirical-paper-analysis/SKILL.md +192 -0
- package/skills/analysis/econometrics/mostly-harmless-guide/SKILL.md +2 -2
- package/skills/analysis/econometrics/panel-data-regression-workflow/SKILL.md +267 -0
- package/skills/analysis/econometrics/python-causality-guide/SKILL.md +2 -2
- package/skills/analysis/econometrics/stata-reference-guide/SKILL.md +293 -0
- package/skills/analysis/statistics/general-statistics-guide/SKILL.md +226 -0
- package/skills/analysis/statistics/infiagent-benchmark-guide/SKILL.md +106 -0
- package/skills/analysis/wrangling/claude-data-analysis-guide/SKILL.md +100 -0
- package/skills/analysis/wrangling/open-data-scientist-guide/SKILL.md +197 -0
- package/skills/analysis/wrangling/streamline-analyst-guide/SKILL.md +119 -0
- package/skills/domains/ai-ml/ai-agent-papers-guide/SKILL.md +146 -0
- package/skills/domains/ai-ml/anomaly-detection-papers-guide/SKILL.md +167 -0
- package/skills/domains/ai-ml/autonomous-agents-papers-guide/SKILL.md +178 -0
- package/skills/domains/ai-ml/domain-adaptation-papers-guide/SKILL.md +173 -0
- package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +2 -2
- package/skills/domains/ai-ml/graph-learning-papers-guide/SKILL.md +125 -0
- package/skills/domains/ai-ml/kolmogorov-arnold-networks-guide/SKILL.md +185 -0
- package/skills/domains/ai-ml/npcpy-research-guide/SKILL.md +137 -0
- package/skills/domains/ai-ml/responsible-ai-guide/SKILL.md +126 -0
- package/skills/domains/ai-ml/vmas-simulator-guide/SKILL.md +129 -0
- package/skills/domains/biomedical/clawbio-guide/SKILL.md +167 -0
- package/skills/domains/biomedical/clinical-dialogue-agents-guide/SKILL.md +145 -0
- package/skills/domains/biomedical/ena-sequence-api/SKILL.md +175 -0
- package/skills/domains/biomedical/genomas-guide/SKILL.md +126 -0
- package/skills/domains/biomedical/genotex-benchmark-guide/SKILL.md +125 -0
- package/skills/domains/biomedical/med-researcher-guide/SKILL.md +161 -0
- package/skills/domains/biomedical/med-researcher-r1-guide/SKILL.md +146 -0
- package/skills/domains/biomedical/ncbi-blast-api/SKILL.md +195 -0
- package/skills/domains/biomedical/ncbi-datasets-api/SKILL.md +220 -0
- package/skills/domains/biomedical/quickgo-api/SKILL.md +181 -0
- package/skills/domains/business/xpert-bi-guide/SKILL.md +84 -0
- package/skills/domains/chemistry/cactus-cheminformatics-guide/SKILL.md +89 -0
- package/skills/domains/chemistry/chemeagle-guide/SKILL.md +147 -0
- package/skills/domains/chemistry/chemgraph-agent-guide/SKILL.md +120 -0
- package/skills/domains/cs/ai-security-papers-guide/SKILL.md +103 -0
- package/skills/domains/cs/code-llm-papers-guide/SKILL.md +131 -0
- package/skills/domains/cs/gaussian-splatting-papers-guide/SKILL.md +158 -0
- package/skills/domains/cs/llm-aiops-guide/SKILL.md +70 -0
- package/skills/domains/cs/software-heritage-api/SKILL.md +200 -0
- package/skills/domains/economics/nber-working-papers-api/SKILL.md +177 -0
- package/skills/domains/economics/repec-economics-api/SKILL.md +188 -0
- package/skills/domains/education/academic-study-methods/SKILL.md +228 -0
- package/skills/domains/education/edumcp-guide/SKILL.md +74 -0
- package/skills/domains/education/open-syllabus-api/SKILL.md +171 -0
- package/skills/domains/finance/akshare-finance-data/SKILL.md +207 -0
- package/skills/domains/finance/finsight-research-guide/SKILL.md +113 -0
- package/skills/domains/finance/options-analytics-agent-guide/SKILL.md +117 -0
- package/skills/domains/geoscience/pangaea-data-api/SKILL.md +197 -0
- package/skills/domains/humanities/digital-humanities-methods/SKILL.md +232 -0
- package/skills/domains/law/caselaw-access-api/SKILL.md +149 -0
- package/skills/domains/law/legal-agent-skills-guide/SKILL.md +132 -0
- package/skills/domains/law/legal-research-methods/SKILL.md +190 -0
- package/skills/domains/law/opencontracts-guide/SKILL.md +168 -0
- package/skills/domains/math/lean-theorem-proving-guide/SKILL.md +140 -0
- package/skills/domains/pharma/madd-drug-discovery-guide/SKILL.md +153 -0
- package/skills/domains/social-science/ipums-microdata-api/SKILL.md +211 -0
- package/skills/domains/social-science/sociology-research-methods/SKILL.md +181 -0
- package/skills/literature/discovery/arxiv-paper-monitoring/SKILL.md +233 -0
- package/skills/literature/discovery/papers-we-love-guide/SKILL.md +169 -0
- package/skills/literature/discovery/zotero-arxiv-daily-guide/SKILL.md +2 -2
- package/skills/literature/fulltext/bioc-pmc-api/SKILL.md +146 -0
- package/skills/literature/fulltext/dataverse-api/SKILL.md +215 -0
- package/skills/literature/fulltext/hal-archive-api/SKILL.md +218 -0
- package/skills/literature/fulltext/osf-api/SKILL.md +212 -0
- package/skills/literature/fulltext/pmc-ftp-bulk-download/SKILL.md +182 -0
- package/skills/literature/fulltext/zotero-ai-butler-guide/SKILL.md +166 -0
- package/skills/literature/fulltext/zotero-scihub-guide/SKILL.md +168 -0
- package/skills/literature/metadata/bibliometrix-guide/SKILL.md +164 -0
- package/skills/literature/metadata/crossref-event-data-api/SKILL.md +183 -0
- package/skills/literature/metadata/doi-content-negotiation/SKILL.md +202 -0
- package/skills/literature/metadata/orkg-api/SKILL.md +153 -0
- package/skills/literature/metadata/plumx-metrics-api/SKILL.md +188 -0
- package/skills/literature/metadata/ror-organization-api/SKILL.md +208 -0
- package/skills/literature/metadata/sophosia-reference-guide/SKILL.md +110 -0
- package/skills/literature/metadata/viaf-authority-api/SKILL.md +209 -0
- package/skills/literature/metadata/zoplicate-dedup-guide/SKILL.md +147 -0
- package/skills/literature/metadata/zotero-actions-tags-guide/SKILL.md +212 -0
- package/skills/literature/metadata/zotmoov-guide/SKILL.md +120 -0
- package/skills/literature/metadata/zutilo-guide/SKILL.md +140 -0
- package/skills/literature/search/arxiv-cli-tools/SKILL.md +172 -0
- package/skills/literature/search/arxiv-osiris/SKILL.md +199 -0
- package/skills/literature/search/base-academic-search/SKILL.md +196 -0
- package/skills/literature/search/chatpaper-guide/SKILL.md +2 -2
- package/skills/literature/search/citeseerx-api/SKILL.md +183 -0
- package/skills/literature/search/deepgit-search-guide/SKILL.md +2 -2
- package/skills/literature/search/eric-education-api/SKILL.md +199 -0
- package/skills/literature/search/findpapers-guide/SKILL.md +177 -0
- package/skills/literature/search/ieee-xplore-api/SKILL.md +177 -0
- package/skills/literature/search/lens-scholarly-api/SKILL.md +211 -0
- package/skills/literature/search/multi-database-literature-search/SKILL.md +198 -0
- package/skills/literature/search/open-library-api/SKILL.md +196 -0
- package/skills/literature/search/open-semantic-search-guide/SKILL.md +190 -0
- package/skills/literature/search/openaire-api/SKILL.md +141 -0
- package/skills/literature/search/paper-search-mcp-guide/SKILL.md +107 -0
- package/skills/literature/search/papers-chat-guide/SKILL.md +194 -0
- package/skills/literature/search/pasa-paper-search-guide/SKILL.md +2 -2
- package/skills/literature/search/plos-open-access-api/SKILL.md +203 -0
- package/skills/literature/search/scielo-api/SKILL.md +182 -0
- package/skills/literature/search/share-research-api/SKILL.md +129 -0
- package/skills/literature/search/worldcat-search-api/SKILL.md +224 -0
- package/skills/research/automation/aim-experiment-guide/SKILL.md +2 -2
- package/skills/research/automation/claude-academic-workflow-guide/SKILL.md +202 -0
- package/skills/research/automation/coexist-ai-guide/SKILL.md +149 -0
- package/skills/research/automation/datagen-research-guide/SKILL.md +2 -2
- package/skills/research/automation/foam-agent-guide/SKILL.md +203 -0
- package/skills/research/automation/kedro-pipeline-guide/SKILL.md +2 -2
- package/skills/research/automation/mle-agent-guide/SKILL.md +2 -2
- package/skills/research/automation/paper-to-agent-guide/SKILL.md +2 -2
- package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +2 -2
- package/skills/research/deep-research/cognitive-kernel-guide/SKILL.md +200 -0
- package/skills/research/deep-research/corvus-research-guide/SKILL.md +132 -0
- package/skills/research/deep-research/in-depth-research-guide/SKILL.md +205 -0
- package/skills/research/deep-research/kosmos-scientist-guide/SKILL.md +185 -0
- package/skills/research/deep-research/llm-scientific-discovery-guide/SKILL.md +178 -0
- package/skills/research/deep-research/open-researcher-guide/SKILL.md +138 -0
- package/skills/research/methodology/claude-scientific-guide/SKILL.md +2 -2
- package/skills/research/methodology/parsifal-slr-guide/SKILL.md +154 -0
- package/skills/research/methodology/research-pipeline-units-guide/SKILL.md +169 -0
- package/skills/research/methodology/slr-automation-guide/SKILL.md +235 -0
- package/skills/research/paper-review/latte-review-guide/SKILL.md +175 -0
- package/skills/research/paper-review/paper-critique-framework/SKILL.md +181 -0
- package/skills/tools/code-exec/contextplus-mcp-guide/SKILL.md +110 -0
- package/skills/tools/diagram/clawphd-guide/SKILL.md +149 -0
- package/skills/tools/diagram/kroki-diagram-api/SKILL.md +198 -0
- package/skills/tools/diagram/scientific-graphical-abstract/SKILL.md +201 -0
- package/skills/tools/document/docsgpt-guide/SKILL.md +2 -2
- package/skills/tools/document/md2pdf-xelatex/SKILL.md +212 -0
- package/skills/tools/document/openpaper-guide/SKILL.md +232 -0
- package/skills/tools/document/weknora-guide/SKILL.md +216 -0
- package/skills/tools/document/zotero-addon-market-guide/SKILL.md +108 -0
- package/skills/tools/document/zotero-night-theme-guide/SKILL.md +142 -0
- package/skills/tools/document/zotero-style-guide/SKILL.md +217 -0
- package/skills/tools/knowledge-graph/graphiti-guide/SKILL.md +2 -2
- package/skills/tools/knowledge-graph/mimir-memory-guide/SKILL.md +135 -0
- package/skills/tools/knowledge-graph/notero-zotero-notion-guide/SKILL.md +187 -0
- package/skills/tools/knowledge-graph/open-webui-tools-guide/SKILL.md +156 -0
- package/skills/tools/knowledge-graph/openspg-guide/SKILL.md +210 -0
- package/skills/tools/knowledge-graph/paperpile-notion-guide/SKILL.md +84 -0
- package/skills/tools/knowledge-graph/zotero-markdb-connect-guide/SKILL.md +162 -0
- package/skills/tools/ocr-translate/latex-translation-guide/SKILL.md +176 -0
- package/skills/tools/ocr-translate/math-equation-renderer/SKILL.md +198 -0
- package/skills/tools/ocr-translate/pdf-math-translate-guide/SKILL.md +2 -2
- package/skills/tools/ocr-translate/zotero-pdf-translate-guide/SKILL.md +2 -2
- package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +2 -2
- package/skills/writing/citation/academic-citation-manager-guide/SKILL.md +182 -0
- package/skills/writing/citation/citation-assistant-skill/SKILL.md +192 -0
- package/skills/writing/citation/jabref-reference-guide/SKILL.md +2 -2
- package/skills/writing/citation/jasminum-zotero-guide/SKILL.md +2 -2
- package/skills/writing/citation/mendeley-api/SKILL.md +231 -0
- package/skills/writing/citation/obsidian-citation-guide/SKILL.md +2 -2
- package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +2 -2
- package/skills/writing/citation/onecite-reference-guide/SKILL.md +168 -0
- package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +2 -2
- package/skills/writing/citation/papis-cli-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotero-better-bibtex-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotero-better-notes-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotero-gpt-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotero-mcp-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotero-reference-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotfile-attachment-guide/SKILL.md +2 -2
- package/skills/writing/composition/opendraft-thesis-guide/SKILL.md +200 -0
- package/skills/writing/composition/paper-debugger-guide/SKILL.md +2 -2
- package/skills/writing/composition/paperforge-guide/SKILL.md +205 -0
- package/skills/writing/composition/research-paper-writer/SKILL.md +226 -0
- package/skills/writing/composition/scientific-writing-resources/SKILL.md +2 -2
- package/skills/writing/latex/academic-writing-latex/SKILL.md +285 -0
- package/skills/writing/latex/latex-drawing-collection/SKILL.md +2 -2
- package/skills/writing/latex/latex-templates-collection/SKILL.md +2 -2
- package/skills/writing/polish/chinese-text-humanizer/SKILL.md +140 -0
- package/skills/writing/templates/arxiv-preprint-template/SKILL.md +184 -0
- package/skills/writing/templates/elegant-paper-template/SKILL.md +141 -0
- package/skills/writing/templates/novathesis-guide/SKILL.md +2 -2
- package/skills/writing/templates/sjtuthesis-guide/SKILL.md +2 -2
- package/skills/writing/templates/thuthesis-guide/SKILL.md +2 -2
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clawbio-guide
|
|
3
|
+
description: "OpenClaw bioinformatics skill library for genomics pipelines"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🧪"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "biomedical"
|
|
9
|
+
keywords: ["ClawBio", "bioinformatics", "OpenClaw", "genomics", "pipeline", "biological analysis"]
|
|
10
|
+
source: "https://github.com/ClawBio/ClawBio"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# ClawBio Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
ClawBio is a bioinformatics skill library for OpenClaw that provides pre-built skills for common genomics and biological analysis tasks — sequence alignment, variant calling, differential expression, pathway analysis, and more. Each skill encapsulates best-practice bioinformatics pipelines as conversational agent capabilities, making complex analyses accessible through natural language.
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Install as OpenClaw plugin
|
|
23
|
+
openclaw plugins install @clawbio/clawbio
|
|
24
|
+
|
|
25
|
+
# Or add to your OpenClaw configuration
|
|
26
|
+
# In openclaw.config.json:
|
|
27
|
+
{
|
|
28
|
+
"plugins": ["@clawbio/clawbio"]
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Available Skills
|
|
33
|
+
|
|
34
|
+
| Skill | Pipeline | Description |
|
|
35
|
+
|-------|----------|-------------|
|
|
36
|
+
| **sequence-align** | BWA/Bowtie2 | Align reads to reference genome |
|
|
37
|
+
| **variant-call** | GATK/BCFtools | Call SNPs and indels |
|
|
38
|
+
| **rna-seq** | STAR + DESeq2 | Differential expression analysis |
|
|
39
|
+
| **chip-seq** | MACS2 + DiffBind | Peak calling and differential binding |
|
|
40
|
+
| **metagenomics** | Kraken2 + Bracken | Taxonomic classification |
|
|
41
|
+
| **phylogenetics** | IQ-TREE + RAxML | Phylogenetic tree construction |
|
|
42
|
+
| **protein-structure** | AlphaFold/ESMFold | Structure prediction |
|
|
43
|
+
| **pathway-analysis** | GSEA + enrichR | Gene set enrichment |
|
|
44
|
+
|
|
45
|
+
## Usage Examples
|
|
46
|
+
|
|
47
|
+
### RNA-Seq Analysis
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
# Through OpenClaw conversational interface:
|
|
51
|
+
# "Analyze differential expression between treated and control
|
|
52
|
+
# samples in the data/rnaseq/ directory"
|
|
53
|
+
|
|
54
|
+
# ClawBio executes:
|
|
55
|
+
# 1. Quality control (FastQC)
|
|
56
|
+
# 2. Trimming (Trimmomatic)
|
|
57
|
+
# 3. Alignment (STAR)
|
|
58
|
+
# 4. Quantification (featureCounts)
|
|
59
|
+
# 5. Differential expression (DESeq2)
|
|
60
|
+
# 6. Visualization (volcano plot, MA plot, heatmap)
|
|
61
|
+
# 7. Pathway enrichment (GSEA)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Variant Calling
|
|
65
|
+
|
|
66
|
+
```python
|
|
67
|
+
# "Call variants from the whole-genome sequencing data
|
|
68
|
+
# in samples/ against hg38 reference"
|
|
69
|
+
|
|
70
|
+
# Pipeline:
|
|
71
|
+
# 1. Alignment: BWA-MEM2 → sorted BAM
|
|
72
|
+
# 2. Preprocessing: MarkDuplicates, BQSR
|
|
73
|
+
# 3. Variant calling: GATK HaplotypeCaller
|
|
74
|
+
# 4. Filtering: VQSR or hard filters
|
|
75
|
+
# 5. Annotation: VEP or SnpEff
|
|
76
|
+
# 6. Report: variant statistics, quality metrics
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Metagenomics
|
|
80
|
+
|
|
81
|
+
```python
|
|
82
|
+
# "Classify the microbial communities in my 16S/shotgun
|
|
83
|
+
# sequencing data and generate taxonomic plots"
|
|
84
|
+
|
|
85
|
+
# Pipeline:
|
|
86
|
+
# 1. Quality filtering (fastp)
|
|
87
|
+
# 2. Host decontamination (Bowtie2 vs human)
|
|
88
|
+
# 3. Classification (Kraken2 + Bracken)
|
|
89
|
+
# 4. Diversity analysis (alpha + beta diversity)
|
|
90
|
+
# 5. Differential abundance (LEfSe/ANCOM)
|
|
91
|
+
# 6. Visualization (stacked bar, PCoA, heatmap)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Configuration
|
|
95
|
+
|
|
96
|
+
```json
|
|
97
|
+
{
|
|
98
|
+
"clawbio": {
|
|
99
|
+
"reference_genomes": {
|
|
100
|
+
"hg38": "/data/references/hg38/",
|
|
101
|
+
"mm39": "/data/references/mm39/",
|
|
102
|
+
"custom": "/data/references/custom/"
|
|
103
|
+
},
|
|
104
|
+
"tools": {
|
|
105
|
+
"aligner": "bwa-mem2",
|
|
106
|
+
"variant_caller": "gatk",
|
|
107
|
+
"quantifier": "featurecounts",
|
|
108
|
+
"de_method": "deseq2"
|
|
109
|
+
},
|
|
110
|
+
"resources": {
|
|
111
|
+
"threads": 8,
|
|
112
|
+
"memory_gb": 32,
|
|
113
|
+
"gpu": false
|
|
114
|
+
},
|
|
115
|
+
"output": {
|
|
116
|
+
"format": ["html_report", "csv", "plots"],
|
|
117
|
+
"figures_dpi": 300
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Skill Development
|
|
124
|
+
|
|
125
|
+
```python
|
|
126
|
+
# Create custom bioinformatics skills
|
|
127
|
+
# SKILL.md template for new analysis types
|
|
128
|
+
|
|
129
|
+
"""
|
|
130
|
+
---
|
|
131
|
+
name: my-custom-analysis
|
|
132
|
+
description: "Custom bioinformatics analysis skill"
|
|
133
|
+
metadata:
|
|
134
|
+
openclaw:
|
|
135
|
+
category: "domains"
|
|
136
|
+
subcategory: "biomedical"
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
# My Custom Analysis
|
|
140
|
+
|
|
141
|
+
## When to use
|
|
142
|
+
Describe when this analysis is appropriate.
|
|
143
|
+
|
|
144
|
+
## Pipeline Steps
|
|
145
|
+
1. Input validation
|
|
146
|
+
2. Processing step 1
|
|
147
|
+
3. Processing step 2
|
|
148
|
+
4. Output generation
|
|
149
|
+
|
|
150
|
+
## Example Usage
|
|
151
|
+
Show conversational examples.
|
|
152
|
+
"""
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Use Cases
|
|
156
|
+
|
|
157
|
+
1. **Genomics pipelines**: Standard NGS analysis workflows
|
|
158
|
+
2. **Lab integration**: Natural language interface for bioinformatics
|
|
159
|
+
3. **Teaching**: Demonstrate analysis pipelines interactively
|
|
160
|
+
4. **Rapid prototyping**: Quick exploratory biological analyses
|
|
161
|
+
5. **Reproducibility**: Standardized, documented pipelines
|
|
162
|
+
|
|
163
|
+
## References
|
|
164
|
+
|
|
165
|
+
- [ClawBio GitHub](https://github.com/ClawBio/ClawBio)
|
|
166
|
+
- [Bioconductor](https://www.bioconductor.org/)
|
|
167
|
+
- [nf-core Pipelines](https://nf-co.re/)
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clinical-dialogue-agents-guide
|
|
3
|
+
description: "Papers on AI agents for clinical dialogue and medical QA"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🗣️"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "biomedical"
|
|
9
|
+
keywords: ["clinical dialogue", "medical QA", "patient interaction", "clinical agents", "healthcare AI", "diagnosis"]
|
|
10
|
+
source: "https://github.com/xqz614/Awesome-Agentic-Clinical-Dialogue"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Agentic Clinical Dialogue Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
A curated collection of papers on AI agents for clinical dialogue — systems that conduct patient interviews, perform differential diagnosis, explain medical information, and support clinical decision-making through conversation. Covers medical QA benchmarks, patient simulation, clinical reasoning chains, and safety considerations unique to healthcare AI.
|
|
18
|
+
|
|
19
|
+
## Research Landscape
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Agentic Clinical Dialogue
|
|
23
|
+
├── Patient-Facing Agents
|
|
24
|
+
│ ├── Symptom checkers
|
|
25
|
+
│ ├── Triage systems
|
|
26
|
+
│ ├── Health information
|
|
27
|
+
│ └── Follow-up management
|
|
28
|
+
├── Clinician-Facing Agents
|
|
29
|
+
│ ├── Diagnostic support
|
|
30
|
+
│ ├── Treatment recommendation
|
|
31
|
+
│ ├── Clinical documentation
|
|
32
|
+
│ └── Literature integration
|
|
33
|
+
├── Clinical Reasoning
|
|
34
|
+
│ ├── Differential diagnosis
|
|
35
|
+
│ ├── History taking
|
|
36
|
+
│ ├── Physical exam interpretation
|
|
37
|
+
│ └── Test ordering
|
|
38
|
+
├── Patient Simulation
|
|
39
|
+
│ ├── Standardized patients (SP)
|
|
40
|
+
│ ├── Medical education
|
|
41
|
+
│ └── Agent evaluation
|
|
42
|
+
└── Safety & Ethics
|
|
43
|
+
├── Hallucination in medicine
|
|
44
|
+
├── Bias in clinical AI
|
|
45
|
+
├── Liability frameworks
|
|
46
|
+
└── Informed consent
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Key Systems
|
|
50
|
+
|
|
51
|
+
| System | Focus | Approach |
|
|
52
|
+
|--------|-------|----------|
|
|
53
|
+
| **AMIE** | Diagnostic dialogue | LLM with clinical reasoning |
|
|
54
|
+
| **Med-PaLM** | Medical QA | Finetuned on medical data |
|
|
55
|
+
| **ChatDoctor** | Patient consultation | LLaMA + medical knowledge |
|
|
56
|
+
| **AgentClinic** | Clinical evaluation | Simulated clinical encounters |
|
|
57
|
+
| **ClinicalAgent** | Decision support | Multi-step clinical reasoning |
|
|
58
|
+
|
|
59
|
+
## Benchmarks
|
|
60
|
+
|
|
61
|
+
```python
|
|
62
|
+
benchmarks = {
|
|
63
|
+
"MedQA (USMLE)": {
|
|
64
|
+
"task": "US Medical Licensing Exam questions",
|
|
65
|
+
"size": "11,450 questions",
|
|
66
|
+
"metric": "Accuracy",
|
|
67
|
+
},
|
|
68
|
+
"PubMedQA": {
|
|
69
|
+
"task": "Biomedical yes/no/maybe QA",
|
|
70
|
+
"size": "1,000 expert-labeled",
|
|
71
|
+
"metric": "Accuracy",
|
|
72
|
+
},
|
|
73
|
+
"AgentClinic": {
|
|
74
|
+
"task": "Simulated clinical encounters",
|
|
75
|
+
"size": "Various patient scenarios",
|
|
76
|
+
"metric": "Diagnostic accuracy + safety",
|
|
77
|
+
},
|
|
78
|
+
"MedMCQA": {
|
|
79
|
+
"task": "Indian medical entrance MCQs",
|
|
80
|
+
"size": "194k questions",
|
|
81
|
+
"metric": "Accuracy",
|
|
82
|
+
},
|
|
83
|
+
"HealthSearchQA": {
|
|
84
|
+
"task": "Consumer health search questions",
|
|
85
|
+
"size": "3,375 questions",
|
|
86
|
+
"metric": "Expert evaluation",
|
|
87
|
+
},
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
for name, info in benchmarks.items():
|
|
91
|
+
print(f"\n{name}:")
|
|
92
|
+
print(f" Task: {info['task']}")
|
|
93
|
+
print(f" Size: {info['size']}")
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Safety Considerations
|
|
97
|
+
|
|
98
|
+
```markdown
|
|
99
|
+
### Critical Safety Issues
|
|
100
|
+
1. **Hallucination** — Fabricated medical facts are dangerous
|
|
101
|
+
2. **Scope limitations** — AI must know when to defer to human
|
|
102
|
+
3. **Emergency recognition** — Must identify urgent situations
|
|
103
|
+
4. **Bias** — Demographic biases in training data
|
|
104
|
+
5. **Liability** — Legal framework for AI medical advice
|
|
105
|
+
6. **Privacy** — Patient data protection (HIPAA compliance)
|
|
106
|
+
|
|
107
|
+
### Safety Patterns
|
|
108
|
+
- Always recommend consulting healthcare providers
|
|
109
|
+
- Flag emergency symptoms immediately
|
|
110
|
+
- Disclose AI nature to patients
|
|
111
|
+
- Log all interactions for audit
|
|
112
|
+
- Implement uncertainty quantification
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Reading Roadmap
|
|
116
|
+
|
|
117
|
+
```markdown
|
|
118
|
+
### Foundations
|
|
119
|
+
1. AMIE: "Towards Conversational Diagnostic AI" (Google, 2024)
|
|
120
|
+
2. Med-PaLM 2: "Expert-level medical QA" (Google, 2023)
|
|
121
|
+
3. "Evaluating LLMs in Clinical Dialogue" (Survey, 2024)
|
|
122
|
+
|
|
123
|
+
### Clinical Reasoning
|
|
124
|
+
4. "Chain-of-Diagnosis" (Clinical CoT, 2024)
|
|
125
|
+
5. "AgentClinic: Evaluating Clinical Agents" (2024)
|
|
126
|
+
6. "Simulated Patient Encounters with LLMs" (2024)
|
|
127
|
+
|
|
128
|
+
### Safety
|
|
129
|
+
7. "Hallucination in Medical AI" (Survey, 2024)
|
|
130
|
+
8. "Red Teaming Medical LLMs" (2024)
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Use Cases
|
|
134
|
+
|
|
135
|
+
1. **Research survey**: Map clinical dialogue AI landscape
|
|
136
|
+
2. **Benchmark tracking**: Compare medical AI performance
|
|
137
|
+
3. **System design**: Learn from clinical agent architectures
|
|
138
|
+
4. **Safety analysis**: Understand risks and mitigations
|
|
139
|
+
5. **Medical education**: Patient simulation for training
|
|
140
|
+
|
|
141
|
+
## References
|
|
142
|
+
|
|
143
|
+
- [Awesome-Agentic-Clinical-Dialogue](https://github.com/xqz614/Awesome-Agentic-Clinical-Dialogue)
|
|
144
|
+
- [AMIE Paper](https://arxiv.org/abs/2401.05654)
|
|
145
|
+
- [AgentClinic](https://arxiv.org/abs/2405.07960)
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ena-sequence-api
|
|
3
|
+
description: "Access nucleotide sequence data from the European Nucleotide Archive"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🔬"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "biomedical"
|
|
9
|
+
keywords: ["ENA", "nucleotide sequences", "genomics", "EMBL-EBI", "sequencing data", "NGS"]
|
|
10
|
+
source: "https://www.ebi.ac.uk/ena/"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# European Nucleotide Archive (ENA) API
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
The European Nucleotide Archive (ENA) at EMBL-EBI is one of the three global nucleotide sequence databases (with NCBI GenBank and DDBJ). It provides access to raw sequencing reads, assembled sequences, and functional annotations from all organisms. The API supports accession lookup, text search, and bulk data retrieval. Free, no authentication required.
|
|
18
|
+
|
|
19
|
+
## API Endpoints
|
|
20
|
+
|
|
21
|
+
### Portal API (Search)
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Search for studies
|
|
25
|
+
curl "https://www.ebi.ac.uk/ena/portal/api/search?query=CRISPR+cas9&result=study&limit=20&format=json"
|
|
26
|
+
|
|
27
|
+
# Search for samples
|
|
28
|
+
curl "https://www.ebi.ac.uk/ena/portal/api/search?query=human+gut+microbiome&result=sample&limit=20&format=json"
|
|
29
|
+
|
|
30
|
+
# Search for runs (sequencing data)
|
|
31
|
+
curl "https://www.ebi.ac.uk/ena/portal/api/search?query=RNA-seq+cancer&result=read_run&limit=20&format=json"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Browser API (Accession Lookup)
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# Get record by accession
|
|
38
|
+
curl "https://www.ebi.ac.uk/ena/browser/api/xml/PRJEB12345"
|
|
39
|
+
|
|
40
|
+
# Get in JSON format
|
|
41
|
+
curl "https://www.ebi.ac.uk/ena/browser/api/summary/PRJEB12345"
|
|
42
|
+
|
|
43
|
+
# Get sequence in FASTA
|
|
44
|
+
curl "https://www.ebi.ac.uk/ena/browser/api/fasta/AF123456"
|
|
45
|
+
|
|
46
|
+
# Get in EMBL flat file format
|
|
47
|
+
curl "https://www.ebi.ac.uk/ena/browser/api/embl/AF123456"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Taxonomy Search
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Search by organism
|
|
54
|
+
curl "https://www.ebi.ac.uk/ena/portal/api/search?query=tax_tree(9606)&result=study&limit=20&format=json"
|
|
55
|
+
|
|
56
|
+
# Get taxonomy details
|
|
57
|
+
curl "https://www.ebi.ac.uk/ena/taxonomy/rest/tax-id/9606"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Result Types
|
|
61
|
+
|
|
62
|
+
| Type | Description | Example accession |
|
|
63
|
+
|------|-------------|-------------------|
|
|
64
|
+
| `study` | Research project | PRJEB12345 |
|
|
65
|
+
| `sample` | Biological sample | SAMEA12345 |
|
|
66
|
+
| `experiment` | Library/protocol | ERX12345 |
|
|
67
|
+
| `read_run` | Sequencing run | ERR12345 |
|
|
68
|
+
| `analysis` | Computed analysis | ERZ12345 |
|
|
69
|
+
| `sequence` | Assembled sequence | AF123456 |
|
|
70
|
+
| `wgs_set` | Whole genome shotgun | AABR00000000 |
|
|
71
|
+
|
|
72
|
+
### Query Parameters
|
|
73
|
+
|
|
74
|
+
| Parameter | Description | Example |
|
|
75
|
+
|-----------|-------------|---------|
|
|
76
|
+
| `query` | Search text or taxonomy | `query=SARS-CoV-2` |
|
|
77
|
+
| `result` | Result type | `result=study` |
|
|
78
|
+
| `limit` | Max results (default 100K) | `limit=50` |
|
|
79
|
+
| `offset` | Pagination offset | `offset=100` |
|
|
80
|
+
| `format` | Response format | `json`, `tsv`, `xml` |
|
|
81
|
+
| `fields` | Specific fields | `fields=accession,description` |
|
|
82
|
+
|
|
83
|
+
## Python Usage
|
|
84
|
+
|
|
85
|
+
```python
|
|
86
|
+
import requests
|
|
87
|
+
|
|
88
|
+
PORTAL_URL = "https://www.ebi.ac.uk/ena/portal/api"
|
|
89
|
+
BROWSER_URL = "https://www.ebi.ac.uk/ena/browser/api"
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def search_studies(query: str, limit: int = 20) -> list:
|
|
93
|
+
"""Search ENA for research studies."""
|
|
94
|
+
params = {
|
|
95
|
+
"query": query,
|
|
96
|
+
"result": "study",
|
|
97
|
+
"limit": limit,
|
|
98
|
+
"format": "json",
|
|
99
|
+
"fields": "study_accession,study_title,study_description,"
|
|
100
|
+
"tax_id,scientific_name,center_name",
|
|
101
|
+
}
|
|
102
|
+
resp = requests.get(f"{PORTAL_URL}/search", params=params)
|
|
103
|
+
resp.raise_for_status()
|
|
104
|
+
return resp.json()
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def search_runs(query: str, limit: int = 20) -> list:
|
|
108
|
+
"""Search for sequencing runs."""
|
|
109
|
+
params = {
|
|
110
|
+
"query": query,
|
|
111
|
+
"result": "read_run",
|
|
112
|
+
"limit": limit,
|
|
113
|
+
"format": "json",
|
|
114
|
+
"fields": "run_accession,experiment_title,instrument_platform,"
|
|
115
|
+
"library_strategy,read_count,base_count",
|
|
116
|
+
}
|
|
117
|
+
resp = requests.get(f"{PORTAL_URL}/search", params=params)
|
|
118
|
+
resp.raise_for_status()
|
|
119
|
+
return resp.json()
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
def get_fasta(accession: str) -> str:
|
|
123
|
+
"""Retrieve sequence in FASTA format."""
|
|
124
|
+
resp = requests.get(f"{BROWSER_URL}/fasta/{accession}")
|
|
125
|
+
resp.raise_for_status()
|
|
126
|
+
return resp.text
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
def get_study_runs(study_accession: str) -> list:
|
|
130
|
+
"""Get all sequencing runs for a study."""
|
|
131
|
+
params = {
|
|
132
|
+
"query": f'study_accession="{study_accession}"',
|
|
133
|
+
"result": "read_run",
|
|
134
|
+
"format": "json",
|
|
135
|
+
"fields": "run_accession,fastq_ftp,read_count,base_count",
|
|
136
|
+
"limit": 1000,
|
|
137
|
+
}
|
|
138
|
+
resp = requests.get(f"{PORTAL_URL}/search", params=params)
|
|
139
|
+
resp.raise_for_status()
|
|
140
|
+
return resp.json()
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
# Example: find COVID-19 sequencing studies
|
|
144
|
+
studies = search_studies("SARS-CoV-2 whole genome", limit=5)
|
|
145
|
+
for s in studies:
|
|
146
|
+
print(f"{s['study_accession']}: {s['study_title']}")
|
|
147
|
+
print(f" Organism: {s.get('scientific_name')}")
|
|
148
|
+
|
|
149
|
+
# Example: find RNA-seq runs
|
|
150
|
+
runs = search_runs("RNA-seq breast cancer", limit=5)
|
|
151
|
+
for r in runs:
|
|
152
|
+
reads = int(r.get("read_count", 0))
|
|
153
|
+
print(f"{r['run_accession']}: {r.get('experiment_title', '')}")
|
|
154
|
+
print(f" Platform: {r.get('instrument_platform')} | "
|
|
155
|
+
f"Reads: {reads:,}")
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Data Access
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Download FASTQ files (from run metadata)
|
|
162
|
+
# The fastq_ftp field provides FTP paths:
|
|
163
|
+
wget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR123/ERR123456/ERR123456_1.fastq.gz
|
|
164
|
+
|
|
165
|
+
# Bulk download via Aspera (faster)
|
|
166
|
+
ascp -QT -l 300m -P33001 \
|
|
167
|
+
era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/ERR123/ERR123456/ ./
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## References
|
|
171
|
+
|
|
172
|
+
- [ENA](https://www.ebi.ac.uk/ena/)
|
|
173
|
+
- [ENA Portal API](https://www.ebi.ac.uk/ena/portal/api/)
|
|
174
|
+
- [ENA Browser API](https://www.ebi.ac.uk/ena/browser/api/)
|
|
175
|
+
- Harrison, P.W. et al. (2021). "The European Nucleotide Archive in 2020." *NAR* 49(D1).
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: genomas-guide
|
|
3
|
+
description: "Automate gene expression analysis with the GenoMAS multi-agent system"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🧬"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "biomedical"
|
|
9
|
+
keywords: ["GenoMAS", "gene expression", "multi-agent", "bioinformatics", "RNA-seq", "genomics automation"]
|
|
10
|
+
source: "https://github.com/futianfan/GenoMAS"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# GenoMAS Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
GenoMAS (Genomics Multi-Agent System) is a minimalist multi-agent framework for automating scientific analysis workflows, particularly gene expression analysis. It orchestrates specialized agents for data retrieval, preprocessing, differential expression analysis, pathway enrichment, and visualization — turning a natural language research question into a complete bioinformatics pipeline.
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pip install genomas
|
|
23
|
+
# Or from source
|
|
24
|
+
git clone https://github.com/futianfan/GenoMAS.git
|
|
25
|
+
cd GenoMAS && pip install -e .
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Core Workflow
|
|
29
|
+
|
|
30
|
+
### Natural Language to Pipeline
|
|
31
|
+
|
|
32
|
+
```python
|
|
33
|
+
from genomas import GenoMAS
|
|
34
|
+
|
|
35
|
+
geno = GenoMAS(llm_provider="anthropic")
|
|
36
|
+
|
|
37
|
+
# Describe analysis in natural language
|
|
38
|
+
result = geno.analyze(
|
|
39
|
+
"Compare gene expression between tumor and normal tissue "
|
|
40
|
+
"in the TCGA breast cancer dataset. Identify differentially "
|
|
41
|
+
"expressed genes and run pathway enrichment analysis."
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
# GenoMAS automatically:
|
|
45
|
+
# 1. Retrieves TCGA-BRCA data via GDC API
|
|
46
|
+
# 2. Normalizes and filters expression data
|
|
47
|
+
# 3. Runs DESeq2-style differential expression
|
|
48
|
+
# 4. Performs GO and KEGG pathway enrichment
|
|
49
|
+
# 5. Generates volcano plots and heatmaps
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Agent Roles
|
|
53
|
+
|
|
54
|
+
| Agent | Responsibility |
|
|
55
|
+
|-------|---------------|
|
|
56
|
+
| **Data Agent** | Retrieves datasets from GEO, TCGA, ArrayExpress |
|
|
57
|
+
| **Preprocessing Agent** | Quality control, normalization, filtering |
|
|
58
|
+
| **Analysis Agent** | Differential expression, clustering, PCA |
|
|
59
|
+
| **Enrichment Agent** | GO, KEGG, MSigDB pathway analysis |
|
|
60
|
+
| **Visualization Agent** | Plots, heatmaps, volcano plots |
|
|
61
|
+
| **Report Agent** | Generates methods section and results summary |
|
|
62
|
+
|
|
63
|
+
### Step-by-Step Usage
|
|
64
|
+
|
|
65
|
+
```python
|
|
66
|
+
from genomas import DataAgent, AnalysisAgent, EnrichmentAgent
|
|
67
|
+
|
|
68
|
+
# Step 1: Retrieve data
|
|
69
|
+
data_agent = DataAgent()
|
|
70
|
+
dataset = data_agent.fetch("GSE12345", platform="RNA-seq")
|
|
71
|
+
|
|
72
|
+
# Step 2: Differential expression
|
|
73
|
+
analysis = AnalysisAgent()
|
|
74
|
+
de_results = analysis.differential_expression(
|
|
75
|
+
dataset,
|
|
76
|
+
group_col="condition",
|
|
77
|
+
case="tumor",
|
|
78
|
+
control="normal",
|
|
79
|
+
method="deseq2",
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
# Step 3: Filter significant genes
|
|
83
|
+
sig_genes = de_results[
|
|
84
|
+
(de_results["padj"] < 0.05) &
|
|
85
|
+
(abs(de_results["log2FoldChange"]) > 1)
|
|
86
|
+
]
|
|
87
|
+
print(f"Found {len(sig_genes)} differentially expressed genes")
|
|
88
|
+
|
|
89
|
+
# Step 4: Pathway enrichment
|
|
90
|
+
enrichment = EnrichmentAgent()
|
|
91
|
+
pathways = enrichment.run(
|
|
92
|
+
gene_list=sig_genes["gene_symbol"].tolist(),
|
|
93
|
+
databases=["GO_BP", "KEGG", "Reactome"],
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
# Step 5: Visualize
|
|
97
|
+
from genomas.viz import volcano_plot, pathway_barplot
|
|
98
|
+
volcano_plot(de_results, output="volcano.png")
|
|
99
|
+
pathway_barplot(pathways, top_n=20, output="pathways.png")
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Supported Analyses
|
|
103
|
+
|
|
104
|
+
| Analysis | Method |
|
|
105
|
+
|----------|--------|
|
|
106
|
+
| Differential expression | DESeq2, edgeR, limma-voom |
|
|
107
|
+
| Clustering | Hierarchical, k-means, UMAP |
|
|
108
|
+
| PCA | Principal component analysis |
|
|
109
|
+
| GO enrichment | Gene Ontology term enrichment |
|
|
110
|
+
| KEGG pathway | KEGG pathway mapping |
|
|
111
|
+
| GSEA | Gene Set Enrichment Analysis |
|
|
112
|
+
| Survival analysis | Kaplan-Meier, Cox regression |
|
|
113
|
+
|
|
114
|
+
## Data Sources
|
|
115
|
+
|
|
116
|
+
| Source | Data type |
|
|
117
|
+
|--------|-----------|
|
|
118
|
+
| GEO (NCBI) | Microarray, RNA-seq |
|
|
119
|
+
| TCGA | Cancer genomics |
|
|
120
|
+
| GTEx | Normal tissue expression |
|
|
121
|
+
| ArrayExpress | European expression data |
|
|
122
|
+
|
|
123
|
+
## References
|
|
124
|
+
|
|
125
|
+
- [GenoMAS GitHub](https://github.com/futianfan/GenoMAS)
|
|
126
|
+
- Love, M.I. et al. (2014). "Moderated estimation of fold change and dispersion for RNA-seq data with DESeq2." *Genome Biology* 15(12).
|