google / deepsomatic

DeepSomatic is an analysis pipeline that uses a deep neural network to call somatic variants from tumor-normal and tumor-only sequencing data.
BSD 3-Clause "New" or "Revised" License
145 stars 15 forks source link

version 1.7.0 run failed #26

Closed DayTimeMouse closed 1 month ago

DayTimeMouse commented 2 months ago

Hi,

I installed deepsomatic 1.7.0(python 3.10.12), but run failed. The log is below:

2024-09-25 13:03:51.979669: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 AVX512F AVX512_VNNI FMA To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. 2024-09-25 13:03:52.113600: I tensorflow/core/util/port.cc:104] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable TF_ENABLE_ONEDNN_OPTS=0. 2024-09-25 13:03:52.118211: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory 2024-09-25 13:03:52.118229: I tensorflow/compiler/xla/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. OpenBLAS blas_thread_init: pthread_create failed for thread 1 of 64: Operation not permitted OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max OpenBLAS blas_thread_init: pthread_create failed for thread 2 of 64: Operation not permitted OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max OpenBLAS blas_thread_init: pthread_create failed for thread 3 of 64: Operation not permitted OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max OpenBLAS blas_thread_init: pthread_create failed for thread 4 of 64: Operation not permitted OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max OpenBLAS blas_thread_init: pthread_create failed for thread 5 of 64: Operation not permitted OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max ... OpenBLAS blas_thread_init: pthread_create failed for thread 63 of 64: Operation not permitted OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/numpy/core/init.py", line 23, in from . import multiarray File "/usr/local/lib/python3.10/dist-packages/numpy/core/multiarray.py", line 10, in from . import overrides File "/usr/local/lib/python3.10/dist-packages/numpy/core/overrides.py", line 6, in from numpy.core._multiarray_umath import ( ImportError: PyCapsule_Import could not import module "datetime"

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/deepvariant/bin/deepsomatic/run_deepsomatic.py", line 48, in import tensorflow as tf File "/usr/local/lib/python3.10/dist-packages/tensorflow/init.py", line 37, in from tensorflow.python.tools import module_util as _module_util File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/init.py", line 37, in from tensorflow.python.eager import context File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/eager/context.py", line 26, in import numpy as np File "/usr/local/lib/python3.10/dist-packages/numpy/init.py", line 141, in from . import core File "/usr/local/lib/python3.10/dist-packages/numpy/core/init.py", line 49, in raise ImportError(msg) ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for many reasons, often due to issues with your setup or how NumPy was installed.

We have compiled some common reasons and troubleshooting tips at:

https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

and make sure that they are the versions you expect. Please carefully study the documentation linked above for further help.

Original error was: PyCapsule_Import could not import module "datetime"

kishwarshafin commented 2 months ago

@DayTimeMouse ,

Are you installing DeepSomatic on your system? The standard way would be to use Docker or Singularity if you have those options available. If not, can you paste how you are trying to install it?

DayTimeMouse commented 2 months ago

@kishwarshafin

The run script is below: OUTPUT_DIR="/home/work/variant/snv/deepsomatic/hifi/dv_output_somatic" INPUT_DIR="/home/work/variant/snv/deepsomatic/hifi/dv_input" mkdir -p "${OUTPUT_DIR}" BIN_VERSION="1.7.0" docker run \ -v "${INPUT_DIR}":"/input" \ -v "${OUTPUT_DIR}:/output" \ dhub.kubesre.xyz/google/deepsomatic:"${BIN_VERSION}" \ run_deepsomatic \ --model_type=PACBIO \ --ref=/input/GRCh38.primary_assembly.genome.fa \ --reads_normal=/input/hifi_normal_pbmm2.bam \ --reads_tumor=/input/hifi_tumor_pbmm2.bam \ --output_vcf=/output/somatic_output_vcf.gz \ --output_gvcf=/output/somatic_output_g.vcf.gz \ --sample_name_tumor="tumor" \ --sample_name_normal="normal" \ --num_shards=48 \ --logging_dir=/output/logs \ --intermediate_results_dir=/output/intermediate_results_dir

docker images image

Should I have successfully installed deepsomatic?

kishwarshafin commented 2 months ago

@DayTimeMouse ,

Hm, I am a bit confused here. Although you are running from docker, the libraries are referring to your local installs. Can you run these two commands on your system and tell me what the output is:

docker --version
# Run this one separately, I want to see if you somehow installed this binary in your system:
run_deepsomatic
DayTimeMouse commented 2 months ago

Hi kishwarshafin,

docker --version
Docker version 18.03.1-ce, build 9ee9f40

# Run this one separately
run_deepsomatic
bash: run_deepsomatic: Command Not Found...

# Run full deepsomatic v.1.7.0
docker run dhub.kubesre.xyz/google/deepsomatic:"1.7.0" run_deepsomatic --helpfull
It occured the same error, which is what I above said.

# Run deepsomatic v.1.6.1
docker run google/deepsomatic:"1.6.1" run_deepsomatic --helpfull
It does well.

Maybe I didn't install v.1.7.0 well, and v.1.6.1 is enough to call snv? But I prefer to use latest version. How can I solve this?

pichuan commented 2 months ago

@DayTimeMouse Can you try:

docker run google/deepsomatic:"1.7.0" run_deepsomatic --helpfull

The official version is at google/deepsomatic. I'm not sure why you're pulling from dhub.kubesre.xyz/google/deepsomatic. Note that is NOT an official version we provided.

DayTimeMouse commented 2 months ago

Because of some reason, I can't pull images use dockhub directly. Or do you have a sif file for singularity? So I can use it for analysis.

pichuan commented 2 months ago

Hi @DayTimeMouse , because you mentioned:

# Run deepsomatic v.1.6.1
docker run google/deepsomatic:"1.6.1" run_deepsomatic --helpfull
It does well.

So I thought you should be able to get from DockerHub. If for some reason you can't pull images from DockerHub, please try this instead:

docker pull gcr.io/deepvariant-docker/deepvariant:deepsomatic-1.7.0
DayTimeMouse commented 1 month ago

Hi @pichuan,

This issue may be due to the incompatibility between Python and NumPy versions. I would like to know which versions of Python and NumPy are used in deepsomatic (v1.7.0)?

I think this image is pulled successfully for me. When I run docker run -it google/deepsomatic:1.7.0 /bin/bash,then enter python: run import numpy, it occurs:

Traceback (most recent call last):
File "/opt/deepvariant/bin/deepsomatic/run_deepsomatic.py", line 48, in
import tensorflow as tf
File "/usr/local/lib/python3.10/dist-packages/tensorflow/init.py", line 37, in
from tensorflow.python.tools import module_util as _module_util
File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/init.py", line 37, in
from tensorflow.python.eager import context
File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/eager/context.py", line 26, in
import numpy as np
File "/usr/local/lib/python3.10/dist-packages/numpy/init.py", line 141, in
from . import core
File "/usr/local/lib/python3.10/dist-packages/numpy/core/init.py", line 49, in
raise ImportError(msg)
ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:

The Python version is: Python3.10 from "/usr/bin/python3"
The NumPy version is: "1.24.3"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: PyCapsule_Import could not import module "datetime"
pichuan commented 1 month ago

Hi @DayTimeMouse , for v1.7.0, I believe the numpy version is 1.21.2

According to https://github.com/google/deepvariant/blob/r1.7/settings.sh#L89 and https://github.com/google/deepvariant/blob/r1.7/run-prereq.sh#L129.

Tagging @kishwarshafin in case this isn't right.