Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Lineage class #777

Closed
3 tasks done
michalk8 opened this issue Nov 24, 2021 · 2 comments · Fixed by #861
Closed
3 tasks done

Refactor Lineage class #777

michalk8 opened this issue Nov 24, 2021 · 2 comments · Fixed by #861
Assignees
Labels
enhancement New feature or request high-priority Something that should be done ASAP

Comments

@michalk8
Copy link
Collaborator

michalk8 commented Nov 24, 2021

TODOs:

  • [ ] consider not subclassing numpy.ndarray (related to Lineage class and consolidation of cluster representations with scanpy #759 )
  • remove some redundancies (esp. w.r.t. to indexing)
  • document/simplify indexing behavior
  • fix KeyError when wrong lineage is passed - e.g.
    KeyError: "Invalid lineage name: `Notoch`. Valid names are: `['Early Blastomeres_1', 'Early Blastomeres_2', 'Notochord']`." when passing Notochord2 and Notochord is present
@michalk8 michalk8 added the enhancement New feature or request label Nov 24, 2021
@michalk8 michalk8 self-assigned this Nov 24, 2021
@Marius1311
Copy link
Collaborator

How do you want to proceed with this @michalk8 ?

@michalk8 michalk8 added the high-priority Something that should be done ASAP label Mar 21, 2022
@ivirshup
Copy link
Member

@michalk8, as we had discussed before (last year?), I recommend against creating a custom on-disk schema for the Lineage class if you can avoid it.

  • It seems like casting things that have been read as arrays to Lineage objects works fine at the moment
  • If cellrank hasn't been imported, other libraries will not be able to read in AnnData's containing Lineages
  • Libraries from other languages will also not be read these in.

From my perspective, it seems like you'd be giving up a lot of interoperability for something that works as is. In terms of maintenance, on disk formats kinda require you support them forever. APIs can change with a version bump.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request high-priority Something that should be done ASAP
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants