首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在snakemake中为多个输入和单个输出创建多个参数。ConbineGVCFs gatk问题

在snakemake中为多个输入和单个输出创建多个参数。ConbineGVCFs gatk问题
EN

Stack Overflow用户
提问于 2021-09-16 13:35:48
回答 1查看 57关注 0票数 2

我在gatk4中为CombineGVCF写了一条规则。规则如下

代码语言:javascript
复制
all_gvcf = get_all_gvcf_list()

rule cohort:
  input:
    all_gvcf_list = all_gvcf,
    ref="/data/refgenome/hg38.fa",
    interval_list = prefix+"/bedfiles/hg38.interval_list",
  params:
    extra = "--variant",
  output:
    prefix+"/vcf/cohort.g.vcf",
  shell:
    "gatk CombineGVCFs -R {input.ref} {params.extra} {input.all_gvcf_list} -O {output} --tmp-dir=/data/tmp -L {input.interval_list}"

all_gvcf是将被组合的所有gvcf文件的数据集。但问题是,我需要在每次输入之前添加--变量参数。我现在得到的命令如下所示

代码语言:javascript
复制
gatk CombineGVCFs -R /data/refgenome/hg38.fa --variant /data/prjna644607/vcf/SRR12165216_HC.g.vcf /data/prjna644607/vcf/SRR12165217_HC.g.vcf /data/prjna644607/vcf/SRR12165218_HC.g.vcf /data/prjna644607/vcf/SRR12165219_HC.g.vcf -O /data/prjna644607/vcf/cohort.g.vcf --tmp-dir=/data/tmp -L /data/prjna644607/bedfiles/hg38.interval_list

我想要实现的命令如下

代码语言:javascript
复制
gatk CombineGVCFs -R /data/refgenome/hg38.fa --variant /data/prjna644607/vcf/SRR12165216_HC.g.vcf --variant /data/prjna644607/vcf/SRR12165217_HC.g.vcf --variant /data/prjna644607/vcf/SRR12165218_HC.g.vcf --variant /data/prjna644607/vcf/SRR12165219_HC.g.vcf -O /data/prjna644607/vcf/cohort.g.vcf --tmp-dir=/data/tmp -L /data/prjna644607/bedfiles/hg38.interval_list

如何在每次输入前添加这个额外的"--variant“标记?我已将其添加到get_all_gvcf_list()函数中。但是snakmake给我的输入文件找不到问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-16 17:18:48

找到了问题所在。原来我可以像下面这样写一个lambda函数

代码语言:javascript
复制
params:
        extra=lambda wildcards, input: ' -V '.join(input.all_gvcf_list)

并在{params.extra}前添加'-V‘。这就解决了问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69209459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档