360 Secure SkillHub
360 安全技能中心

DrugFlow

面向 DrugFlow 服务端的 API 流程编排技能:覆盖登录/注册、工作区与余额、任务列表等公共接口,以及虚拟筛选、分子对接、ADMET、重打分、结构提取与分子工厂等端到端流程;每个流程均含 references 调用说明和 scripts 可执行脚本,按 ws_id 提交任务并返回 job_id、state 与结果计数。

ashipiling
ashipiling
热度 52.32
最近更新 2026-05-11 17:33:09
分类:自动化依赖:代码执行 / 第三方 API / 读写文件应用场景:API 集成 / 自动化脚本 / 工作流 / 数据处理 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add drugflow-api
Metadata
name
drugflow-skills
description
Multi-flow API workflow skill for this DrugFlow Django repository. Use when an agent needs executable end-to-end API procedures such as login/register, workspace and balance retrieval, job listing, virtual screening, docking, ADMET, rescoring, structure extraction, and molecular factory.

DrugFlow Skills

Route requests to the correct DrugFlow API flow and execute with minimal ambiguity.

Flow Selection

  1. Read references/index.md first.
  2. Match user intent to one flow.
  3. Load only that flow's reference files.
  4. Prefer script execution from scripts/<flow>/ when available.

Current Flows

  1. Common APIs: reusable auth/workspace/balance/jobs APIs available.
  2. Virtual screening: complete flow available.
  3. Docking: complete flow available.
  4. ADMET: complete flow available.
  5. Rescoring: complete flow available.
  6. Structure extract: complete flow available (img2mol backend type).
  7. Molecular factory: complete flow available (with atom-selection helpers).

Common APIs Workflow

  1. Read references/flows/common-apis/call-flow.md.
  2. Read references/flows/common-apis/payloads.md.
  3. Reuse scripts/common/drugflow_api.py for:
  • signin
  • signup
  • list_workspaces / create_workspace / ensure_workspace
  • get_balance
  • list_jobs
  1. Use scripts/common/test_common_apis.py for direct smoke tests.

Virtual Screening Workflow

  1. Read references/flows/virtual-screening/call-flow.md.
  2. Read references/flows/virtual-screening/payloads.md.
  3. Use scripts/virtual-screening/run_vs_flow.py for end-to-end execution.
  4. Always include ws_id for /api/jobs list/detail.
  5. For /api/jobs create, pass name, type, args (JSON string), ws_id; in non-private mode include expect_tokens and avail_tokens.

Docking Workflow

  1. Read references/flows/docking/call-flow.md.
  2. Read references/flows/docking/payloads.md.
  3. Use scripts/docking/run_docking_flow.py for end-to-end execution.
  4. Create docking jobs through POST /api/jobs with multipart fields pdb, ligands, pdb_content, and args.
  5. Site-driven docking box note: when --site is provided but center/size/radius are omitted, the script auto-derives the docking box from that site in local PDB.
  6. Always include ws_id on job list/detail requests and pass expect_tokens/avail_tokens in non-private mode.

ADMET Workflow

  1. Read references/flows/admet/call-flow.md.
  2. Read references/flows/admet/payloads.md.
  3. Use scripts/admet/run_admet_flow.py for end-to-end execution.
  4. ADMET job type is fixed to admet-dl.
  5. Support two input modes:
  • direct smiles list
  • dataset mode via dataset_id + smiles_col
  1. For /api/jobs create, pass name, type=admet-dl, args, ws_id, and in non-private mode expect_tokens/avail_tokens.

Rescoring Workflow

  1. Read references/flows/rescoring/call-flow.md.
  2. Read references/flows/rescoring/payloads.md.
  3. Use scripts/rescoring/run_rescoring_flow.py for end-to-end execution.
  4. Create rescoring jobs through POST /api/jobs with:
  • type=rescoring
  • form fields pdb, ligands, smiles_col
  • args.mode=semi and args.rescoring_functions
  1. Script enforces input files: --pdb-file must be .pdb, --ligands-file must be .sdf.
  2. Always include ws_id; in non-private mode include expect_tokens and avail_tokens.

Structure Extract Workflow

  1. Read references/flows/structure-extract/call-flow.md.
  2. Read references/flows/structure-extract/payloads.md.
  3. Use scripts/structure-extract/run_structure_extract_flow.py for end-to-end execution.
  4. User-facing "结构提取" maps to backend job type=img2mol.
  5. For create, pass name, type=img2mol, args (dataset_id, page_list), ws_id, and in non-private mode expect_tokens/avail_tokens.
  6. dataset_id must be img2mol-compatible and include extras.osskey.

Molecular Factory Workflow

  1. Read references/flows/molecular-factory/call-flow.md.
  2. Read references/flows/molecular-factory/payloads.md.
  3. Use scripts/molecular-factory/run_molecular_factory_flow.py:
  • atom-info
  • extract-partial
  • draw-atom-index
  • create-job
  1. Default to non-docking molecular factory unless user explicitly asks for docking:
  • args.need_docking=false
  • args.pdb_use.*=false
  1. Default generation models:
  • args.molgen_algos=["Frag-GPT","REINVENT"]
  1. Use helper APIs first to confirm selected_atoms/start_atoms, then submit molecular_factory job.
  2. Always pass ws_id; in non-private mode include expect_tokens and avail_tokens.

Output Contract

  1. Return method + endpoint + required parameters for each step.
  2. Return key ids and state: ws_id, job_id, state, result count.
  3. When running scripts, return command + important outputs.

Expansion Rules

  1. Add new flow docs under references/flows/<flow>/ with call-flow.md and payloads.md.
  2. Add runnable scripts under scripts/<flow>/.
  3. Update references/index.md and this file's Current Flows section.

References

  1. references/index.md
  2. references/flows/common-apis/call-flow.md
  3. references/flows/common-apis/payloads.md
  4. references/flows/virtual-screening/call-flow.md
  5. references/flows/virtual-screening/payloads.md
  6. references/flows/docking/call-flow.md
  7. references/flows/docking/payloads.md
  8. references/flows/admet/call-flow.md
  9. references/flows/admet/payloads.md
  10. references/flows/molecular-factory/call-flow.md
  11. references/flows/molecular-factory/payloads.md
  12. references/flows/rescoring/call-flow.md
  13. references/flows/rescoring/payloads.md
  14. references/flows/structure-extract/call-flow.md
  15. references/flows/structure-extract/payloads.md