單細胞Seurat - 細胞聚類(3)

本系列持續更新Seurat單細胞分析教程,歡迎關注!

維度確定

為了克服 scRNA-seq 數據的任何單個特征中廣泛的技術噪音,Seurat 根據 PCA 分數對細胞進行聚類,每個 PC 本質上代表一個“元特征”,它結合了相關特征集的信息。因此,頂部主成分代表了數據集的穩健壓縮。但是,我們應該選擇包含多少個成分? 10? 20? 100?

在 Macosko 等人中,我們實施了受 JackStraw 程序啟發的重采樣測試。雖然 Seurat 中仍然可用,但這是一個緩慢且計算成本高昂的過程,并且我們不再用于單細胞分析。

另一種啟發式方法生成“Elbow plot”:根據每個主成分解釋的方差百分比對主成分進行排名(ElbowPlot() 函數)。在此示例中,我們可以觀察到 PC9-10 周圍有一個“Elbow”,這表明大部分真實信號是在前 10 個 PC 中捕獲的。

ElbowPlot(pbmc)
alt

識別數據集的真實維度——對于用戶來說可能具有挑戰性/不確定性。因此,我們向用戶建議采用多種方法。第一個是更多的監督,探索 PC 以確定異質性的相關來源,并且可以與 GSEA 等結合使用。第二個(ElbowPlot) 第三個是常用的啟發式,可以立即計算。

在此示例中,我們可能選擇 PC 7-12 之間的任何值作為截止值。

我們在這里選擇了 10 個,但鼓勵用戶考慮以下事項:

  • 樹突狀細胞和 NK 與 PC 12 和 13 密切相關的基因定義了罕見的免疫子集(即 MZB1 是漿細胞樣 DC 的標記)。然而,這些組非常罕見,在沒有先驗知識的情況下,很難將它們與這種大小的數據集的背景噪聲區分開來。
  • 鼓勵用戶使用不同數量的 PC(10、15,甚至 50!)重復下游分析。
  • 用戶在選擇該參數時偏高。例如,使用 5 PCs 執行下游分析會對結果產生重大不利影響,這將提醒用戶重新分析與思考。

細胞聚類

Seurat 應用基于圖的聚類方法,以(Macosko 等人)中的初始策略為基礎。重要的是,驅動聚類分析(基于先前識別的 PC)的距離度量保持不變。然而,我們將細胞距離矩陣劃分為簇的方法已得到顯著改進。

Seurat 的方法深受最近手稿的啟發,該手稿將基于圖的聚類方法應用于 scRNA-seq 數據和 CyTOF 數據 。簡而言之,這些方法將cell嵌入到圖結構中 - 例如 K 最近鄰 (KNN) 圖,在具有相似特征表達模式的cell之間繪制邊緣,然后嘗試將該圖劃分為高度互連的quasi-cliques’ 或 ‘communities’。

與 PhenoGraph 一樣,我們首先基于 PCA 空間中的歐氏距離構建 KNN 圖,并根據局部鄰域中的共享重疊(杰卡德相似度)細化任意兩個單元之間的邊緣權重。此步驟使用 FindNeighbors() 函數執行,并將先前定義的數據集維度(前 10 個 PC)作為輸入。

為了對cell進行聚類,我們接下來應用模塊化技術,例如 Louvain 算法(默認)或 SLM,迭代地將細胞分組在一起,目標是優化標準模塊化函數。 FindClusters() 函數實現此過程,并包含一個分辨率參數,用于設置下游聚類的“粒度”,增加的值會導致更多的聚類。我們發現,將此參數設置在 0.4-1.2 之間通常會為大約 3K 細胞的單細胞數據集帶來良好的結果。對于較大的數據集,最佳分辨率通常會增加。可以使用 Idents() 函數找到簇。

pbmc?<-?FindNeighbors(pbmc,?dims?=?1:10)
pbmc?<-?FindClusters(pbmc,?resolution?=?0.5)

##?Modularity?Optimizer?version?1.3.0?by?Ludo?Waltman?and?Nees?Jan?van?Eck
##?
##?Number?of?nodes:?2638
##?Number?of?edges:?95965
##?
##?Running?Louvain?algorithm...
##?Maximum?modularity?in?10?random?starts:?0.8723
##?Number?of?communities:?9
##?Elapsed?time:?0?seconds

#?Look?at?cluster?IDs?of?the?first?5?cells
head(Idents(pbmc),?5)

