drug-discovery-search

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Drug Discovery Search

药物发现搜索

Search across all major drug discovery databases (ChEMBL, DrugBank, FDA drug labels, Open Targets) simultaneously using natural language queries powered by Valyu's semantic search API.
借助Valyu的语义搜索API,使用自然语言查询同时搜索所有主要药物发现数据库(ChEMBL、DrugBank、FDA药物标签、Open Targets)。

Why This Skill is Powerful

本技能的强大之处

  • No API Parameter Parsing: Just pass natural language queries directly - no need to construct complex search parameters
  • Semantic Search: Understands the meaning of your query, not just keyword matching
  • Full-Text Access: Returns complete compound, target, and drug information
  • Image Links: Includes molecular structures and data visualizations
  • Comprehensive Coverage: Search across ChEMBL, DrugBank, drug labels, and Open Targets simultaneously
  • Unified Results: Get results from all drug discovery sources in a single query
  • 无需API参数解析:直接传入自然语言查询即可,无需构建复杂的搜索参数
  • 语义搜索:理解查询的含义,而非仅进行关键词匹配
  • 全文访问:返回完整的化合物、靶点和药物信息
  • 图片链接:包含分子结构和数据可视化内容
  • 全面覆盖:同时搜索ChEMBL、DrugBank、药物标签和Open Targets
  • 统一结果:单次查询即可获取所有药物发现数据源的结果

Requirements

要求

  1. Node.js 18+ (uses built-in fetch)
  2. Valyu API key from https://platform.valyu.ai ($10 free credits)
  1. Node.js 18+(使用内置的fetch)
  2. https://platform.valyu.ai获取Valyu API密钥(赠送10美元免费额度)

CRITICAL: Script Path Resolution

重要提示:脚本路径解析

The
scripts/search
commands in this documentation are relative to this skill's installation directory.
Before running any command, locate the script using:
bash
DRUG_DISCOVERY_SCRIPT=$(find ~/.claude/plugins/cache -name "search" -path "*/drug-discovery-search/*/scripts/*" -type f 2>/dev/null | head -1)
Then use the full path for all commands:
bash
$DRUG_DISCOVERY_SCRIPT "JAK2 inhibitors" 20
本文档中的
scripts/search
命令是相对于本技能的安装目录的相对路径。
运行任何命令前,请使用以下命令定位脚本:
bash
DRUG_DISCOVERY_SCRIPT=$(find ~/.claude/plugins/cache -name "search" -path "*/drug-discovery-search/*/scripts/*" -type f 2>/dev/null | head -1)
然后使用完整路径执行所有命令:
bash
$DRUG_DISCOVERY_SCRIPT "JAK2 inhibitors" 20

API Key Setup Flow

API密钥设置流程

When you run a search and receive
"setup_required": true
, follow this flow:
  1. Ask the user for their API key: "To search drug discovery databases, I need your Valyu API key. Get one free ($10 credits) at https://platform.valyu.ai"
  2. Once the user provides the key, run:
    bash
    scripts/search setup <api-key>
  3. Retry the original search.
当你运行搜索并收到
"setup_required": true
时,请按照以下流程操作:
  1. 向用户索要API密钥: "要搜索药物发现数据库,我需要你的Valyu API密钥。可前往https://platform.valyu.ai免费获取(含10美元额度)"
  2. 用户提供密钥后,运行:
    bash
    scripts/search setup <api-key>
  3. 重试原搜索请求。

When to Use This Skill

适用场景

  • End-to-end drug discovery information
  • Target validation through compounds and trials
  • Complete drug development information
  • Compound optimization with target data
  • Safety and efficacy research
  • 端到端药物发现信息查询
  • 通过化合物和试验进行靶点验证
  • 完整的药物研发信息获取
  • 结合靶点数据进行化合物优化
  • 安全性与有效性研究

Output Format

输出格式

json
{
  "success": true,
  "type": "drug_discovery_search",
  "query": "JAK2 inhibitors",
  "result_count": 20,
  "results": [
    {
      "title": "Compound/Drug/Target Title",
      "url": "https://...",
      "content": "Full data including compounds, targets, mechanisms...",
      "source": "chembl|drugbank|drug-labels|open-targets",
      "relevance_score": 0.95,
      "images": ["https://example.com/structure.png"]
    }
  ],
  "cost": 0.035
}
json
{
  "success": true,
  "type": "drug_discovery_search",
  "query": "JAK2 inhibitors",
  "result_count": 20,
  "results": [
    {
      "title": "Compound/Drug/Target Title",
      "url": "https://...",
      "content": "Full data including compounds, targets, mechanisms...",
      "source": "chembl|drugbank|drug-labels|open-targets",
      "relevance_score": 0.95,
      "images": ["https://example.com/structure.png"]
    }
  ],
  "cost": 0.035
}

Processing Results

结果处理

With jq

使用jq工具

bash
undefined
bash
undefined

