首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >集群错误上的Snakemake:“通配符”对象没有属性“输出”

集群错误上的Snakemake:“通配符”对象没有属性“输出”
EN

Stack Overflow用户
提问于 2022-01-07 02:14:10
回答 1查看 154关注 0票数 0

当我将Snakemake提交到我的集群时,我遇到了一个‘通配符’对象没有属性'output‘的错误,类似于前面的问题'Wildcards' object has no attribute 'output'。我想知道您是否对如何使其与集群兼容有任何建议?

虽然我的规则annotate_snps在本地测试时有效,但我在集群上得到了以下错误:

代码语言:javascript
复制
    input: results/CI226380_S4/vars/CI226380_S4_bwa_H37Rv_gatk.vcf.gz
    output: results/CI226380_S4/vars/CI226380_S4_bwa_H37Rv_gatk_rename.vcf.gz, results/CI226380_S4/vars/CI226380_S4_bwa_H37Rv_gatk_tmp.vcf.gz, results/CI226380_S4/vars/CI226380_S4_bwa_H37Rv_gatk_ann.vcf.gz
    log: results/CI226380_S4/vars/CI226380_S4_bwa_H37Rv_annotate_snps.log
    jobid: 1139
    wildcards: samp=CI226380_S4, mapper=bwa, ref=H37Rv

WorkflowError in line 173 of /oak/stanford/scg/lab_jandr/walter/tb/mtb/workflow/Snakefile:
'Wildcards' object has no attribute 'output'

我的规则被定义为:

代码语言:javascript
复制
rule annotate_snps: 
  input:
    vcf='results/{samp}/vars/{samp}_{mapper}_{ref}_gatk.vcf.gz'
  log: 
    'results/{samp}/vars/{samp}_{mapper}_{ref}_annotate_snps.log'
  output:
    rename_vcf=temp('results/{samp}/vars/{samp}_{mapper}_{ref}_gatk_rename.vcf.gz'),
    tmp_vcf=temp('results/{samp}/vars/{samp}_{mapper}_{ref}_gatk_tmp.vcf.gz'),
    ann_vcf='results/{samp}/vars/{samp}_{mapper}_{ref}_gatk_ann.vcf.gz'
  params: 
    bed=config['bed_path'],
    vcf_header=config['vcf_header']
  shell:
    '''
    # Rename Chromosome to be consistent with snpEff/Ensembl genomes.
    zcat {input.vcf}| sed 's/NC_000962.3/Chromosome/g' | bgzip > {output.rename_vcf}
    tabix {output.rename_vcf}

    # Run snpEff
    java -jar -Xmx8g {config[snpeff]} eff {config[snpeff_db]} {output.rename_vcf} -dataDir {config[snpeff_datapath]} -noStats -no-downstream -no-upstream -canon > {output.tmp_vcf}

    # Also use bed file to annotate vcf
    bcftools annotate -a {params.bed} -h {params.vcf_header} -c CHROM,FROM,TO,FORMAT/PPE {output.tmp_vcf} > {output.ann_vcf}

    '''

提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-11 14:29:59

除了对config内容的多次调用(例如config[snpeff] )之外,原始规则定义似乎是一致的。

要检查的一件事是,单个计算机上和集群上的配置定义是否相同,如果没有,可能会有一些内容使snakemake感到困惑,例如,如果config[snpeff] == "wildcards.output" (或类似的内容)。

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

https://stackoverflow.com/questions/70615842

复制
相关文章

相似问题

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