@wentorai/research-plugins 1.3.2 → 1.4.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 +32 -56
- package/curated/analysis/README.md +1 -13
- package/curated/domains/README.md +1 -5
- package/curated/literature/README.md +1 -10
- package/curated/research/README.md +1 -18
- package/curated/tools/README.md +1 -12
- package/curated/writing/README.md +1 -5
- package/index.ts +88 -5
- package/openclaw.plugin.json +3 -12
- package/package.json +3 -5
- package/skills/analysis/statistics/SKILL.md +1 -1
- package/skills/analysis/statistics/meta-analysis-guide/SKILL.md +1 -1
- package/skills/domains/ai-ml/SKILL.md +3 -2
- package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +1 -0
- package/skills/domains/ai-ml/huggingface-api/SKILL.md +251 -0
- package/skills/domains/biomedical/SKILL.md +9 -2
- package/skills/domains/biomedical/alphafold-api/SKILL.md +227 -0
- package/skills/domains/biomedical/biothings-api/SKILL.md +296 -0
- package/skills/domains/biomedical/clinicaltrials-api-v2/SKILL.md +216 -0
- package/skills/domains/biomedical/enrichr-api/SKILL.md +264 -0
- package/skills/domains/biomedical/ensembl-rest-api/SKILL.md +204 -0
- package/skills/domains/biomedical/medical-data-api/SKILL.md +197 -0
- package/skills/domains/biomedical/pdb-structure-api/SKILL.md +219 -0
- package/skills/domains/business/SKILL.md +2 -3
- package/skills/domains/chemistry/SKILL.md +3 -2
- package/skills/domains/chemistry/catalysis-hub-api/SKILL.md +171 -0
- package/skills/domains/education/SKILL.md +2 -3
- package/skills/domains/law/SKILL.md +3 -2
- package/skills/domains/law/uk-legislation-api/SKILL.md +179 -0
- package/skills/literature/fulltext/SKILL.md +3 -2
- package/skills/literature/fulltext/arxiv-latex-source/SKILL.md +195 -0
- package/skills/literature/search/SKILL.md +2 -3
- package/skills/research/automation/SKILL.md +2 -3
- package/skills/research/automation/datagen-research-guide/SKILL.md +1 -0
- package/skills/research/automation/mle-agent-guide/SKILL.md +1 -0
- package/skills/research/automation/paper-to-agent-guide/SKILL.md +1 -0
- package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +1 -0
- package/skills/research/methodology/SKILL.md +1 -1
- package/skills/research/methodology/claude-scientific-guide/SKILL.md +1 -0
- package/skills/research/methodology/qualitative-research-guide/SKILL.md +1 -1
- package/skills/research/paper-review/SKILL.md +1 -1
- package/skills/research/paper-review/peer-review-guide/SKILL.md +1 -1
- package/skills/tools/knowledge-graph/SKILL.md +2 -3
- package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +1 -0
- package/skills/writing/citation/obsidian-citation-guide/SKILL.md +1 -0
- package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +1 -0
- package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +1 -0
- package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +1 -0
- package/skills/writing/citation/zotero-reference-guide/SKILL.md +1 -0
- package/skills/writing/composition/scientific-writing-resources/SKILL.md +1 -0
- package/skills/writing/latex/latex-drawing-collection/SKILL.md +1 -0
- package/skills/writing/latex/latex-templates-collection/SKILL.md +1 -0
- package/skills/writing/templates/novathesis-guide/SKILL.md +1 -0
- package/src/tools/arxiv.ts +78 -30
- package/src/tools/biorxiv.ts +142 -0
- package/src/tools/crossref.ts +60 -22
- package/src/tools/datacite.ts +188 -0
- package/src/tools/dblp.ts +125 -0
- package/src/tools/doaj.ts +82 -0
- package/src/tools/europe-pmc.ts +159 -0
- package/src/tools/hal.ts +118 -0
- package/src/tools/inspire-hep.ts +165 -0
- package/src/tools/openaire.ts +158 -0
- package/src/tools/openalex.ts +20 -15
- package/src/tools/opencitations.ts +103 -0
- package/src/tools/orcid.ts +136 -0
- package/src/tools/osf-preprints.ts +104 -0
- package/src/tools/pubmed.ts +19 -13
- package/src/tools/ror.ts +118 -0
- package/src/tools/unpaywall.ts +12 -6
- package/src/tools/util.ts +141 -0
- package/src/tools/zenodo.ts +154 -0
- package/mcp-configs/academic-db/ChatSpatial.json +0 -17
- package/mcp-configs/academic-db/academia-mcp.json +0 -17
- package/mcp-configs/academic-db/academic-paper-explorer.json +0 -17
- package/mcp-configs/academic-db/academic-search-mcp-server.json +0 -17
- package/mcp-configs/academic-db/agentinterviews-mcp.json +0 -17
- package/mcp-configs/academic-db/all-in-mcp.json +0 -17
- package/mcp-configs/academic-db/alphafold-mcp.json +0 -20
- package/mcp-configs/academic-db/apple-health-mcp.json +0 -17
- package/mcp-configs/academic-db/arxiv-latex-mcp.json +0 -17
- package/mcp-configs/academic-db/arxiv-mcp-server.json +0 -17
- package/mcp-configs/academic-db/bgpt-mcp.json +0 -17
- package/mcp-configs/academic-db/biomcp.json +0 -17
- package/mcp-configs/academic-db/biothings-mcp.json +0 -17
- package/mcp-configs/academic-db/brightspace-mcp.json +0 -21
- package/mcp-configs/academic-db/catalysishub-mcp-server.json +0 -17
- package/mcp-configs/academic-db/climatiq-mcp.json +0 -20
- package/mcp-configs/academic-db/clinicaltrialsgov-mcp-server.json +0 -17
- package/mcp-configs/academic-db/deep-research-mcp.json +0 -17
- package/mcp-configs/academic-db/dicom-mcp.json +0 -17
- package/mcp-configs/academic-db/enrichr-mcp-server.json +0 -17
- package/mcp-configs/academic-db/fec-mcp-server.json +0 -17
- package/mcp-configs/academic-db/fhir-mcp-server-themomentum.json +0 -17
- package/mcp-configs/academic-db/fhir-mcp.json +0 -19
- package/mcp-configs/academic-db/gget-mcp.json +0 -17
- package/mcp-configs/academic-db/gibs-mcp.json +0 -20
- package/mcp-configs/academic-db/gis-mcp-server.json +0 -22
- package/mcp-configs/academic-db/google-earth-engine-mcp.json +0 -21
- package/mcp-configs/academic-db/google-researcher-mcp.json +0 -17
- package/mcp-configs/academic-db/idea-reality-mcp.json +0 -17
- package/mcp-configs/academic-db/legiscan-mcp.json +0 -19
- package/mcp-configs/academic-db/lex.json +0 -17
- package/mcp-configs/academic-db/m4-clinical-mcp.json +0 -21
- package/mcp-configs/academic-db/medical-mcp.json +0 -21
- package/mcp-configs/academic-db/nexonco-mcp.json +0 -20
- package/mcp-configs/academic-db/omop-mcp.json +0 -20
- package/mcp-configs/academic-db/onekgpd-mcp.json +0 -20
- package/mcp-configs/academic-db/openedu-mcp.json +0 -20
- package/mcp-configs/academic-db/opengenes-mcp.json +0 -20
- package/mcp-configs/academic-db/openstax-mcp.json +0 -21
- package/mcp-configs/academic-db/openstreetmap-mcp.json +0 -21
- package/mcp-configs/academic-db/opentargets-mcp.json +0 -21
- package/mcp-configs/academic-db/pdb-mcp.json +0 -21
- package/mcp-configs/academic-db/smithsonian-mcp.json +0 -20
- package/mcp-configs/ai-platform/Adaptive-Graph-of-Thoughts-MCP-server.json +0 -17
- package/mcp-configs/ai-platform/ai-counsel.json +0 -17
- package/mcp-configs/ai-platform/atlas-mcp-server.json +0 -17
- package/mcp-configs/ai-platform/counsel-mcp.json +0 -17
- package/mcp-configs/ai-platform/cross-llm-mcp.json +0 -17
- package/mcp-configs/ai-platform/gptr-mcp.json +0 -17
- package/mcp-configs/ai-platform/magi-researchers.json +0 -21
- package/mcp-configs/ai-platform/mcp-academic-researcher.json +0 -22
- package/mcp-configs/ai-platform/open-paper-machine.json +0 -21
- package/mcp-configs/ai-platform/paper-intelligence.json +0 -21
- package/mcp-configs/ai-platform/paper-reader.json +0 -21
- package/mcp-configs/ai-platform/paperdebugger.json +0 -21
- package/mcp-configs/browser/decipher-research-agent.json +0 -17
- package/mcp-configs/browser/deep-research.json +0 -17
- package/mcp-configs/browser/everything-claude-code.json +0 -17
- package/mcp-configs/browser/exa-mcp.json +0 -20
- package/mcp-configs/browser/gpt-researcher.json +0 -17
- package/mcp-configs/browser/heurist-agent-framework.json +0 -17
- package/mcp-configs/browser/mcp-searxng.json +0 -21
- package/mcp-configs/browser/mcp-webresearch.json +0 -20
- package/mcp-configs/cloud-docs/confluence-mcp.json +0 -37
- package/mcp-configs/cloud-docs/google-drive-mcp.json +0 -35
- package/mcp-configs/cloud-docs/notion-mcp.json +0 -29
- package/mcp-configs/communication/discord-mcp.json +0 -29
- package/mcp-configs/communication/discourse-mcp.json +0 -21
- package/mcp-configs/communication/slack-mcp.json +0 -29
- package/mcp-configs/communication/telegram-mcp.json +0 -28
- package/mcp-configs/data-platform/4everland-hosting-mcp.json +0 -17
- package/mcp-configs/data-platform/automl-stat-mcp.json +0 -21
- package/mcp-configs/data-platform/context-keeper.json +0 -17
- package/mcp-configs/data-platform/context7.json +0 -19
- package/mcp-configs/data-platform/contextstream-mcp.json +0 -17
- package/mcp-configs/data-platform/email-mcp.json +0 -17
- package/mcp-configs/data-platform/jefferson-stats-mcp.json +0 -22
- package/mcp-configs/data-platform/mcp-excel-server.json +0 -21
- package/mcp-configs/data-platform/mcp-stata.json +0 -21
- package/mcp-configs/data-platform/mcpstack-jupyter.json +0 -21
- package/mcp-configs/data-platform/ml-mcp.json +0 -21
- package/mcp-configs/data-platform/nasdaq-data-link-mcp.json +0 -20
- package/mcp-configs/data-platform/numpy-mcp.json +0 -21
- package/mcp-configs/database/neo4j-mcp.json +0 -37
- package/mcp-configs/database/postgres-mcp.json +0 -28
- package/mcp-configs/database/sqlite-mcp.json +0 -29
- package/mcp-configs/dev-platform/geogebra-mcp.json +0 -21
- package/mcp-configs/dev-platform/github-mcp.json +0 -31
- package/mcp-configs/dev-platform/gitlab-mcp.json +0 -34
- package/mcp-configs/dev-platform/latex-mcp-server.json +0 -21
- package/mcp-configs/dev-platform/manim-mcp.json +0 -20
- package/mcp-configs/dev-platform/mcp-echarts.json +0 -20
- package/mcp-configs/dev-platform/panel-viz-mcp.json +0 -20
- package/mcp-configs/dev-platform/paperbanana.json +0 -20
- package/mcp-configs/dev-platform/texflow-mcp.json +0 -20
- package/mcp-configs/dev-platform/texmcp.json +0 -20
- package/mcp-configs/dev-platform/typst-mcp.json +0 -21
- package/mcp-configs/dev-platform/vizro-mcp.json +0 -20
- package/mcp-configs/email/email-mcp.json +0 -40
- package/mcp-configs/email/gmail-mcp.json +0 -37
- package/mcp-configs/note-knowledge/ApeRAG.json +0 -17
- package/mcp-configs/note-knowledge/In-Memoria.json +0 -17
- package/mcp-configs/note-knowledge/agent-memory.json +0 -17
- package/mcp-configs/note-knowledge/aimemo.json +0 -17
- package/mcp-configs/note-knowledge/biel-mcp.json +0 -19
- package/mcp-configs/note-knowledge/cognee.json +0 -17
- package/mcp-configs/note-knowledge/context-awesome.json +0 -17
- package/mcp-configs/note-knowledge/context-mcp.json +0 -17
- package/mcp-configs/note-knowledge/conversation-handoff-mcp.json +0 -17
- package/mcp-configs/note-knowledge/cortex.json +0 -17
- package/mcp-configs/note-knowledge/devrag.json +0 -17
- package/mcp-configs/note-knowledge/easy-obsidian-mcp.json +0 -17
- package/mcp-configs/note-knowledge/engram.json +0 -17
- package/mcp-configs/note-knowledge/gnosis-mcp.json +0 -17
- package/mcp-configs/note-knowledge/graphlit-mcp-server.json +0 -19
- package/mcp-configs/note-knowledge/local-faiss-mcp.json +0 -21
- package/mcp-configs/note-knowledge/mcp-memory-service.json +0 -21
- package/mcp-configs/note-knowledge/mcp-obsidian.json +0 -23
- package/mcp-configs/note-knowledge/mcp-ragdocs.json +0 -20
- package/mcp-configs/note-knowledge/mcp-summarizer.json +0 -21
- package/mcp-configs/note-knowledge/mediawiki-mcp.json +0 -21
- package/mcp-configs/note-knowledge/openzim-mcp.json +0 -20
- package/mcp-configs/note-knowledge/zettelkasten-mcp.json +0 -21
- package/mcp-configs/reference-mgr/academic-paper-mcp-http.json +0 -20
- package/mcp-configs/reference-mgr/academix.json +0 -20
- package/mcp-configs/reference-mgr/arxiv-cli.json +0 -17
- package/mcp-configs/reference-mgr/arxiv-research-mcp.json +0 -21
- package/mcp-configs/reference-mgr/arxiv-search-mcp.json +0 -17
- package/mcp-configs/reference-mgr/chiken.json +0 -17
- package/mcp-configs/reference-mgr/claude-scholar.json +0 -17
- package/mcp-configs/reference-mgr/devonthink-mcp.json +0 -17
- package/mcp-configs/reference-mgr/google-scholar-abstract-mcp.json +0 -19
- package/mcp-configs/reference-mgr/google-scholar-mcp.json +0 -20
- package/mcp-configs/reference-mgr/mcp-paperswithcode.json +0 -21
- package/mcp-configs/reference-mgr/mcp-scholarly.json +0 -20
- package/mcp-configs/reference-mgr/mcp-simple-arxiv.json +0 -20
- package/mcp-configs/reference-mgr/mcp-simple-pubmed.json +0 -20
- package/mcp-configs/reference-mgr/mcp-zotero.json +0 -21
- package/mcp-configs/reference-mgr/mendeley-mcp.json +0 -20
- package/mcp-configs/reference-mgr/ncbi-mcp-server.json +0 -22
- package/mcp-configs/reference-mgr/onecite.json +0 -21
- package/mcp-configs/reference-mgr/paper-search-mcp.json +0 -21
- package/mcp-configs/reference-mgr/pubmed-search-mcp.json +0 -21
- package/mcp-configs/reference-mgr/scholar-mcp.json +0 -21
- package/mcp-configs/reference-mgr/scholar-multi-mcp.json +0 -21
- package/mcp-configs/reference-mgr/seerai.json +0 -21
- package/mcp-configs/reference-mgr/semantic-scholar-fastmcp.json +0 -21
- package/mcp-configs/reference-mgr/sourcelibrary.json +0 -20
- package/mcp-configs/registry.json +0 -476
- package/mcp-configs/repository/dataverse-mcp.json +0 -33
- package/mcp-configs/repository/huggingface-mcp.json +0 -29
- package/skills/domains/business/xpert-bi-guide/SKILL.md +0 -84
- package/skills/domains/education/edumcp-guide/SKILL.md +0 -74
- package/skills/literature/search/paper-search-mcp-guide/SKILL.md +0 -107
- package/skills/research/automation/mcp-server-guide/SKILL.md +0 -211
- package/skills/tools/knowledge-graph/paperpile-notion-guide/SKILL.md +0 -84
- package/src/tools/semantic-scholar.ts +0 -66
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: medical-data-api
|
|
3
|
+
description: "Access FDA drug data and WHO global health statistics for research"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "💊"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "biomedical"
|
|
9
|
+
keywords: ["FDA", "drug safety", "WHO", "global health", "adverse events", "medical data", "pharmacovigilance"]
|
|
10
|
+
source: "https://open.fda.gov"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Medical Data API Guide (openFDA + WHO GHO)
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
This skill covers two major open medical data APIs for academic research:
|
|
18
|
+
|
|
19
|
+
**openFDA** is the U.S. Food and Drug Administration's public API providing access to drug labeling (SPL), adverse event reports (FAERS), recalls, and NDC directory. The FAERS dataset contains over 722,000 reports for common drugs like aspirin, making it a primary pharmacovigilance resource.
|
|
20
|
+
|
|
21
|
+
**WHO Global Health Observatory (GHO)** is the WHO's OData v4 API serving over 2,000 health indicators across 194 member states -- life expectancy, mortality, disease burden, health system coverage, risk factors, and SDG targets. Returns structured JSON with numeric values, confidence intervals, and dimensional breakdowns by country, sex, and year.
|
|
22
|
+
|
|
23
|
+
Both APIs are free, require no authentication, and return JSON.
|
|
24
|
+
|
|
25
|
+
## Authentication
|
|
26
|
+
|
|
27
|
+
**openFDA**: No authentication required. An optional API key (free, via https://open.fda.gov/apis/authentication/) increases rate limits from 240/min to 120,000/day. Register at https://open.fda.gov/apis/ to obtain a key, then append `&api_key=YOUR_KEY` to requests.
|
|
28
|
+
|
|
29
|
+
**WHO GHO**: No authentication required. No API key needed. All endpoints are publicly accessible with no registration.
|
|
30
|
+
|
|
31
|
+
## Core Endpoints
|
|
32
|
+
|
|
33
|
+
### openFDA: Drug Labels
|
|
34
|
+
|
|
35
|
+
Search FDA-approved drug labeling data (Structured Product Labeling). Returns boxed warnings, indications, dosage, contraindications, and adverse reactions text.
|
|
36
|
+
|
|
37
|
+
- **URL**: `GET https://api.fda.gov/drug/label.json`
|
|
38
|
+
- **Parameters**:
|
|
39
|
+
|
|
40
|
+
| Parameter | Type | Required | Description |
|
|
41
|
+
|-----------|--------|----------|-----------------------------------------------------|
|
|
42
|
+
| search | string | No | Search query using openFDA query syntax |
|
|
43
|
+
| limit | int | No | Number of results (default 1, max 1000) |
|
|
44
|
+
| skip | int | No | Offset for pagination |
|
|
45
|
+
| count | string | No | Count unique values of a field |
|
|
46
|
+
|
|
47
|
+
- **Example**:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
curl "https://api.fda.gov/drug/label.json?search=aspirin&limit=1"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
- **Response**: Returns `meta.results.total` (26,564 for "aspirin") and `results` array. Each result contains `boxed_warning`, `indications_and_usage`, `dosage_and_administration`, `warnings`, `adverse_reactions`, `drug_interactions`, and `openfda` cross-references (brand/generic names, manufacturer, NDC, pharmacologic class).
|
|
54
|
+
|
|
55
|
+
### openFDA: Adverse Events (FAERS)
|
|
56
|
+
|
|
57
|
+
Search the FDA Adverse Event Reporting System. Each record describes a safety report including patient demographics, suspect drugs, reported reactions, and outcomes.
|
|
58
|
+
|
|
59
|
+
- **URL**: `GET https://api.fda.gov/drug/event.json`
|
|
60
|
+
- **Parameters**:
|
|
61
|
+
|
|
62
|
+
| Parameter | Type | Required | Description |
|
|
63
|
+
|-----------|--------|----------|-----------------------------------------------------|
|
|
64
|
+
| search | string | No | Query (e.g., `patient.drug.openfda.brand_name:"aspirin"`) |
|
|
65
|
+
| limit | int | No | Number of results (default 1, max 1000) |
|
|
66
|
+
| skip | int | No | Offset for pagination (max skip+limit = 26,000) |
|
|
67
|
+
| count | string | No | Count field values (e.g., `patient.reaction.reactionmeddrapt.exact`) |
|
|
68
|
+
|
|
69
|
+
- **Example**:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
curl 'https://api.fda.gov/drug/event.json?search=patient.drug.openfda.brand_name:"aspirin"&limit=1'
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- **Response**: Returns `meta.results.total` (722,607 for aspirin). Each result: `safetyreportid`, `serious` (1=yes, 2=no), `primarysourcecountry`, `receivedate`, nested `patient` with `patientsex`, `reaction` array (MedDRA terms + `reactionoutcome`), and `drug` array with `drugcharacterization` (1=suspect, 2=concomitant, 3=interacting), `medicinalproduct`, `openfda` cross-references.
|
|
76
|
+
|
|
77
|
+
### WHO GHO: Health Indicator Data
|
|
78
|
+
|
|
79
|
+
Retrieve data points for a specific health indicator with country, year, and sex dimensions.
|
|
80
|
+
|
|
81
|
+
- **URL**: `GET https://ghoapi.azureedge.net/api/{IndicatorCode}`
|
|
82
|
+
- **Parameters** (OData v4 query options):
|
|
83
|
+
|
|
84
|
+
| Parameter | Type | Required | Description |
|
|
85
|
+
|-----------|--------|----------|-------------------------------------------------------|
|
|
86
|
+
| $top | int | No | Limit number of records returned |
|
|
87
|
+
| $skip | int | No | Skip records for pagination |
|
|
88
|
+
| $filter | string | No | OData filter (e.g., `SpatialDim eq 'USA' and TimeDim eq 2020`) |
|
|
89
|
+
| $select | string | No | Select specific fields |
|
|
90
|
+
| $orderby | string | No | Sort results |
|
|
91
|
+
|
|
92
|
+
- **Example**:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# Life expectancy at birth (WHOSIS_000001)
|
|
96
|
+
curl "https://ghoapi.azureedge.net/api/WHOSIS_000001?\$top=2"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
- **Response**: OData JSON with `value` array. Each record: `SpatialDim` (ISO country, e.g., "BTN"), `ParentLocation` (WHO region), `TimeDim` (year), `Dim1` (sex: "SEX_BTSX"/"SEX_MLE"/"SEX_FMLE"), `Value` ("67.8 [67.1-68.6]"), `NumericValue` (67.845665), `Low`/`High` confidence bounds.
|
|
100
|
+
|
|
101
|
+
### WHO GHO: Indicator Directory
|
|
102
|
+
|
|
103
|
+
List available health indicators with their codes and names.
|
|
104
|
+
|
|
105
|
+
- **URL**: `GET https://ghoapi.azureedge.net/api/Indicator`
|
|
106
|
+
- **Example**:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
curl "https://ghoapi.azureedge.net/api/Indicator?\$top=5"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
- **Response**: Array of entries with `IndicatorCode` (e.g., "Adult_curr_e-cig"), `IndicatorName` (e.g., "Prevalence of current e-cigarette use among adults (%)"), `Language` ("EN"). Over 2,000 indicators spanning mortality, morbidity, health systems, and risk factors.
|
|
113
|
+
|
|
114
|
+
## Rate Limits
|
|
115
|
+
|
|
116
|
+
**openFDA**:
|
|
117
|
+
- Without API key: 240 requests per minute (burst), 1,000 requests per day
|
|
118
|
+
- With free API key: 240 requests per minute, 120,000 requests per day
|
|
119
|
+
- Pagination ceiling: `skip` + `limit` cannot exceed 26,000 (use `search` + `sort` for deeper access)
|
|
120
|
+
|
|
121
|
+
**WHO GHO**:
|
|
122
|
+
- No documented rate limits; the service runs on Azure CDN (azureedge.net)
|
|
123
|
+
- Recommended: keep requests under 10/second for courtesy
|
|
124
|
+
- For bulk downloads, use the GHO data portal CSV exports at https://www.who.int/data/gho
|
|
125
|
+
|
|
126
|
+
## Academic Use Cases
|
|
127
|
+
|
|
128
|
+
### Pharmacovigilance: Adverse Event Signal Detection
|
|
129
|
+
|
|
130
|
+
Count reactions by MedDRA term to identify safety signals:
|
|
131
|
+
|
|
132
|
+
```python
|
|
133
|
+
import requests
|
|
134
|
+
|
|
135
|
+
resp = requests.get("https://api.fda.gov/drug/event.json", params={
|
|
136
|
+
"search": 'patient.drug.openfda.brand_name:"aspirin"',
|
|
137
|
+
"count": "patient.reaction.reactionmeddrapt.exact",
|
|
138
|
+
"limit": 10
|
|
139
|
+
})
|
|
140
|
+
for r in resp.json()["results"]:
|
|
141
|
+
print(f" {r['term']}: {r['count']} reports")
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Epidemiology: Cross-National Health Comparisons
|
|
145
|
+
|
|
146
|
+
Compare health indicators across countries and time periods:
|
|
147
|
+
|
|
148
|
+
```python
|
|
149
|
+
import requests
|
|
150
|
+
|
|
151
|
+
resp = requests.get("https://ghoapi.azureedge.net/api/WHOSIS_000001", params={
|
|
152
|
+
"$filter": "SpatialDim eq 'JPN' and Dim1 eq 'SEX_BTSX'",
|
|
153
|
+
"$orderby": "TimeDim desc",
|
|
154
|
+
"$top": 10
|
|
155
|
+
})
|
|
156
|
+
for row in resp.json()["value"]:
|
|
157
|
+
print(f" Japan {row['TimeDim']}: {row['Value']}")
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Public Health: Drug Label Comparison
|
|
161
|
+
|
|
162
|
+
Compare safety language across drug labels for regulatory research:
|
|
163
|
+
|
|
164
|
+
```python
|
|
165
|
+
import requests
|
|
166
|
+
|
|
167
|
+
for drug in ["ibuprofen", "naproxen", "celecoxib"]:
|
|
168
|
+
resp = requests.get("https://api.fda.gov/drug/label.json",
|
|
169
|
+
params={"search": f'openfda.generic_name:"{drug}"', "limit": 1})
|
|
170
|
+
results = resp.json().get("results", [])
|
|
171
|
+
if results:
|
|
172
|
+
warning = results[0].get("boxed_warning", ["None"])[0][:200]
|
|
173
|
+
print(f"{drug.upper()}: {warning}...\n")
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Key Indicator Codes (WHO GHO)
|
|
177
|
+
|
|
178
|
+
| Code | Indicator |
|
|
179
|
+
|------|-----------|
|
|
180
|
+
| WHOSIS_000001 | Life expectancy at birth |
|
|
181
|
+
| NCDMORT3070 | NCD mortality (30-70 years) |
|
|
182
|
+
| MDG_0000000001 | Under-five mortality rate |
|
|
183
|
+
| WHS4_100 | Physicians per 10,000 population |
|
|
184
|
+
| NCD_BMI_30A | Prevalence of obesity (BMI >= 30) |
|
|
185
|
+
| SA_0000001688 | Alcohol per capita consumption |
|
|
186
|
+
| TOBACCO_0000000262 | Tobacco smoking prevalence |
|
|
187
|
+
|
|
188
|
+
## References
|
|
189
|
+
|
|
190
|
+
- openFDA documentation: https://open.fda.gov/apis/
|
|
191
|
+
- openFDA API key registration: https://open.fda.gov/apis/authentication/
|
|
192
|
+
- openFDA query syntax: https://open.fda.gov/apis/query-syntax/
|
|
193
|
+
- openFDA GitHub: https://github.com/FDA/openfda
|
|
194
|
+
- WHO GHO API documentation: https://www.who.int/data/gho/info/gho-odata-api
|
|
195
|
+
- WHO GHO OData endpoint: https://ghoapi.azureedge.net/api/
|
|
196
|
+
- WHO GHO indicator list: https://ghoapi.azureedge.net/api/Indicator
|
|
197
|
+
- WHO Global Health Observatory portal: https://www.who.int/data/gho
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pdb-structure-api
|
|
3
|
+
description: "Search and retrieve 3D protein structures from the RCSB Protein Data Bank"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🔮"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "biomedical"
|
|
9
|
+
keywords: ["protein structure", "PDB", "crystallography", "structural biology", "RCSB", "molecular structure"]
|
|
10
|
+
source: "https://data.rcsb.org"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# RCSB Protein Data Bank API Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
The RCSB Protein Data Bank (PDB) is the single global archive for experimentally determined 3D structures of biological macromolecules. It hosts over 200,000 structures resolved by X-ray crystallography, cryo-EM, NMR spectroscopy, and other methods. Each entry includes atomic coordinates, experimental metadata, polymer sequences, bound ligands, and literature references.
|
|
18
|
+
|
|
19
|
+
Two complementary APIs are available. The **Data API** (`data.rcsb.org`) serves structured entry metadata, polymer entities, and chemical components via RESTful GET endpoints. The **Search API** (`search.rcsb.org`) supports full-text, attribute-based, sequence similarity, and structure similarity searches.
|
|
20
|
+
|
|
21
|
+
## Authentication
|
|
22
|
+
|
|
23
|
+
No authentication required. Both APIs are freely accessible without API keys, tokens, or registration.
|
|
24
|
+
|
|
25
|
+
## Core Endpoints
|
|
26
|
+
|
|
27
|
+
### Data API: Get Entry by PDB ID
|
|
28
|
+
|
|
29
|
+
Retrieve metadata for a structure including experimental method, resolution, citations, and bound components.
|
|
30
|
+
|
|
31
|
+
- **URL**: `GET https://data.rcsb.org/rest/v1/core/entry/{pdb_id}`
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
curl "https://data.rcsb.org/rest/v1/core/entry/4HHB"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
- **Response** (key fields):
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"rcsb_id": "4HHB",
|
|
42
|
+
"struct": {
|
|
43
|
+
"title": "THE CRYSTAL STRUCTURE OF HUMAN DEOXYHAEMOGLOBIN AT 1.74 ANGSTROMS RESOLUTION"
|
|
44
|
+
},
|
|
45
|
+
"exptl": [{"method": "X-RAY DIFFRACTION"}],
|
|
46
|
+
"rcsb_entry_info": {
|
|
47
|
+
"deposited_atom_count": 4779,
|
|
48
|
+
"molecular_weight": 64.74,
|
|
49
|
+
"polymer_composition": "heteromeric protein",
|
|
50
|
+
"polymer_entity_count_protein": 2,
|
|
51
|
+
"resolution_combined": [1.74],
|
|
52
|
+
"nonpolymer_bound_components": ["HEM"]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Data API: Get Polymer Entity
|
|
58
|
+
|
|
59
|
+
Retrieve protein/nucleic acid entity details including sequence, organism, and gene info.
|
|
60
|
+
|
|
61
|
+
- **URL**: `GET https://data.rcsb.org/rest/v1/core/polymer_entity/{pdb_id}/{entity_id}`
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
curl "https://data.rcsb.org/rest/v1/core/polymer_entity/4HHB/1"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
- **Response** (key fields):
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"entity_poly": {
|
|
72
|
+
"pdbx_seq_one_letter_code_can": "VLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSH...",
|
|
73
|
+
"rcsb_entity_polymer_type": "Protein",
|
|
74
|
+
"rcsb_sample_sequence_length": 141,
|
|
75
|
+
"type": "polypeptide(L)"
|
|
76
|
+
},
|
|
77
|
+
"entity_src_gen": [{
|
|
78
|
+
"gene_src_common_name": "Human",
|
|
79
|
+
"pdbx_gene_src_scientific_name": "Homo sapiens",
|
|
80
|
+
"pdbx_gene_src_ncbi_taxonomy_id": "9606"
|
|
81
|
+
}]
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Data API: Get Chemical Component
|
|
86
|
+
|
|
87
|
+
Retrieve ligand or small molecule metadata by component ID.
|
|
88
|
+
|
|
89
|
+
- **URL**: `GET https://data.rcsb.org/rest/v1/core/chemcomp/{comp_id}`
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
curl "https://data.rcsb.org/rest/v1/core/chemcomp/HEM"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
- **Response** (key fields):
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"rcsb_id": "HEM",
|
|
100
|
+
"chem_comp": {
|
|
101
|
+
"formula": "C34 H32 Fe N4 O4",
|
|
102
|
+
"formula_weight": 616.487,
|
|
103
|
+
"name": "PROTOPORPHYRIN IX CONTAINING FE",
|
|
104
|
+
"type": "non-polymer"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Search API: Full-Text Search
|
|
110
|
+
|
|
111
|
+
Search across all PDB entries with free-text queries. Returns ranked results by relevance.
|
|
112
|
+
|
|
113
|
+
- **URL**: `POST https://search.rcsb.org/rcsbsearch/v2/query`
|
|
114
|
+
- **Headers**: `Content-Type: application/json`
|
|
115
|
+
- **Key body fields**: `query.type` (`"terminal"`), `query.service` (`"full_text"`, `"text"`, `"sequence"`, `"structure"`), `query.parameters.value`, `return_type` (`"entry"`, `"polymer_entity"`, `"assembly"`), `request_options.paginate.start/rows`
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
curl -X POST "https://search.rcsb.org/rcsbsearch/v2/query" \
|
|
119
|
+
-H "Content-Type: application/json" \
|
|
120
|
+
-d '{
|
|
121
|
+
"query": {
|
|
122
|
+
"type": "terminal",
|
|
123
|
+
"service": "full_text",
|
|
124
|
+
"parameters": {"value": "hemoglobin"}
|
|
125
|
+
},
|
|
126
|
+
"return_type": "entry",
|
|
127
|
+
"request_options": {
|
|
128
|
+
"results_content_type": ["experimental"],
|
|
129
|
+
"paginate": {"start": 0, "rows": 3}
|
|
130
|
+
}
|
|
131
|
+
}'
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
- **Response**:
|
|
135
|
+
|
|
136
|
+
```json
|
|
137
|
+
{
|
|
138
|
+
"query_id": "6f7192a6-d65b-4ff1-9d94-37b9600a8864",
|
|
139
|
+
"result_type": "entry",
|
|
140
|
+
"total_count": 8960,
|
|
141
|
+
"result_set": [
|
|
142
|
+
{"identifier": "3GOU", "score": 1.0},
|
|
143
|
+
{"identifier": "6IHX", "score": 0.9995},
|
|
144
|
+
{"identifier": "2PGH", "score": 0.9985}
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
For attribute-based searches, use `"service": "text"` with `"attribute"` and `"operator"` fields. Combine multiple criteria with `"type": "group"` and `"logical_operator": "and"`.
|
|
150
|
+
|
|
151
|
+
## Rate Limits
|
|
152
|
+
|
|
153
|
+
No formal rate limits or rate-limit headers are published. RCSB recommends reasonable request rates. For bulk data, use FTP downloads at `https://files.rcsb.org/pub/pdb/` or `ftp://ftp.wwpdb.org/pub/pdb/` instead of iterative API calls.
|
|
154
|
+
|
|
155
|
+
## Academic Use Cases
|
|
156
|
+
|
|
157
|
+
- **Structure-Based Drug Design**: Retrieve target protein structures with bound ligands to analyze binding pockets, then search for similar structures to identify drug scaffolds.
|
|
158
|
+
- **Comparative Structural Analysis**: Search all structures of a protein family, compare resolution and methods, select the best template for homology modeling.
|
|
159
|
+
- **Protein Engineering**: Retrieve wild-type structures and cross-reference with mutant entries to analyze how mutations affect fold stability and ligand interactions.
|
|
160
|
+
|
|
161
|
+
## Code Examples
|
|
162
|
+
|
|
163
|
+
### Search and Retrieve Structures
|
|
164
|
+
|
|
165
|
+
```python
|
|
166
|
+
import requests
|
|
167
|
+
|
|
168
|
+
# Search for kinase inhibitor structures
|
|
169
|
+
search_body = {
|
|
170
|
+
"query": {"type": "terminal", "service": "full_text",
|
|
171
|
+
"parameters": {"value": "tyrosine kinase inhibitor"}},
|
|
172
|
+
"return_type": "entry",
|
|
173
|
+
"request_options": {"results_content_type": ["experimental"],
|
|
174
|
+
"paginate": {"start": 0, "rows": 5}}
|
|
175
|
+
}
|
|
176
|
+
results = requests.post("https://search.rcsb.org/rcsbsearch/v2/query",
|
|
177
|
+
json=search_body).json()
|
|
178
|
+
print(f"Total hits: {results['total_count']}")
|
|
179
|
+
|
|
180
|
+
# Retrieve metadata for each hit
|
|
181
|
+
for hit in results["result_set"]:
|
|
182
|
+
pdb_id = hit["identifier"]
|
|
183
|
+
entry = requests.get(
|
|
184
|
+
f"https://data.rcsb.org/rest/v1/core/entry/{pdb_id}").json()
|
|
185
|
+
info = entry["rcsb_entry_info"]
|
|
186
|
+
print(f"{pdb_id}: {entry['struct']['title'][:80]}")
|
|
187
|
+
print(f" Resolution: {info.get('resolution_combined', ['N/A'])[0]} A, "
|
|
188
|
+
f"Method: {info['experimental_method']}")
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Extract Polymer Sequences
|
|
192
|
+
|
|
193
|
+
```python
|
|
194
|
+
import requests
|
|
195
|
+
|
|
196
|
+
pdb_id = "4HHB"
|
|
197
|
+
entry = requests.get(
|
|
198
|
+
f"https://data.rcsb.org/rest/v1/core/entry/{pdb_id}").json()
|
|
199
|
+
|
|
200
|
+
for eid in range(1, entry["rcsb_entry_info"]["polymer_entity_count"] + 1):
|
|
201
|
+
entity = requests.get(
|
|
202
|
+
f"https://data.rcsb.org/rest/v1/core/polymer_entity/{pdb_id}/{eid}"
|
|
203
|
+
).json()
|
|
204
|
+
poly = entity["entity_poly"]
|
|
205
|
+
src = entity.get("rcsb_entity_source_organism", [{}])[0]
|
|
206
|
+
print(f"Entity {eid}: {poly['rcsb_entity_polymer_type']} "
|
|
207
|
+
f"({src.get('ncbi_scientific_name', 'N/A')})")
|
|
208
|
+
print(f" {poly['rcsb_sample_sequence_length']} residues: "
|
|
209
|
+
f"{poly['pdbx_seq_one_letter_code_can'][:50]}...")
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## References
|
|
213
|
+
|
|
214
|
+
- Data API docs: https://data.rcsb.org/redoc/index.html
|
|
215
|
+
- Search API docs: https://search.rcsb.org/index.html
|
|
216
|
+
- RCSB PDB homepage: https://www.rcsb.org/
|
|
217
|
+
- Programmatic access guide: https://www.rcsb.org/docs/programmatic-access
|
|
218
|
+
- PDB file format: https://www.wwpdb.org/documentation/file-format
|
|
219
|
+
- Worldwide PDB: https://www.wwpdb.org/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: business-skills
|
|
3
|
-
description: "
|
|
3
|
+
description: "5 business research skills. Trigger: business strategy, market analysis, competitive intelligence. Design: analytical frameworks and methods for management and innovation research."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Business Research —
|
|
6
|
+
# Business Research — 5 Skills
|
|
7
7
|
|
|
8
8
|
Select the skill matching the user's need, then `read` its SKILL.md.
|
|
9
9
|
|
|
@@ -14,4 +14,3 @@ Select the skill matching the user's need, then `read` its SKILL.md.
|
|
|
14
14
|
| [market-analysis-guide](./market-analysis-guide/SKILL.md) | Structured frameworks for market sizing, competitive analysis, and strategic ... |
|
|
15
15
|
| [operations-research-guide](./operations-research-guide/SKILL.md) | Optimization and operations research methods for business and logistics |
|
|
16
16
|
| [strategic-management-guide](./strategic-management-guide/SKILL.md) | Frameworks for strategic planning, resource allocation, and organizational an... |
|
|
17
|
-
| [xpert-bi-guide](./xpert-bi-guide/SKILL.md) | AI business intelligence agent with NL-to-SQL and dashboards |
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: chemistry-skills
|
|
3
|
-
description: "
|
|
3
|
+
description: "9 chemistry skills. Trigger: chemical structure analysis, reaction prediction, molecular modeling. Design: computational chemistry tools and cheminformatics workflows."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Chemistry —
|
|
6
|
+
# Chemistry — 9 Skills
|
|
7
7
|
|
|
8
8
|
Select the skill matching the user's need, then `read` its SKILL.md.
|
|
9
9
|
|
|
10
10
|
| Skill | Description |
|
|
11
11
|
|-------|-------------|
|
|
12
12
|
| [cactus-cheminformatics-guide](./cactus-cheminformatics-guide/SKILL.md) | PNNL cheminformatics LLM agent for molecular analysis |
|
|
13
|
+
| [catalysis-hub-api](./catalysis-hub-api/SKILL.md) | Query computational catalysis reaction data via Catalysis Hub GraphQL |
|
|
13
14
|
| [chemeagle-guide](./chemeagle-guide/SKILL.md) | Multi-agent system for chemical literature information extraction |
|
|
14
15
|
| [chemgraph-agent-guide](./chemgraph-agent-guide/SKILL.md) | Automate molecular simulations with the ChemGraph agentic framework |
|
|
15
16
|
| [computational-chemistry-guide](./computational-chemistry-guide/SKILL.md) | DFT, molecular simulation, and reaction prediction tools for chemists |
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: catalysis-hub-api
|
|
3
|
+
description: "Query computational catalysis reaction data via Catalysis Hub GraphQL"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "⚗️"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "chemistry"
|
|
9
|
+
keywords: ["catalysis", "DFT", "reaction energy", "surface chemistry", "computational chemistry", "GraphQL"]
|
|
10
|
+
source: "https://www.catalysis-hub.org"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Catalysis Hub GraphQL API Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Catalysis Hub is an open-access database of DFT-calculated reaction energies and activation barriers for heterogeneous catalysis, developed at SUNCAT Center (Stanford/SLAC). It aggregates computational results from published studies, enabling researchers to search, compare, and reuse DFT data for catalyst screening and mechanism validation.
|
|
18
|
+
|
|
19
|
+
The GraphQL endpoint provides structured access to reactions, publications, and atomic structures. All data is linked to peer-reviewed publications and includes computational details (DFT code, XC functional, surface facet, coverage).
|
|
20
|
+
|
|
21
|
+
## Authentication
|
|
22
|
+
|
|
23
|
+
No authentication required. Catalysis Hub is a free public service with no API keys.
|
|
24
|
+
|
|
25
|
+
## GraphQL Schema
|
|
26
|
+
|
|
27
|
+
**Endpoint:** `https://api.catalysis-hub.org/graphql`
|
|
28
|
+
|
|
29
|
+
All queries use HTTP POST with a JSON `query` field. Responses follow the Relay connection pattern (`edges`/`node`).
|
|
30
|
+
|
|
31
|
+
### Root Query Types
|
|
32
|
+
|
|
33
|
+
| Query | Description |
|
|
34
|
+
|-------|-------------|
|
|
35
|
+
| `reactions` | DFT-computed reaction energies and barriers |
|
|
36
|
+
| `publications` | Published studies linked to reaction data |
|
|
37
|
+
| `systems` | Atomic structure data (ASE Atoms objects) |
|
|
38
|
+
| `species` | Chemical species involved in reactions |
|
|
39
|
+
|
|
40
|
+
### Reaction Fields
|
|
41
|
+
|
|
42
|
+
`chemicalComposition`, `surfaceComposition`, `facet`, `reactionEnergy` (eV), `activationEnergy` (eV), `dftCode` (e.g. `Quantum-Espresso`, `VASP-5.4.4`), `dftFunctional` (e.g. `RPBE`), `reactants` (JSON), `products` (JSON), `Equation` (e.g. `0.5O2(g) + * -> O*`)
|
|
43
|
+
|
|
44
|
+
### Publication Fields
|
|
45
|
+
|
|
46
|
+
`title`, `authors` (JSON), `journal`, `year` (Int), `doi`, `reactions` (linked Reaction list)
|
|
47
|
+
|
|
48
|
+
## Core Queries
|
|
49
|
+
|
|
50
|
+
### List Reactions
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
curl -s -X POST "https://api.catalysis-hub.org/graphql" \
|
|
54
|
+
-H "Content-Type: application/json" -d '{"query":"{ reactions(first: 3) { edges { node { chemicalComposition reactionEnergy activationEnergy surfaceComposition } } } }"}'
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Response (truncated):
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{"data":{"reactions":{"edges":[
|
|
61
|
+
{"node":{"chemicalComposition":"Nb9Sn3","reactionEnergy":-9.687,"activationEnergy":null,"surfaceComposition":"Nb3Sn"}},
|
|
62
|
+
{"node":{"chemicalComposition":"Ir3V9","reactionEnergy":-8.395,"activationEnergy":null,"surfaceComposition":"V3Ir"}},
|
|
63
|
+
{"node":{"chemicalComposition":"Ir9Ni3","reactionEnergy":-2.005,"activationEnergy":null,"surfaceComposition":"Ir3Ni"}}
|
|
64
|
+
]}}}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Filter by Surface Composition
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
curl -s -X POST "https://api.catalysis-hub.org/graphql" \
|
|
71
|
+
-H "Content-Type: application/json" -d '{"query":"{ reactions(first: 2, surfaceComposition: \"Pt\") { edges { node { chemicalComposition surfaceComposition facet reactionEnergy dftCode dftFunctional Equation } } } }"}'
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Response (truncated):
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
{"data":{"reactions":{"edges":[
|
|
78
|
+
{"node":{"chemicalComposition":"Pt28","surfaceComposition":"Pt","facet":"100","reactionEnergy":0.856,"dftCode":"Quantum-Espresso","dftFunctional":"RPBE","Equation":"0.5N2(g) + * -> N*"}},
|
|
79
|
+
{"node":{"chemicalComposition":"Pt28","surfaceComposition":"Pt","facet":"100","reactionEnergy":-0.984,"dftCode":"Quantum-Espresso","dftFunctional":"RPBE","Equation":"0.5O2(g) + * -> O*"}}
|
|
80
|
+
]}}}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Search by Chemical Composition (partial match with `~` prefix)
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
curl -s -X POST "https://api.catalysis-hub.org/graphql" \
|
|
87
|
+
-H "Content-Type: application/json" -d '{"query":"{ reactions(first: 3, chemicalComposition: \"~CO\") { edges { node { chemicalComposition reactionEnergy dftCode } } } }"}'
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Response (truncated):
|
|
91
|
+
|
|
92
|
+
```json
|
|
93
|
+
{"data":{"reactions":{"edges":[
|
|
94
|
+
{"node":{"chemicalComposition":"Co9Cr2FeMnNiO20","reactionEnergy":1.910,"dftCode":"VASP-5.4.4"}},
|
|
95
|
+
{"node":{"chemicalComposition":"Co9Cr2FeMnNiO20","reactionEnergy":0.648,"dftCode":"VASP-5.4.4"}},
|
|
96
|
+
{"node":{"chemicalComposition":"Co10CrFeMnNiO20","reactionEnergy":3.167,"dftCode":"VASP-5.4.4"}}
|
|
97
|
+
]}}}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Query Publications
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
curl -s -X POST "https://api.catalysis-hub.org/graphql" \
|
|
104
|
+
-H "Content-Type: application/json" -d '{"query":"{ publications(first: 2, year: 2019) { edges { node { title authors journal year doi } } } }"}'
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Response (truncated):
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{"data":{"publications":{"edges":[
|
|
111
|
+
{"node":{"title":"High-Throughput Calculations of Catalytic Properties of Bimetallic Alloy Surfaces","authors":"[\"Mamun, Osman\",\"Winther, Kirsten T.\",\"Boes, Jacob R.\",\"Bligaard, Thomas\"]","journal":"Scientific Data","year":2019,"doi":"10.1038/s41597-019-0080-z"}},
|
|
112
|
+
{"node":{"title":"Selective high-temperature CO2 electrolysis enabled by oxidized carbon intermediates","journal":"Nature Energy","year":2019,"doi":"10.1038/s41560-019-0457-4"}}
|
|
113
|
+
]}}}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Rate Limits
|
|
117
|
+
|
|
118
|
+
- No documented rate limits; add 200-500ms delays between requests as courtesy
|
|
119
|
+
- Use `first` to limit results; pagination via cursor-based `after` argument
|
|
120
|
+
|
|
121
|
+
## Academic Use Cases
|
|
122
|
+
|
|
123
|
+
- **Catalyst Screening:** Compare adsorption energies across bimetallic alloy surfaces to identify candidates for target reactions (ORR, NRR, HER)
|
|
124
|
+
- **DFT Validation:** Cross-reference your DFT results against published values matched by surface, facet, and functional
|
|
125
|
+
- **Scaling Relations:** Retrieve adsorption energies across surfaces to build Bronsted-Evans-Polanyi (BEP) relations
|
|
126
|
+
- **Literature Discovery:** Find publications by year or linked reactions for citation and methodology verification
|
|
127
|
+
|
|
128
|
+
## Python Example
|
|
129
|
+
|
|
130
|
+
```python
|
|
131
|
+
import requests
|
|
132
|
+
|
|
133
|
+
ENDPOINT = "https://api.catalysis-hub.org/graphql"
|
|
134
|
+
|
|
135
|
+
def query_catalysis_hub(query):
|
|
136
|
+
"""Execute a GraphQL query against Catalysis Hub."""
|
|
137
|
+
resp = requests.post(ENDPOINT, json={"query": query})
|
|
138
|
+
resp.raise_for_status()
|
|
139
|
+
return resp.json()["data"]
|
|
140
|
+
|
|
141
|
+
# Screen adsorption energies on Pt surfaces
|
|
142
|
+
data = query_catalysis_hub("""
|
|
143
|
+
{
|
|
144
|
+
reactions(first: 20, surfaceComposition: "Pt") {
|
|
145
|
+
edges { node { Equation facet reactionEnergy dftFunctional } }
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
""")
|
|
149
|
+
for edge in data["reactions"]["edges"]:
|
|
150
|
+
r = edge["node"]
|
|
151
|
+
print(f"{r['Equation']:<30} facet={r['facet']} E={r['reactionEnergy']:+.3f} eV")
|
|
152
|
+
|
|
153
|
+
# Publications with linked reactions
|
|
154
|
+
pubs = query_catalysis_hub("""
|
|
155
|
+
{
|
|
156
|
+
publications(first: 5, year: 2019) {
|
|
157
|
+
edges { node { title doi reactions { surfaceComposition Equation } } }
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
""")
|
|
161
|
+
for edge in pubs["publications"]["edges"]:
|
|
162
|
+
pub = edge["node"]
|
|
163
|
+
print(f"{pub['title']} | DOI: {pub['doi']} | {len(pub.get('reactions') or [])} reactions")
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## References
|
|
167
|
+
|
|
168
|
+
- Catalysis Hub: https://www.catalysis-hub.org
|
|
169
|
+
- GraphQL Endpoint: https://api.catalysis-hub.org/graphql
|
|
170
|
+
- Winther et al., "Catalysis-Hub.org: An Open Electronic Structure Database for Surface Reactions," Sci. Data 6, 75 (2019). DOI: 10.1038/s41597-019-0081-y
|
|
171
|
+
- SUNCAT Center: https://suncat.stanford.edu
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: education-skills
|
|
3
|
-
description: "
|
|
3
|
+
description: "7 education research skills. Trigger: pedagogical research, course design, learning analytics, assessment. Design: evidence-based teaching methods and educational measurement tools."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Education Research —
|
|
6
|
+
# Education Research — 7 Skills
|
|
7
7
|
|
|
8
8
|
Select the skill matching the user's need, then `read` its SKILL.md.
|
|
9
9
|
|
|
@@ -13,7 +13,6 @@ Select the skill matching the user's need, then `read` its SKILL.md.
|
|
|
13
13
|
| [assessment-design-guide](./assessment-design-guide/SKILL.md) | Psychometrics and educational assessment design for researchers |
|
|
14
14
|
| [curriculum-design-guide](./curriculum-design-guide/SKILL.md) | Systematic approaches to curriculum design using backward design and alignment |
|
|
15
15
|
| [educational-research-methods](./educational-research-methods/SKILL.md) | Quantitative and qualitative research methods for education studies |
|
|
16
|
-
| [edumcp-guide](./edumcp-guide/SKILL.md) | MCP server for educational content and learning management |
|
|
17
16
|
| [learning-science-guide](./learning-science-guide/SKILL.md) | Evidence-based learning science principles for educational research and practice |
|
|
18
17
|
| [mooc-analytics-guide](./mooc-analytics-guide/SKILL.md) | Analyzing MOOC data, learning analytics, and online education metrics |
|
|
19
18
|
| [open-syllabus-api](./open-syllabus-api/SKILL.md) | Analyze most-taught books and texts via Open Syllabus analytics |
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: law-skills
|
|
3
|
-
description: "
|
|
3
|
+
description: "9 legal research skills. Trigger: legal research, case law analysis, regulatory compliance. Design: legal databases, citation networks, and judicial analytics tools."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Legal Research —
|
|
6
|
+
# Legal Research — 9 Skills
|
|
7
7
|
|
|
8
8
|
Select the skill matching the user's need, then `read` its SKILL.md.
|
|
9
9
|
|
|
@@ -17,3 +17,4 @@ Select the skill matching the user's need, then `read` its SKILL.md.
|
|
|
17
17
|
| [opencontracts-guide](./opencontracts-guide/SKILL.md) | Legal document annotation, versioning, and analysis platform |
|
|
18
18
|
| [patent-analysis-guide](./patent-analysis-guide/SKILL.md) | Patent search, classification, landscape analysis, and prior art mining |
|
|
19
19
|
| [regulatory-compliance-guide](./regulatory-compliance-guide/SKILL.md) | Regulatory text mining, compliance research, and policy analysis tools |
|
|
20
|
+
| [uk-legislation-api](./uk-legislation-api/SKILL.md) | Access UK laws and statutory instruments via the Legislation.gov.uk API |
|