Get titles

获取标题

scripts/search "query" 20 | jq -r '.results[].title'
scripts/search "query" 20 | jq -r '.results[].title'

Get URLs

获取URL

scripts/search "query" 20 | jq -r '.results[].url'
scripts/search "query" 20 | jq -r '.results[].url'

Extract full content

提取完整内容

scripts/search "query" 20 | jq -r '.results[].content'
scripts/search "query" 20 | jq -r '.results[].content'

Filter by source

按数据源过滤

scripts/search "query" 20 | jq -r '.results[] | select(.source == "chembl") | .title'
undefined
scripts/search "query" 20 | jq -r '.results[] | select(.source == "chembl") | .title'
undefined

Common Use Cases

常见用例

Target Identification

靶点识别

bash
undefined
bash
undefined

Find validated targets and compounds

查找经过验证的靶点和化合物

scripts/search "BTK inhibitors for autoimmune diseases" 50
undefined
scripts/search "BTK inhibitors for autoimmune diseases" 50
undefined

Lead Optimization

先导化合物优化

bash
undefined
bash
undefined

Search SAR and compound data

搜索构效关系(SAR)和化合物数据

scripts/search "EGFR inhibitors blood-brain barrier penetration" 40
undefined
scripts/search "EGFR inhibitors blood-brain barrier penetration" 40
undefined

Drug Repurposing

药物重定位

bash
undefined
bash
undefined

Find repurposing opportunities

寻找药物重定位机会

scripts/search "mTOR inhibitors cancer and aging" 30
undefined
scripts/search "mTOR inhibitors cancer and aging" 30
undefined

Safety Assessment

安全性评估

bash
undefined
bash
undefined

Gather safety and interaction data

收集安全性和相互作用数据

scripts/search "tyrosine kinase inhibitors cardiac toxicity" 60
undefined
scripts/search "tyrosine kinase inhibitors cardiac toxicity" 60
undefined

Error Handling

错误处理

All commands return JSON with
success
field:
json
{
  "success": false,
  "error": "Error message"
}
Exit codes:
  • 0
    - Success
  • 1
    - Error (check JSON for details)
所有命令均返回包含
success
字段的JSON:
json
{
  "success": false,
  "error": "Error message"
}
退出码:
  • 0
    - 成功
  • 1
    - 错误(查看JSON获取详细信息)

API Endpoint

API端点

  • Base URL:
    https://api.valyu.ai/v1
  • Endpoint:
    /search
  • Authentication: X-API-Key header
  • 基础URL:
    https://api.valyu.ai/v1
  • 端点:
    /search
  • 认证方式: X-API-Key请求头

Architecture

架构

scripts/
├── search          # Bash wrapper
└── search.mjs      # Node.js CLI
Direct API calls using Node.js built-in
fetch()
, zero external dependencies.
scripts/
├── search          # Bash包装器
└── search.mjs      # Node.js命令行工具
使用Node.js内置的
fetch()
进行直接API调用,无外部依赖。

Adding to Your Project

集成到你的项目

If you're building an AI project and want to integrate Drug Discovery Search directly into your application, use the Valyu SDK:
如果你正在构建AI项目,并希望将药物发现搜索直接集成到应用中,请使用Valyu SDK:

Python Integration

Python集成

python
from valyu import Valyu

client = Valyu(api_key="your-api-key")

response = client.search(
    query="your search query here",
    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"Title: {result['title']}")
    print(f"URL: {result['url']}")
    print(f"Content: {result['content'][:500]}...")
python
from valyu import Valyu

client = Valyu(api_key="your-api-key")

response = client.search(
    query="your search query here",
    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"Title: {result['title']}")
    print(f"URL: {result['url']}")
    print(f"Content: {result['content'][:500]}...")

TypeScript Integration

TypeScript集成

typescript
import { Valyu } from "valyu-js";

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

const response = await client.search({
  query: "your search query here",
  includedSources: ["valyu/valyu-chembl", "valyu/valyu-drugbank", "valyu/valyu-drug-labels", "valyu/valyu-open-targets"],
  maxResults: 20
});

response.results.forEach((result) => {
  console.log(`Title: ${result.title}`);
  console.log(`URL: ${result.url}`);
  console.log(`Content: ${result.content.substring(0, 500)}...`);
});
See the Valyu docs for full integration examples and SDK reference.
typescript
import { Valyu } from "valyu-js";

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

const response = await client.search({
  query: "your search query here",
  includedSources: ["valyu/valyu-chembl", "valyu/valyu-drugbank", "valyu/valyu-drug-labels", "valyu/valyu-open-targets"],
  maxResults: 20
});

response.results.forEach((result) => {
  console.log(`Title: ${result.title}`);
  console.log(`URL: ${result.url}`);
  console.log(`Content: ${result.content.substring(0, 500)}...`);
});
更多集成示例和SDK参考请查看Valyu文档