Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tb-profiler installation broken due to transitive dependency on boost-cpp #48755

Closed
dfornika opened this issue Jun 26, 2024 · 0 comments · Fixed by #48756
Closed

tb-profiler installation broken due to transitive dependency on boost-cpp #48755

dfornika opened this issue Jun 26, 2024 · 0 comments · Fixed by #48756

Comments

@dfornika
Copy link
Contributor

dfornika commented Jun 26, 2024

When running tb-profiler v6.2.1, installed in a fresh conda env using this command:

conda create -n tb-profiler-6.2.1-test tb-profiler=6.2.1

...we see this error when running tb-profiler profile

[09:54:04] INFO     Running delly
bam.py:88           
ERROR    delly: error while loading shared libraries: libboost_iostreams.so.1.85.0: cannot open shared object file: No such file or directory
utils.py:485 
                                                                                                                                                                                                                                           Traceback (most recent call last):
  File "envs/tb-profiler-6.2.1-test/bin/tb-profiler", line 587, in <module>
    args.func(args)
  File "envs/tb-profiler-6.2.1-test/bin/tb-profiler", line 101, in main_profile
    variants_profile = pp.run_profiler(args)                                                                                                                    ^^^^^^^^^^^^^^^^^^^^^
File "envs/tb-profiler-6.2.1-test/lib/python3.12/site-packages/pathogenprofiler/cli.py", line 192, in run_profiler 
    get_vcf_file(args)
  File "envs/tb-profiler-6.2.1-test/lib/python3.12/site-packages/pathogenprofiler/cli.py", line 174, in get_vcf_file
    args.vcf = get_vcf_from_bam(args)                                                                                                            ^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                                                         File "envs/tb-profiler-6.2.1-test/lib/python3.12/site-packages/pathogenprofiler/cli.py", line 154, in get_vcf_from_bam                                                                                                  delly_vcf_obj = bam.run_delly(conf['bed'])                                                                                                                                                                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                                                File "envs/tb-profiler-6.2.1-test/lib/python3.12/site-packages/pathogenprofiler/bam.py", line 91, in run_delly                                                                                                          run_cmd("delly call -t DEL -g %(ref_file)s %(bam_file)s -o %(prefix)s.delly.bcf" % vars(self))                                                                                                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                            File "envs/tb-profiler-6.2.1-test/lib/python3.12/site-packages/pathogenprofiler/utils.py", line 486, in run_cmd                                                                                                         raise ValueError("Command Failed:\n%s\nstderr:\n%s" % (cmd,result.stderr.decode()))
ValueError: Command Failed:
/bin/bash -c set -o pipefail; delly call -t DEL -g envs/tb-profiler-6.2.1-test/share/tbprofiler/tbdb.fasta test_output/9b599f3e-e9e4-422f-bf43-5175a38a0ddc.bam -o test_output/9b599f3e-e9e4-422f-bf43-5175a38a0ddc.delly.bcf
stderr:
delly: error while loading shared libraries: libboost_iostreams.so.1.85.0: cannot open shared object file: No such file or directory

(forgive the formatting... I had to manually re-format that message)

I can see that boost-cpp is included in the test env, but we boost-cpp 1.78.0:

conda list                                                                                                                                                                                                                                # packages in environment at envs/tb-profiler-6.2.1-test:                                                                                  # 
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
alsa-lib                  1.2.11               hd590300_1    conda-forge
annotated-types           0.7.0              pyhd8ed1ab_0    conda-forge
attr                      2.5.1                h166bdaf_1    conda-forge
bcftools                  1.20                 h8b25389_0    bioconda
bedtools                  2.31.1               hf5e1c6e_1    bioconda
bitstring                 3.1.9              pyhd8ed1ab_0    conda-forge
boost-cpp                 1.78.0               h2c5509c_4    conda-forge
brotli                    1.1.0                hd590300_1    conda-forge

...so if I'm interpreting this right, we should pin boost-cpp to v1.85.0 on the delly recipe. I'm not sure if there's a more permissive way to define that pin that would still ensure compatibility.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant