从snakemake将参数传递给cwl

问题描述

我正在尝试使用snakemake执行一些cwl管道。我需要将参数传递给snakemake用来执行管道的cwltool。

cwltool有很多选项。当前,当snakemake调用它时,我能弄清楚如何传递的唯一选项是--singularity,这很容易,因为如果使用--use-singularity标志调用snakemake,它将自动将其插入到cwltool。

snakemake --jobs 999 --printshellcmds --rerun-incomplete --use-singularity 
Building DAG of jobs...
Using shell: /usr/bin/bash
Provided cores: 999
Rules claiming more threads will be scaled down.
Job counts:
        count   jobs
        1       align
        1

[Tue Aug 11 06:55:18 2020]
rule align:
    input: /project/uoa00571/projects/rapidAutopsy/data/raw/dna_batch2/BA1_1.fastq.gz,/nesi/project/uoa00571/projects/rapidAutopsy/data/raw/dna_batch2/BA1_2.fastq.gz
    output: /nobackup/uoa00571/data/intermediate/rapidAutopsy/BA1.unaligned.bam
    jobid: 0
    threads: 8

cwltool --singularity file:/project/uoa00571/projects/rapidAutopsy/src/gridss/gridssAlignment.cwl /tmp/tmpfgsz5uvr

不幸的是,我不知道如何向cwltool调用中添加其他参数。当snakemake调用cwl工具时,它似乎没有传递到工作目录中,所以如果我这样做了:

snakemake --jobs 999 --printshellcmds   --rerun-incomplete  --use-singularity --directory "/nesi/nobackup/uoa00571/data/intermediate/rapidAutopsy/"

奇异性似乎不是在指定目录中放置中间文件,而是在/ tmp目录中为中间文件绑定了一个目录,该中间文件在我正在使用的系统上还不够大,导致超出了磁盘配额错误。

singularity \
    --quiet \
    exec \
    --contain \
    --pid \
    --ipc \
    --home \
    /tmp/xq5co13r:/sSyVnR \
    --bind \
    /tmp/vbjabhqx:/tmp:rw \

或者至少,我认为这是正在发生的事情。如果我使用cwltool运行cwl管道,我可以添加--cacheDir选项,并且该管道将运行到完成,因此,如果可能的话,我希望能够将它从snakemake传递给cwltool调用? >

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...