You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snakemake云执行大文件问题:本地下载占用存储空间

解决Snakemake谷歌生命科学执行器本地下载大文件问题

核心原因

Snakemake默认会将远程生成的文件同步到本地,目的是验证文件的存在性和完整性,确保工作流规则的依赖关系正确。但对于大数据集,这种同步会导致本地磁盘容量不足,完全违背了本地仅做轻量编排的需求。

解决方案

1. 启用远程哈希验证

添加--use-remote-hashing参数,让Snakemake直接通过远程存储的文件哈希值验证状态,无需下载完整文件到本地。同时明确指定远程存储提供商为谷歌云存储(--default-remote-provider gs),避免Snakemake在本地创建模拟的桶目录。

修正后的执行命令:

snakemake --google-lifesciences --google-lifesciences-region us-west1 --default-remote-provider gs --default-remote-prefix my-bucket --use-conda -j 3 --use-remote-hashing

2. 标记规则输出为远程文件

对于生成大文件的关键规则,显式标记输出为远程文件,确保Snakemake不会主动同步到本地。示例规则配置:

rule blast_nr:
    input:
        "query.fasta"
    output:
        remote("blast_results.out")  # 标记该输出仅存储在远程
    shell:
        "blastp -db nr -query {input} -out {output}"

3. 强制所有任务远程执行

添加--local-cores 0参数,禁止任何任务在本地执行,彻底避免本地产生或下载文件的可能:

snakemake --google-lifesciences --google-lifesciences-region us-west1 --default-remote-provider gs --default-remote-prefix my-bucket --use-conda -j 3 --use-remote-hashing --local-cores 0

关于工作流执行环境的疑问

不需要在能存储所有中间结果的环境运行Snakemake。只要配置正确的远程存储和执行参数,本地仅需维护工作流的状态信息(非常轻量化),所有中间结果和计算任务都可以完全在云端完成。之前的问题是默认同步行为导致的,通过上述配置即可解决。

内容的提问来源于stack exchange,提问作者user1181944

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 02:00:20