@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.
Files changed (261) hide show
  1. package/README.md +18 -18
  2. package/curated/analysis/README.md +12 -1
  3. package/curated/domains/README.md +48 -1
  4. package/curated/literature/README.md +46 -1
  5. package/curated/research/README.md +16 -1
  6. package/curated/tools/README.md +20 -1
  7. package/curated/writing/README.md +13 -1
  8. package/mcp-configs/academic-db/alphafold-mcp.json +20 -0
  9. package/mcp-configs/academic-db/brightspace-mcp.json +21 -0
  10. package/mcp-configs/academic-db/climatiq-mcp.json +20 -0
  11. package/mcp-configs/academic-db/gibs-mcp.json +20 -0
  12. package/mcp-configs/academic-db/gis-mcp-server.json +22 -0
  13. package/mcp-configs/academic-db/google-earth-engine-mcp.json +21 -0
  14. package/mcp-configs/academic-db/m4-clinical-mcp.json +21 -0
  15. package/mcp-configs/academic-db/medical-mcp.json +21 -0
  16. package/mcp-configs/academic-db/nexonco-mcp.json +20 -0
  17. package/mcp-configs/academic-db/omop-mcp.json +20 -0
  18. package/mcp-configs/academic-db/onekgpd-mcp.json +20 -0
  19. package/mcp-configs/academic-db/openedu-mcp.json +20 -0
  20. package/mcp-configs/academic-db/opengenes-mcp.json +20 -0
  21. package/mcp-configs/academic-db/openstax-mcp.json +21 -0
  22. package/mcp-configs/academic-db/openstreetmap-mcp.json +21 -0
  23. package/mcp-configs/academic-db/opentargets-mcp.json +21 -0
  24. package/mcp-configs/academic-db/pdb-mcp.json +21 -0
  25. package/mcp-configs/academic-db/smithsonian-mcp.json +20 -0
  26. package/mcp-configs/ai-platform/magi-researchers.json +21 -0
  27. package/mcp-configs/ai-platform/mcp-academic-researcher.json +22 -0
  28. package/mcp-configs/ai-platform/open-paper-machine.json +21 -0
  29. package/mcp-configs/ai-platform/paper-intelligence.json +21 -0
  30. package/mcp-configs/ai-platform/paper-reader.json +21 -0
  31. package/mcp-configs/ai-platform/paperdebugger.json +21 -0
  32. package/mcp-configs/browser/exa-mcp.json +20 -0
  33. package/mcp-configs/browser/mcp-searxng.json +21 -0
  34. package/mcp-configs/browser/mcp-webresearch.json +20 -0
  35. package/mcp-configs/communication/discourse-mcp.json +21 -0
  36. package/mcp-configs/data-platform/automl-stat-mcp.json +21 -0
  37. package/mcp-configs/data-platform/jefferson-stats-mcp.json +22 -0
  38. package/mcp-configs/data-platform/mcp-excel-server.json +21 -0
  39. package/mcp-configs/data-platform/mcp-stata.json +21 -0
  40. package/mcp-configs/data-platform/mcpstack-jupyter.json +21 -0
  41. package/mcp-configs/data-platform/ml-mcp.json +21 -0
  42. package/mcp-configs/data-platform/nasdaq-data-link-mcp.json +20 -0
  43. package/mcp-configs/data-platform/numpy-mcp.json +21 -0
  44. package/mcp-configs/dev-platform/geogebra-mcp.json +21 -0
  45. package/mcp-configs/dev-platform/latex-mcp-server.json +21 -0
  46. package/mcp-configs/dev-platform/manim-mcp.json +20 -0
  47. package/mcp-configs/dev-platform/mcp-echarts.json +20 -0
  48. package/mcp-configs/dev-platform/panel-viz-mcp.json +20 -0
  49. package/mcp-configs/dev-platform/paperbanana.json +20 -0
  50. package/mcp-configs/dev-platform/texflow-mcp.json +20 -0
  51. package/mcp-configs/dev-platform/texmcp.json +20 -0
  52. package/mcp-configs/dev-platform/typst-mcp.json +21 -0
  53. package/mcp-configs/dev-platform/vizro-mcp.json +20 -0
  54. package/mcp-configs/note-knowledge/local-faiss-mcp.json +21 -0
  55. package/mcp-configs/note-knowledge/mcp-memory-service.json +21 -0
  56. package/mcp-configs/note-knowledge/mcp-obsidian.json +23 -0
  57. package/mcp-configs/note-knowledge/mcp-ragdocs.json +20 -0
  58. package/mcp-configs/note-knowledge/mcp-summarizer.json +21 -0
  59. package/mcp-configs/note-knowledge/mediawiki-mcp.json +21 -0
  60. package/mcp-configs/note-knowledge/openzim-mcp.json +20 -0
  61. package/mcp-configs/note-knowledge/zettelkasten-mcp.json +21 -0
  62. package/mcp-configs/reference-mgr/academic-paper-mcp-http.json +20 -0
  63. package/mcp-configs/reference-mgr/academix.json +20 -0
  64. package/mcp-configs/reference-mgr/arxiv-research-mcp.json +21 -0
  65. package/mcp-configs/reference-mgr/google-scholar-abstract-mcp.json +19 -0
  66. package/mcp-configs/reference-mgr/google-scholar-mcp.json +20 -0
  67. package/mcp-configs/reference-mgr/mcp-paperswithcode.json +21 -0
  68. package/mcp-configs/reference-mgr/mcp-scholarly.json +20 -0
  69. package/mcp-configs/reference-mgr/mcp-simple-arxiv.json +20 -0
  70. package/mcp-configs/reference-mgr/mcp-simple-pubmed.json +20 -0
  71. package/mcp-configs/reference-mgr/mcp-zotero.json +21 -0
  72. package/mcp-configs/reference-mgr/mendeley-mcp.json +20 -0
  73. package/mcp-configs/reference-mgr/ncbi-mcp-server.json +22 -0
  74. package/mcp-configs/reference-mgr/onecite.json +21 -0
  75. package/mcp-configs/reference-mgr/paper-search-mcp.json +21 -0
  76. package/mcp-configs/reference-mgr/pubmed-search-mcp.json +21 -0
  77. package/mcp-configs/reference-mgr/scholar-mcp.json +21 -0
  78. package/mcp-configs/reference-mgr/scholar-multi-mcp.json +21 -0
  79. package/mcp-configs/reference-mgr/seerai.json +21 -0
  80. package/mcp-configs/reference-mgr/semantic-scholar-fastmcp.json +21 -0
  81. package/mcp-configs/reference-mgr/sourcelibrary.json +20 -0
  82. package/openclaw.plugin.json +2 -2
  83. package/package.json +2 -2
  84. package/skills/analysis/dataviz/citation-map-guide/SKILL.md +184 -0
  85. package/skills/analysis/dataviz/data-visualization-principles/SKILL.md +171 -0
  86. package/skills/analysis/econometrics/econml-causal-guide/SKILL.md +2 -2
  87. package/skills/analysis/econometrics/empirical-paper-analysis/SKILL.md +192 -0
  88. package/skills/analysis/econometrics/mostly-harmless-guide/SKILL.md +2 -2
  89. package/skills/analysis/econometrics/panel-data-regression-workflow/SKILL.md +267 -0
  90. package/skills/analysis/econometrics/python-causality-guide/SKILL.md +2 -2
  91. package/skills/analysis/econometrics/stata-reference-guide/SKILL.md +293 -0
  92. package/skills/analysis/statistics/general-statistics-guide/SKILL.md +226 -0
  93. package/skills/analysis/statistics/infiagent-benchmark-guide/SKILL.md +106 -0
  94. package/skills/analysis/wrangling/claude-data-analysis-guide/SKILL.md +100 -0
  95. package/skills/analysis/wrangling/open-data-scientist-guide/SKILL.md +197 -0
  96. package/skills/analysis/wrangling/streamline-analyst-guide/SKILL.md +119 -0
  97. package/skills/domains/ai-ml/ai-agent-papers-guide/SKILL.md +146 -0
  98. package/skills/domains/ai-ml/anomaly-detection-papers-guide/SKILL.md +167 -0
  99. package/skills/domains/ai-ml/autonomous-agents-papers-guide/SKILL.md +178 -0
  100. package/skills/domains/ai-ml/domain-adaptation-papers-guide/SKILL.md +173 -0
  101. package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +2 -2
  102. package/skills/domains/ai-ml/graph-learning-papers-guide/SKILL.md +125 -0
  103. package/skills/domains/ai-ml/kolmogorov-arnold-networks-guide/SKILL.md +185 -0
  104. package/skills/domains/ai-ml/npcpy-research-guide/SKILL.md +137 -0
  105. package/skills/domains/ai-ml/responsible-ai-guide/SKILL.md +126 -0
  106. package/skills/domains/ai-ml/vmas-simulator-guide/SKILL.md +129 -0
  107. package/skills/domains/biomedical/clawbio-guide/SKILL.md +167 -0
  108. package/skills/domains/biomedical/clinical-dialogue-agents-guide/SKILL.md +145 -0
  109. package/skills/domains/biomedical/ena-sequence-api/SKILL.md +175 -0
  110. package/skills/domains/biomedical/genomas-guide/SKILL.md +126 -0
  111. package/skills/domains/biomedical/genotex-benchmark-guide/SKILL.md +125 -0
  112. package/skills/domains/biomedical/med-researcher-guide/SKILL.md +161 -0
  113. package/skills/domains/biomedical/med-researcher-r1-guide/SKILL.md +146 -0
  114. package/skills/domains/biomedical/ncbi-blast-api/SKILL.md +195 -0
  115. package/skills/domains/biomedical/ncbi-datasets-api/SKILL.md +220 -0
  116. package/skills/domains/biomedical/quickgo-api/SKILL.md +181 -0
  117. package/skills/domains/business/xpert-bi-guide/SKILL.md +84 -0
  118. package/skills/domains/chemistry/cactus-cheminformatics-guide/SKILL.md +89 -0
  119. package/skills/domains/chemistry/chemeagle-guide/SKILL.md +147 -0
  120. package/skills/domains/chemistry/chemgraph-agent-guide/SKILL.md +120 -0
  121. package/skills/domains/cs/ai-security-papers-guide/SKILL.md +103 -0
  122. package/skills/domains/cs/code-llm-papers-guide/SKILL.md +131 -0
  123. package/skills/domains/cs/gaussian-splatting-papers-guide/SKILL.md +158 -0
  124. package/skills/domains/cs/llm-aiops-guide/SKILL.md +70 -0
  125. package/skills/domains/cs/software-heritage-api/SKILL.md +200 -0
  126. package/skills/domains/economics/nber-working-papers-api/SKILL.md +177 -0
  127. package/skills/domains/economics/repec-economics-api/SKILL.md +188 -0
  128. package/skills/domains/education/academic-study-methods/SKILL.md +228 -0
  129. package/skills/domains/education/edumcp-guide/SKILL.md +74 -0
  130. package/skills/domains/education/open-syllabus-api/SKILL.md +171 -0
  131. package/skills/domains/finance/akshare-finance-data/SKILL.md +207 -0
  132. package/skills/domains/finance/finsight-research-guide/SKILL.md +113 -0
  133. package/skills/domains/finance/options-analytics-agent-guide/SKILL.md +117 -0
  134. package/skills/domains/geoscience/pangaea-data-api/SKILL.md +197 -0
  135. package/skills/domains/humanities/digital-humanities-methods/SKILL.md +232 -0
  136. package/skills/domains/law/caselaw-access-api/SKILL.md +149 -0
  137. package/skills/domains/law/legal-agent-skills-guide/SKILL.md +132 -0
  138. package/skills/domains/law/legal-research-methods/SKILL.md +190 -0
  139. package/skills/domains/law/opencontracts-guide/SKILL.md +168 -0
  140. package/skills/domains/math/lean-theorem-proving-guide/SKILL.md +140 -0
  141. package/skills/domains/pharma/madd-drug-discovery-guide/SKILL.md +153 -0
  142. package/skills/domains/social-science/ipums-microdata-api/SKILL.md +211 -0
  143. package/skills/domains/social-science/sociology-research-methods/SKILL.md +181 -0
  144. package/skills/literature/discovery/arxiv-paper-monitoring/SKILL.md +233 -0
  145. package/skills/literature/discovery/papers-we-love-guide/SKILL.md +169 -0
  146. package/skills/literature/discovery/zotero-arxiv-daily-guide/SKILL.md +2 -2
  147. package/skills/literature/fulltext/bioc-pmc-api/SKILL.md +146 -0
  148. package/skills/literature/fulltext/dataverse-api/SKILL.md +215 -0
  149. package/skills/literature/fulltext/hal-archive-api/SKILL.md +218 -0
  150. package/skills/literature/fulltext/osf-api/SKILL.md +212 -0
  151. package/skills/literature/fulltext/pmc-ftp-bulk-download/SKILL.md +182 -0
  152. package/skills/literature/fulltext/zotero-ai-butler-guide/SKILL.md +166 -0
  153. package/skills/literature/fulltext/zotero-scihub-guide/SKILL.md +168 -0
  154. package/skills/literature/metadata/bibliometrix-guide/SKILL.md +164 -0
  155. package/skills/literature/metadata/crossref-event-data-api/SKILL.md +183 -0
  156. package/skills/literature/metadata/doi-content-negotiation/SKILL.md +202 -0
  157. package/skills/literature/metadata/orkg-api/SKILL.md +153 -0
  158. package/skills/literature/metadata/plumx-metrics-api/SKILL.md +188 -0
  159. package/skills/literature/metadata/ror-organization-api/SKILL.md +208 -0
  160. package/skills/literature/metadata/sophosia-reference-guide/SKILL.md +110 -0
  161. package/skills/literature/metadata/viaf-authority-api/SKILL.md +209 -0
  162. package/skills/literature/metadata/zoplicate-dedup-guide/SKILL.md +147 -0
  163. package/skills/literature/metadata/zotero-actions-tags-guide/SKILL.md +212 -0
  164. package/skills/literature/metadata/zotmoov-guide/SKILL.md +120 -0
  165. package/skills/literature/metadata/zutilo-guide/SKILL.md +140 -0
  166. package/skills/literature/search/arxiv-cli-tools/SKILL.md +172 -0
  167. package/skills/literature/search/arxiv-osiris/SKILL.md +199 -0
  168. package/skills/literature/search/base-academic-search/SKILL.md +196 -0
  169. package/skills/literature/search/chatpaper-guide/SKILL.md +2 -2
  170. package/skills/literature/search/citeseerx-api/SKILL.md +183 -0
  171. package/skills/literature/search/deepgit-search-guide/SKILL.md +2 -2
  172. package/skills/literature/search/eric-education-api/SKILL.md +199 -0
  173. package/skills/literature/search/findpapers-guide/SKILL.md +177 -0
  174. package/skills/literature/search/ieee-xplore-api/SKILL.md +177 -0
  175. package/skills/literature/search/lens-scholarly-api/SKILL.md +211 -0
  176. package/skills/literature/search/multi-database-literature-search/SKILL.md +198 -0
  177. package/skills/literature/search/open-library-api/SKILL.md +196 -0
  178. package/skills/literature/search/open-semantic-search-guide/SKILL.md +190 -0
  179. package/skills/literature/search/openaire-api/SKILL.md +141 -0
  180. package/skills/literature/search/paper-search-mcp-guide/SKILL.md +107 -0
  181. package/skills/literature/search/papers-chat-guide/SKILL.md +194 -0
  182. package/skills/literature/search/pasa-paper-search-guide/SKILL.md +2 -2
  183. package/skills/literature/search/plos-open-access-api/SKILL.md +203 -0
  184. package/skills/literature/search/scielo-api/SKILL.md +182 -0
  185. package/skills/literature/search/share-research-api/SKILL.md +129 -0
  186. package/skills/literature/search/worldcat-search-api/SKILL.md +224 -0
  187. package/skills/research/automation/aim-experiment-guide/SKILL.md +2 -2
  188. package/skills/research/automation/claude-academic-workflow-guide/SKILL.md +202 -0
  189. package/skills/research/automation/coexist-ai-guide/SKILL.md +149 -0
  190. package/skills/research/automation/datagen-research-guide/SKILL.md +2 -2
  191. package/skills/research/automation/foam-agent-guide/SKILL.md +203 -0
  192. package/skills/research/automation/kedro-pipeline-guide/SKILL.md +2 -2
  193. package/skills/research/automation/mle-agent-guide/SKILL.md +2 -2
  194. package/skills/research/automation/paper-to-agent-guide/SKILL.md +2 -2
  195. package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +2 -2
  196. package/skills/research/deep-research/cognitive-kernel-guide/SKILL.md +200 -0
  197. package/skills/research/deep-research/corvus-research-guide/SKILL.md +132 -0
  198. package/skills/research/deep-research/in-depth-research-guide/SKILL.md +205 -0
  199. package/skills/research/deep-research/kosmos-scientist-guide/SKILL.md +185 -0
  200. package/skills/research/deep-research/llm-scientific-discovery-guide/SKILL.md +178 -0
  201. package/skills/research/deep-research/open-researcher-guide/SKILL.md +138 -0
  202. package/skills/research/methodology/claude-scientific-guide/SKILL.md +2 -2
  203. package/skills/research/methodology/parsifal-slr-guide/SKILL.md +154 -0
  204. package/skills/research/methodology/research-pipeline-units-guide/SKILL.md +169 -0
  205. package/skills/research/methodology/slr-automation-guide/SKILL.md +235 -0
  206. package/skills/research/paper-review/latte-review-guide/SKILL.md +175 -0
  207. package/skills/research/paper-review/paper-critique-framework/SKILL.md +181 -0
  208. package/skills/tools/code-exec/contextplus-mcp-guide/SKILL.md +110 -0
  209. package/skills/tools/diagram/clawphd-guide/SKILL.md +149 -0
  210. package/skills/tools/diagram/kroki-diagram-api/SKILL.md +198 -0
  211. package/skills/tools/diagram/scientific-graphical-abstract/SKILL.md +201 -0
  212. package/skills/tools/document/docsgpt-guide/SKILL.md +2 -2
  213. package/skills/tools/document/md2pdf-xelatex/SKILL.md +212 -0
  214. package/skills/tools/document/openpaper-guide/SKILL.md +232 -0
  215. package/skills/tools/document/weknora-guide/SKILL.md +216 -0
  216. package/skills/tools/document/zotero-addon-market-guide/SKILL.md +108 -0
  217. package/skills/tools/document/zotero-night-theme-guide/SKILL.md +142 -0
  218. package/skills/tools/document/zotero-style-guide/SKILL.md +217 -0
  219. package/skills/tools/knowledge-graph/graphiti-guide/SKILL.md +2 -2
  220. package/skills/tools/knowledge-graph/mimir-memory-guide/SKILL.md +135 -0
  221. package/skills/tools/knowledge-graph/notero-zotero-notion-guide/SKILL.md +187 -0
  222. package/skills/tools/knowledge-graph/open-webui-tools-guide/SKILL.md +156 -0
  223. package/skills/tools/knowledge-graph/openspg-guide/SKILL.md +210 -0
  224. package/skills/tools/knowledge-graph/paperpile-notion-guide/SKILL.md +84 -0
  225. package/skills/tools/knowledge-graph/zotero-markdb-connect-guide/SKILL.md +162 -0
  226. package/skills/tools/ocr-translate/latex-translation-guide/SKILL.md +176 -0
  227. package/skills/tools/ocr-translate/math-equation-renderer/SKILL.md +198 -0
  228. package/skills/tools/ocr-translate/pdf-math-translate-guide/SKILL.md +2 -2
  229. package/skills/tools/ocr-translate/zotero-pdf-translate-guide/SKILL.md +2 -2
  230. package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +2 -2
  231. package/skills/writing/citation/academic-citation-manager-guide/SKILL.md +182 -0
  232. package/skills/writing/citation/citation-assistant-skill/SKILL.md +192 -0
  233. package/skills/writing/citation/jabref-reference-guide/SKILL.md +2 -2
  234. package/skills/writing/citation/jasminum-zotero-guide/SKILL.md +2 -2
  235. package/skills/writing/citation/mendeley-api/SKILL.md +231 -0
  236. package/skills/writing/citation/obsidian-citation-guide/SKILL.md +2 -2
  237. package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +2 -2
  238. package/skills/writing/citation/onecite-reference-guide/SKILL.md +168 -0
  239. package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +2 -2
  240. package/skills/writing/citation/papis-cli-guide/SKILL.md +2 -2
  241. package/skills/writing/citation/zotero-better-bibtex-guide/SKILL.md +2 -2
  242. package/skills/writing/citation/zotero-better-notes-guide/SKILL.md +2 -2
  243. package/skills/writing/citation/zotero-gpt-guide/SKILL.md +2 -2
  244. package/skills/writing/citation/zotero-mcp-guide/SKILL.md +2 -2
  245. package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +2 -2
  246. package/skills/writing/citation/zotero-reference-guide/SKILL.md +2 -2
  247. package/skills/writing/citation/zotfile-attachment-guide/SKILL.md +2 -2
  248. package/skills/writing/composition/opendraft-thesis-guide/SKILL.md +200 -0
  249. package/skills/writing/composition/paper-debugger-guide/SKILL.md +2 -2
  250. package/skills/writing/composition/paperforge-guide/SKILL.md +205 -0
  251. package/skills/writing/composition/research-paper-writer/SKILL.md +226 -0
  252. package/skills/writing/composition/scientific-writing-resources/SKILL.md +2 -2
  253. package/skills/writing/latex/academic-writing-latex/SKILL.md +285 -0
  254. package/skills/writing/latex/latex-drawing-collection/SKILL.md +2 -2
  255. package/skills/writing/latex/latex-templates-collection/SKILL.md +2 -2
  256. package/skills/writing/polish/chinese-text-humanizer/SKILL.md +140 -0
  257. package/skills/writing/templates/arxiv-preprint-template/SKILL.md +184 -0
  258. package/skills/writing/templates/elegant-paper-template/SKILL.md +141 -0
  259. package/skills/writing/templates/novathesis-guide/SKILL.md +2 -2
  260. package/skills/writing/templates/sjtuthesis-guide/SKILL.md +2 -2
  261. package/skills/writing/templates/thuthesis-guide/SKILL.md +2 -2
