我试图使生物信息学工作“更容易”为自己与Snakemake😊,但我的第一次尝试不幸地给我带来了问题。不幸的是,我无法在互联网上找到一个解决方案,在所有常见的平台上,将消除这个问题。因此,我认为我们的“群体智能/群体经验”可能对故障排除更有帮助😊。
我想用Snakemake自动化我的R分析:
我的Snakefile:
rule hello:
output:
filtered_file = "output.csv"
input:
script='scripts/test.r',
annotations_file="cars.csv"
shell:
"Rscript {input.script} \
--annotations_file {input.annotations_file} \
--filtered_file {output.filtered_file}"
字符集
我的脚本
library(dplyr)
annot_data=read.csv2(snakemake@input[["annotations_file"]],header=TRUE)
filtered = annot_data %>% filter(speed > 7))
write.csv2(filtered,snakemake@output[["filtered_file"]])
型
当我执行一次“试运行”时,我总是得到错误消息,即找不到“输出文件”(见下文)。第二个问题,当我运行我的脚本时,发生了一个错误,没有任何解释。你知道我做错了什么吗?或者我如何才能驯服“蛇”😊?x1c 0d1x
任何帮助都很感激。对你的帮助,我先表示感谢
最好的问候
帕夫洛
我已经尝试了各种解决方案[“从互联网”](How to execute R inside snakemake)或例如。[修改Snakefile](https://github.com/fritzbayer/snakemake-with-R)或this-不幸的是没有成功。
2条答案
按热度按时间xytpbqjk1#
这是
snakemake
的预期和正常行为,也是实际使用该软件的原因之一。Snakemake
告诉你为什么它会执行rule hello
:该规则的目的是提供输出文件output.csv
,但该文件丢失。所以snakemake
想要运行这个特定的规则来生成输出文件。jogvjijk2#
非常感谢euronion的回答,不幸的是问题出在别处。当我直接启动snakemake而不是在空运行模式下时,日志文件中显示了相同的错误,没有进一步的解释。后来我发现这是因为我的rscript的扩展名 *.r是小写的,而在互联网上的例子中 *.R是大写的。一旦我将rskript的扩展名更改为大写,一切都正常😊。显然snakefile不会看到/接受脚本测试名称中的小写扩展名。你得先知道然后想清楚😊。所以,在“蛇世界”的第一个障碍是清除,这是一个很好的感觉。
最好的问候Pavlo