mcpField
L
latchbio-integration

latchbio-integration

github.com/kalarislabs数据与数据库12771 次安装今天更新
代码仓库

关于 latchbio-integration

latchbio-integration 是用于构建和运维 Latch 工作流的技能,面向 Python、Nextflow 和 Snakemake 流程开发者。它涵盖工作流注册、资源配置、数据与 Registry 操作,以及通过 Latch MCP 启动和监控流程。

主要功能

  1. 01创建 Python 任务图与工作流
  2. 02打包并注册 Python、Nextflow 和 Snakemake 流程
  3. 03配置 CPU、内存、GPU、缓存与重试
  4. 04管理 Latch Data 和 Registry 数据
  5. 05启动并监控工作流运行

适用场景

  1. 01开发并注册可复用的科研流程
  2. 02为任务设置资源和执行参数
  3. 03通过 Latch MCP 启动并跟踪工作流

MCP 相关

该技能介绍通过 Latch MCP 启动和操作 Latch 工作流,并说明其 OAuth 授权与 SDK、CLI 凭据相互独立。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kalarislabs/research-agent-skills --skill latchbio-integration

安装后在 Claude Code 中输入/latchbio-integration确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
data-management.md
latch-mcp.md
nextflow-snakemake.md
operations-and-debugging.md
registry.md
resource-configuration.md
ui-and-automation.md
verified-workflows.md
workflow-creation.md
scripts/
inspect_latch_sdk.py

详细介绍

LatchBio 集成

当前基线

此技能面向 Latch SDK 2.76.8,该版本于 2026 年 7 月 10 日发布。包元数据支持 Python 3.9–3.12,并声明要求 Python 3.9+。

当指南与 SDK 不一致时,以已安装的包及其变更日志为准。部分 Latch 指南仍保留较旧的 Python 版本范围或针对兼容性的预发布版本固定要求,Snakemake v2 教程尤为如此。未经版本要求核实,切勿混用不同路线的命令或导入语句。

适用场景

使用此技能来:

  • 创建或维护 Python SDK 工作流和任务图
  • 打包并注册 Python、Nextflow 或 Snakemake 流水线
  • 配置任务的 CPU、内存、存储、GPU、缓存、重试和超时
  • 通过 LPath、LatchFile、LatchDir 或 CLI 使用 Latch Data
  • 读取或更新 Latch Registry 项目、表和记录
  • 设计工作流表单、启动计划、样本表、消息和结果链接
  • 使用 latch register --staging 和 latch develop 暂存并调试工作流镜像
  • 通过 Python 或 Latch MCP 启动并监控工作流
  • 发现并使用可直接运行的 Latch 工作流

查找合适的参考资料

只阅读任务所需的参考资料:

需求参考资料
Python 工作流、任务、映射、条件、缓存references/workflow-creation.md
LPath、旧版文件类型、Latch URL、数据 CLIreferences/data-management.md
Registry 读取、事务、样本表references/registry.md
CPU、内存、存储、GPU、动态资源references/resource-configuration.md
Nextflow 和 Snakemake 打包references/nextflow-snakemake.md
元数据、表单、启动计划、消息、自动化references/ui-and-automation.md
注册、开发、执行、监控references/operations-and-debugging.md
可直接使用的工作流和 latch.verifiedreferences/verified-workflows.md
远程 MCP 设置和工具工作流references/latch-mcp.md

在依赖某个符号之前,针对目标 SDK 版本运行 scripts/inspect_latch_sdk.py。该脚本仅执行本地导入,不会进行身份验证或发起网络请求。

安装和身份验证

如需可复现的环境:

uv venv --python 3.12
source .venv/bin/activate
uv pip install "latch==2.76.8"

在 Windows 上,使用 WSL 运行文档中介绍的 Linux 工作流工具。

通过受支持的 OAuth 流程进行身份验证;不要手动读取、打印、复制或解析 ~/.latch/token:

latch login
latch workspace

当已知工作区的数字 ID 时,可通过非交互方式选择该工作区:

latch workspace --id 12345

latch login 凭据供 SDK 和 CLI 使用。Latch MCP 使用单独的 OAuth 授权,其凭据不能用于常规 SDK 访问。

快速开始

创建并远程注册维护中的子进程模板:

latch init covid-wf --template subprocess
latch register --yes --open covid-wf

默认使用远程镜像构建。仅当本地 Docker 守护进程可用且确实需要本地构建时,才使用 --no-remote。

