To preserve wildcards while expanding a dictionary in Snakemake, you can use the expand
function with the wildcards
parameter. Here's an example:
rule example:
input:
"input/{sample}/file_{num}.txt"
output:
"output/{sample}/result_{num}.out"
params:
param_dict=lambda wildcards: {"sample": wildcards.sample, "num": wildcards.num}
shell:
"command --input {input} --output {output} --params {params}"
expanded_inputs = expand("input/{sample}/file_{num}.txt", sample=["A", "B"], num=[1, 2])
expanded_outputs = expand("output/{sample}/result_{num}.out", wildcards, sample=["A", "B"], num=[1, 2])
params_dict = {"sample": "{sample}", "num": "{num}"}
rule example:
input:
input=expanded_inputs
output:
output=expanded_outputs
params:
params_dict=params_dict
shell:
"command --input {input} --output {output} --params {params}"
In this example, we use the expand
function to generate the input and output file paths with wildcards. We then pass the wildcards
object into the expand
function for the output paths, which preserves the values of the wildcards. Finally, we use a params_dict
dictionary to pass the values of the sample
and num
wildcards as parameters to the shell command.
Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss
Asked: 2023-02-13 11:00:00 +0000
Seen: 7 times
Last updated: Nov 04 '22
What is the process for installing SASS/Compass in the DDEV web container?
Is it possible to create and execute a file without having to type the file name twice?
How can you obtain the sha1 of the most recent commit in a git repository using C#?
What is the process for initializing Java UDFs in Spark?
How can I use crontab to initiate and modify the libcamera-vid RTSP stream on my Raspberry Pi?
Is it possible to repair a file within a docker container that has failed to start?
What is an effective way to edit HTML strings using PowerShell?