再現性を確保するために、環境を使用snakemake
してパイプラインを構築しています。プロットのテキストが長方形に置き換えられるというエラーが発生します
conda
singularity
conda
Linux および 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 を使用してテキストを正しく描画するには、どのパッケージ/ライブラリが欠けている可能性がありますか?