CytoPy icon indicating copy to clipboard operation
CytoPy copied to clipboard

Installing issue with KDEpy

Open LenHC opened this issue 1 year ago • 10 comments

I am trying to install CytoPy and I am getting this error:

ERROR: Could not find a version that satisfies the requirement KDEpy==1.0.10 (from cytopy) (from versions: 0.1, 0.2, 0.3, 0.4, 0.5, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6, 0.6, 0.6.9, 0.6.10, 0.6.11, 1.0.2, 1.0.11, 1.1.0, 1.1.1, 1.1.2) ERROR: No matching distribution found for KDEpy==1.0.10.

I am using MacPro: 2.3 GHz Quad-Core Intel Core i7

LenHC avatar May 19 '23 15:05 LenHC

Hi, I appear to have a similar issue: when trying to install cytopy, I get the following error: ERROR: Cannot install cytopy==2.0 and cytopy==2.0.1 because these package versions have conflicting dependencies.

The conflict is caused by: cytopy 2.0.1 depends on KDEpy==1.0.10 cytopy 2.0 depends on KDEpy==1.0.10

I then tried to to install KDEpy version 1.0.10 directly, but got the following error: pip install KDEpy==1.0.10 ERROR: Could not find a version that satisfies the requirement KDEpy==1.0.10 (from versions: 0.1, 0.2, 0.3, 0.4, 0.5, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6, 0.6, 0.6.9, 0.6.10, 0.6.11, 1.0.2, 1.1.3) ERROR: No matching distribution found for KDEpy==1.0.10

I am using an apple silicone macbook pro

dreph avatar Jun 22 '23 13:06 dreph

Hi both,

Sorry you've hit these errors. CytoPy is no longer funded, and therefore I can only contribute in my spare time to fix issues.

It looks like KDEpy 1.0.10 has been pulled from pypi. In the meantime (until I've pushed a fix) you can edit the pyproject.toml file (https://github.com/burtonrj/CytoPy/blob/master/pyproject.toml) and replace KDEpy = "1.0.10" on line 20 with KDEpy = "1.0.2"

Hopefully, this solves the issues for you.

In the next year CytoPy will likely be depreciated as I move to replace it with a more robust library that is compatible with the scverse.

Thanks, Ross

burtonrj avatar Jun 22 '23 14:06 burtonrj

In the next year CytoPy will likely be depreciated as I move to replace it with a more robust library that is compatible with the scverse.

Are you talking about pytometry or something entirely different? I just started working with pytometry and it nicely bridges flow cytometry analysis with the scanpy/scverse workflow, but it would definitlely benefit from some of the functionality (e.g. manual gating, more clustering algorithms) that are already implemented in CytoPy.

grst avatar Jun 28 '23 12:06 grst

Yeah, I'm thinking something like pytometry. That work is really great and lightweight, and the scanpy/scverse workflow is fantastic.

I see three areas I would like to work on in my spare time:

  1. A Document-Object model for mapping AnnData objects to a NoSQL database like MongoDB to make life easier working in a cloud environment and working on multiple devices
  2. A standalone gating application that interfaces with AnnData objects and the above MongoDB approach - I want this to be really lightweight and just focus on manual/semi-auto/auto gating
  3. I would like to update CytoCluster to work with the scverse ecosystem

You'll notice from my GitHub profile that after CytoPy I slowly started extracting elements into other packages - CytoCluster, CytoTools, CytoPlots

CytoPy's biggest issue is it was too ambitious and was trying to do everything. I hope CytoPy inspires some innovation in this space but ultimately, it crumbles under its own weight.

Unfortunately, I've not been able to continue an academic career that would afford me the luxury to work on these ideas full-time, but I'm hoping over the next year I will find some time to flush this all out.

If you're working in this space its worth being aware that the world is moving fast. Generative AI is probably going to revolutionise how we analyse single cell data e.g. scGPT, FlowFormer and scyan.

burtonrj avatar Jun 28 '23 13:06 burtonrj

A Document-Object model for mapping AnnData objects to a NoSQL database like MongoDB to make life easier working in a cloud environment and working on multiple devices

You might also be interested in the CZI-backed TileDB-SOMA project which implements TileDB as a backend for AnnData. TileDB is nice because it allows to efficiently slice matrices on the DB side.

I would like to update CytoCluster to work with the scverse ecosystem

that sounds fantastic! Make sure to chat with @mbuttner for integration with pytometry and join the scverse zulip chat for more general scverse-related discussion :)

grst avatar Jun 28 '23 13:06 grst

thanks @grst for connecting us. Happy to join forces. I have a comparison of CytoPy and pytometry on my list, but did not find the time to do it, yet.

mbuttner avatar Jun 28 '23 15:06 mbuttner

TileDB is new to me! Looks great and probably saves me a job! Thank you for sharing.

burtonrj avatar Jun 28 '23 15:06 burtonrj

Glad to be put in contact with you @mbuttner, I think we spoke on Twitter before, but I never got around to following up. Great work with pytometry! I'm jealous of the name, I wish I had thought of that.

I can save you a job and I would say pytometry is the right direction. Working in the scverse is the way forward. At a high level, I think the following are missing from scverse that are needed specifically for cytometry data analysis:

  • Cytometry specific pre-processing steps like compensation and gating; there is an opportunity to extract what is in CytoPy, FlowLearn, OpenCyto etc into a standalone application that inserts annotations into an AnnData obj to achieve this
  • Cytometry-specific clustering algorithms (especially FlowSOM); CytoCluster achieves this and provides an ensemble clustering algorithm but the code is very academic and needs adapting to use AnnData objects

I welcome all efforts and collaborations in this space.

burtonrj avatar Jun 28 '23 16:06 burtonrj

Hi @burtonrj happy to finally start the discussion and thanks for the flowers 💐 I'll PM you to take the discussion elsewhere. On a different note for @grst, we could discuss to integrate pytometry into the scverse compendium and extend to the realm of flow cytometry data.

mbuttner avatar Jun 30 '23 23:06 mbuttner

Please submit it to the list of ecosystem packages :)

We are currently reluctant to add more "core" packages because of the additional maintenance burden. I'm not saying this is impossible, but it requires more discussion with the entire scverse core team. Another option is to put it in the scverse github org, but as a "community-maintained" package, but we are also still figuring out guidelines for that.

grst avatar Jul 01 '23 11:07 grst