:scientific-agent-skills 技能庫中的 SDK 2.76.8 注冊與調試指南)
Latch 平臺 Nextflow 與 Snakemake 工作流集成打包實戰(zhàn)scientific-agent-skills 技能庫中的 SDK 2.76.8 注冊與調試指南【免費下載鏈接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.項目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills本文基于 scientific-agent-skills 倉庫中 latchbio-integration 技能 的 Nextflow 與 Snakemake 集成參考文檔系統(tǒng)講解如何在 Latch 平臺上打包、注冊與調試 Nextflow 與 Snakemake 兩類工作流。讀完本文你將掌握面向 Latch SDK 2.76.8 的 Nextflow 元數據生成、注冊與入口點生成全流程Snakemake 新舊兩條兼容軌道的取舍與隔離方法以及生成文件紀律、資源配比和發(fā)布檢查清單等可直接落地的工程規(guī)范。背景先選軌道再動文件Latch 同時支持 Python SDK、Nextflow 與 Snakemake 三種工作流但三者的打包路徑不可互換。參考文檔開篇即強調在生成任何文件之前必須先確認 SDK 版本并選定一條集成軌道。這一點與技能基線SKILL.md 的 Current Baseline 一節(jié)一致——該技能以Latch SDK 2.76.82026-07-10 發(fā)布為目標版本包元數據支持 Python 3.9–3.12。因此動手前的第一件事不是寫配置文件而是執(zhí)行一次環(huán)境核驗latch --version python --version技能還提供了一個只讀的 SDK 檢視工具 inspect_latch_sdk.py它只做本地導入與內省不發(fā)起任何網絡請求、不執(zhí)行認證可以安全地在目標 SDK 版本上運行用來確認當前安裝版本暴露了哪些符號uv run --no-project --python 3.12 --with latch2.76.8 \ python skills/latchbio-integration/scripts/inspect_latch_sdk.py需要機器可讀的對比輸出時追加--json。該腳本把待檢符號按core、tasks、data、metadata、registry、execution、verified分組見 inspect_latch_sdk.py并在腳本缺失核心符號時通過退出碼暴露問題。對應測試見 tests/latchbio-integration/test_scripts.py其中確認了“SDK 未安裝時退出碼為 2”的契約test_scripts.py。這套先檢視、后使用的流程正是避免混用不同版本軌道符號的第一道防線。Nextflow官方文檔化的 SDK 包裝路徑Nextflow 是 Latch 官方文檔重點覆蓋的集成軌道SDK 提供了從元數據生成、入口點生成到注冊的完整命令鏈。前置條件開始之前確保你的項目滿足以下條件一個可運行的 Nextflow 流水線一份nextflow_schema.jsonschema 與流水線參數保持一致為每一個 process 定義容器或提供一份文檔化的執(zhí)行 profile一個固定版本的 Latch SDK。技能基線建議在隔離環(huán)境中安裝固定版本uv venv --python 3.12 source .venv/bin/activate uv pip install latch2.76.8生成元數據從 schema 生成 Latch 所需的元數據latch generate-metadata nextflow_schema.json --nextflow當前 SDK 生成產物結構如下latch_metadata/ ├── __init__.py └── generated.py關于這兩個文件參考文檔給出三條硬性紀律generated.py由 schema 重新生成不要手工編輯它需要長期保留的自定義元數據與流程改動寫入latch_metadata/__init__.py修改nextflow_schema.json之后必須重新運行生成并在注冊前審查推斷出的文件類型、枚舉、默認值與必填參數。版本敏感點SDK 2.67.0 改變了 Nextflow 的生成結構——改為生成一個包含全部參數的統(tǒng)一 dataclass 與一個生成的 base flow。因此網上大量舊教程里基于parameters.py的手寫示例可能已經與新生成布局不匹配。這正是參考文檔可能滯后于 SDK、以安裝包為準的典型場景SKILL.md 的 Current Baseline 也強調當指南與 SDK 沖突時以安裝包和其 changelog 為權威。注冊當前文檔化的包裝命令為latch login latch register . \ --nf-script main.nf \ --nf-execution-profile docker,test注冊會生成 Latch 工作流包裝代碼與latch.config入口點的確切位置取決于生成路徑與 SDK 版本。注冊時需特別注意以下幾點如果項目根目錄存在Dockerfile注冊會直接使用它否則 Latch 可以在.latch/目錄下生成一個 Dockerfile再次傳入--nf-script會重新生成并覆蓋包裝代碼如果你刻意自定義過生成的入口點再次注冊時不要傳--nf-script以保留自定義代碼盡量把自定義代碼放在獨立模塊中避免與生成文件糾纏。注冊相關的通用控制項來自 operations-and-debugging.md 與 SKILL.md也值得記住# 注冊到指定 workspace latch register --workspace-id 12345 . # 標記為 release 版本 latch register --mark-as-release . # 從非默認 Python 模塊注冊工作流 latch register --workflow-module wf.custom_entrypoint .注意重復注冊同一工作流時 CLI 以退出碼 2 結束這與構建失敗退出碼 1含義不同CI 腳本應區(qū)分處理。顯式生成入口點SDK 2.76.8 還提供了獨立于注冊流程的入口點生成命令latch nextflow generate-entrypoint . \ --nf-script main.nf \ --execution-profile docker,test \ --output wf/custom_entrypoint.py該命令要求元數據根目錄中存在有效的NextflowMetadata對象。它把入口點顯式輸出到指定文件例如wf/custom_entrypoint.py便于先審查再注冊生成后即可配合latch register --workflow-module wf.custom_entrypoint .指定該模塊完成注冊。實驗性 Forch 專用注冊CLI 中還存在一個特殊命令latch nextflow register . --script-path main.nf官方 CLI 指南明確將其標記為experimental且僅適用于 Forch——Latch 在用戶自己的 AWS 賬戶中運行 Nextflow 的架構。它不是latch register --nf-script的通用替代方案只有當你正在搭建配置好的 Forch/BYOC 項目并遵循當前 Latch 指南時才可以使用。Nextflow 配置規(guī)則參考文檔匯總了七條配置層面的硬規(guī)則為每個 process 定義容器這是前置條件也是規(guī)則使用profiles處理環(huán)境相關設置而不是為了適配 Latch 去改流水線本身把 Latch 生成的latch.config保留在生效的配置鏈中不要手動剝離需要公共 work 目錄的 process遵循 Latch 官方的 shared-storage 指引私有鏡像倉庫通過 Latch支持的憑據路徑配置不要把憑據寫進 nextflow.configGPU 加速器遵循 Latch GPU 指南配置不要把 Python 任務裝飾器的語義翻譯成 Nextflow 資源語法——兩者的資源模型并不等價通過NextflowRuntimeResources.storage_gib為運行時/共享文件系統(tǒng)設置存儲而不只是為最終輸出設置在調大storage_expiration_hours之前先理解存儲保留期帶來的成本。存儲與成本意識在本倉庫的 resource-configuration.md 中有更系統(tǒng)的闡述臨時存儲應按下式的峰值中間態(tài)估算而不是按最終輸出大小——請求存儲 ≥ 暫存輸入 解壓膨脹 工具中間文件峰值 最終輸出 安全余量。調試Nextflow 工作流的調試命令鏈為latch register --staging . latch develop . latch nextflow attach --execution-id execution-id其中l(wèi)atch register --staging .只構建鏡像、不發(fā)布工作流版本latch develop .在該鏡像中打開遠程交互式 shell。latch nextflow attach則針對 Nextflow 的 work 目錄詳見 operations-and-debugging.md。兩個重要的版本行為需要特別留意在 SDK 2.76.8 中staging 分支不會從--nf-script或--snakefile生成 Python 入口點。因此全新的 Nextflow/Snakemake 項目在 staging 之前必須先顯式生成與版本兼容的入口點SKILL.md 的 Validate in the execution image 一節(jié)。在latch develop環(huán)境中生產環(huán)境的存儲初始化器不可用。請遵循官方 debug 模式指引使用本地 executor、在 debug 模式下繞過初始化器、使用兼容的 Latch Nextflow 基礎鏡像并適當降低 process 資源以避免在調試實例上申請過大的資源。Snakemake二選一的兼容軌道Snakemake 的情況比 Nextflow 復雜當前官方文檔與當前穩(wěn)定包暴露的是兩條不同的軌道參考文檔明確警告——不要混用。Track A2.76.8 源碼中的遺留 flags存在文檔沖突2.76.8wheel 中仍然暴露snakemakeextra、遺留元數據類、generate-metadata --snakemake以及register --snakefile。然而官方 CLI 指南已將這些 Snakemake 元數據與注冊 flags標記為 deprecated并指出對latch 2.55.0.a6元數據生成已不再工作。這是一個未解決的源碼/文檔沖突。下面的命令僅適用于維護已知走此路徑的遺留項目不應作為新項目流程向用戶推介除非你已與當前 Latch 文檔或支持團隊確認。為了與固定的 Snakemake 7.x 依賴保持最廣兼容性使用 Python 3.11uv venv --python 3.11 source .venv/bin/activate uv pip install latch[snakemake]2.76.8從工作流配置生成元數據latch generate-metadata config.yaml --snakemake注冊latch register . --snakefile SnakefileTrack A 的相關選項latch register . \ --snakefile Snakefile \ --metadata-root latch_metadata \ --cache-tasks其中--cache-tasks對應 Snakemake 的緩存/續(xù)跑行為發(fā)布檢查清單中要求resume/cache 行為已經過驗證。手寫元數據時使用latch.types.metadata中當前的SnakemakeMetadata、SnakemakeParameter、FileMetadata、EnvironmentConfig與DockerMetadataAPI——寫之前先查看它們的簽名也可以借助 inspect_latch_sdk.py 檢視這些符號是否存在于當前安裝版本。Track B官方 Snakemake v2 教程獨立 alpha 軌道當前 Snakemake v2 教程是一條兼容性專用的獨立路徑它顯式要求固定到alpha 版本uv venv --python 3.11 source .venv/bin/activate uv pip install latch2.62.1a2Track B 使用如下導入與命令from latch.types.metadata.snakemake_v2 import SnakemakeV2Metadatalatch snakemake generate-entrypoint . latch dockerfile --snakemake -c environment.yaml . -f latch register -y .關鍵事實參考文檔明確列出snakemake_v2元數據模塊與latch snakemake命令組不存在于穩(wěn)定版 2.76.8 源碼樹中該教程生成的 Dockerfile 還會把工作流運行時單獨固定為latch[snakemake]2.55.0.a6因此開始前務必重新核對教程中的確切 pin使用隔離環(huán)境同時審查本地 CLI pin 與生成的運行時 pin不要在無遷移計劃的情況下將該環(huán)境升級到穩(wěn)定版 2.76.8不要把 v2 導入復制到穩(wěn)定軌道項目中將 alpha pin 視為預發(fā)布軟件并做端到端驗證。兩條軌道對比如下維度Track A2.76.8 遺留 flagsTrack BSnakemake v2 教程SDK pinlatch[snakemake]2.76.8latch2.62.1a2運行時另行 pin2.55.0.a6元數據 APIlatch.types.metadata遺留類latch.types.metadata.snakemake_v2.SnakemakeV2Metadata命令組generate-metadata --snakemake、register --snakefilelatch snakemake、latch dockerfile --snakemake官方態(tài)度標記 deprecated存在文檔沖突教程路徑但屬 alpha 預發(fā)布Snakemake 資源與環(huán)境規(guī)則無論選擇哪條軌道以下規(guī)則同樣適用為每一條 rule給出 CPU 與內存資源或在profiles/default/config.yaml中定義安全的默認值固定 Conda 與容器環(huán)境保證可復現保留所選軌道自帶的 Latch executor/storage 插件配置使用LatchOutputDir暴露表單中的輸出目的地LatchOutputDir的語義可參考 workflow-creation.md 與 contenteditable="false">【免費下載鏈接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.項目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考