【发布时间】:2019-12-05 16:40:23
【问题描述】:
我想要合并不同目录中的多个 BAM 文件。在我的 config.yaml 文件中,我指明了要合并的文件的路径:
var:
var1: [ "/DATA/utent3/DATI/var/var1/leaf/trimmed/leaf_var1_ref1.bam", "/DATA/utent3/DATI/var/var1/stem/trimmed/stem_var1_ref1.bam", "/DATA/utent3/DATI/var/var1/flower/trimmed/flower_var1_ref1.bam" ]
....
var9: [ "/DATA/utent3/DATI/var/var9/leaf/trimmed/leaf_var9_ref1.bam", "/DATA/utent3/DATI/var/var9/stem/trimmed/stem_var9_ref1.bam", "/DATA/utent3/DATI/var/var9/flower/trimmed/flower_var9_ref1.bam" ]
executables:
bamtools: /home/utent3/anaconda3/bin/bamtools
这是我的蛇文件
configfile: "config.yaml"
workdir: "/DATA/utent3/DATI/var/"
rule all:
input:
expand("{sample}.accepted.bam", sample = config["var"])
rule bamtools:
input:
bams = lambda wildcards: config["var"][wildcards.sample]
output:
bam = "{sample}.accepted.bam"
params:
executable = config["executables"]["bamtools"]
run:
shell("{params.executable} merge -list {input.bams} -out {output.bam}")
我收到此错误:
WorkflowError: Target rules may not contain wildcards. Please specify concrete files or a rule without wildcards.
一般来说有人可以解释一下如何在配置文件中写入多个文件路径。
更新 现在它说(现在我只尝试使用 var1):
ERROR: Some problems were encountered when parsing the command line options:
An unrecognized argument was found: /DATA/utent3/DATI/var/var1/stem/trimmed/stem_var1_ref1.bam
An unrecognized argument was found: /DATA/utent3/DATI/var/var1/flower/trimmed/flower_var1_ref1.bam
我认为这是因为它没有正确读取 config.file var...
【问题讨论】: