国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

生信小白學(xué)單細(xì)胞轉(zhuǎn)錄組(sc-RNA)測(cè)序數(shù)據(jù)分析——R語(yǔ)言

這篇具有很好參考價(jià)值的文章主要介紹了生信小白學(xué)單細(xì)胞轉(zhuǎn)錄組(sc-RNA)測(cè)序數(shù)據(jù)分析——R語(yǔ)言。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、數(shù)據(jù)準(zhǔn)備

10X單細(xì)胞轉(zhuǎn)錄組理論上有3個(gè)文件才能被讀入R進(jìn)行seurat分析,分別是barcodes.tsv 、 genes.tsv和matrix.mtx,文件barcodes.tsv 和 genes.tsv,就是表達(dá)矩陣的行名和列名

pbmc.data <- Read10X(data.dir = "hg19")
#Load the PBMC dataset,創(chuàng)建Seurat對(duì)象,counts為讀取的源文件,project為Seurat對(duì)象想保存的文件名,
#可以加上限定條件:min.cells為組織中分離的最少細(xì)胞數(shù),min.features為一個(gè)細(xì)胞中測(cè)出的最少的基因數(shù)量
pbmc <- CreateSeuratObject(counts = pbmc.data, project = "pbmc3k", min.cells = 3, min.features = 200)
#查看pbmc中細(xì)胞數(shù)量的3個(gè)方法
pbmc
## An object of class Seurat 
## 13714 features across 2700 samples within 1 assay ,細(xì)胞數(shù)量是2700個(gè)
## Active assay: RNA (13714 features, 0 variable features)
ncol(pbmc)
## [1] 2700
ncol(pbmc.data)

文件解讀

genes.tsv文件(有時(shí)也叫features.tsv文件)

文件內(nèi)容:有兩列,第一列為基因ID,第二列為基因Symbol ID,區(qū)分各個(gè)基因

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

barcodes.tsv文件

文件內(nèi)容:有一列,內(nèi)容為測(cè)序時(shí)為了區(qū)分各個(gè)細(xì)胞的標(biāo)記信息,稱為Barcodes

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

matrix.mtx

文件內(nèi)容:有三列,數(shù)字的第一行是測(cè)序的匯總信息。第一行的第一個(gè)為測(cè)序的總基因數(shù)(說(shuō)明genes.tsv文件中有32738行),第二個(gè)為測(cè)序的總細(xì)胞數(shù)(說(shuō)明barcodes.tsv文件中有2700行),第三個(gè)為測(cè)序的總reads數(shù)。 除第一行,其余數(shù)字記錄矩陣信息,前兩列代表坐標(biāo),第三列表示具體某個(gè)細(xì)胞某個(gè)基因的表達(dá)量。

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

表達(dá)量矩陣

根據(jù)上述三個(gè)文件可以得到表達(dá)量的稀疏矩陣。

下游處理的時(shí)候,一定要保證這3個(gè)文件同時(shí)存在,而且在同一個(gè)文件夾下面,每一個(gè)樣本都是3個(gè)文件,每一個(gè)樣本都是同樣的代碼處理。

二、一般流程

(一)數(shù)據(jù)前處理:質(zhì)控和數(shù)據(jù)過(guò)濾

1.基于QC度量的細(xì)胞選擇與篩選(即質(zhì)控)

2.數(shù)據(jù)標(biāo)化與縮放(即數(shù)據(jù)標(biāo)準(zhǔn)化)

3.高度可變特征的檢測(cè)(特征性基因的選擇)

進(jìn)行質(zhì)控

我們提到單細(xì)胞數(shù)據(jù)質(zhì)控的時(shí)候,?般是指細(xì)胞的過(guò)濾,其實(shí)是從?個(gè)barcode X gene矩陣中過(guò)濾掉?部分不是細(xì)胞的barcode,如細(xì)胞碎?,雙細(xì)胞,死細(xì)胞等。這三類barcode的特征可以通過(guò)其對(duì)應(yīng)的基因表達(dá)情況來(lái)描述:nCount(總基因表達(dá)數(shù))、nFeature(總基因數(shù))、percent.HB(紅細(xì)胞基因表達(dá)?例)、percent.MT(線粒體基因表達(dá)?例)。nCount和nFeature過(guò)?可能是雙細(xì)胞,過(guò)低可能是細(xì)胞碎?。percent.HB刻畫紅細(xì)胞?例,percent.MT刻畫細(xì)胞狀態(tài),值過(guò)?可能是瀕臨死亡的細(xì)胞