@@ -0,0 +1,125 @@
1
+ ---
2
+ name: genotex-benchmark-guide
3
+ description: "Benchmark for LLM agents on gene expression data analysis"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🧫"
7
+ category: "domains"
8
+ subcategory: "biomedical"
9
+ keywords: ["GenoTEX", "gene expression", "benchmark", "LLM agent", "bioinformatics", "GEO"]
10
+ source: "https://github.com/Liu-Hy/GenoTEX"
11
+ ---
12
+
13
+ # GenoTEX Benchmark Guide
14
+
15
+ ## Overview
16
+
17
+ GenoTEX is a benchmark for evaluating LLM-based agents on gene expression data analysis tasks. It provides curated datasets from GEO (Gene Expression Omnibus) with ground-truth analysis pipelines, testing agents on data preprocessing, differential expression, enrichment analysis, and biological interpretation. Published at MLCB 2025 as an oral presentation.
18
+
19
+ ## Benchmark Structure
20
+
21
+ ```
22
+ GenoTEX Benchmark
23
+ ├── Data Collection
24
+ │ └── Curated GEO datasets with ground truth
25
+ ├── Task Categories
26
+ │ ├── Data preprocessing (QC, normalization)
27
+ │ ├── Differential expression analysis
28
+ │ ├── Gene set enrichment analysis
29
+ │ ├── Clustering and classification
30
+ │ └── Biological interpretation
31
+ ├── Evaluation
32
+ │ ├── Code correctness (executes without error)
33
+ │ ├── Statistical validity (appropriate tests)
34
+ │ ├── Result accuracy (vs ground truth)
35
+ │ └── Interpretation quality (biological insight)
36
+ └── Baselines
37
+ ├── GPT-4 agent
38
+ ├── Claude agent
39
+ └── Domain-specific fine-tuned models
40
+ ```
41
+
42
+ ## Usage
43
+
44
+ ```python
45
+ from genotex import GenoTEXBenchmark
46
+
47
+ bench = GenoTEXBenchmark()
48
+
49
+ # List available tasks
50
+ tasks = bench.list_tasks()
51
+ for task in tasks[:5]:
52
+ print(f"Task: {task.id}")
53
+ print(f" Dataset: {task.geo_accession}")
54
+ print(f" Category: {task.category}")
55
+ print(f" Difficulty: {task.difficulty}")
56
+
57
+ # Get a specific task
58
+ task = bench.get_task("GSE12345_DEG")
59
+ print(f"Description: {task.description}")
60
+ print(f"Input files: {task.input_files}")
61
+ print(f"Expected output: {task.expected_output_type}")
62
+ ```
63
+
64
+ ## Running Evaluations
65
+
66
+ ```python
67
+ # Evaluate an agent on GenoTEX
68
+ from genotex import evaluate_agent
69
+
70
+ results = evaluate_agent(
71
+ agent_fn=my_agent_function,
72
+ tasks="all", # or specific task IDs
73
+ timeout_per_task=300, # seconds
74
+ )
75
+
76
+ print(f"Tasks completed: {results.completed}/{results.total}")
77
+ print(f"Code correctness: {results.code_correct_rate:.1%}")
78
+ print(f"Statistical validity: {results.stats_valid_rate:.1%}")
79
+ print(f"Result accuracy: {results.accuracy:.3f}")
80
+ ```
81
+
82
+ ## Task Examples
83
+
84
+ ```python
85
+ # Example: Differential Expression Analysis
86
+ task = {
87
+ "id": "GSE12345_DEG",
88
+ "description": "Identify differentially expressed genes "
89
+ "between treatment and control groups in "
90
+ "this RNA-seq dataset.",
91
+ "input": "GSE12345_counts.csv", # Raw count matrix
92
+ "metadata": "GSE12345_metadata.csv", # Sample info
93
+ "expected": {
94
+ "method": "DESeq2 or limma-voom",
95
+ "output": "DEG table with log2FC, p-value, adj.p",
96
+ "ground_truth": "GSE12345_deg_truth.csv",
97
+ },
98
+ }
99
+
100
+ # Example: Gene Set Enrichment
101
+ task = {
102
+ "id": "GSE12345_GSEA",
103
+ "description": "Perform gene set enrichment analysis on "
104
+ "the DEGs and identify enriched pathways.",
105
+ "input": "GSE12345_deg_results.csv",
106
+ "expected": {
107
+ "method": "fgsea, clusterProfiler, or enrichR",
108
+ "output": "Enriched pathways with NES and FDR",
109
+ },
110
+ }
111
+ ```
112
+
113
+ ## Use Cases
114
+
115
+ 1. **Agent evaluation**: Test bioinformatics agents on real tasks
116
+ 2. **Method comparison**: Compare LLM agents on genomics
117
+ 3. **Benchmark development**: Extend with new GEO datasets
118
+ 4. **Teaching**: Standard tasks for bioinformatics education
119
+ 5. **Tool development**: Test new analysis pipelines
120
+
121
+ ## References
122
+
123
+ - [GenoTEX GitHub](https://github.com/Liu-Hy/GenoTEX)
124
+ - [GEO Database](https://www.ncbi.nlm.nih.gov/geo/)
125
+ - [MLCB 2025](https://mlcb.github.io/)
@@ -0,0 +1,161 @@
1
+ ---
2
+ name: med-researcher-guide
3
+ description: "Multi-agent system for biomedical literature review and synthesis"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🏥"
7
+ category: "domains"
8
+ subcategory: "biomedical"
9
+ keywords: ["medical research", "biomedical agent", "clinical literature", "PubMed agent", "medical AI", "evidence synthesis"]
10
+ source: "https://github.com/mao1207/Med-Researcher"
11
+ ---
12
+
13
+ # Med-Researcher Guide
14
+
15
+ ## Overview
16
+
17
+ Med-Researcher is a multi-agent system designed specifically for biomedical literature review. It orchestrates specialized agents for searching PubMed and other medical databases, extracting structured evidence from clinical papers, and synthesizing findings into evidence-graded summaries. Particularly useful for clinical evidence reviews, drug interaction research, and systematic reviews in medicine.
18
+
19
+ ## Architecture
20
+
21
+ ### Agent Roles
22
+
23
+ ```
24
+ Query → Planning Agent (decomposes clinical question)
25
+
26
+ Search Agent (PubMed, PMC, clinical trials)
27
+
28
+ Extraction Agent (PICO, outcomes, evidence grade)
29
+
30
+ Synthesis Agent (evidence summary, contradictions)
31
+
32
+ Report Agent (structured review output)
33
+ ```
34
+
35
+ ### Agent Descriptions
36
+
37
+ | Agent | Role |
38
+ |-------|------|
39
+ | **Planner** | Converts clinical question to PICO format, generates sub-queries |
40
+ | **Searcher** | Queries PubMed, PMC, ClinicalTrials.gov |
41
+ | **Extractor** | Extracts structured data: population, intervention, outcomes |
42
+ | **Synthesizer** | Grades evidence, identifies consensus and contradictions |
43
+ | **Reporter** | Generates formatted review with citations |
44
+
45
+ ## Usage
46
+
47
+ ```python
48
+ from med_researcher import MedResearcher
49
+
50
+ researcher = MedResearcher(
51
+ llm_provider="anthropic",
52
+ search_backends=["pubmed", "pmc", "clinical_trials"],
53
+ )
54
+
55
+ # Clinical question
56
+ result = researcher.review(
57
+ question="What is the comparative efficacy of SGLT2 inhibitors "
58
+ "versus GLP-1 receptor agonists for cardiovascular "
59
+ "outcomes in type 2 diabetes?",
60
+ max_papers=50,
61
+ evidence_grading=True,
62
+ )
63
+
64
+ print(result.summary)
65
+ print(f"Papers analyzed: {len(result.papers)}")
66
+ print(f"Evidence grade: {result.overall_grade}")
67
+ ```
68
+
69
+ ## PICO Framework Integration
70
+
71
+ ```python
72
+ # Automatic PICO extraction from clinical question
73
+ pico = researcher.extract_pico(
74
+ "Does metformin reduce cancer incidence in diabetic patients?"
75
+ )
76
+ # P: patients with diabetes
77
+ # I: metformin treatment
78
+ # C: no metformin / other antidiabetics
79
+ # O: cancer incidence
80
+
81
+ # Search with PICO components
82
+ result = researcher.review_pico(
83
+ population="type 2 diabetes patients",
84
+ intervention="metformin",
85
+ comparison="placebo or other antidiabetics",
86
+ outcome="cancer incidence",
87
+ )
88
+ ```
89
+
90
+ ## Evidence Grading
91
+
92
+ ```python
93
+ # Evidence levels following GRADE methodology
94
+ for paper in result.papers:
95
+ print(f"{paper.title}")
96
+ print(f" Study type: {paper.study_type}") # RCT, cohort, case-control
97
+ print(f" Evidence level: {paper.evidence_level}") # High/Moderate/Low/Very Low
98
+ print(f" Risk of bias: {paper.bias_risk}")
99
+ print(f" Sample size: {paper.sample_size}")
100
+
101
+ # Aggregate evidence summary
102
+ print(f"\nOverall certainty: {result.certainty}")
103
+ print(f"Recommendation strength: {result.recommendation}")
104
+ ```
105
+
106
+ ## Search Configuration
107
+
108
+ ```python
109
+ researcher = MedResearcher(
110
+ search_config={
111
+ "pubmed": {
112
+ "max_results": 100,
113
+ "date_range": ("2020-01-01", "2025-12-31"),
114
+ "article_types": ["Clinical Trial", "Meta-Analysis",
115
+ "Randomized Controlled Trial"],
116
+ },
117
+ "clinical_trials": {
118
+ "status": ["Completed", "Active"],
119
+ "phase": ["Phase 3", "Phase 4"],
120
+ },
121
+ },
122
+ extraction_config={
123
+ "fields": ["population", "intervention", "comparator",
124
+ "primary_outcome", "secondary_outcomes",
125
+ "adverse_events", "sample_size", "follow_up"],
126
+ },
127
+ )
128
+ ```
129
+
130
+ ## Output Formats
131
+
132
+ ```python
133
+ # Structured evidence table
134
+ result.export_evidence_table("evidence_table.csv")
135
+
136
+ # PRISMA flow diagram data
137
+ prisma = result.prisma_flow()
138
+ print(f"Identified: {prisma['identified']}")
139
+ print(f"Screened: {prisma['screened']}")
140
+ print(f"Included: {prisma['included']}")
141
+
142
+ # Bibliography
143
+ result.export_bibtex("references.bib")
144
+
145
+ # Full report
146
+ result.export_report("review.md", format="markdown")
147
+ ```
148
+
149
+ ## Clinical Use Cases
150
+
151
+ 1. **Drug comparison reviews**: Head-to-head efficacy analysis
152
+ 2. **Safety signal detection**: Adverse event pattern identification
153
+ 3. **Guideline evidence**: Supporting clinical guideline development
154
+ 4. **Grant proposals**: Rapid evidence landscape assessment
155
+ 5. **Journal clubs**: Structured paper discussion preparation
156
+
157
+ ## References
158
+
159
+ - [Med-Researcher GitHub](https://github.com/mao1207/Med-Researcher)
160
+ - [GRADE Handbook](https://gdt.gradepro.org/app/handbook/handbook.html)
161
+ - [PubMed API (E-utilities)](https://www.ncbi.nlm.nih.gov/books/NBK25501/)
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: med-researcher-r1-guide
3
+ description: "Medical deep research agent with reasoning chain analysis"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🩺"
7
+ category: "domains"
8
+ subcategory: "biomedical"
9
+ keywords: ["medical research", "deep research", "clinical reasoning", "PubMed", "medical agent", "evidence-based"]
10
+ source: "https://github.com/AQ-MedAI/MedResearcher-R1"
11
+ ---
12
+
13
+ # MedResearcher-R1 Guide
14
+
15
+ ## Overview
16
+
17
+ MedResearcher-R1 is a medical deep research agent that combines clinical reasoning chains with iterative literature search to answer complex medical questions. Unlike general research agents, it is specialized for medical evidence — understanding clinical trial designs, PICO frameworks, evidence hierarchies, and medical terminology. Uses reasoning chain analysis (R1) to decompose clinical questions and systematically gather evidence.
18
+
19
+ ## Architecture
20
+
21
+ ```
22
+ Clinical Question
23
+
24
+ R1 Reasoning Chain (decompose into sub-questions)
25
+
26
+ Medical Search Agent
27
+ ├── PubMed (MeSH terms)
28
+ ├── ClinicalTrials.gov
29
+ ├── Cochrane Library
30
+ └── WHO ICTRP
31
+
32
+ Evidence Extraction Agent
33
+ ├── PICO extraction
34
+ ├── Study design classification
35
+ ├── Outcome extraction
36
+ └── Risk of bias assessment
37
+
38
+ Synthesis Agent (evidence grading)
39
+
40
+ Clinical Answer + Evidence Report
41
+ ```
42
+
43
+ ## Usage
44
+
45
+ ```python
46
+ from med_researcher_r1 import MedResearcherR1
47
+
48
+ researcher = MedResearcherR1(
49
+ llm_provider="anthropic",
50
+ search_backends=["pubmed", "clinical_trials", "cochrane"],
51
+ )
52
+
53
+ # Complex clinical question
54
+ result = researcher.research(
55
+ question="In patients with treatment-resistant depression, "
56
+ "how does psilocybin-assisted therapy compare to "
57
+ "esketamine in terms of remission rates and "
58
+ "long-term outcomes?",
59
+ evidence_level="systematic", # systematic, rapid, scoping
60
+ max_papers=50,
61
+ )
62
+
63
+ print(result.summary)
64
+ print(f"\nEvidence quality: {result.evidence_grade}")
65
+ print(f"Papers analyzed: {len(result.papers)}")
66
+ ```
67
+
68
+ ## Reasoning Chain
69
+
70
+ ```python
71
+ # Inspect the R1 reasoning chain
72
+ for step in result.reasoning_chain:
73
+ print(f"\nStep {step.number}: {step.type}")
74
+ print(f" Question: {step.question}")
75
+ print(f" Strategy: {step.search_strategy}")
76
+ print(f" Findings: {step.key_finding}")
77
+ print(f" Next: {step.next_action}")
78
+
79
+ # Example chain:
80
+ # Step 1: DECOMPOSE — Split into psilocybin efficacy,
81
+ # esketamine efficacy, head-to-head comparisons
82
+ # Step 2: SEARCH — PubMed: psilocybin depression RCT
83
+ # Step 3: EXTRACT — 3 RCTs found, extract PICO + outcomes
84
+ # Step 4: SEARCH — PubMed: esketamine depression outcomes
85
+ # Step 5: SYNTHESIZE — Compare evidence, note no direct
86
+ # head-to-head trials exist
87
+ # Step 6: CONCLUDE — Indirect comparison with caveats
88
+ ```
89
+
90
+ ## Evidence Grading
91
+
92
+ ```python
93
+ # GRADE methodology for evidence quality
94
+ for paper in result.papers[:5]:
95
+ print(f"\n{paper.title} ({paper.year})")
96
+ print(f" Design: {paper.study_design}")
97
+ print(f" Sample: {paper.sample_size}")
98
+ print(f" Grade: {paper.evidence_grade}")
99
+ print(f" Risk of bias: {paper.risk_of_bias}")
100
+
101
+ # Aggregate evidence
102
+ print(f"\nOverall certainty: {result.certainty}")
103
+ # HIGH / MODERATE / LOW / VERY LOW
104
+ print(f"Recommendation: {result.recommendation}")
105
+ ```
106
+
107
+ ## Medical Search Configuration
108
+
109
+ ```python
110
+ researcher = MedResearcherR1(
111
+ search_config={
112
+ "pubmed": {
113
+ "use_mesh": True,
114
+ "date_range": "2019/01/01:2025/12/31",
115
+ "article_types": [
116
+ "Randomized Controlled Trial",
117
+ "Meta-Analysis",
118
+ "Systematic Review",
119
+ ],
120
+ },
121
+ "clinical_trials": {
122
+ "status": ["Completed", "Active, not recruiting"],
123
+ "phase": ["Phase 3", "Phase 4"],
124
+ },
125
+ },
126
+ reasoning_config={
127
+ "max_chain_length": 10,
128
+ "reflection_enabled": True,
129
+ "uncertainty_explicit": True,
130
+ },
131
+ )
132
+ ```
133
+
134
+ ## Clinical Use Cases
135
+
136
+ 1. **Clinical queries**: Evidence-based answers to medical questions
137
+ 2. **Drug comparison**: Indirect comparison when no head-to-head data
138
+ 3. **Guideline review**: Check evidence supporting clinical guidelines
139
+ 4. **Case analysis**: Literature context for unusual presentations
140
+ 5. **Grant proposals**: Evidence landscape for research funding
141
+
142
+ ## References
143
+
144
+ - [MedResearcher-R1 GitHub](https://github.com/AQ-MedAI/MedResearcher-R1)
145
+ - [PubMed E-utilities](https://www.ncbi.nlm.nih.gov/books/NBK25501/)
146
+ - [GRADE Handbook](https://gdt.gradepro.org/app/handbook/handbook.html)
@@ -0,0 +1,195 @@
1
+ ---
2
+ name: ncbi-blast-api
3
+ description: "Run sequence similarity searches via the NCBI BLAST REST API"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🧪"
7
+ category: "domains"
8
+ subcategory: "biomedical"
9
+ keywords: ["BLAST", "sequence alignment", "NCBI", "homology search", "protein similarity", "nucleotide search"]
10
+ source: "https://blast.ncbi.nlm.nih.gov/"
11
+ ---
12
+
13
+ # NCBI BLAST REST API
14
+
15
+ ## Overview
16
+
17
+ BLAST (Basic Local Alignment Search Tool) is the most widely used bioinformatics tool, comparing nucleotide or protein sequences against databases to find regions of similarity. The NCBI BLAST REST API enables programmatic submission of searches, status polling, and result retrieval. Free, no authentication required (but rate-limited).
18
+
19
+ ## API Workflow
20
+
21
+ BLAST searches are asynchronous: submit → poll → retrieve.
22
+
23
+ ### Step 1: Submit Search
24
+
25
+ ```bash
26
+ # Nucleotide BLAST (blastn)
27
+ curl -X POST "https://blast.ncbi.nlm.nih.gov/blast/Blast.cgi" \
28
+ -d "CMD=Put&PROGRAM=blastn&DATABASE=nt&QUERY=ATGCGATCGATCG..."
29
+
30
+ # Protein BLAST (blastp)
31
+ curl -X POST "https://blast.ncbi.nlm.nih.gov/blast/Blast.cgi" \
32
+ -d "CMD=Put&PROGRAM=blastp&DATABASE=nr&QUERY=MKTLLLTLVVVTIVCL..."
33
+
34
+ # BLAST with specific parameters
35
+ curl -X POST "https://blast.ncbi.nlm.nih.gov/blast/Blast.cgi" \
36
+ -d "CMD=Put&PROGRAM=blastn&DATABASE=nt&QUERY=SEQUENCE&\
37
+ EXPECT=0.001&WORD_SIZE=11&HITLIST_SIZE=50"
38
+ ```
39
+
40
+ ### Step 2: Check Status
41
+
42
+ ```bash
43
+ # Poll for completion (returns XML with Status field)
44
+ curl "https://blast.ncbi.nlm.nih.gov/blast/Blast.cgi?CMD=Get&FORMAT_OBJECT=SearchInfo&RID=YOUR_RID"
45
+ ```
46
+
47
+ ### Step 3: Retrieve Results
48
+
49
+ ```bash
50
+ # Get results in XML
51
+ curl "https://blast.ncbi.nlm.nih.gov/blast/Blast.cgi?CMD=Get&FORMAT_TYPE=XML&RID=YOUR_RID"
52
+
53
+ # Get results in JSON
54
+ curl "https://blast.ncbi.nlm.nih.gov/blast/Blast.cgi?CMD=Get&FORMAT_TYPE=JSON2_S&RID=YOUR_RID"
55
+
56
+ # Get results in tabular format
57
+ curl "https://blast.ncbi.nlm.nih.gov/blast/Blast.cgi?CMD=Get&FORMAT_TYPE=Tabular&RID=YOUR_RID"
58
+ ```
59
+
60
+ ### BLAST Programs
61
+
62
+ | Program | Query → Database | Use case |
63
+ |---------|-----------------|----------|
64
+ | `blastn` | Nucleotide → Nucleotide | DNA/RNA similarity |
65
+ | `blastp` | Protein → Protein | Protein homology |
66
+ | `blastx` | Translated nuc → Protein | Find protein homologs of DNA |
67
+ | `tblastn` | Protein → Translated nuc | Find DNA encoding similar protein |
68
+ | `tblastx` | Translated nuc → Translated nuc | Compare at protein level |
69
+
70
+ ### Common Databases
71
+
72
+ | Database | Content |
73
+ |----------|---------|
74
+ | `nt` | All GenBank nucleotide sequences |
75
+ | `nr` | Non-redundant protein sequences |
76
+ | `refseq_rna` | RefSeq RNA sequences |
77
+ | `refseq_protein` | RefSeq protein sequences |
78
+ | `swissprot` | UniProtKB/Swiss-Prot (curated) |
79
+ | `pdb` | Protein Data Bank sequences |
80
+
81
+ ### Key Parameters
82
+
83
+ | Parameter | Description | Default |
84
+ |-----------|-------------|---------|
85
+ | `PROGRAM` | BLAST program | Required |
86
+ | `DATABASE` | Target database | Required |
87
+ | `QUERY` | Sequence or accession | Required |
88
+ | `EXPECT` | E-value threshold | `10` |
89
+ | `WORD_SIZE` | Word size | `11` (blastn), `6` (blastp) |
90
+ | `HITLIST_SIZE` | Max results | `100` |
91
+ | `MATRIX` | Scoring matrix (protein) | `BLOSUM62` |
92
+ | `FILTER` | Low complexity filter | `L` |
93
+ | `ENTREZ_QUERY` | Restrict to organism | `Homo sapiens[ORGN]` |
94
+
95
+ ## Python Usage
96
+
97
+ ```python
98
+ import time
99
+ import requests
100
+ from xml.etree import ElementTree
101
+
102
+ BLAST_URL = "https://blast.ncbi.nlm.nih.gov/blast/Blast.cgi"
103
+
104
+
105
+ def submit_blast(sequence: str, program: str = "blastn",
106
+ database: str = "nt",
107
+ evalue: float = 0.001) -> str:
108
+ """Submit a BLAST search, return Request ID."""
109
+ resp = requests.post(BLAST_URL, data={
110
+ "CMD": "Put",
111
+ "PROGRAM": program,
112
+ "DATABASE": database,
113
+ "QUERY": sequence,
114
+ "EXPECT": evalue,
115
+ "HITLIST_SIZE": 50,
116
+ })
117
+ resp.raise_for_status()
118
+
119
+ for line in resp.text.split("\n"):
120
+ if "RID = " in line:
121
+ return line.split("=")[1].strip()
122
+ raise ValueError("No RID in response")
123
+
124
+
125
+ def wait_for_results(rid: str, poll_interval: int = 15,
126
+ max_wait: int = 300) -> bool:
127
+ """Poll until BLAST search completes."""
128
+ elapsed = 0
129
+ while elapsed < max_wait:
130
+ resp = requests.get(BLAST_URL, params={
131
+ "CMD": "Get",
132
+ "FORMAT_OBJECT": "SearchInfo",
133
+ "RID": rid,
134
+ })
135
+ if "Status=READY" in resp.text:
136
+ return True
137
+ if "Status=FAILED" in resp.text:
138
+ raise RuntimeError("BLAST search failed")
139
+ time.sleep(poll_interval)
140
+ elapsed += poll_interval
141
+ raise TimeoutError(f"BLAST timed out after {max_wait}s")
142
+
143
+
144
+ def get_results(rid: str) -> list:
145
+ """Retrieve BLAST results as parsed hits."""
146
+ resp = requests.get(BLAST_URL, params={
147
+ "CMD": "Get",
148
+ "FORMAT_TYPE": "XML",
149
+ "RID": rid,
150
+ })
151
+ resp.raise_for_status()
152
+
153
+ root = ElementTree.fromstring(resp.text)
154
+ ns = ""
155
+ hits = []
156
+ for hit in root.iter(f"{ns}Hit"):
157
+ hsps = hit.find(f"{ns}Hit_hsps")
158
+ hsp = hsps.find(f"{ns}Hsp") if hsps is not None else None
159
+ hits.append({
160
+ "accession": hit.findtext(f"{ns}Hit_accession", ""),
161
+ "description": hit.findtext(f"{ns}Hit_def", ""),
162
+ "length": int(hit.findtext(f"{ns}Hit_len", "0")),
163
+ "evalue": float(hsp.findtext(f"{ns}Hsp_evalue", "999"))
164
+ if hsp is not None else 999,
165
+ "identity": float(hsp.findtext(f"{ns}Hsp_identity", "0"))
166
+ if hsp is not None else 0,
167
+ "score": float(hsp.findtext(f"{ns}Hsp_bit-score", "0"))
168
+ if hsp is not None else 0,
169
+ })
170
+ return hits
171
+
172
+
173
+ # Example: BLAST a short DNA sequence
174
+ rid = submit_blast("ATGCGATCGATCGATCGATCGATCG", program="blastn")
175
+ print(f"Submitted BLAST search: {rid}")
176
+
177
+ wait_for_results(rid)
178
+ hits = get_results(rid)
179
+ for h in hits[:5]:
180
+ print(f"{h['accession']}: {h['description'][:60]}...")
181
+ print(f" E-value: {h['evalue']:.2e} | Identity: {h['identity']}")
182
+ ```
183
+
184
+ ## Rate Limits
185
+
186
+ - Max 1 request per 10 seconds for search submission
187
+ - Max concurrent searches: varies by load
188
+ - NCBI requests a contact email in User-Agent header
189
+
190
+ ## References
191
+
192
+ - [NCBI BLAST](https://blast.ncbi.nlm.nih.gov/)
193
+ - [BLAST URL API Guide](https://blast.ncbi.nlm.nih.gov/doc/blast-help/developerinfo.html)
194
+ - [BLAST Command Line](https://www.ncbi.nlm.nih.gov/books/NBK279690/)
195
+ - Altschul, S.F. et al. (1990). "Basic local alignment search tool." *J. Mol. Biol.* 215(3).