首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带奇点的Snakemake

带奇点的Snakemake
EN

Stack Overflow用户
提问于 2020-02-04 02:14:11
回答 1查看 794关注 0票数 0

我正在尝试在我的Snakemake规则中使用奇点。当在本地运行我的Snakemake流水线时,这是预期的。然而,当我尝试使用sbatch提交到我的计算集群时,我遇到了错误。我想知道您是否有任何建议,关于如何将本地管道转换为可以在集群上工作的管道。提前谢谢你!

导致错误的规则使用奇点来调用带有DeepVariant的变量:

代码语言:javascript
复制
# Call variants with DeepVariant.
rule deepvariant_call:
  input:
    ref_path='/labs/jandr/walter/varcal/data/refs/{ref}.fa',
    bam='results/{samp}/bams/{samp}_{mapper}_{ref}.rmdup.bam'
  params:
    nshards='1',
    version='0.7.0'
  threads: 8
  output:
    vcf='results/{samp}/vars/{samp}_{mapper}_{ref}_deep.g.vcf.gz'
  shell:
    'singularity exec --bind /srv/gsfs0 --bind /labs/jandr/walter/ /home/kwalter/.singularity/shub/deepvariant-docker-deepvariant:0.7.0.simg \
    /labs/jandr/walter/tb/test/scripts/call_deepvariant.sh {input.ref_path} {input.bam} {params.nshards} {params.version} {output.vcf} '
#
# Error in rule deepvariant_call:
#     jobid: 17
#     output: results/T1-XX-2017-1068_S51/vars/T1-XX-2017-1068_S51_bowtie2_H37Rv_deep.g.vcf.gz
#     shell:
#         singularity exec --bind /srv/gsfs0 --bind /labs/jandr/walter/ /home/kwalter/.singularity/shub/deepvariant-docker-deepvariant:0.7.0.simg;     /labs/jandr/walter/tb/test/scripts/call_deepvariant.sh /labs/jandr/walter/varcal/data/refs/H37Rv.fa results/T1-XX-2017-1068_S51/bams/T1-XX-2017-1068_S51_bowtie2_H37Rv.rmdup.bam 1 0.7.0 results/T1-XX-2017-1068_S51/vars/T1-XX-2017-1068_S51_bowtie2_H37Rv_deep.g.vcf.gz 
#         (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

我使用以下内容向集群提交作业:

代码语言:javascript
复制
snakemake -j 128 --cluster-config cluster.json --cluster "sbatch -A {cluster.account} --mem={cluster.mem} -t {cluster.time} -c {threads}"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-04 06:39:28

从error message的resolved命令中可以看到,该错误是由shell:中的字符串格式引起的,该命令用分号分隔两行shell:,而不是空格。

您可以使用三引号格式:

代码语言:javascript
复制
  shell:
    '''
    singularity exec --bind /srv/gsfs0 --bind /labs/jandr/walter/ /home/kwalter/.singularity/shub/deepvariant-docker-deepvariant:0.7.0.simg \
    /labs/jandr/walter/tb/test/scripts/call_deepvariant.sh {input.ref_path} {input.bam} {params.nshards} {params.version} {output.vcf} 
    '''

或者,单引号中的每一行:

代码语言:javascript
复制
  shell:
    'singularity exec --bind /srv/gsfs0 --bind /labs/jandr/walter/ /home/kwalter/.singularity/shub/deepvariant-docker-deepvariant:0.7.0.simg \'
    '/labs/jandr/walter/tb/test/scripts/call_deepvariant.sh {input.ref_path} {input.bam} {params.nshards} {params.version} {output.vcf}' 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60044919

复制
相关文章

相似问题

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