最简 Python 工作流

保持工作流主体采用声明式写法:调用任务并返回其 Promise。在任务内部执行计算和副作用。

from latch import small_task, workflow


@small_task
def reverse_complement(sequence: str) -> str:
    table = str.maketrans("ACGTacgt", "TGCAtgca")
    return sequence.translate(table)[::-1]


@workflow
def reverse_complement_workflow(sequence: str) -> str:
    """Return the reverse complement of a DNA sequence."""
    return reverse_complement(sequence=sequence)

如果生成的界面需要自定义标签、分区、验证规则、样本表或文档链接,请使用 @workflow(metadata)。使用 LatchFile 或 LatchDir 自动暂存任务输入并上传输出;使用 LPath 执行命令式远程路径操作。

推荐的开发生命周期

  1. 检查兼容性

    • 确认已安装的 SDK 和 Python 版本。
    • 判断项目属于 Python、Nextflow、旧版 Snakemake 标志路径,还是单独固定版本的 Snakemake v2 教程路线。
  2. 定义类型化接口

    • 为每个工作流和任务的输入、输出添加类型注释。
    • 确保模块导入时不执行网络调用、数据修改或机密检索。将文档中说明的例外情况隔离开来,例如 workflow_reference,它会在计算其装饰器时解析活动工作区。
    • 使用 dataclass 和枚举表示结构化参数。
  3. 配置元数据和资源

    • 确保元数据参数键与工作流签名一致。
    • 从命名任务装饰器开始,仅在经过测量的需求确有必要时才使用 custom_task。
  4. 在执行镜像中验证

    全新的 Nextflow 和 Snakemake 项目必须在暂存之前生成与版本兼容的 Python 入口点。在 SDK 2.76.8 中,暂存分支不会通过 --nf-script 或 --snakefile 生成入口点。

    latch register --staging .
    latch develop .
    

    更改 Dockerfile 或依赖项后,重新运行暂存注册。开发容器内所做的编辑不会同步回来。

  5. 审慎注册

    latch register --yes --open .
    

    实用的控制选项:

    latch register --workspace-id 12345 .
    latch register --mark-as-release .
    latch register --workflow-module wf.custom_entrypoint .
    

    重复注册会以状态码 2 退出;这与构建失败不同。

  6. 审查成本和参数后再启动

    • 交互操作优先使用 Console 或 Latch MCP。
    • Python 自动化优先使用 latch_cli.services.launch.launch_v2。
    • 不要将已弃用的 latch launch CLI 用作新的集成模式。
  7. 监控并验证

    • 检查终端状态、任务日志、结果链接和科学输出。
    • 将成功的编排视为科学验证的必要条件,而非充分条件。

运行安全

  • 启动付费计算前,尤其是 GPU 或大型批处理任务,先征求确认。
  • 执行 LPath.rmr、latch rmr、Registry 删除或覆盖共享目标前,先征求确认。
  • 切勿记录机密、SDK 令牌、签名 URL 或机密值。
  • 仅在任务内调用 get_secret(),返回值仅用于其预期服务,绝不能将其作为工作流输出返回。
  • 不要通过 shell 命令传递不可信字符串。优先使用 subprocess.run(..., check=True) 和参数列表。
  • 发布时固定 SDK 和工作流依赖项。只有在审查变更日志并重新运行暂存测试后,才进行升级。
  • 将生成的文件视为生成文件:自定义文档说明的扩展文件,而不是 CLI 会覆盖的输出文件。

检查已安装的 SDK

在此技能目录中:

uv run --no-project --python 3.12 --with "latch==2.76.8" \
  python scripts/inspect_latch_sdk.py

自动比较时使用 JSON 输出:

uv run --no-project --python 3.12 --with "latch==2.76.8" \
  python scripts/inspect_latch_sdk.py --json

权威来源

相关技能

  • dnanexus-integration:使用 dx CLI、dxpy、apps/applets、原生工作流、dxCompiler 和 Nextfl…,在 DNAnexus 上构建和运行可复现的基因组工作负载。
  • nextflow:端到端构建、运行和调试 Nextflow 数据管道及 nf-core 工作流。
  • benchling-integration:用于 Registry 实体、库存、ELN 条目、工作流、Benchling Apps 和 Data Warehouse… 的 Benchling Python SDK 和 REST API 集成。

评论

支持 Markdown