conda 环境中的依赖 plot-vcfstats

Dependencies plot-vcfstats in conda environment

我有一个 conda 环境,其中安装了包括 bcftools 在内的软件包。我正在使用 bcftools stats to generate some stats on my VCF files. Then, I want to plot the generated stats using plot-vcfstats,也是来自 bcftools。然而,当我在我的 conda env 中安装 bcftools 时,这个命令结果依赖于某些没有安装的包。我在 运行 plot-vcfstats:

时得到的输出
Parsing bcftools stats output: test.txt
Plotting graphs: python3 plot.py
Traceback (most recent call last):
  File "plot.py", line 54, in <module>
    import matplotlib as mpl
ModuleNotFoundError: No module named 'matplotlib'
The command exited with non-zero status 256:
        python3 plot.py

matplotlib可以使用conda轻松安装,所以我这样做了,但是出现了以下错误:

Parsing bcftools stats output: test.txt
Plotting graphs: python3 plot.py
Neither pdflatex or tectonic were found in your PATH, impossible to create a PDF at /home/nick/miniconda3/envs/variantcallingpipeline/bin/plot-vcfstats line 112.
        main::error("Neither pdflatex or tectonic were found in your PATH, impossi"...) called at /home/nick/miniconda3/envs/variantcallingpipeline/bin/plot-vcfstats line 1934
        main::create_pdf(HASH(0x7fffc2f047b0)) called at /home/nick/miniconda3/envs/variantcallingpipeline/bin/plot-vcfstats line 73

但是,我找不到安装 pdflatextectonic 依赖项的简单方法,甚至可能需要更多依赖项。所以,我想知道是否有一种简单的方法来安装 plot-vcfstats(或任何工具)的所有必需依赖项,以及是否可以使用 conda.

编辑:我刚刚尝试通过以下方式安装 pdflatextectonic

conda install -c conda-forge texlive-core

并将错误更改为:

Parsing bcftools stats output: test.txt
Plotting graphs: python3 plot.py
Note: The xcolor.sty package not available, black and white tables only...

Creating PDF: pdflatex summary.tex >plot-vcfstats.log 2>&1
The command exited with non-zero status, please consult the output of pdflatex: .plot-vcfstats.log

 at /home/nick/miniconda3/envs/test/bin/plot-vcfstats line 112.
        main::error("The command exited with non-zero status, please consult the o"...) called at /home/nick/miniconda3/envs/test/bin/plot-vcfstats line 2206
        main::create_pdf(HASH(0x7fffd8101f90)) called at /home/nick/miniconda3/envs/test/bin/plot-vcfstats line 73

日志文件包含以下内容:

This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex)
 restricted \write18 enabled.

kpathsea: Running mktexfmt pdflatex.fmt
Can't locate mktexlsr.pl in @INC (@INC contains: /home/nick/miniconda3/envs/test/share/tlpkg /home/nick/miniconda3/envs/test/share/texmf-dist/scripts/texlive /home/nick/.t_coffee/perl/lib/perl5 /home/nick/.t_coffee/perl/lib/perl5 /home/nick/miniconda3/envs/test/lib/perl5/5.32/site_perl /home/nick/miniconda3/envs/test/lib/perl5/site_perl /home/nick/miniconda3/envs/test/lib/perl5/5.32/vendor_perl /home/nick/miniconda3/envs/test/lib/perl5/vendor_perl /home/nick/miniconda3/envs/test/lib/perl5/5.32/core_perl /home/nick/miniconda3/envs/test/lib/perl5/core_perl .) at /home/nick/miniconda3/envs/test/bin/mktexfmt line 23.
BEGIN failed--compilation aborted at /home/nick/miniconda3/envs/test/bin/mktexfmt line 25.
I can't find the format file `pdflatex.fmt'!

看起来一团糟。 this open issue 中的一些评论暗示 Conda 的 texlive-core 已损坏,但不太清楚那里是否有权威响应。

osx-64平台上,我可以通过环境获得半功能:

mamba create -n vcfstats bcftools vcftools python matplotlib numpy tectonic

然后运行ning,用一个test.vcf,

conda activate vcfstats

bcftools stats test.vcf > test.vchk

plot-vcfstats -p outdir test.vchk
## this fails with complaints about pdflatex, but continuing...

cd outdir
tectonic summary.tex
## then renders the pdf without issue

我的失败可能对我来说是独一无二的,因为路径上有一个 pdflatex,在 /usr/local/bin/pdflatex 下并且 plot-vcfstats 代码优先 pdflatex 如果存在.那就是它使用这个代码:

my $engine = '';
system('command -v pdflatex >/dev/null');
if ($? == 0) { $engine = 'pdflatex'; }
else
{
   system('command -v tectonic >/dev/null');
   if ($? == 0) { $engine = 'tectonic'; }
}

对于在 PATH 上还没有 pdflatex 的用户,单独使用 Conda tectonic 包应该开箱即用。例如,这似乎是 what Galaxy uses 到 运行 bcftools stats 它在它的容器中。