我正在构建一个使用snakemake
和使用环境的管道conda
,singularity
以确保可重复性。我遇到了一个错误,我的地块上的文本被矩形替换
在 Linux 和 Mac 系统上试验管道并禁用奇异容器后,问题似乎源于缺少字体库,因为当我在 Mac 上仅使用conda
( ) 运行管道时,文本绘制正常。--use-conda
奇点容器是从这个使用 Debian GNU/Linux的miniconda docker镜像构建的。我设法创建了一个不会绘制文本的最小示例管道。
# Snakefile
singularity: "docker://continuumio/miniconda3"
rule all:
input:
"mtcars-plot.png"
rule plot_mtcars:
output:
"mtcars-plot.png"
conda:
"minimal.yaml"
script:
"mtcars-test.R"
# mtcars-test.R
library(ggplot2)
png("mtcars-plot.png")
ggplot(mtcars, aes(factor(cyl), mpg)) + geom_boxplot()
dev.off()
# minimal.yaml
channels:
- bioconda
- conda-forge
- defaults
dependencies:
- r-base =3.6
- r-ggplot2
要绘制断线图,请运行管道
snakemake --use-conda --use-singularity
在 Debian GNU/Linux 上使用 R 正确绘制文本可能会缺少哪些包/库?