scanpy的標(biāo)準(zhǔn)化從sc.pp.normalize_per_cell()
更新成了sc.pp.normalize_total()
岁钓,它官方也是建議用后者(當(dāng)然前面這個函數(shù)仍然存在谣妻,且可以正常使用)摇邦。二者目的是基本一致的剔猿,處理數(shù)據(jù)的過程也沒變绑蔫,但是存在細(xì)微的差別徒蟆,總體而言就是新的sc.pp.normalize_total()
在參數(shù)設(shè)置方面更加人性化了狐树。如下是舊的sc.pp.normalize_per_cell()
警告作谚。
最大的區(qū)別用人話來說三娩,就是它不會自動給你過濾了,原來這個函數(shù)默認(rèn)舊把min_counts<1的基因給去除了妹懒,實際上許多時候也無傷大雅雀监,但是有時我們并不像這個潛在的var過濾發(fā)生,所以在新版的
sc.pp.normalize_total()
就把這個去除掉了,你需要結(jié)合使用filter()
自己人為決定是否需要操作基因數(shù)目的變更会前。
此外好乐,如果scanpy標(biāo)準(zhǔn)化環(huán)節(jié)出現(xiàn)以下報錯,也是把sc.pp.normalize_per_cell()
換成使用sc.pp.normalize_total()
可以解決:
numpy.core._exceptions._UFuncOutputCastingError: Cannot cast ufunc 'divide' output from dtype('float64') to dtype('uint64') with casting rule 'same_kind'