PercentageFeatureSet 函數(shù)是根據(jù)counts總數(shù)相除算的打分:該基因集的counts總和/所有基因的counts總和。

基因集占的百分比 = 分子 / 分母 * 100;

分子: 指定基因的 counts種總和,在這次分析中是指細(xì)胞的線粒體基因轉(zhuǎn)錄本數(shù)

分母: 從 meta.data 獲取 nCount_RNA 列,就是每個(gè)cell中所有基因的 counts總和

這個(gè)函數(shù)的意思是,每個(gè)細(xì)胞的線粒體的基因數(shù)/細(xì)胞總基因數(shù)的百分比,將作為一列數(shù)據(jù)加到pbmc的metadata中,這一列的列名為“percent.mt"

#進(jìn)行質(zhì)控,計(jì)算每個(gè)細(xì)胞的線粒體基因轉(zhuǎn)錄本數(shù)的百分比(%),使用[[ ]] 操作符存放到metadata中;
#分析的時(shí)候要確認(rèn)好物種,人用^MT-如果是小鼠的,要用mt
pbmc[["percent.mt"]] <- PercentageFeatureSet(pbmc, pattern = "^MT-") 
#在創(chuàng)建對(duì)象 CreateSeuratObject() 的過(guò)程中,會(huì)自動(dòng)計(jì)算細(xì)胞中獨(dú)特基因與總基因數(shù)目,可以在目標(biāo)對(duì)象中找到
head(pbmc@meta.data,5)
 
                 orig.ident nCount_RNA nFeature_RNA percent.mt
AAACATACAACCAC-1     pbmc3k       2419          779  3.0177759
AAACATTGAGCTAC-1     pbmc3k       4903         1352  3.7935958
AAACATTGATCAGC-1     pbmc3k       3147         1129  0.8897363
AAACCGTGCTTCCG-1     pbmc3k       2639          960  1.7430845
AAACCGTGTATGCG-1     pbmc3k        980          521  1.2244898

進(jìn)行質(zhì)控前

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

進(jìn)行質(zhì)控后(小提琴圖)

#(1)將QC結(jié)果展示為小提琴圖,features中的名稱加引號(hào),ncol=3表示圖形分三列展示
VlnPlot(pbmc, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

進(jìn)行質(zhì)控后散點(diǎn)圖(散點(diǎn)圖)

plot1 <- FeatureScatter(pbmc, feature1 = "nCount_RNA", feature2 = "percent.mt") 
plot2 <- FeatureScatter(pbmc, feature1 = "nCount_RNA", feature2 = "nFeature_RNA")
if (!require(patchwork))install.packages("patchwork")
CombinePlots(plots = list(plot1, plot2))

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

nCount(總基因表達(dá)數(shù))、nFeature(總基因數(shù))、percent.HB(紅細(xì)胞基因表達(dá)?例)、percent.MT(線粒體基因表達(dá)?例)

數(shù)據(jù)標(biāo)準(zhǔn)化

方法一?normalization函數(shù),默認(rèn)LogNormalize的方法

pbmc <- NormalizeData(pbmc, normalization.method = "LogNormalize", scale.factor = 10000)

方法二 SCTransform,是一種三合一的方法,可以將質(zhì)控,歸一化和去識(shí)別高變基因合為一體

pbmc <- SCTransform(pbmc, vars.to.regress = "percent.mt", verbose = FALSE)
數(shù)據(jù)標(biāo)準(zhǔn)化的意義
  • 去除測(cè)序深度帶來(lái)的影響:
  • 例:細(xì)胞A中總reads數(shù)10,基因a的reads數(shù)為2;細(xì)胞B中總reads數(shù)1000,基因a的reads數(shù)為20。并不能說(shuō)基因a在細(xì)胞B中表達(dá)量大于A,故需要進(jìn)行標(biāo)準(zhǔn)化。
  • 標(biāo)準(zhǔn)化原則:
  • 每個(gè)細(xì)胞的每個(gè)基因的count數(shù)除以該細(xì)胞總count數(shù),然后乘以因子(10000),再進(jìn)行l(wèi)og(n+1)轉(zhuǎn)換
  • 標(biāo)準(zhǔn)化后的數(shù)據(jù)保存在pbmc@assays

高變基因的選擇

FindVariableFeatures()參數(shù)意義:

  • FindVariableFeatures 函數(shù)有 3 種選擇高表達(dá)變異基因的方法,可以通過(guò) selection.method參數(shù)來(lái)選擇,它們分別是: 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ì)有問(wèn)題。
