单细胞的marker基因整理,要求一行是一个细胞和一个基因,但我们从文献中查找的结果未必规范。如果一个细胞有多个marker基因,应分布在多行上。
GCmarker.txt文件内容如下,将其放在工作目录下。
G;GAST
X;GHRL
D;SST
PMC;MUC5AC
GMC;MUC6
parietal;ATP4A,ATP4B,GIF
chief;PGA4,PGA3,LIPF
T;CD2, CD3D,CD3E,CD3G
B;CD79A,CD19
mast;TPSAB1,TPSB2
Macrophage;CD14, CD163, CD68, CSF1R
Fibroblasts;FAP, PDPN,COL1A2,DCN, COL3A1,COL6A1
Endothelial;PECAM1,VWF,ENG,MCAM
stem;OLFM4,SOX2,LGR5,CCKBR
SMC;ACTA2,ACTN2,MYL2,MYH2
PC;MKI67,BIRC5,CDK1
goblet;TFF3,SPINK4,MUC2
enteroendocrine;CHGA,CHGB,TAC1,TPH1,NEUROG3
enterocytes;FABP1,CA1,VIL1
上次我的学生整理了一个,是手动整理的,太费事了。所以我来教一个函数自动完成!
rm(list = ls())
markers = read.delim("GCmarker.txt",header = F,sep = ";")
head(markers,20)
## V1 V2
## 1 G GAST
## 2 X GHRL
## 3 D SST
## 4 PMC MUC5AC
## 5 GMC MUC6
## 6 parietal ATP4A,ATP4B,GIF
## 7 chief PGA4,PGA3,LIPF
## 8 T CD2, CD3D,CD3E,CD3G
## 9 B CD79A,CD19
## 10 mast TPSAB1,TPSB2
## 11 Macrophage CD14, CD163, CD68, CSF1R
## 12 Fibroblasts FAP, PDPN,COL1A2,DCN, COL3A1,COL6A1
## 13 Endothelial PECAM1,VWF,ENG,MCAM
## 14 stem OLFM4,SOX2,LGR5,CCKBR
## 15 SMC ACTA2,ACTN2,MYL2,MYH2
## 16 PC MKI67,BIRC5,CDK1
## 17 goblet TFF3,SPINK4,MUC2
## 18 enteroendocrine CHGA,CHGB,TAC1,TPH1,NEUROG3
## 19 enterocytes FABP1,CA1,VIL1
nrow(markers)
## [1] 19
可见,一共有19种细胞,每种细胞对应一个或多个基因。
一个细胞对应多个基因的行,拆分成多行。
library(tidyr)
markers = separate_rows(markers,V2,sep = ",")
head(markers,20)
## # A tibble: 20 × 2
## V1 V2
## <chr> <chr>
## 1 G "GAST"
## 2 X "GHRL"
## 3 D "SST"
## 4 PMC "MUC5AC"
## 5 GMC "MUC6"
## 6 parietal "ATP4A"
## 7 parietal "ATP4B"
## 8 parietal "GIF"
## 9 chief "PGA4"
## 10 chief "PGA3"
## 11 chief "LIPF"
## 12 T "CD2"
## 13 T " CD3D"
## 14 T "CD3E"
## 15 T "CD3G"
## 16 B "CD79A"
## 17 B "CD19"
## 18 mast "TPSAB1"
## 19 mast "TPSB2"
## 20 Macrophage "CD14"
nrow(markers)
## [1] 55
19行变成了55行,一行一个细胞一个基因。
有的基因名称前面有空格,会影响后续的画图,可以用trimws函数去除每个基因名前后的空格。
markers$V2 = trimws(markers$V2)
head(markers,20)
## # A tibble: 20 × 2
## V1 V2
## <chr> <chr>
## 1 G GAST
## 2 X GHRL
## 3 D SST
## 4 PMC MUC5AC
## 5 GMC MUC6
## 6 parietal ATP4A
## 7 parietal ATP4B
## 8 parietal GIF
## 9 chief PGA4
## 10 chief PGA3
## 11 chief LIPF
## 12 T CD2
## 13 T CD3D
## 14 T CD3E
## 15 T CD3G
## 16 B CD79A
## 17 B CD19
## 18 mast TPSAB1
## 19 mast TPSB2
## 20 Macrophage CD14
完工