5

再現性を確保するために、環境を使用snakemakeしてパイプラインを構築しています。プロットのテキストが長方形に置き換えられるというエラーが発生します condasingularityここに画像の説明を入力

condaLinux および Mac システムでパイプラインを試し、特異点コンテナーを無効にした後、Mac で( )のみを使用してパイプラインのみを実行すると、テキストが正常に描画されるため、フォント ライブラリが見つからないことが問題の原因であることがわかりました--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 を使用してテキストを正しく描画するには、どのパッケージ/ライブラリが欠けている可能性がありますか?

4

1 に答える 1