scverse / scverse/scanpy

Issues with ingest

Open
#1,128 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

good first issue
Dominant language
Python
Stars
2.6k
Forks
779
Avg merge
1d 4h
Merged PRs (30d)
27

Description

Hi all,

I am trying to use ingest to integrate different datasets.
I found a couple of issues.

  • ingest requires that the var_names are the same in the reference and the new object. I can select the intersection between the datasets; however, it requires that the genes are in the same order if not ref_var_names.equals(new_var_names). I think this if could be modified using set (e.g., len(set(ref_var_names).difference(set(new_var_names))) == 0). I tried to order the .var dataframe, but the .X remains the same. In such a way, the expression of the genes does not correspond to the correct one. I can generate a dataframe and recreate the .X, but it could be very nice that the .X will be modified according to .var or .obs modifications (i.e., ordering).

  • although it is possible to set embedding_method=umap, ingest requires the PCA components. I used autoencoders instead of PCA, and I cannot run ingest only considering the UMAP. Can you fix it?

Thank you in advance.
Best,
Andrea

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 tracing the ingest entry point and its handling of var_names, .var, .obs, and .X. Reproduce the ordering case and the embedding_method=umap case, then verify that gene expression remains aligned and that ingest can use UMAP without PCA components.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
bioinformatics, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.