##?AAACATACAACCAC-1?AAACATTGAGCTAC-1?AAACATTGATCAGC-1?AAACCGTGCTTCCG-1?
##????????????????2????????????????3????????????????2????????????????1?
##?AAACCGTGTATGCG-1?
##????????????????6?
##?Levels:?0?1?2?3?4?5?6?7?8

未完待續,持續更新,歡迎關注!

本文由 mdnice 多平臺發布

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716819.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716819.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716819.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入測探:用Python玩轉分支結構與循環操作——技巧、場景及面試寶典

在編程的世界里&#xff0c;分支結構和循環操作是構建算法邏輯的基礎磚石。它們如同編程的“鹽”&#xff0c;賦予代碼生命&#xff0c;讓靜態的數據跳躍起來。本文將帶你深入探索Python中的分支結構和循環操作&#xff0c;通過精心挑選的示例和練習題&#xff0c;不僅幫助你掌…

mysql5*-mysql8 區別

1.Mysql5.7-Mysql8.0 sysbench https://github.com/geekgogie/mysql57_vs_8-benchmark_scripts 1.讀、寫、刪除更新 速度 512 個線程以后才會出現如下的。 2.刪除速度 2.事務處理性能 3.CPU利用率 mysql8 利用率高。 4.排序 5.7 只能ASC&#xff0c;不能降序 數據越來越大

牢記于心單獨說出來的知識點(后續會加)

第一個 非十進制&#xff08;八進制&#xff0c;十六進制&#xff09;寫在文件中它本身就是補碼&#xff0c;計算機是不用進行內存轉換&#xff0c;它直接存入內存。&#xff08;因為十六進制本身是補碼&#xff0c;所以計算機里面我們看到的都是十六進制去存儲&#xff09; …

Qt 簡約美觀的加載動畫 文本風格 第八季

今天和大家分享一個文本風格的加載動畫, 有兩類,其中一個可以設置文本內容和文本顏色,演示了兩份. 共三個動畫, 效果如下: 一共三個文件,可以直接編譯 , 如果對您有所幫助的話 , 不要忘了點贊呢. //main.cpp #include "LoadingAnimWidget.h" #include <QApplic…

MySQL:開始深入其數據(一)DML

在上一章初識MySQL了解了如何定義數據庫和數據表&#xff08;DDL&#xff09;&#xff0c;接下來我們開始開始深入其數據,對其數據進行訪問&#xff08;DAL&#xff09;、查詢DQL&#xff08;&#xff09;和操作(DML)等。 通過DML語句操作管理數據庫數據 DML (數據操作語言) …

一文搞定 FastAPI 路徑參數

