轉(zhuǎn)自Seurat_Satija 如何使用 Seurat 分析單細(xì)胞測序數(shù)據(jù)( Q&A
1. 關(guān)于 QC
Q:過濾線粒體基因是去除低質(zhì)量 cell,核糖體基因用過濾嗎谈飒?
A: Seurat 教程中沒有提到用核糖體基因的 UMI 含量來過濾細(xì)胞烦绳,我看到的文獻(xiàn)中基本上也不這么做。單細(xì)胞中表達(dá)量最高的基因一般是線粒體基因椒涯、核糖體基因以及 actin 和 hemoglobin基因。有人認(rèn)為要去掉這些基因再做后續(xù)分析回梧,也有人說不要去掉废岂,沒有一個(gè)肯定的答案。
2. 關(guān)于 NORMALIZATION
Q: 請(qǐng)問不同樣本的測序深度用 NormalizeData 可以完全去除嗎狱意? 樣本比較多的話湖苞,去除樣本測序深度推薦用 SCT 還是標(biāo)準(zhǔn)的 Normalize 方法呢? / SCTransform 什么時(shí)間推薦使用详囤?
A: 在用 NormalizeData 函數(shù)做 normalization 的時(shí)候财骨, 每個(gè)細(xì)胞中所有基因的表達(dá)量除以該細(xì)胞中檢測到的所有 count 數(shù), 這樣會(huì)使每個(gè)細(xì)胞所有基因的表達(dá)量之和都變得一樣,也就是說細(xì)胞之間的測序深度都保持一致隆箩。但是這樣做是否能夠完全去除測序深度對(duì)基因表達(dá)變異的影響该贾,還是要打個(gè)問號(hào)剧董。 根據(jù) Seurat 官網(wǎng)上的介紹: Even after standard log-normalization,variation in sequencing depth is still a confounding factor汹押, and this effect can subtly influence higher PCs。 因此错览, Seurat 又提供了 SCTransform 的方法娃属,并聲稱: In sctransform, this effect is substantially mitigated. This means that higher PCs are more likely to represent subtle, but biologically relevant, sources of heterogeneity – so including them may improve downstream analysis. 除了可以保留更多的生物學(xué)變異六荒, SCTransform 對(duì)參數(shù)的依賴度更小,產(chǎn)生的結(jié)果更穩(wěn)定矾端。 根據(jù)這些優(yōu)點(diǎn)掏击, Seurat 推薦使用 SCTransform 做 normalization。
Q: 使用 SCTransform 的時(shí)候秩铆, VlnPlot 所呈現(xiàn)的數(shù)值似乎會(huì)偏小砚亭,視覺上似乎較不明顯,請(qǐng)問是否會(huì)影響分析結(jié)果?
A: 這里所說的數(shù)值偏小殴玛,是指同一個(gè)基因捅膘,用 SCTransform 比用標(biāo)準(zhǔn)的 normalization 方法得到基因表達(dá)量偏小嗎? 我覺得如果整體上基因的數(shù)值都偏大或偏小滚粟,應(yīng)該不會(huì)對(duì)后續(xù)分析有太大影響寻仗。不過,我還是建議你用兩種 normalization 方法都跑一遍完整的流程凡壤,看看結(jié)果會(huì)不會(huì)有很大差異署尤。
Q: Normalization 時(shí),為什么要用 RPM 這種方式而不是像 DEseq2 計(jì)算 sizefactor 呢亚侠?
findmarker 時(shí)曹体,如果用 negativebinomial 這個(gè)模式,是用 count 數(shù)據(jù)硝烂,它會(huì)自己做
normalization 嗎箕别?
A: 在用 FinderMarkers 函數(shù)做差異表達(dá)分析的時(shí)候,如果選擇的是 DEseq2滞谢,函數(shù)內(nèi)部會(huì)使用estimateSizeFactor 函數(shù)計(jì)算 sizefactor串稀。 如果你使用的是 negbinom 檢驗(yàn), FindMarkers 內(nèi)部調(diào)用的是 MASS::glm.nb 函數(shù)狮杨,但是我沒有在 Seurat 源代碼中看到在做這個(gè)檢驗(yàn)之前有normalization 的步驟母截。
3. 關(guān) 于 特 征 選 擇
Q: Findvariable 函數(shù)中 features 為什么要設(shè)置 2000?可以變嗎(彩環(huán) 田) / 想請(qǐng)問您對(duì)挑選特征基因有什么看法? 預(yù)設(shè) 2000 HVGs 適用于大型資料嗎禾酱?
A: FindVariableFeatures 函數(shù)有 3 種選擇高表達(dá)變異基因的方法,可以通過 selection.method參數(shù)來選擇,它們分別是: vst(默認(rèn)值)颤陶, mean.var.plot 和 dispersion颗管。 nfeatures 參數(shù)的默認(rèn)值是 2000,可以改變滓走。如果 selection.method 參數(shù)選擇的是 mean.var.plot垦江,就不需要人為規(guī)定高表達(dá)變異基因的數(shù)目,算法會(huì)自動(dòng)選擇合適的數(shù)目搅方。 我建議使用完 FindVariableFeatures 函數(shù)后比吭,用 VariableFeaturePlot 對(duì)這些高表達(dá)變異基因再做個(gè)可視化,看看使用默認(rèn)值 2000 會(huì)不會(huì)有問題姨涡。
Q:請(qǐng)問整合時(shí)衩藤,如果每個(gè)待整合樣本中的基因個(gè)數(shù)小于 2000,參數(shù) feature 該如何設(shè)置呢涛漂?
A: FindVariableFeatures 函數(shù)的 nfeatures 參數(shù)可以選擇各個(gè)樣本中基因數(shù)最小的那個(gè)值赏表,但是在此之前,建議你先確認(rèn)一下樣本中的基因數(shù)比較少的原因匈仗,樣本的質(zhì)量是否過關(guān)瓢剿, QC 過程中有沒有發(fā)現(xiàn)問題, subset 函數(shù)篩選的時(shí)候有沒有出錯(cuò)悠轩。
4. 關(guān)于細(xì)胞周期
Q: Cell Ranger 可以實(shí)現(xiàn)去除細(xì)胞周期影響嗎间狂?
A: Cell Ranger 不能去除細(xì)胞周期影響,建議你用 Seurat 讀入 Cell Ranger 的輸出文件火架,用CellCycleScoring 函數(shù)和 ScaleData 函數(shù)去除細(xì)胞周期影響鉴象。
Q: 請(qǐng)問能否再解釋下 兩種細(xì)胞周期去除方法的區(qū)別和意義?請(qǐng)問 scaledata 在去除細(xì)胞周期影響時(shí)候距潘,您剛才講過用 var.to.gress(S-G2M)炼列,或者 var.to.gress( S, G2M) ,這兩種在意義上是什么區(qū)別音比?
A: 我們利用 ScaleData 函數(shù)的 vars.to.regress 參數(shù)來消除細(xì)胞周期帶來的變異俭尖。這里可以用到兩種方法,一種方法是同時(shí) regress out S.score 和 G2M.score洞翩,另一種方法是 regress out 兩個(gè)score 的差稽犁。從 PCA 圖上可以看到,第一種方法完全去除了細(xì)胞周期的影響骚亿,而第二種方法則消除了 S 和 G2M 期的差別已亥,為什么要這么做呢?因?yàn)閷?duì)于某些樣本來說来屠,有的細(xì)胞類型處于休眠期虑椎,有的細(xì)胞類型處于增殖期震鹉,如果把所有細(xì)胞周期的影響都去除掉,會(huì)影響這兩類細(xì)胞的鑒定捆姜。這時(shí)候传趾,我們只要去除增值期內(nèi)部細(xì)胞周期的差異,保留增值期和休眠期的差別就可以了泥技。
Q: findmarker 使用的是標(biāo)準(zhǔn)化的 slot浆兰, data 么?如果是珊豹,那之前 scale 中去除的細(xì)胞周期影響簸呈,是否還有意義?
A: 如果用細(xì)胞周期 marker 基因做 PCA 分析店茶,發(fā)現(xiàn)細(xì)胞可以明顯按照細(xì)胞周期分為不同的group蜕便,說明細(xì)胞周期對(duì)這個(gè)數(shù)據(jù)中的基因表達(dá)量有比較大的影響,用 ScaleData 函數(shù)去regress out 細(xì)胞周期 score 是十分必要的忽妒。 Findermaker 函數(shù)使用的是 data 值玩裙,不是scale.data。如果在做差異表達(dá)分析的時(shí)候也考慮細(xì)胞周期的影響段直,可以使用 metadata 中的Phase 變量吃溅,先篩選處于相同細(xì)胞周期的細(xì)胞再做差異表達(dá)分析。
Q: scale 里對(duì)細(xì)胞周期的矯正鸯檬,和 integrate 的整合矯正有哪些差異决侈?
A: 做細(xì)胞周期矯正,首先要有細(xì)胞周期 marker 基因喧务,然后用 CellCycleScoring 函數(shù)來計(jì)算細(xì)胞周期 score赖歌,然后用 ScaleData 函數(shù)去 regress out 細(xì)胞周期 score。 IntegrateData 主要是矯正多個(gè)樣本間的批次效應(yīng)功茴,例如整合多個(gè)來自不同單細(xì)胞測序技術(shù)的數(shù)據(jù)
5. 關(guān)于降維分析
Q: ElbowPlot 的拐點(diǎn)是指這個(gè)點(diǎn)后面基本持平了么庐冯? / 請(qǐng)問如何判斷 elbow 拐點(diǎn)呢?為何不是在 3~4,而是在 9~10/ PC 拐點(diǎn)如何界定坎穿?
A: ElbowPlot 作圖后展父,用肉眼觀察,當(dāng)曲線進(jìn)入平臺(tái)期玲昧,沒有明顯繼續(xù)下降的趨勢就可以了栖茉。ElbowPlot 默認(rèn)顯示 20 個(gè) PC,如果發(fā)現(xiàn) 20 個(gè) PC 還沒有到達(dá)平臺(tái)期孵延,可以修改 ElbowPlot 函數(shù)的 ndims 參數(shù)吕漂。 RunPCA 函數(shù)默認(rèn)計(jì)算 50 個(gè) PC,如果想看更多的 PC尘应,可以修改 RunPCA 的npcs 參數(shù)惶凝。
Q:請(qǐng)問 PCA 那頁吼虎,是細(xì)胞和基因都做過 PCA 么?
A: 在 Seurat 中苍鲜,我們是對(duì)細(xì)胞做 PCA 分析鲸睛,也就是對(duì)細(xì)胞做降維分析,比如從 2000 維(基因)降到 50 維( PC)坡贺。一般情況下,我們不會(huì)對(duì)基因做 PCA 分析箱舞。
Q: PCA 中的 embedding 可以再解釋下么遍坟?
A:比如,原本每個(gè)細(xì)胞有 2000 個(gè)基因晴股,每個(gè)基因在各個(gè)細(xì)胞中都有表達(dá)量愿伴,做了 PCA 分析后,每個(gè)細(xì)胞有 50 個(gè) PC电湘,每個(gè) PC 在各個(gè)細(xì)胞中都有 embedding 值隔节。為了便于理解,你可以把 PC 看成是整合了多個(gè)基因的 meta-gene寂呛,把 cell embedding 看成是這些 meta-gene 的表達(dá)量怎诫。
Q: 可不可以講下 umap 和 tSNE 的主要原理?
A: UMAP 和 tSNE 都是非線性的降維方法贷痪,是把在高維空間中的點(diǎn)(我們?nèi)祟惾庋蹮o法觀察)投射到二維平面上幻妓。這些高維空間中的點(diǎn)是有一定結(jié)構(gòu)的,有些點(diǎn)彼此之間距離更近劫拢,有些點(diǎn)距離更遠(yuǎn)肉津。我們?cè)诮稻S的過程要盡量保留這種結(jié)構(gòu),讓在高維空間中更近的點(diǎn)舱沧,在二維平面上也更近妹沙,如果降維分析打亂了數(shù)據(jù)原有的結(jié)構(gòu),就毫無意義了熟吏。 tSNE 的目標(biāo)是在降維的過程中盡量保留數(shù)據(jù)的局部結(jié)構(gòu)距糖,而 UMAP 除了能保留數(shù)據(jù)的局部結(jié)構(gòu),還能更好的保留全局結(jié)構(gòu)分俯。如果想更深入的了解它們的原理肾筐,需要一定的數(shù)學(xué)基礎(chǔ),我推薦兩篇解釋的相對(duì)簡單一些的文章供你參考:
https://opentsne.readthedocs.io/en/latest/tsne_algorithm.html缸剪,
How UMAP Works - umap 0.4 documentation
Q: 我想問下數(shù)據(jù)降維為什么先做 PCA 然后再 UMAP 的降維 這倆不都是降維嗎吗铐? 不能直接
UMAP?
A: PCA 分析和 UMAP 分析的目的不同杏节。 PCA 分析把高表達(dá)變異基因整合成若干個(gè) PC唬渗。這樣做一方面降維典阵,一方面降低噪音。做聚類分析和 UMAP 分析的時(shí)候镊逝,使用的不是基因表達(dá)量壮啊,而是由 PCA 分析得到的 PC 的值。 UMAP 的主要作用是把高維度中距離接近的點(diǎn)映射到二維平面上距離相近的位置上撑蒜。 UMAP 返回的結(jié)果只有兩個(gè)維度( UMAP_1 和 UMAP_2)歹啼,只能用來做數(shù)據(jù)可視化。
6. 關(guān) 于 聚 類 分 析
Q: cluster ID 為何從 0 開始座菠?是否可以從 1 開始狸眼?從 0 開始是因?yàn)橛惺裁础惴ā矫嫣厥獾膬?yōu)勢么?
A: 默認(rèn) clusterID 是從 0 開始浴滴,沒有特殊的優(yōu)勢拓萌,可以使用 RenameIdents 函數(shù)重命名clusterID。
Q: 鑒定出來的細(xì)胞類群用 UMAP 繪圖后發(fā)現(xiàn)聚類效果很差升略,大量 cluster 相互交叉微王, 同一類群細(xì)胞彌散分布是什么原因?聚類可視化和類群劃分不匹配品嚣。
A: 首先要確保聚類和 UMAP 用的 dims 參數(shù)是一致的炕倘。可以適當(dāng)降低一下 FindClusters 函數(shù)的resolution 參數(shù)翰撑,減少 cluster 數(shù)目激才,看看能不能把相互交叉的 cluster 聚成一個(gè) cluster。 還可以嘗試 FindClusters 函數(shù)中不同的 algorithm 參數(shù)额嘿,看看聚類效果會(huì)不會(huì)改進(jìn)瘸恼。
Q: 請(qǐng)問分群過程中,是否有設(shè)置鄰居個(gè)數(shù)的函數(shù)和參數(shù)册养?
A: FinderNeighbors 函數(shù)的 k.param 參數(shù)是用來設(shè)置 KNN 算法中最近鄰的個(gè)數(shù)东帅。
Q: 請(qǐng)問 finder cluster 只能使用 SNN 進(jìn)行聚類么?可以有其他選擇嗎球拦? / seurat 的聚類方式除了 KNN 外還有其他的選擇嗎靠闭?
A: Seurat 的聚類方法是基于 SNN 圖和 Louvain 或 SLM 算法, FindNeighbors 函數(shù)返回的SNN 圖是在 KNN 圖的基礎(chǔ)上得來的坎炼,不支持其他方法愧膀。
7. 關(guān) 于 數(shù) 據(jù) 整 合
Q:整合多樣本分析時(shí),有些樣本細(xì)胞數(shù)量過少谣光,可能不足 200檩淋,這樣在整合數(shù)據(jù)時(shí)默認(rèn)參數(shù)就會(huì)報(bào)錯(cuò),有什么好的建議嗎萄金?亞群細(xì)分時(shí)也經(jīng)常出現(xiàn)這個(gè)問題蟀悦,及個(gè)別樣本細(xì)胞數(shù)量過少媚朦,不能進(jìn)行批次校正/ 在對(duì)整合樣本中的某一細(xì)胞亞群進(jìn)行再次分群時(shí),如果有些樣本中這一亞群的細(xì)胞比較少日戈,怎么進(jìn)行整合分析询张?
A:在不知道具體報(bào)錯(cuò)信息的情況下,我無法判斷問題的原因是由于細(xì)胞數(shù)目少還是來自樣本本身浙炼。 我的建議是: 首先要確定不足 200 個(gè)細(xì)胞的樣本是否都會(huì)遇到這個(gè)問題份氧。如果你在其他樣本中隨機(jī)抽取不到 200 個(gè)細(xì)胞,去做整合弯屈,也會(huì)報(bào)同樣的錯(cuò)誤嗎半火? 如果給這些不足 200 個(gè)細(xì)胞的樣本逐漸增加細(xì)胞數(shù),達(dá)到多少細(xì)胞數(shù)的時(shí)候季俩,就不會(huì)報(bào)錯(cuò)?
Q:請(qǐng)問整合時(shí)梅掠,報(bào)這樣的錯(cuò)該如何解決酌住? ‘Error in irlba(A = t(x = object), nv =npcs, ...) :max(nu, nv) must be positive
A:我看不到你的代碼和數(shù)據(jù),所以不好判斷是什么問題阎抒,有可能是輸入數(shù)據(jù)有問題酪我,你可以檢查一下輸入的數(shù)據(jù)是不是都做了相同的預(yù)處理,包括 normalization 的方法和高變基因的數(shù)目等等且叁,再看看 FindIntegrationAnchors 和 IntegrateData 函數(shù)中選擇的 dims 參數(shù)是否一致都哭。如果你整合的樣本比較多,可以先拿兩個(gè)樣本來整合逞带,如果成功欺矫,再繼續(xù)增加樣本,直到報(bào)錯(cuò)展氓,就可以定位是哪個(gè)數(shù)據(jù)出了問題穆趴。
Q:在整合多個(gè)樣品的單細(xì)胞數(shù)據(jù)時(shí)系統(tǒng)報(bào)錯(cuò),說超過內(nèi)存怎么辦遇汞?我們的樣品大約有 20 多個(gè)/ 在整合多個(gè)樣本數(shù)據(jù)時(shí)未妹,由于樣本量過大,導(dǎo)致超過稀疏矩陣上限空入,無法進(jìn)行 integrateData步驟络它,應(yīng)如何解決?
A:我也會(huì)經(jīng)常遇到數(shù)據(jù)量超過內(nèi)存上限的問題歪赢,解決辦法就是換一個(gè)有更大內(nèi)存的服務(wù)器化戳,此外,在做數(shù)據(jù)分析的過程中埋凯,經(jīng)常查看當(dāng)前環(huán)境中的數(shù)據(jù)占用了多大內(nèi)存迂烁,及時(shí)清理一些中間變量看尼,刪除之前最好將一些重要的變量保存在 RDS 文件里。如果這些方法都不行盟步,就只好對(duì)樣本中的細(xì)胞隨機(jī)抽樣藏斩,選取一部分細(xì)胞來做整合。
Q:樣本之間如果沒有 batch effect,可以用直接 merge 合并嗎却盘? / 我們可不可以直接把多個(gè)sample 直接合并不用 intergation 函數(shù)如果沒看出有 batch effect/ 關(guān)于樣本整合狰域, merge 函數(shù)可以用嗎?
A:關(guān)于樣本整合黄橘,建議使用 Seurat 提供的 FindIntegrationAnchors 和 IntegrateData 函數(shù)兆览。merge 函數(shù)只是合并多個(gè) Seurat 對(duì)象,無法消除批次效應(yīng)塞关。如果你的數(shù)據(jù)沒有批次效應(yīng)抬探,merge 也是可以用的。
Q:多個(gè)樣本整合后的細(xì)胞分群結(jié)果是不是可能和單個(gè)樣本做細(xì)胞分群結(jié)果會(huì)不一致帆赢?
A: 這是很有可能的小压。比如一個(gè)樣本中某種細(xì)胞的含量很少,它們有可能和其他類型的細(xì)胞聚在一起椰于,但是另一個(gè)樣本中該類細(xì)胞的含量比較多怠益,當(dāng)兩個(gè)樣本整合在一起后, 兩個(gè)樣本中的這類細(xì)胞應(yīng)該更傾向于聚在一起瘾婿,這樣就和單個(gè)樣本做細(xì)胞分群的結(jié)果不一致蜻牢。這只是我的假設(shè),我沒有用實(shí)際數(shù)據(jù)去驗(yàn)證過這種不一致的程度有多大偏陪,和哪些因素有關(guān)抢呆。你如果有這樣的數(shù)據(jù)可以嘗試分析一下。
Q: 對(duì)于不同時(shí)間笛谦,同樣用 10X 處理的單細(xì)胞轉(zhuǎn)錄組樣本镀娶,但是測序飽和度不同,必須用integration 方法進(jìn)行批次效應(yīng)處理么揪罕?還是說直接合并就可以了梯码? / 請(qǐng)問多個(gè)發(fā)育時(shí)期的樣本需要整合流程嗎?
A: 首先要判斷樣本之間是否有批次效應(yīng)好啰。一般是做一個(gè) tSNE 或 UMAP 圖轩娶,如果來自同一個(gè)樣本的細(xì)胞都聚在一起,來自不同的樣本的細(xì)胞都分的很開框往,說明批次效應(yīng)明顯鳄抒,需要用integration 的方法進(jìn)行數(shù)據(jù)整合。整合完成后再做一個(gè) tSNE 或 UMAP 圖,查看批次效應(yīng)是否已經(jīng)去除许溅。如果沒有批次效應(yīng)瓤鼻,直接 merge 也是可以的。 如果在 tSNE 或 UMAP 圖上不容易判斷是否有批次效應(yīng)贤重,建議兩種方法都試一下茬祷,看看最后的結(jié)果有沒有很大差異。
Q: 多樣本整合是按樣本來整合嗎并蝗? 還是按不同樣本類型來整合祭犯?
A: Seurat 可以整合不同的樣本類型,比如 scRNA-seq 和 CITE-seq 的整合滚停, 以及 scRNA-seq和 scATAC-seq 的整合沃粗。可以參考 2019 年的那篇 Cell 文章键畴。
Q: CITE-seq 用 seurat 分析如何將多個(gè)樣本合并呢最盅?
A: 將 CITE-seq 的 ADT 數(shù)據(jù)存放在 Assay 對(duì)象中,并設(shè)置為默認(rèn) assay起惕,然后用和 scRNA-seq一樣的方法整合數(shù)據(jù)涡贱。
Q: 整合會(huì)不會(huì)把樣本間的部分差異當(dāng)成批次效應(yīng)給去除掉?
A:我覺得是有可能的疤祭,這種“矯枉過正”的程度有多大是和樣本之間本身的差異有關(guān)的《牛可以設(shè)想一下勺馆,如果把 PBMC 的樣本和神經(jīng)細(xì)胞的樣本放在一起整合會(huì)是什么效果。這兩個(gè)樣本的生物學(xué)差異應(yīng)該大于批次效應(yīng)侨核,這時(shí)候去批次效應(yīng)就有可能把樣本間的部分差異也去除掉了草穆。 這只是我的推測,并沒有用數(shù)據(jù)驗(yàn)證過搓译,僅供參考悲柱。
Q: 如果不進(jìn)行 intergration ,可以直接比較 control 和疾病組的差異嗎?整合的優(yōu)勢是統(tǒng)一標(biāo)準(zhǔn)化嗎些己?
A:如果是 bulk RNA-seq豌鸡,可以直接比較 control 和疾病組的差異。 但是 bulk RNA-seq 中基因的表達(dá)量是基因在所有細(xì)胞中表達(dá)量的平均值段标,沒有考慮到樣本中細(xì)胞的異質(zhì)性涯冠,某個(gè)基因在某種細(xì)胞類型中的差異表達(dá)有可能被樣本中細(xì)胞類型的差異所掩蓋。因此逼庞, 我們要利用單細(xì)胞RNA-seq蛇更,找到兩個(gè)樣本中相同類型的細(xì)胞后,再尋找這類細(xì)胞在 control 和疾病組的差異表達(dá)基因。具體來說派任,我們利用 Seurat 整合完 control 和疾病組樣本砸逊,并做聚類分析后,分別在control 和疾病組中對(duì)某個(gè) cluster 做差異表達(dá)分析掌逛,尋找這個(gè) cluster 的 marker 基因师逸,然后,把在 control 和疾病組中都被鑒定為 marker 基因的基因颤诀, 作為該 cluster 保守的 marker 基因字旭,并利用這些基因?qū)?xì)胞類型進(jìn)行注釋。最后崖叫,針對(duì)同一類細(xì)胞遗淳,尋找在 control 和疾病組中發(fā)生變化的基因。
Q: 如果我想對(duì)某種細(xì)胞分亞群心傀,是用經(jīng) PCA 和的 seurat 對(duì)象取出這部分細(xì)胞聚類屈暗,還是需要重新整合,或者重新 PCA脂男?
A: 在分亞群的時(shí)候养叛,很多人都會(huì)遇到類似的問題。在 GitHub 上也有很多討論:
re_clustering in seurat v3 · Issue #1528 · satijalab/seurat
How to analysis the subset cells of already intergrated object? · Issue #1547 · satijalab/seurat
但是宰翅,目前還沒有看到 Seurat 官方給出的最佳實(shí)踐弃甥。我的建議是在分亞群之前,先在 UMAP 圖上看看有沒有 batch effect汁讼,如果沒有淆攻,就不需要重新整合。
8. 關(guān) 于 差 異 表 達(dá) 分 析
Q: 老師您好嘿架,請(qǐng)問差異分析為什么使用 RNA assay ?而不是用 SCT assay 或者 Integratedassay瓶珊? RNA assay 不是未經(jīng)過標(biāo)準(zhǔn)化和批次校正的原始數(shù)據(jù)么? / 整合數(shù)據(jù)后進(jìn)行 findmarker分析時(shí)是采用 integrated assay 還是 RNA assay?
A: 這個(gè)問題也困擾了我很久耸彪,后來我在 GitHub 上找到了官方的解釋: As a general rule, wealways recommend performing DE on originally measured values - instead of on batchcorrected, imputed, etc. values. This ensures that the measurements that enter the DE test are indeed independent from each other, which is a requirement of any statistical DE test. Find DEGs after doing integration · Issue #1256 · satijalab/seurat
Q: 得到的差異基因和保守基因伞芹,用哪個(gè)作為 marker 基因好? / FindallMarkers 和findconservedmarkers 結(jié)果上有什么區(qū)別嗎蝉娜?
A: 如果只有一個(gè)樣本唱较,就用 cluster 中的差異表達(dá)基因做 marker 基因。如果做了數(shù)據(jù)整合召川,比如處理組和對(duì)照組绊汹,就要先用 FindConservedMarkers 函數(shù)找到保守的差異表達(dá)基因,用它們來作為 marker 基因?qū)?cluster 做注釋扮宠,注釋完以后西乖,再用 FindMarkers 函數(shù)比較這個(gè) cluster 中的處理組細(xì)胞和對(duì)照組細(xì)胞之間的差異表達(dá)基因狐榔。
Q: 如果想從所有基因中篩選差異基因,有方法能實(shí)現(xiàn)么获雕?
A: 在用 FindMarkers 函數(shù)找差異表達(dá)基因的時(shí)候薄腻, 可以通過 logfc.threshold(默認(rèn)值 0.25),min.pct(默認(rèn)值 0.1)和 min.diff.pct(默認(rèn)值-Inf)三個(gè)參數(shù)來預(yù)篩選基因届案,這樣可以加快計(jì)算速度庵楷,如果想從所有基因中篩選差異基因,就把 logfc.threshold 設(shè)為 0楣颠, min.pct 設(shè)為 0尽纽。
9. 關(guān)于細(xì)胞注釋
Q: cluster 名稱的命名主要參考哪幾方面的信息(如 cluster 的 top makers)?
A:對(duì) cluster 進(jìn)行注釋童漩,主要是看 FindMarkers 或 FindAllMarkers 函數(shù)找到的 marker 基因弄贿。利用已有的知識(shí)或者數(shù)據(jù)庫,將 cluster 命名為特定的細(xì)胞類型矫膨。有幾個(gè)細(xì)胞 marker 基因的數(shù)據(jù)庫供參考:
CellMarker: CellMarker
PanglaoDB: A Single Cell Sequencing Resource For Gene Expression Data
Q: 您可以再詳細(xì)講一下如何自動(dòng)的識(shí)別細(xì)胞類型嗎差凹?
A:首先是用 FindIntegrationAnchors 函數(shù)找到數(shù)據(jù)集間的錨點(diǎn),然后用 IntegrateData 函數(shù)整合多個(gè)數(shù)據(jù)集侧馅。這個(gè)數(shù)據(jù)集可以用來研究處理組和對(duì)照組的變化危尿。如果這個(gè)數(shù)據(jù)集有細(xì)胞類型的注釋信息,就可以拿來作為參考數(shù)據(jù)集馁痴,對(duì)查詢數(shù)據(jù)集進(jìn)行細(xì)胞類型的注釋谊娇。方法也很簡單,先使用 FindTransferAnchors 函數(shù)罗晕,找到參考數(shù)據(jù)集和查詢數(shù)據(jù)集的錨點(diǎn)济欢,然后使用TransferData 函數(shù)和參考數(shù)據(jù)集的標(biāo)簽對(duì)查詢數(shù)據(jù)集中的細(xì)胞進(jìn)行注釋,每個(gè)細(xì)胞都有一個(gè)預(yù)測的細(xì)胞類型以及打分攀例。這個(gè)預(yù)測信息可以用 AddMetaData 函數(shù)添加到查詢數(shù)據(jù)集的metadata 中船逮。
Q:請(qǐng)問癌癥單細(xì)胞分群后注釋顾腊,怎么區(qū)分惡性細(xì)胞和正常細(xì)胞群粤铭?
A: 我所知道的方法有兩種,一種是看 marker 基因杂靶,另一種是用基因表達(dá)數(shù)據(jù)推斷 CNV梆惯。 給你兩篇文獻(xiàn)供參考:
(1) Single-Cell Transcriptomic Analysis of Primary and Metastatic Tumor Ecosystems in Head and Neck Cancer.
https://www.cell.com/cell/fulltext/S0092-8674(17)31270-9
(2) Single-cell RNA sequencing demonstrates the molecular and cellular reprogramming ofmetastatic lung adenocarcinoma.
http://www.nature.com/articles/s41
原文:如何使用 Seurat 分析單細(xì)胞測序數(shù)據(jù)( Q&A)-上 - 知乎 (zhihu.com)