如何解决使用“ snakemake --config”传递字符串列表
尝试通过--config
参数将两个字符串列表传递到Snakemake工作流程时遇到问题。
我的config.yaml包含一个带有两个字符串的列表变量。
illumination_input:[“ sample1 / forward.fastq”,“ sample1 / reverse.fastq”]
当我使用Snakemake更改此YAML文件中的值时,此方法正常工作。
现在,我想使用一个shell脚本运行一批多个Snakemake运行,每个运行都提供不同的Illumina配对末端读取以供使用。我目前仅根据一条规则进行测试。
示例:
snakemake --config \
outdir=testoutputfolder/ \
illumina_input=["sample1/forward.fastq","sample1/reverse.fastq"] -r short_read_trimming
snakemake --config \
outdir=testoutputfolder/ \
illumina_input=["sample2/forward.fastq","sample2/reverse.fastq"] -r short_read_trimming
Snakefile的一部分
rule all:
input:
config["outdir"] + "reference-data-shortreads/trimmed/illumina1_trimmed_paired.fq",config["outdir"] + "reference-data-shortreads/trimmed/illumina2_trimmed_paired.fq"
rule short_read_trimming:
input:
config["illumina_input"]
output:
[config["outdir"] + "reference-data-shortreads/trimmed/illumina1_trimmed_paired.fq",config["outdir"] + "reference-data-shortreads/trimmed/illumina2_trimmed_paired.fq"]
shell:
"java -jar {config[trimmomatic_loc]} PE {input[0]} {input[1]} \
{config[outdir]}reference-data-shortreads/trimmed/illumina1_trimmed_paired.fq {config[outdir]}reference-data-shortreads/trimmed/illumina1_trimmed_unpaired.fq \
{config[outdir]}reference-data-shortreads/trimmed/illumina2_trimmed_paired.fq {config[outdir]}reference-data-shortreads/trimmed/illumina2_trimmed_unpaired.fq \
{config[trimmomatic_params]}"
当我尝试运行此代码时,出现以下错误
Invalid config definition: Config entries have to be defined as name=value pairs.
我似乎无法弄清楚如何通过命令行为Snakemake配置提供列表。我试图去掉括号和逗号,并用空格代替它们,但似乎无济于事。
有人有什么主意吗?
解决方法
快要删除列表中各项之间的空格!
snakemake --config \
outdir=testoutputfolder/ \
illumina_input=["sample2/forward.fastq","sample2/reverse.fastq"]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。