有没有办法让snakemake在输入丢失的情况下表现得像make一样?snakemake当前的行为是bug还是一个特性? $ ls
b Makefile Snakefile
$ cat Makefile
b: a
touch b
a:
touch a
$ make -n
touch a
touch b
$ cat Snakefile
rule b:
input: "a"
output: touch("b")
rule a:
output: touch("a")
$ snakemake -n
B
我有一个简单的Snakefile,我有一个使用YAML配置文件中定义的Conda环境的规则。
但是,在运行此Snakefile时,Snakemake不激活Conda环境,并返回此错误:
Error in rule read_file:
jobid: 0
conda-env: /data/projects/testproject/.snakemake/conda/805d8d2a
RuleException:
CalledProcessError in line 5 of /data/projects/testproject/scripts/snake/proc
关于snakemake
我得到了
Building DAG of jobs...
Nothing to be done.
如果我试着
snakemake -n dag
我得到了
Building DAG of jobs...
MissingRuleException:
No rule to produce dag (if you use input functions make sure that they don't raise unexpected exceptions).
我不知道问题出在哪里。
我的主要snake文件:
configfile: "config_rules
我发现输出为'BAM未排序‘。
Q1:有没有办法将其更改为:
-outSAMtype SortedByCoordinate
当我在“额外”选项中添加该选项时,会收到关于重复定义的错误消息:
EXITING: FATAL INPUT ERROR: duplicate parameter "outSAMtype" in input "Command-Line"
SOLUTION: keep only one definition of input parameters in each input source
Nov 15 09:46:07 ...
因此,当我在我的snakemake管道中运行flye之后,运行其他程序时,我会遇到一个问题。这是因为flye的输出是一个目录。我的规则如下:
samples, = glob_wildcards("data/samples/{sample}.fastq")
rule all:
input:
[f"assembled/" for sample in samples],
[f"nanopolish/draft.fa" for sample in samples],
[f"nanopolish/reads.sor
我已经在snakemake中创建了一个工作流,当我只想运行一个规则时,我遇到了一个问题。实际上,它为我运行规则,其中的输出是我的规则的输入,即使这些规则之前已经创建过。
示例:
rule A:
input A
output A
rule b:
input b = output A
output b
rule c:
input c = output b
output c
我怎么能只运行规则C呢?