On some systems (especially when running the Peptonizer in a Docker container), snakemake crashes with the following error:
pulp.apis.core.PulpSolverError: Pulp: Error while trying to execute, use msg=True for more details
This error is due to a specific version of the coincbc solver package that's being used by Snakemake and Pulp that's corrupt on these systems. You can verify that this is indeed the issue by running cbc in the terminal. If it returns segmentation fault, it means that it is corrupt.
If you encounter this issue, you can overcome the problem by installing coincbc directly from the Ubuntu package repository (or the package repository applicable to your system). More concrete, follow these steps:
- Run
sudo apt update
- Run
sudo apt install coinor-cbc=2.10.7+ds1-1 coinor-libcbc-dev=2.10.7+ds1-1
- Make sure that the Peptonizer conda environment is active (run
conda activate peptonizer if not). At this point, you should have also followed all the steps on how to install the Peptonizer that can be found in the README.
- Check the path in which
cbc is installed: which cbc. Copy this path. By default, it should be /opt/conda/envs/peptonizer/bin/cbc.
- Replace the corrupt
cbc executable used by snakemake with the system-wide executable you installed with apt by running rm /opt/conda/envs/peptonizer/bin/cbc && ln -s /usr/bin/cbc /opt/conda/envs/peptonizer/bin/cbc.
- That's it!
On some systems (especially when running the Peptonizer in a Docker container), snakemake crashes with the following error:
This error is due to a specific version of the
coincbcsolver package that's being used by Snakemake and Pulp that's corrupt on these systems. You can verify that this is indeed the issue by runningcbcin the terminal. If it returnssegmentation fault, it means that it is corrupt.If you encounter this issue, you can overcome the problem by installing
coincbcdirectly from the Ubuntu package repository (or the package repository applicable to your system). More concrete, follow these steps:sudo apt updatesudo apt install coinor-cbc=2.10.7+ds1-1 coinor-libcbc-dev=2.10.7+ds1-1conda activate peptonizerif not). At this point, you should have also followed all the steps on how to install the Peptonizer that can be found in the README.cbcis installed:which cbc. Copy this path. By default, it should be/opt/conda/envs/peptonizer/bin/cbc.cbcexecutable used by snakemake with the system-wide executable you installed withaptby runningrm /opt/conda/envs/peptonizer/bin/cbc && ln -s /usr/bin/cbc /opt/conda/envs/peptonizer/bin/cbc.