#選擇高變基因,使用“vst”方法選擇2000個(gè)高變基因
pbmc <- FindVariableFeatures(pbmc, selection.method = "vst", nfeatures = 2000)
#儲(chǔ)存前10位高變基因
top10 <- head(VariableFeatures(pbmc), 10)
plot3 <- VariableFeaturePlot(pbmc)#高變基因散點(diǎn)圖
plot4 <- LabelPoints(plot=plot3, 
                     points = top10,
                     repel=TRUE)#top10加上基因名標(biāo)簽
CombinePlots(plots = list(plot3, plot4), ncol =2)#結(jié)合到一張圖中

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

尋找到的高變基因以及高變基因中的Top10

(二)PCA分析:線性降維

PCA分析,并且找到后續(xù)數(shù)據(jù)處理的維度

#數(shù)據(jù)標(biāo)準(zhǔn)化 Scale

#對(duì)所有基因進(jìn)行標(biāo)準(zhǔn)化
# all.genes <- rownames(pbmc)
# pbmc <- ScaleData(pbmc, features = all.genes)    

#只對(duì)上述2000個(gè)高變基因進(jìn)行標(biāo)準(zhǔn)化,通常僅對(duì)高變基因進(jìn)行標(biāo)準(zhǔn)化和降維
pbmc <- ScaleData(pbmc)                          

#PCA降維
pbmc <- RunPCA(pbmc, features = VariableFeatures(object = pbmc))
#選擇前5個(gè)維度進(jìn)行查看
print(pbmc[["pca"]], dims = 1:5, nfeatures = 5)

DimPlot(pbmc, reduction = "pca")
head(pbmc[['pca']]@cell.embeddings)[1:2,1:2]
VizDimLoadings(pbmc, dims = 1:2, reduction = "pca")
#使用DimHeatmap可視化函數(shù)查看樣品中前500個(gè)細(xì)胞在前6個(gè)PCA中的熱圖:
DimHeatmap(pbmc, dims = 1:6, cells = 500, balanced = TRUE)

#繪制ElbowPlot圖
ElbowPlot(pbmc)

#繪制JackStraw圖
pbmc <- JackStraw(pbmc,num.replicate = 100)
pbmc <- scoreJackStraw(pbmc,dims = 1:20)
JackStrawPlot(pbmc, dims = 1:20)

str(pbmc)

ScaleData()標(biāo)準(zhǔn)化函數(shù)作用:

  • 為后續(xù)PCA降維做準(zhǔn)備。
  • PCA降維要求數(shù)據(jù)為正態(tài)分布,即平均值為0,方差為1。

DimPlot()函數(shù)生成主成分分析結(jié)果圖

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言


head(pbmc[['pca']]@cell.embeddings)[1:2,1:2]

這段代碼的含義是查看pbmc數(shù)據(jù)集中PCA降維后的細(xì)胞嵌入的前兩行和前兩列的數(shù)據(jù)。

輸出結(jié)果如下:

                       PC_1       PC_2
AAACATACAACCAC-1 -4.8166626  0.3984358
AAACATTGAGCTAC-1 -0.6014593 -4.1511997

這個(gè)結(jié)果表示PCA降維后的細(xì)胞嵌入中的前兩行數(shù)據(jù),其中第一列是PC_1的值,第二列是PC_2的值。每一行代表一個(gè)細(xì)胞,在低維空間中的位置由PC_1和PC_2的值表示。


VizDimLoadings(pbmc, dims = 1:2, reduction = "pca")

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

