Post

Seurat 4 error 대처법: 초심으로 돌아가 지우고 다시 깔아라

원래 잘돌아가던 코드가 하루아침에 갑자기 처음보는 에러를 내며 앞으로 나아가질 못하게 만들었다.

subset, FindNeighborhood, Normalization등 스텝도 다양하게 바꿔가며.. 사람을 미치게 만듬.

해결방법

결론부터 말하면 다 지우고 다시깔면 해결된다.

1
2
3
remove.packages("Seurat") #이렇게 하면 지울 수 있음
#새거 깔기전에 libarary(Seurat) 해보고 호출되는지 확인해보기
# 안지워졌다면 .libPaths() 해서 R libarary dir 확인하고 그 위치에 가서 직접 제거하는 방법도 있음

새로 깔자

1
remotes::install_version(package = 'Seurat', version = package_version('4.4.0'))

마주쳤던 error codes

좀 찾아보니, Seurat version 4, 5 가리지 않고 나타나는듯.

1
2
3
Error in validObject(object = object) : 
  invalid class "Assay5" object: 1: All layers must have a record in the cells map (offending layer: data)
invalid class "Assay5" object: 2: All layers must have a record in the features map (offending layer: data)
1
2
Error in match.arg(arg = i, choices = colnames(x = x)) : 
  'arg' should be one of counts, data

이전에 해결하기 위해 내가 시도해본 방법들 (not working)

  • Seurat, SeuratObject 버전 5로 맞춰서 재설치
  • Matrix 다운그레이드
  • 없다는 layer 직접추가, code 수정, etc.

References

  • https://github.com/satijalab/seurat/issues/7208
  • https://github.com/satijalab/seurat/issues/7092
  • https://github.com/satijalab/seurat/issues/7451
  • https://github.com/satijalab/seurat/issues/7993
This post is licensed under CC BY 4.0 by the author.

© Subin Cho. Some rights reserved.

Using the Chirpy theme for Jekyll.