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

Migrating Seurat extension to Seurat v5 #8033

Open
kylekimler opened this issue Nov 15, 2023 · 2 comments
Open

Migrating Seurat extension to Seurat v5 #8033

kylekimler opened this issue Nov 15, 2023 · 2 comments

Comments

@kylekimler
Copy link

Hi seurat team. I am the author of ARBOL, a Seurat extension for calculating and depicting scRNAseq data as taxonomic trees.

www.github.com/jo-m-lab/ARBOL

Seurat v5's new seurat object has caused quite a few bugs as (as i understand) methods for subsetting and storing matrices have changed. Do you have a list of tips or overall changes that will help me conform my extension to the new version?

Thank you!
Kyle

@samuel-marsh
Copy link
Collaborator

Hi Kyle,

Not member of dev team but I can give some general thoughts based on my own experience of updating compatibility of my package scCustomize. I think a number of errors are due to some issues with Matrix package version which seems to be fixed by downgrading (see #7993 (comment))

  • Set required SeuratObject version to 5.0.0 or greater but don't need to require Seurat 5. This ensures that object interaction is compatible with both V5 and V3/4 structures
  • If you pull feature or cell names using rownames or colnames in most cases it's probably worth updating to Features and Cells. If the assay being used isn't sketched the results will be the same but Cells provides the cell names from current assay which will differ if it is sketched (https://satijalab.org/seurat/articles/seurat5_essential_commands#access-cell-names-and-metadata)
  • For data accessors if you use GetAssayData swap that for LayerData. Again if you specify SeuratObject 5.0.0 or greater then this will work on V3/4 and V5 objects.
  • If you specify slot parameter in any functions check if you need to provide check of Seurat version to change from using slot to layer
  • Specify Matrix package to 1.6-1.1 until bugs are fixed (see: FindNeighbors Error #7993 (comment)).
  • Depending on functionality you may need to add check and require that users run JoinLayers before running functions if they have split them up.
  • subset at least as far as I'm aware (and my current experience with Seurat5 so far) is unchanged.
  • May need to update functions to properly interact with BPCells stored data depending on functionality required.

That's all I'm thinking of right now, hope it's helpful!
Best,
Sam

@kylekimler
Copy link
Author

Hi Sam,

Thanks a lot for these, they were very helpful when updating. I add one more bullet point to the list for other readers:

  • srobj@meta.data can no longer be manually updated as if it was a data.frame, and must be acted on using AddMetaData() or srobj$ accessors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants