scverse / scverse/scanpy

Implement `sc.tl.mde`

Open
#2,154 9 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area - Topology 🍩 Needs info❔
Dominant language
Python
Stars
2.6k
Forks
779
Avg merge
1d 4h
Merged PRs (30d)
27

Description

  • Additional function parameters / changed functionality / changed defaults?
  • New analysis tool: A simple analysis tool you have been using and are missing in sc.tools?
  • New plotting function: A kind of plot you would like to seein sc.pl?
  • External tools: Do you know an existing package that should go into sc.external.*?
  • Other?

PyMDE is a nice visualization method that to me seems to effectively serve the same purpose as UMAP in analyses (discussion about appropriateness of these methods can be in another issue :) ). It's super fast because after running pynndescent it puts the graph on the GPU optionally (using pytorch). I would love to see this in scanpy. There might be a way to use the scanpy neighbors graph from sc.pp.neighbors directly in pymde as the function below is a wrapper of some internal classes.

Screen Shot 2022-02-24 at 12 38 25 PM

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the requested sc.tl.mde analysis tool and how sc.pp.neighbors provides the existing neighbors graph. Investigate the PyMDE wrapper and its optional PyTorch GPU use, then determine the integration scope and validation needed. The issue does not name implementation files, tests, or a precise completion criterion.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
data-visualization, machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.