#使用DimHeatmap可視化函數(shù)查看樣品中前500個(gè)細(xì)胞在前6個(gè)PCA中的熱圖: 
DimHeatmap(pbmc, dims = 1:6, cells = 500, balanced = TRUE)

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

確定數(shù)據(jù)集的維度

目的:每個(gè)維度(pc)本質(zhì)上代表一個(gè)“元特征”,它將相關(guān)特征集中的信息組合在一起。因此,越在頂部的主成分越可能代表數(shù)據(jù)集。然而,我們應(yīng)該選擇多少個(gè)主成分才認(rèn)為我們選擇的數(shù)據(jù)包含了絕大部分的原始數(shù)據(jù)信息呢?

方法

(1)ElbowPlot函數(shù),基于每個(gè)主成分所解釋的方差百分比的排序,通過(guò)尋找“拐點(diǎn)”來(lái)判斷幾個(gè)維度可包含數(shù)據(jù)的大部分信息。

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

(2)JackStraw()函數(shù), 使用基于零分布的置換檢驗(yàn)方法。JackStraw分析是一種常用的統(tǒng)計(jì)方法,用于評(píng)估單細(xì)胞RNA測(cè)序數(shù)據(jù)中的主要和次要成分是否具有統(tǒng)計(jì)顯著性。它基于隨機(jī)化方法,通過(guò)將原始數(shù)據(jù)中的樣本標(biāo)簽進(jìn)行隨機(jī)重排,來(lái)估計(jì)每個(gè)主成分的p值。這樣可以判斷哪些主成分是真實(shí)的信號(hào),而不是隨機(jī)噪聲。JackStrawPlot()函數(shù)提供可視化方法,用于比較每一個(gè)主成分的p-value的分布,虛線是均勻分布;顯著的主成分富集有小p-Value基因,實(shí)線位于虛線左上方。

具體解釋如下:

pbmc <- JackStraw(pbmc, num.replicate = 100)
#對(duì)pbmc數(shù)據(jù)集進(jìn)行JackStraw分析。JackStraw函數(shù)用于計(jì)算主成分的p值和Q值
#num.replicate參數(shù)指定了隨機(jī)重排的次數(shù),這里設(shè)置為100次

pbmc <- scoreJackStraw(pbmc, dims = 1:20)
#使用scoreJackStraw函數(shù)對(duì)pbmc數(shù)據(jù)集進(jìn)行評(píng)分
#dims參數(shù)指定了要評(píng)分的主成分的范圍,這里選擇了前20個(gè)主成分

JackStrawPlot(pbmc, dims = 1:20)
#使用JackStrawPlot函數(shù)繪制JackStraw圖
#JackStraw圖以p值和Q值作為縱軸,主成分的編號(hào)作為橫軸,展示主成分的顯著性和噪聲水平

通過(guò)JackStraw分析和JackStraw圖,我們可以評(píng)估每個(gè)主成分的顯著性,并確定哪些主成分是真實(shí)的信號(hào),進(jìn)而進(jìn)行后續(xù)的數(shù)據(jù)解釋和分析。

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

(三)細(xì)胞聚類

將具有相似基因表達(dá)模式的細(xì)胞之間繪制邊緣,然后將他們劃分為一個(gè)內(nèi)聯(lián)群體

并進(jìn)行tSNE和UMAP分析

注意:umap的使用需要先在電腦上搭建python環(huán)境,檢查是否下載成功標(biāo)志就是:library(umap)能否成功

# 細(xì)胞聚類
# tSNE聚類與UMAP聚類選擇一個(gè)執(zhí)行即可,都是基于PCA降維的結(jié)果進(jìn)行聚類
# 此處維度選擇10是根據(jù)上述“ElbowPlot(pbmc)”生成的主成分圖確定的,圖中拐點(diǎn)為10,表示10個(gè)維度足以反映高維信息

#計(jì)算最鄰近距離
pbmc <- FindNeighbors(pbmc, dims = 1:10) # Louvain cluster graph based
#聚類,包含設(shè)置下游聚類的“間隔尺度”的分辨率參數(shù)resolution ,增加值會(huì)導(dǎo)致更多的聚類。
pbmc <- FindClusters(pbmc, resolution = 0.5)

