Я строю конвейер с snakemake
и использую среды conda
и singularity
для обеспечения воспроизводимости. Я сталкиваюсь с ошибкой, когда текст на моих графиках заменяется прямоугольниками
После экспериментов с конвейером в системах Linux и Ma c и отключения контейнера сингулярности Похоже, что проблема связана с отсутствующей библиотекой шрифтов, так как текст рисуется нормально, когда я только запускаю конвейер, используя только conda
(--use-conda
) на моем Ma c.
Контейнер сингулярности построен из этого образа миниконды docker, использующего Debian GNU / Linux. Мне удалось создать минимальный примерный конвейер, где текст не прорисовывается.
# 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
Какие пакеты / библиотеки мне не хватает, чтобы правильно рисовать текст с помощью R в Debian GNU / Linux?