gao-lab / GLUE

Graph-linked unified embedding for single-cell multi-omics data integration
MIT License
367 stars 56 forks source link

Error in scglue.genomics.window_graph #81

Closed LalicJ closed 10 months ago

LalicJ commented 1 year ago

Hi, sorry to bother you. When I run scglue.genomics.window_graph, I got this error as follow: error

And the version of bedtools is 2.31.0. I manually added the bedtools path as suggested earlier, but it still reported an error. I don't know exactly what went wrong, do you have any suggestions? @Jeff1995 Any help would be greatly appreciated.

Jeff1995 commented 1 year ago

Hi @LalicJ! Thanks for your interest in GLUE.

Could you post the output of the following expressions in Jupyter notebook?

scglue.__version__
scglue.config.BEDTOOLS_PATH
!{scglue.config.BESTOOLS_PATH} --version

The last line starting with ! is a Jupyter shell command.

LalicJ commented 1 year ago

error2 Maybe there's a problem with my jupyter configuration and I can't run the code !{scglue.config.BESTOOLS_PATH} --version, so I just ran it in the shell. error3

Jeff1995 commented 1 year ago

Sorry for the late response. I'm also confused with this situation. Based on the information above, it seems that you have bedtools 2.31.0 installed in the scglue environment, so other versions should not be interfering at all. Can you find where the 2.27.1 version is installed?

revolvefire commented 1 year ago

I've found that not running jupyter itself on the specific conda/mamba environment the scGLUE is installed causes the bedtool error, even if you have the write kernel set for the specific jupyter script.

Jeff1995 commented 1 year ago

Hi @revolvefire! Thanks for the report.

It sounds totally possible! Jupyter might be executing shell commands in its own environment, regardless of the Python kernel. However, explicitly setting scglue.config.BEDTOOLS_PATH should dispel any ambiguity here. Could you verify if manually specifying scglue.config.BEDTOOLS_PATH resolves this error in your setting?

revolvefire commented 1 year ago

Hi @Jeff1995

In my case I had also installed bedtool with conda on the specific environment where scglue was installed. And for some reason, with running jupyter on another environment, even if i explicitly set scglue.config.BEDTOOLS_PATH it kept throwing errors with entangled pathways.

But I think it was more of an environment issue (and perhaps my lack of understanding on my own jupyter setup.. though perhaps i need to really delve into this to understand exactly why). Anyhow, just starting jupyter with the right environment solved it instantly. Just wanted to share for someone experiencing the same issue maybe due to the same reason :)

and also it you could check my question on #88 would be wonderful!

Best!

Jeff1995 commented 1 year ago

Thanks for the explanation! In that case, I guess we'd recommend using a consistent environment for Jupyter as well.

Also, I just followed up on #88. Let me know if there were further issues!

Hi @Jeff1995

In my case I had also installed bedtool with conda on the specific environment where scglue was installed. And for some reason, with running jupyter on another environment, even if i explicitly set scglue.config.BEDTOOLS_PATH it kept throwing errors with entangled pathways.

But I think it was more of an environment issue (and perhaps my lack of understanding on my own jupyter setup.. though perhaps i need to really delve into this to understand exactly why). Anyhow, just starting jupyter with the right environment solved it instantly. Just wanted to share for someone experiencing the same issue maybe due to the same reason :)

and also it you could check my question on #88 would be wonderful!

Best!

HuiNux13 commented 5 months ago

你好

就我而言,我还在安装了 scglue 的特定环境中安装了带有 conda 的 bedtool。出于某种原因,在另一个环境中运行 jupyter 时,即使我明确设置了scglue.config.BEDTOOLS_PATH它也会不断抛出纠缠路径的错误。

但我认为这更像是一个环境问题(也许我对自己的 jupyter 设置缺乏理解......尽管也许我需要真正深入研究这个问题才能确切地理解为什么)。无论如何,只需在正确的环境中启动 jupyter 即可立即解决它。只是想分享给遇到同样问题的人,也许是出于同样的原因:)

而且您可以检查我在 #88 上的问题会很棒!

最好! Thank you for your explanation, your method worked for me.