Pharma Market Intel Agent - FAERS Query Skill
Overview
Query real-world post-market safety data for drugs. Useful for market intel on safety profiles, emerging risks, competitor analysis.
Key outputs:
- - JSON summaries (trends, top reactions/outcomes)
- PNG bar charts (yearly reports, top 10 reactions/outcomes)
- Sample recent events
Rate limits: openFDA ~240 req/min. Counts are fast (no full data).
Chemistry-Query Structure
Parse user queries into this model for standardized chaining:
CODEBLOCK0
Example:
CODEBLOCK1
Quick Start / Workflows
1. Basic Query (All Metrics)
exec skills/pharma-market-intel-agent/scripts/query_faers.py --drug aspirin --output ./aspirin_faers
Generates:
- - aspirinfaers/aspirinsummary.json
- *.png plots
- Recent events JSON
2. SMILES Input
exec ... --drug \"CC(=O)OC1=CC=CC=C1C(=O)O\" # Aspirin SMILES
Auto-resolves to name via PubChem.
3. Custom Limit
CODEBLOCK4
Chaining Examples
- - With chemistry-query: Resolve/validate SMILES first, then FAERS.
- pharma-tox-agent: Feed top reactions for tox prediction.
- pharma-ip-expansion-agent: Check safety for IP expansion targets.
- traction-agent: Market risk scoring from FAERS trends.
CODEBLOCK5
ClinicalTrials.gov Integration
Query clinical trial data from ClinicalTrials.gov API v2. Search by drug, condition, phase, and status. No API key needed.
Quick Start
CODEBLOCK6
Outputs
- -
{drug}_trials_summary.json — Full structured summary with trials list and aggregate stats - INLINECODE1 — Bar chart by phase
- INLINECODE2 — Bar chart by status
- INLINECODE3 — Timeline of trial start dates
JSON Summary Structure
CODEBLOCK7
Chaining Examples
- - Chemistry Query → Market Intel: Resolve SMILES, then query trials for competitive landscape
- FAERS + Trials: Run both scripts for a drug to get safety profile + development pipeline
- chain_entry.py: Use
--metrics trials or --metrics faers,trials to run both in one call
References
Resources
- - scripts/queryfaers.py: FAERS query executable
- scripts/querytrials.py: ClinicalTrials.gov query executable
- scripts/chain_entry.py: Unified entry point (faers + trials)
- assets/: Store generated PNGs here for reuse
药品市场情报代理 - FAERS查询技能
概述
查询药品上市后真实世界安全数据。适用于药品安全性概况、新兴风险、竞品分析等市场情报。
主要输出:
- - JSON摘要(趋势、主要不良反应/结局)
- PNG柱状图(年度报告、前10项不良反应/结局)
- 近期事件样本
速率限制:openFDA约240次请求/分钟。计数查询速度快(无需完整数据)。
化学查询结构
将用户查询解析为此模型以实现标准化链式处理:
python
from dataclasses import dataclass
from typing import List, Optional
@dataclass
class ChemistryQuery:
drug: str # 药品名称或SMILES
query_type: str = faers # faers, pubchem等
metrics: Optional[List[str]] = None # [yearlytrends, topreactions, top_outcomes, events]
limit_events: int = 20
示例:
json
{
\drug\: \aspirin\, // 或 \CC(=O)OC1=CC=CC=C1C(=O)O\
\query_type\: \faers\,
\metrics\: [\yearlytrends\, \topreactions\]
}
快速入门/工作流程
1. 基础查询(所有指标)
exec skills/pharma-market-intel-agent/scripts/queryfaers.py --drug aspirin --output ./aspirinfaers
生成:
- - aspirinfaers/aspirinsummary.json
- *.png图表
- 近期事件JSON
2. SMILES输入
exec ... --drug \CC(=O)OC1=CC=CC=C1C(=O)O\ # 阿司匹林SMILES
通过PubChem自动解析为药品名称。
3. 自定义限制
exec ... --drug ozempic --limit-events 50 --output ozempic_analysis
链式处理示例
- - 与化学查询结合:先解析/验证SMILES,再进行FAERS查询
- 药品毒性代理:将主要不良反应输入进行毒性预测
- 药品专利扩展代理:检查专利扩展目标的安全性
- 牵引力代理:基于FAERS趋势进行市场风险评估
代理工作流程:
- 1. 解析ChemistryQuery
- 如需解析SMILES(由pubchempy或queryfaers处理)
- 运行queryfaers.py
- 将PNG/JSON读入响应
- 如指标需要则进行链式处理
ClinicalTrials.gov集成
通过ClinicalTrials.gov API v2查询临床试验数据。可按药品、疾病、试验阶段和状态进行搜索。无需API密钥。
快速入门
bash
按药品搜索
exec skills/pharma-market-intel-agent/scripts/query
trials.py --drug sotorasib --output ./sotorasibtrials
按疾病+筛选条件搜索
exec ... --condition breast cancer --phase PHASE3 --status RECRUITING --limit 10 --output ./bc_trials
同时按药品和疾病搜索
exec ... --drug pembrolizumab --condition NSCLC --output ./pembro_trials
SMILES输入(通过PubChem自动解析)
exec ... --drug CC(=O)OC1=CC=CC=C1C(=O)O --output ./aspirin_trials
输出
- - {drug}trialssummary.json — 包含试验列表和汇总统计的完整结构化摘要
- {drug}trialsbyphase.png — 按试验阶段分组的柱状图
- {drug}trialsbystatus.png — 按试验状态分组的柱状图
- {drug}trialstimeline.png — 试验开始日期时间线
JSON摘要结构
json
{
drug: sotorasib,
total_found: 45,
trials: [{nct_id: NCT..., title: ..., phase: PHASE3, sponsor: Amgen, ...}],
stats: {by
phase: {...}, bystatus: {...}, top
sponsors: [...], topconditions: [...]}
}
链式处理示例
- - 化学查询 → 市场情报:解析SMILES,然后查询临床试验以了解竞争格局
- FAERS + 临床试验:对同一药品运行两个脚本,获取安全性概况+研发管线
- chain_entry.py:使用--metrics trials或--metrics faers,trials一次调用运行两者
参考
资源
- - scripts/queryfaers.py:FAERS查询可执行文件
- scripts/querytrials.py:ClinicalTrials.gov查询可执行文件
- scripts/chain_entry.py:统一入口点(FAERS + 临床试验)
- assets/:存储生成的PNG文件以便复用