药物发现搜索Skill drug-discovery-search

该技能是一个端到端药物发现平台,通过Valyu语义搜索API,使用自然语言查询,同时搜索ChEMBL、DrugBank、FDA药物标签和Open Targets等主要药物发现数据库。适用于药物研发、目标验证、化合物筛选、安全性和有效性研究等领域。关键词包括:药物发现、语义搜索、ChEMBL、DrugBank、药物开发、目标验证、化合物筛选。

药物研发 0 次安装 0 次浏览 更新于 3/18/2026

名称:药物发现搜索 描述:端到端药物发现平台,结合ChEMBL化合物、DrugBank、目标和FDA标签。由Valyu提供自然语言处理。 关键词:

  • 药物发现
  • 药物开发
  • 化合物筛选
  • 目标验证
  • 全面搜索
  • 语义搜索 许可证:MIT

药物发现搜索

使用由Valyu语义搜索API支持的自然语言查询,同时搜索所有主要药物发现数据库(ChEMBL、DrugBank、FDA药物标签、Open Targets)。

为什么这个技能很强大

  • 无需API参数解析:只需直接传递自然语言查询,无需构建复杂搜索参数
  • 语义搜索:理解查询的含义,不仅仅是关键词匹配
  • 全文访问:返回完整的化合物、目标和药物信息
  • 图片链接:包括分子结构和数据可视化
  • 全面覆盖:同时搜索ChEMBL、DrugBank、药物标签和Open Targets
  • 统一结果:在一个查询中获取所有药物发现来源的结果

要求

  1. Node.js 18+(使用内置fetch)
  2. Valyu API密钥,从 https://platform.valyu.ai 获取($10免费积分)

关键:脚本路径解析

本文档中的 scripts/search 命令相对于此技能的安装目录。

在运行任何命令之前,使用以下命令定位脚本:

DRUG_DISCOVERY_SCRIPT=$(find ~/.claude/plugins/cache -name "search" -path "*/drug-discovery-search/*/scripts/*" -type f 2>/dev/null | head -1)

然后对所有命令使用完整路径:

$DRUG_DISCOVERY_SCRIPT "JAK2抑制剂" 20

API密钥设置流程

当运行搜索并收到 "setup_required": true 时,按照此流程:

  1. 向用户询问他们的API密钥: “要搜索药物发现数据库,我需要您的Valyu API密钥。在 https://platform.valyu.ai 获取一个免费密钥($10积分)”

  2. 一旦用户提供密钥,运行:

    scripts/search setup <api-key>
    
  3. 重试原始搜索。

何时使用此技能

  • 端到端药物发现信息
  • 通过化合物和试验进行目标验证
  • 完整的药物开发信息
  • 带有目标数据的化合物优化
  • 安全性和有效性研究

输出格式

{
  "success": true,
  "type": "drug_discovery_search",
  "query": "JAK2抑制剂",
  "result_count": 20,
  "results": [
    {
      "title": "化合物/药物/目标标题",
      "url": "https://...",
      "content": "包括化合物、目标、机制等的完整数据...",
      "source": "chembl|drugbank|drug-labels|open-targets",
      "relevance_score": 0.95,
      "images": ["https://example.com/structure.png"]
    }
  ],
  "cost": 0.035
}

处理结果

使用jq

# 获取标题
scripts/search "查询" 20 | jq -r '.results[].title'

# 获取URL
scripts/search "查询" 20 | jq -r '.results[].url'

# 提取完整内容
scripts/search "查询" 20 | jq -r '.results[].content'

# 按来源筛选
scripts/search "查询" 20 | jq -r '.results[] | select(.source == "chembl") | .title'

常见使用案例

目标识别

# 查找已验证的目标和化合物
scripts/search "BTK抑制剂用于自身免疫性疾病" 50

先导优化

# 搜索SAR和化合物数据
scripts/search "EGFR抑制剂血脑屏障渗透" 40

药物重定位

# 寻找重定位机会
scripts/search "mTOR抑制剂癌症和衰老" 30

安全性评估

# 收集安全性和相互作用数据
scripts/search "酪氨酸激酶抑制剂心脏毒性" 60

错误处理

所有命令都返回带有 success 字段的JSON:

{
  "success": false,
  "error": "错误消息"
}

退出代码:

  • 0 - 成功
  • 1 - 错误(查看JSON获取详细信息)

API端点

  • 基本URL:https://api.valyu.ai/v1
  • 端点:/search
  • 认证:X-API-Key头

架构

scripts/
├── search          # Bash包装器
└── search.mjs      # Node.js CLI

使用Node.js内置 fetch() 进行直接API调用,零外部依赖。

添加到您的项目

如果您正在构建一个AI项目,并希望将药物发现搜索直接集成到您的应用程序中,请使用Valyu SDK:

Python集成

from valyu import Valyu

client = Valyu(api_key="您的-api-key")

response = client.search(
    query="您的搜索查询在这里",
    included_sources=["valyu/valyu-chembl", "valyu/valyu-drugbank", "valyu/valyu-drug-labels", "valyu/valyu-open-targets"],
    max_results=20
)

for result in response["results"]:
    print(f"标题: {result['title']}")
    print(f"URL: {result['url']}")
    print(f"内容: {result['content'][:500]}...")

TypeScript集成

import { Valyu } from "valyu-js";

const client = new Valyu("您的-api-key");

const response = await client.search({
  query: "您的搜索查询在这里",
  includedSources: ["valyu/valyu-chembl", "valyu/valyu-drugbank", "valyu/valyu-drug-labels", "valyu/valyu-open-targets"],
  maxResults: 20
});

response.results.forEach((result) => {
  console.log(`标题: ${result.title}`);
  console.log(`URL: ${result.url}`);
  console.log(`内容: ${result.content.substring(0, 500)}...`);
});

有关完整集成示例和SDK参考,请参阅 Valyu文档