rnakato / ShortCake

A docker image for single-cell analysis
https://hub.docker.com/r/rnakato/shortcake
GNU General Public License v3.0
66 stars 13 forks source link

CellOracle NotImplementedError #7

Closed ishahakm closed 1 year ago

ishahakm commented 1 year ago

When trying to annotate transcription start sites using CellOracle, I receive the following error:

NotImplementedError: "intersectBed" does not appear to be installed or on the path, so this method is disabled. Please install a more recent version of BEDTools and re-import to use this method.

Could you include bedtools within the docker to resolve this issue? apt-get install -y bedtools

Thank you

eijynagai commented 1 year ago

Thanks very much for using our ShortCake and pointing out this issue @ishahakm. We will include bedtools in the ShortCake docker file and let you know soon.

rnakato commented 1 year ago

Hi ishahakm, I installed bedtools v2.30.0 in the latest version of ShortCake v1.3.0. Could you try it?

ishahakm commented 1 year ago

Thank you so much! This is a great resources for single cell analysis.

Unfortunately, due to the security settings at my university, I can only pull docker images from dockerhub. I will try to make a work around, but it may take a couple days. If you could push the v1.3.0 to docker image to dockerhub then would make it much easier for me to test.

rnakato commented 1 year ago

I think v.1.3.0 is available on Dockerhub https://hub.docker.com/r/rnakato/shortcake/tags Can you use it?

ishahakm commented 1 year ago

I tried v1.3.0 and still got the same error.

To check the bedtools installation, I tried the following code: import pybedtools a = pybedtools.example_bedtool('a.bed') b = pybedtools.example_bedtool('b.bed') a_and_b = a.intersect(b)`

But received the same error as when I tried to run the get_tss_info function from CellOracle: NotImplementedError: "intersectBed" does not appear to be installed or on the path, so this method is disabled. Please install a more recent version of BEDTools and re-import to use this method.

I was able to confirm the bedtools file is present in the /opt/scripts/ , but it seems that it isn't installed.

Update: Was able to create a new docker image with the following code in the dockerfile: FROM rnakato/shortcake:1.3.0 RUN apt-get update && apt-get install -y --no-install-recommends bedtools

When I pull this docker, I get no errors

rnakato commented 1 year ago

Okay, I see. In v.1.3.0 I installed bedtools using the static binary file but that does not provide the command intersectBed, though bedtools intersect works. Please try ShortCake v1.3.1 in which I installed bedtools from the source. (apt-get does not provide the latest version v2.30.0) I verified that pybedtools works in my environment. I hope it works in yours.