Post

[Seurat] DoHeatmap() Error 해결법

Seurat 기본 분석 중 하나. Cluster 별로 marker gene찾고 heatmap으로 정리하기.

돌리는 와중에 다음과 같은 에러가 발생했다면,

1
2
3
4
5
6
> DoHeatmap(PRIME, features = top10$gene) + NoLegend()
Error in data.frame(group = sort(x = group.use), x = x.divs) : 
  arguments imply differing number of rows: 95737, 95738
In addition: Warning message:
In DoHeatmap(PRIME, features = top10$gene) :
  The following features were omitted as they were not found in the scale.data slot for the RNA assay: HMGN2, HMGB2, PIGR, CLDN18, GAST, TTR, EGR4, ALDH1A1, DEPP1, SCG5, CHGB, CHGA, PLCG2, MUCL3, LINC00342, ANKRD36C, ELF3, ACTA2, CTSG, HPGDS, TPSAB1, CPA3, TPSB2, ACKR1, VWF, PLVAP, A2M, MT1G, REG1A, S100P, PGC, MZB1, LIPF, GKN1, GKN2, MUC5AC, PSCA, TFF2, TFF1, SPINK1, TSPAN8, AGR2, FTL, VPREB3, CD37, IFITM2, NAMPT, PLEK, S100A8, PLAUR, BCL2A1, G0S2, CSF3R, FCGR3B, IGHG3, IGHG1, IGLC3, IGLC2, IGLC1, IGHA2, JCHAIN, CD3D

이전 분석과정 중 ScaleData()에서 다른 parameter 조정없이 기본셋팅으로 돌렸을 가능성이 높다. default로 ScaleData()는 variable genes에 대해서만 스케일링을 진행한다. 시간아끼기 위해?!

따라서 만약에 FindMarker()에서 찾은 gene이 variable genes에 포함되지 않는다면, 위같은 에러가 나올 수 있다. 이것도 이상하긴함. 내 데이터의 경우 integrated data에서 marker gene 찾는 중이라.. 다른 assay에서 작업중이다가 RNA assay로 돌아온거라 이해가능.

1
2
3
DefaultAssay(PRIME) <- "RNA"
all.genes=rownames(PRIME)
PRIME <- ScaleData(PRIME, features=all.genes)

Reference

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

© Subin Cho. Some rights reserved.

Using the Chirpy theme for Jekyll.