XiaoTaoWang / EagleC

A deep-learning framework for predicting a full range of structural variations from bulk and single-cell contact maps
Other
52 stars 8 forks source link

No module named 'eaglec.scoreUtils' #9

Open guandailu opened 2 years ago

guandailu commented 2 years ago

I install the package using pip isntall eaglec, it's ok when i run predictSV -h. It has issues when I run on my data: predictSV --hic-5k 1881_BME.mcool::/resolutions/5000 --hic-10k 1881_BME.mcool::/resolutions/10000 --hic-50k 1881_BME.mcool::/resolutions/50000 -O SK-N-AS -g other --balance-type CNV --output-format full --prob-cutoff-5k 0.8 --prob-cutoff-10k 0.8 --prob-cutoff-50k 0.99999

The error is below: root INFO @ 07/26/22 14:34:12:

ARGUMENT LIST:

Cool URI at 5kb = 1881_BME.mcool::/resolutions/5000

Cool URI at 10kb = 1881_BME.mcool::/resolutions/10000

Cool URI at 50kb = 1881_BME.mcool::/resolutions/50000

Balance Type = CNV

Reference Genome = other

Included Chromosomes = ['#', 'X']

Probability Cutoff for 5kb SVs = 0.8

Probability Cutoff for 10kb SVs = 0.8

Probability Cutoff for 50kb SVs = 0.99999

Output File Prefix = SK-N-AS

Output Format = full

Log file name = eaglec.log

root INFO @ 07/26/22 14:34:12: Predict SVs at 5kb resolution ... Traceback (most recent call last): File "/home/dguan/.local/bin/predictSV-single-resolution", line 276, in run() File "/home/dguan/.local/bin/predictSV-single-resolution", line 110, in run from eaglec.scoreUtils import intraPredict, interPredict ModuleNotFoundError: No module named 'eaglec.scoreUtils' Traceback (most recent call last): File "/home/dguan/.local/bin/predictSV", line 176, in run() File "/home/dguan/.local/bin/predictSV", line 112, in run subprocess.check_call(' '.join(command), shell=True) File "/share/apps/python3/lib/python3.6/subprocess.py", line 291, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command 'predictSV-single-resolution -H 1881_BME.mcool::/resolutions/5000 --balance-type CNV -O SK-N-AS.CNN_SVs.5K.txt --genome other --output-format full -C "#" "X" --prob-cutoff 0.8 --logFile eaglec.log' returned non-zero exit status 1.

Can you help check what happen? Thanks so much!

XiaoTaoWang commented 2 years ago

Hi, based on you error message, I think you didn't install EagleC successfully. Could you open a python interpreter, execute the following commands, and let me know your results?

>>> import eaglec
>>> print(eaglec.__file__)
guandailu commented 2 years ago

I try with your advice, see details below:

(EagleC) dguan@farm:~$ python3 Python 3.8.12 | packaged by conda-forge | (default, Jan 30 2022, 23:42:07) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information.

import eaglec print(eaglec.file) /home/dguan/anaconda3/envs/EagleC/lib/python3.8/site-packages/eaglec/init.py

XiaoTaoWang commented 2 years ago

So according to your previous error message, your "predictSV-single-resolution" script is located at /home/dguan/.local/bin/predictSV-single-resolution. When you run it, it will try to find the "eaglec" package somewhere within the /home/dguan/.local/ folder. However, according to your most recent response, your "eaglec" package was installed at a totally different location /home/dguan/anaconda3/envs/EagleC/lib/python3.8/site-packages/. That's why your "predictSV-single-resolution" could not find the "eaglec" package.

I am not sure how could this happen. I guess you might have different Python environments in your computer, and for some reason, one environment has priority over the other.