我正试图提供一堆文件作为输入
snakemake
通配符不起作用的原因是:
rule cluster:
input:
script = '/Users/nikitavlasenko/python_scripts/python/dbscan.py',
path = '/Users/nikitavlasenko/python_scripts/data_files/umap/{sample}.csv'
output:
path = '/Users/nikitavlasenko/python_scripts/output/{sample}'
shell:
"python {input.script} -data {input.path} -eps '0.3' -min_samples '10' -path {output.path}"
我想要
蛇形
从中读取文件
umap
目录,获取它们的名称,然后使用它们传递给python脚本,这样每个结果都会得到一个唯一的名称。如何在不出现我现在所得到的错误的情况下完成这项任务:
Building DAG of jobs...
WorkflowError:
Target rules may not contain wildcards. Please specify concrete files or
a rule without wildcards.
更新
我发现
rule all
顶部需要:
https://bioinformatics.stackexchange.com/questions/2761/how-to-resolve-in-snakemake-error-target-rules-may-not-contain-wildcards
所以我就这样加了一句:
samples='SCID_WT_CCA'
rule all:
input:
expand('/Users/nikitavlasenko/python_scripts/data_files/umap/
{sample}_umap.csv', sample=samples.split(' '))
但是,我收到了以下奇怪的信息:
Building DAG of jobs...
Nothing to be done.
所以,它没有运行。
更新
我认为这可能与我顶部只有一个样本名有关,所以我将其改为:
samples='SCID_WT_CCA WT SCID plus_1 minus_1'
当然,还添加了各自的文件,但没有修复这个错误。
实际上,如果我跑步
snakemake cluster
我得到的错误和最上面的一样,但如果我只是跑
蛇形
,然后是
nothing to be done
错误。我试图用绝对路径代替相对路径,但没有帮助:
samples='SCID_WT_CCA WT SCID plus_1 minus_1'
rule all:
input:
expand('data_files/umap/{sample}_umap.csv', sample=samples.split(' '))
rule cluster:
input:
script = 'python/dbscan.py',
path = 'data_files/umap/{sample}_umap.csv'
output:
path = 'output/{sample}'
shell:
"python {input.script} -data {input.path} -eps '0.3' -min_samples '10' -path {output.path}"