1

我有一个 conda 环境,其中安装了包括 bcftools 在内的软件包。我正在使用bcftools stats为我的 VCF 文件生成一些统计信息。然后,我想使用同样来自 bcftools的 plot-vcfstats绘制生成的统计信息。但是,当我在我的 conda 环境中安装 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'!

4

1 回答 1

1

好像乱七八糟的。这个公开问题中的一些评论暗示康达的texlive-core坏了,但并不清楚那里有权威的回应。

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

mamba create -n vcfstats bcftools vcftools python matplotlib numpy tectonic

然后使用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在 PATH 下有一个,如果存在/usr/local/bin/pdflatexplot-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'; }
}

对于还没有pdflatexPATH 的用户,单独使用 Condatectonic包应该可以开箱即用。例如,这似乎是Galaxybcftools stats在其容器中运行它的方式。

于 2021-10-22T04:24:58.193 回答