我正在尝试使用snakemake和kubernetes在Google Cloud上运行DNA序列分析。 Snakemake抱怨找不到我的GCP存储桶中的文件。
这是我运行的命令(仅供参考,我用“ bucketname”交换实际的存储桶路径):
snakemake --kubernetes --use-conda --container-image 'https://hub.docker.com/r/mmyint93/snakemake_wes' --default-remote-provider GS --default-remote-prefix bucketname --debug
结果是我收到此错误消息:
FileNotFoundError in line 8 of /path/to/snakefile/rules/common.smk:
[Errno 2] No such file or directory: 'bucketname/LCC_one_lane_test.txt'
File "/path/to/snakefile/Snakefile", line 1, in <module>
File "/path/to/snakefile/rules/common.smk", line 8, in <module>
我尝试在本地复制有问题的文件LCC_one_lane_test.txt
并指向该文件而不是GS.remote("gs://bucketname/LCC_one_lane_test.txt")
。虽然可以解决该文件的问题,但会导致后续的远程文件抛出错误:
Building DAG of jobs...
MissingInputException in line 1 of /path/to/snakefile/rules/mapping.smk:
Missing input files for rule bwaMEM:
bucketname/fastq/H1213_L1_2.fq.gz
bucketname/fastq/H1213_L1_1.fq.gz
我还尝试使用--latency-wait 50 --wait-for-files 50
来查看是否是我的机器与遥控器之间的延迟引起的,但是返回了相同的错误。
作为参考,这是我的.smk规则文件中的一些示例代码:
from snakemake.remote.GS import RemoteProvider as GSRemoteProvider
GS = GSRemoteProvider()
import os
import re
from itertools import chain, combinations
SAMPLE_FILE = GS.remote("gs://bucketname/LCC_one_lane_test.txt")
我也尝试将gs://bucketname
放在路径中,但是它只是返回相同的错误而没有存储桶名称。我在俯视什么吗?
其他信息,我的snakemake版本是5.4.3