#可以使用idents函數(shù)找到聚類情況:
#查看前5個(gè)細(xì)胞的聚類id
head(Idents(pbmc), 5)


#UMAP降維
pbmc <- RunUMAP(pbmc, dims = 1:10)
DimPlot(pbmc, reduction = "umap")

#tSNE降維
#pbmc <- RunTSNE(pbmc, dims = 1:10)
#DimPlot(pbmc, reduction = "tsne")

UMAP降維聚類

#查看FCGR3A和CD14基因分布
FeaturePlot(pbmc,features = c('FCGR3A','CD14'),reduction = 'umap')

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

TSNE降維聚類

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

t-SNE vs UMAP?

t-SNE(t-Distributed Stochastic Neighbor Embedding)和UMAP(Uniform Manifold Approximation and Projection)都是常用的非線性降維方法,用于將高維數(shù)據(jù)映射到低維空間。以下是它們的一些優(yōu)劣比較

t-SNE的優(yōu)勢(shì):保留局部結(jié)構(gòu):t-SNE能夠更好地保留數(shù)據(jù)的局部結(jié)構(gòu),尤其適用于可視化和聚類分析。它可以幫助發(fā)現(xiàn)數(shù)據(jù)中的類別、簇或群集,并在降維后的空間中保持它們的相對(duì)距離。

t-SNE的劣勢(shì):計(jì)算復(fù)雜度高:t-SNE的計(jì)算復(fù)雜度較高,尤其是在大規(guī)模數(shù)據(jù)集上。它的運(yùn)行時(shí)間和內(nèi)存消耗通常比較大,可能需要更多的計(jì)算資源和時(shí)間。tSNE的時(shí)間復(fù)雜度為O(n2),UMAP的時(shí)間復(fù)雜度為O(n1.14)

UMAP的優(yōu)勢(shì):保留全局結(jié)構(gòu):UMAP相對(duì)于t-SNE來(lái)說(shuō)更擅長(zhǎng)保留數(shù)據(jù)的全局結(jié)構(gòu)。它能夠更好地捕捉數(shù)據(jù)之間的整體關(guān)系和距離,對(duì)于發(fā)現(xiàn)數(shù)據(jù)集中的全局模式和結(jié)構(gòu)更有優(yōu)勢(shì),更好的保留真實(shí)距離信息

UMAP的劣勢(shì):參數(shù)選擇:UMAP有一些參數(shù)需要調(diào)整,如鄰域大小、最小距離等。這些參數(shù)的選擇可能對(duì)最終的降維結(jié)果產(chǎn)生影響,需要一定的經(jīng)驗(yàn)和實(shí)驗(yàn)來(lái)確定最佳的參數(shù)設(shè)置。

綜上所述,選擇t-SNE還是UMAP取決于具體的數(shù)據(jù)集和分析目的。如果重點(diǎn)是保留局部結(jié)構(gòu)和發(fā)現(xiàn)數(shù)據(jù)中的類別或簇,則t-SNE可能更適合。如果需要保留全局結(jié)構(gòu)和捕捉數(shù)據(jù)之間的整體關(guān)系,則UMAP可能更適合。在實(shí)際應(yīng)用中,可以嘗試使用兩種方法,并比較它們?cè)诮稻S效果和計(jì)算效率上的差異,選擇最適合的方法。

【干貨】高分SCI要用tSNE還是UMAP? - 知乎 (zhihu.com)

#添加細(xì)胞類群的標(biāo)簽
DimPlot(pbmc, reduction = "umap",label = TRUE)
LabelClusters(DimPlot(pbmc, reduction = "umap"),id = 'ident')
 
#可以在這里保存為以下形式,就不必再執(zhí)行以上步驟
saveRDS(pbmc, file = "../output/pbmc_tutorial.rds")

(四)差異分析:尋找marker gene

通過(guò)差異表達(dá)找到每個(gè)聚類的marker gene,差異分析可以有多種形式,如找到所有聚類的marker gene(如cluster1中所有的markgene是指cluster1相對(duì)于其余所有cluster是差異的)、兩個(gè)cluster之間的差異分析、某個(gè)cluster中兩個(gè)樣品之間差異分析等

