theislab / theislab/moscot

Refactoring moscot to include moscot.neural

Open
#763 5 comments 0 reactions 1 assignee View on GitHub

@selmanozleyen is already working on this.

Since Nov 7, 2024.

Dominant language
Python
Stars
216
Forks
16
Avg merge
16h 2m
Merged PRs (30d)
3

Description

We want to have a moscot.neural module which implements the discrete problems as equivalent neural problems. Therefore, we consecutively do the following steps:

  • remove Protocol classes https://github.com/theislab/moscot/issues/765
  • Move GENOTLinProblem to neural module #778
  • moscot.neural.base should have NeuralOTProblem (currently CondOTProblem, instead of OTProblem in discrete case), and the NeuralOutput (instead of the OTTOutput in discrete case), this can be adapted from the current implementation. Therefore, restructure the output into a BaseOutput which is the parent class of DiscreteOTOutput and NeuralOTOutput #778

moscot.neural.solvers in future times should include

  • GenotLin,
  • GenotQuad,
  • and OTCFM,

start with GenotLin, because it's implemented already, and extend it to GenotQuad. OTCFM will be added later.

  • Port the dataloader (or roughly the idea of the dataloader) from CellFlow, and extend it to include quadratic terms.
  • Let's also distinguish between the data representation which we compute the coupling in, and the one which are input/output to the flow

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.