路徑參數定義 路徑操作裝飾器中對應的值就是路徑參數,比如: from fastapi import FastAPI app = FastAPI()@app.get("/hello/{name}") def say_hello(name: str):return {

突破編程_C++_STL教程( list 的基礎知識)

1 std::list 概述 std::list 是 C 標準庫中的一個雙向鏈表容器。它支持在容器的任何位置進行常數時間的插入和刪除操作&#xff0c;但不支持快速隨機訪問。與 std::vector 或 std::deque 這樣的連續存儲容器相比&#xff0c;std::list 在插入和刪除元素時不需要移動其他元素&a…

計算機網絡之傳輸層 + 應用層

.1 UDP與TCP IP中的檢驗和只檢驗IP數據報的首部, 但UDP的檢驗和檢驗 偽首部 首部 數據TCP的交互單位是數據塊, 但仍說TCP是面向字節流的, 因為TCP僅把應用層傳下來的數據看成無結構的字節流, 根據當時的網絡環境組裝成大小不一的報文段.10秒內有1秒用于發送端發送數據, 信道…

【Python】進階學習:pandas--groupby()用法詳解

&#x1f4ca;【Python】進階學習&#xff1a;pandas–groupby()用法詳解 &#x1f308; 個人主頁&#xff1a;高斯小哥 &#x1f525; 高質量專欄&#xff1a;Matplotlib之旅&#xff1a;零基礎精通數據可視化、Python基礎【高質量合集】、PyTorch零基礎入門教程&#x1f448;…

Python算法100例-3.5 親密數

1.問題描述2.問題分析3.算法設計4.確定程序框架5.完整的程序6.問題拓展 1&#xff0e;問題描述 如果整數A的全部因子&#xff08;包括1&#xff0c;不包括A本身&#xff09;之和等于B&#xff0c;且整數B的全部因子&#xff08;包括1&#xff0c;不包括B本身&#xff09;之和…

中國電子學會2020年6月份青少年軟件編程Sc ratch圖形化等級考試試卷四級真題。

第 1 題 【 單選題 】 1.執行下面程序&#xff0c;輸入4和7后&#xff0c;角色說出的內容是&#xff1f; A&#xff1a;4&#xff0c;7 B&#xff1a;7&#xff0c;7 C&#xff1a;7&#xff0c;4 D&#xff1a;4&#xff0c;4 2.執行下面程序&#xff0c;輸出是&#xff…

Oracle自帶的網絡工具(計算傳輸redo需要的帶寬,使用STATSPACK,計算redo壓縮率,db_ultra_safe)

--根據primary database redo產生的速率,計算傳輸redo需要的帶寬. 除去tcp/ip網絡其余30%的開銷,計算需要的帶寬公式: 需求帶寬((每秒產生redo的速率峰值/0.75)*8)/1,000,000帶寬(Mbps) --可以通過去多次業務高峰期的Statspack/AWR獲取每秒產生redo的速率峰值,也可以通過查詢視…

post請求體內容無法重復獲取

post請求體內容無法重復獲取 為什么會無法重復讀取呢&#xff1f; 以tomcat為例&#xff0c;在進行請求體讀取時實際底層調用的是org.apache.catalina.connector.Request的getInputStream()方法&#xff0c;而該方法返回的是CoyoteInputStream輸入流 public ServletInputStream…

CVE-2016-5195 復現記錄

文章目錄 poc前置知識頁表與缺頁異常/proc/self/mem的寫入流程madvise 漏洞點修復 Dirty COW臟牛漏洞是一個非常有名的Linux競爭條件漏洞&#xff0c;雖然早在2016年就已經被修復&#xff0c;但它依然影響著眾多古老版本的Linux發行版&#xff0c;如果需要了解Linux的COW&#…

Redis7 實現持久化的三種方式

1、概述 1.1、Redis持久化的重要性 數據恢復&#xff1a;Redis是一個內存數據庫&#xff0c;如果系統或服務宕機&#xff0c;內存中的數據將會丟失。Redis的持久化機制可以把數據保存到磁盤上&#xff0c;以便在系統重啟后恢復數據。這是Redis持久化最基本也是最重要的功能。…

JCL中IEFBR14和COND

JCL中IEFBR14和COND ? COND CODE&#xff0c;就是反映JCL中STEP運行狀態的參數&#xff0c;JCL正常終了的COND CODE 是0000&#xff0c;另外筆者在執行某些工具JCL時候&#xff0c;比方說簡單一個COMPARE吧&#xff0c;可能會出現0012、0004或者0016&#xff0c;0001&#xf…

JSON與Object等的相互轉換

JSON與Object的轉換 // 將 Object 對象轉換為 String 類型 String jsonString = JSON.toJSONString(body);// 將 String 或 byte[] 轉換為 JSONObject 類型 JSONObject jsonObject = JSONObject.parseObject(jsonString); // 根據鍵key獲取 JSONObject 中的某一個鍵值對的值 S…

數據結構:棧和隊列的實現附上源代碼(C語言版)

目錄 前言 1.棧 1.1 棧的概念及結構 1.2 棧的底層數據結構選擇 1.2 數據結構設計代碼&#xff08;棧的實現&#xff09; 1.3 接口函數實現代碼 &#xff08;1&#xff09;初始化棧 &#xff08;2&#xff09;銷毀棧 &#xff08;3&#xff09;壓棧 &#xff08;4&…

金三銀四求職攻略:如何在面試中脫穎而出

隨著春天的腳步漸近&#xff0c;對于眾多程序員來說&#xff0c;一年中最繁忙、最重要的時期也隨之而來。金三銀四&#xff0c;即三月和四月&#xff0c;被廣大程序員視為求職的黃金時段。在這段時間里&#xff0c;各大公司紛紛開放招聘&#xff0c;求職者們則通過一場又一場的…

初階數據結構之---棧和隊列(C語言)

引言 在順序表和鏈表那篇博客中提到過&#xff0c;棧和隊列也屬于線性表 線性表&#xff1a; 線性表&#xff08;linear list&#xff09;是n個具有相同特性的數據元素的有限序列。 線性表是一種在實際中廣泛使用的數據結構。線性表在邏輯上是線性結構&#xff0c;也就是說是連…