#差異分析
# find all markers of cluster 0(尋找cluster0的基因)
cluster0.markers <- FindMarkers(pbmc, ident.1 = 0, min.pct = 0.25)
head(cluster0.markers, n = 5)
#可以根據(jù)需要,將每個(gè)聚類的差異基因都找一遍,方便后續(xù)分析
#head(cluster0.markers, n = 5),可以將n = 5進(jìn)行調(diào)整,比如換成10,即可顯示10個(gè)差異基因
###參數(shù)解釋
#ident.1 設(shè)置待分析的細(xì)胞類別
#min.pct 在兩組細(xì)胞中的任何一組中檢測(cè)到的最小百分
#thresh.test 在兩組細(xì)胞間以一定數(shù)量的差異表達(dá)(平均)
#max.cells.per.ident 通過(guò)降低每個(gè)類的采樣值,提高計(jì)算速度

#尋找cluster1的差異基因
cluster1.markers <- FindMarkers(pbmc, ident.1 = 1, min.pct = 0.25)
#找到cluster5和cluster0、3之間的markgene
cluster5.markers <- FindMarkers(pbmc, ident.1 = 5, ident.2 = c(0, 3), min.pct = 0.25)

#找到每個(gè)cluster相比于其余cluster的markgene,只報(bào)道陽(yáng)性的markgene
pbmc.markers <- FindAllMarkers(pbmc, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25)
## 所有基因先分組,再根據(jù)avg_log2FC進(jìn)行排序
pbmc.markers %>% group_by(cluster) %>% top_n(n = 2, wt = avg_log2FC)

FindAllMarkers()參數(shù)意義:

  • only.pos = TRUE:只尋找上調(diào)的基因
  • min.pct = 0.1:某基因在細(xì)胞中表達(dá)的細(xì)胞數(shù)占相應(yīng)cluster細(xì)胞數(shù)最低10%
  • logfc.threshold = 0.25 :fold change倍數(shù)為0.25
  • 該函數(shù)是決速步,執(zhí)行比較耗時(shí)。

根據(jù)avg_log2FC進(jìn)行排序

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

#VlnPlot: 基于細(xì)胞類群的基因表達(dá)概率分布
VlnPlot(pbmc, features = c("MS4A1", "CD79A"))
VlnPlot(pbmc, features = c("NKG7", "PF4"), slot = "counts", log = TRUE)

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

(五)可視化標(biāo)記基因,即細(xì)胞注釋

秀兒!10+生信分析最大的難點(diǎn)在這里!30多種方法怎么選?今天幫你解決!_pbmc (sohu.com)

#對(duì)marker_gene進(jìn)行篩選p_val<0.05
pbmc.markers %>% subset(p_val<0.05)
## 所有基因先分組,再根據(jù)avg_log2FC進(jìn)行排序,選出每組前十個(gè)
list_marker <- pbmc.markers %>% group_by(cluster) %>% top_n(n = 10, wt = avg_log2FC)
print(list_marker,n = Inf)#打印list_marker所有值
#保存差異分析結(jié)果到csv
df_marker=data.frame(p_val = list_marker$p_val,
                     avg_log2FC = list_marker$avg_log2FC,
                     pct.1 = list_marker$pct.1,
                     pct.2 = list_marker$pct.2,
                     p_val_adj = list_marker$p_val_adj,
                     cluster = list_marker$cluster,
                     gene = list_marker$gene)
write.csv(df_marker,"marker.csv")

#添加細(xì)胞注釋信息,通過(guò)CellMarker注釋每一個(gè)cluster代表的細(xì)胞類群
new.cluster.ids <- c("Memory CD4 T", "Activated effector", "Pro-inflammatory macrophage", "CDC2", "CD8 T", "Non-classical monocyte", 
                     "CD3/CD28-stimulated NK", "Megakaryocyte")
names(new.cluster.ids) <- levels(pbmc)
pbmc <- RenameIdents(pbmc, new.cluster.ids)
DimPlot(pbmc, reduction = "umap", label = TRUE, pt.size = 0.5) + NoLegend()

將csv文件中各組的top10marker基因數(shù)據(jù)處理成便于CellMarker需求形式

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

使用CellMarker中的cell annotation工具進(jìn)行注釋CellMarker2.0 (hrbmu.edu.cn)

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

展示注釋后的DimPlot圖

r語(yǔ)言 單細(xì)胞,r語(yǔ)言,數(shù)據(jù)分析,開發(fā)語(yǔ)言

小白第一次寫文章,歡迎大家評(píng)論區(qū)指正!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-755974.html

到了這里,關(guān)于生信小白學(xué)單細(xì)胞轉(zhuǎn)錄組(sc-RNA)測(cè)序數(shù)據(jù)分析——R語(yǔ)言的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 單細(xì)胞分類和預(yù)測(cè)任務(wù)

    對(duì)于 分類 和 預(yù)測(cè) 任務(wù),在生物信息學(xué)領(lǐng)域有一些常用的方法和工具可以使用。以下是一些常見的方法和工具: 1. 機(jī)器學(xué)習(xí)方法: 包括支持向量機(jī)(Support Vector Machine,SVM)、隨機(jī)森林(Random Forest)、神經(jīng)網(wǎng)絡(luò)(Neural Networks)等。這些方法可以用于分類和預(yù)測(cè)任務(wù),可以根

    2024年02月13日
    瀏覽(17)
  • 單細(xì)胞seurat入門—— 從原始數(shù)據(jù)到表達(dá)矩陣

    單細(xì)胞seurat入門—— 從原始數(shù)據(jù)到表達(dá)矩陣

    根據(jù)所使用的建庫(kù)方法,單細(xì)胞的RNA序列(也稱為讀?。╮eads)或標(biāo)簽(tags))將從轉(zhuǎn)錄本的3\\\'端(或5\\\'端)(10X Genomics,CEL-seq2,Drop-seq,inDrops)或全長(zhǎng)轉(zhuǎn)錄本(Smart-seq)獲得。 圖片來(lái)源: Papalexi E and Satija R. Single-cell RNA sequencing to explore immune cell heterogeneity, Nature Reviews Immu

    2024年02月05日
    瀏覽(48)
  • 基于GPT構(gòu)建單細(xì)胞多組學(xué)基礎(chǔ)模型

    基于GPT構(gòu)建單細(xì)胞多組學(xué)基礎(chǔ)模型

    生成式預(yù)訓(xùn)練模型在自然語(yǔ)言處理和計(jì)算機(jī)視覺(jué)等各個(gè)領(lǐng)域取得了顯著的成功。特別是將大規(guī)模多樣化的數(shù)據(jù)集與預(yù)訓(xùn)練的Transformer相結(jié)合,已經(jīng)成為開發(fā)基礎(chǔ)模型的一種有前途的方法。文本由單詞組成,細(xì)胞可以通過(guò)基因進(jìn)行表征。這種類比啟發(fā)作者探索細(xì)胞和基因生物學(xué)

    2024年02月13日
    瀏覽(20)
  • 專欄十:10X單細(xì)胞的聚類樹繪圖

    專欄十:10X單細(xì)胞的聚類樹繪圖

    經(jīng)常在文章中看到對(duì)細(xì)胞群進(jìn)行聚類,以證明兩個(gè)cluster之間的相關(guān)性,這里總結(jié)兩種繪制這種圖的方式和代碼,當(dāng)然我覺(jué)得這些五顏六色的顏色可能是后期加的,本帖子只總結(jié)畫樹狀圖的方法 文章Single-cell analyses implicate ascites in remodeling the ecosystems of primary and metastatic tumors

    2024年02月07日
    瀏覽(51)
  • 單細(xì)胞測(cè)序并不一定需要harmony去除批次效應(yīng)

    單細(xì)胞測(cè)序并不一定需要harmony去除批次效應(yīng)

    大家好,今天 我們分享的是單細(xì)胞的學(xué)習(xí)教程https://www.singlecellworkshop.com/analysis-tutorial.html ?教程的作者使用了四個(gè)樣本,但是沒(méi)有使用harmony或者其他方法去整合 去除批次效應(yīng)。 主要內(nèi)容: SCTransform流程代碼 及結(jié)果 harmony流程代碼及結(jié)果 seurat單樣本標(biāo)準(zhǔn)流程代碼 及結(jié)果 三種

    2024年02月03日
    瀏覽(28)
  • 單細(xì)胞分析(五)——使用Harmony進(jìn)行數(shù)據(jù)整合和去批次

    單細(xì)胞分析(五)——使用Harmony進(jìn)行數(shù)據(jù)整合和去批次

    進(jìn)行樣本去批次(batch correction)是單細(xì)胞RNA測(cè)序數(shù)據(jù)分析的重要步驟之一。 技術(shù)噪聲和批次效應(yīng): 單細(xì)胞RNA測(cè)序數(shù)據(jù)通常具有高度異質(zhì)性,且在采樣、實(shí)驗(yàn)操作、反應(yīng)條件等多個(gè)環(huán)節(jié)中可能引入技術(shù)噪聲和批次效應(yīng)。這些因素會(huì)對(duì)測(cè)序數(shù)據(jù)質(zhì)量產(chǎn)生影響,從而使得不同批次

    2024年02月08日
    瀏覽(220)
  • Seurat | 強(qiáng)烈建議收藏的單細(xì)胞分析標(biāo)準(zhǔn)流程(基礎(chǔ)質(zhì)控與過(guò)濾)(一)

    Seurat | 強(qiáng)烈建議收藏的單細(xì)胞分析標(biāo)準(zhǔn)流程(基礎(chǔ)質(zhì)控與過(guò)濾)(一)

    作為現(xiàn)在 最火 的 scRNAseq 分析包, Seurat 當(dāng)之無(wú)愧。?? 本期開始我們介紹一下 Seurat 包的用法,先從 基礎(chǔ)質(zhì)控 和 過(guò)濾 開始吧。?? 3.1 讀取10X文件 這里我們提供一個(gè)轉(zhuǎn)成 gene symbols 的可讀文件,如果大家拿到的是 Ensemble ID ,可以用之前介紹的方法進(jìn)行轉(zhuǎn)換。 3.2 創(chuàng)建Seurat對(duì)象

    2024年02月08日
    瀏覽(20)
  • 易基因:人類大腦的單細(xì)胞DNA甲基化和3D基因組結(jié)構(gòu)|Science

    易基因:人類大腦的單細(xì)胞DNA甲基化和3D基因組結(jié)構(gòu)|Science

    大家好,這里是專注表觀組學(xué)十余年,領(lǐng)跑多組學(xué)科研服務(wù)的易基因。 高通通量表觀基因組分析技術(shù)可用于闡明大腦中細(xì)胞復(fù)雜性的基因調(diào)控程序。5\\\'-甲基胞嘧啶 (5mCs)是哺乳動(dòng)物基因組中最常見的修飾堿基,大多數(shù)5mCs發(fā)生在胞嘧啶-鳥嘌呤二核苷酸(CpGs)上。CG差異甲基化區(qū)

    2024年04月17日
    瀏覽(20)
  • 從單細(xì)胞數(shù)據(jù)分析的最佳實(shí)踐看R與Python兩個(gè)陣營(yíng)的博弈

    從單細(xì)胞數(shù)據(jù)分析的最佳實(shí)踐看R與Python兩個(gè)陣營(yíng)的博弈

    R與Python,在生物信息學(xué)領(lǐng)域的博弈異常激烈。許多生信分析,兩個(gè)陣營(yíng)都發(fā)展出了自己的方法,比如單細(xì)胞數(shù)據(jù)分析,R有Seurat,Python就有Scanpy。這些層出不窮的方法不斷地吸引著吃瓜群眾的眼球,同時(shí)也讓人患上了選擇困難癥。 到底誰(shuí)優(yōu)誰(shuí)劣?一時(shí)竟難分高下。今天我們就

    2024年01月25日
    瀏覽(38)
  • 生信技能樹 RNA-seq

    生信技能樹 RNA-seq

    RNA-seq:5-sratoolkit 下載數(shù)據(jù) RNA-seq:6-qc-1 # 創(chuàng)造conda環(huán)境 # 然后跑不出來(lái)報(bào)告,一直顯示java報(bào)錯(cuò),還把miniconda給卸了,bin環(huán)境也讓我搞得亂七八糟...... #解決方法如下

    2024年02月01日
    瀏覽(44)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包