问题整理

作者: 三点水的番薯 | 来源:发表于2021-06-18 17:06 被阅读0次

1. 在同一张UMAP上展示细胞分群情况

问题:如果单独取出cluster再做dimplot,就会出现UMAP图坐标轴不一
解决方法:在整体的dimplot图上标记高亮细胞,其他细胞颜色设置为白色

DimPlot(pbmc, cells.highlight=WhichCells(pbmc, idents = c("1")), cols.highlight = c("green"), cols= "white")+labs(title = "Cluster1-4573")

2.数据框元素的提取

在数据框中,如果只知道有n行,但不知道是第几行,知道行名,提取行的方法。
数据框名称["行名",]

3. 整合分析后进行NMF无法拆分,加入以下代码(参考github)

so_fromLiger[['nmf']] <- CreateDimReducObject(
  embeddings = Embeddings(so_fromLiger[['nmf']]),
  loadings = Loadings(so_fromLiger[['nmf']], projected = FALSE),
  projected = Loadings(so_fromLiger[['nmf']], projected = TRUE),
  assay = DefaultAssay(so_fromLiger[['nmf']]),
  stdev = Stdev(so_fromLiger[['nmf']]),
  key = Key(so_fromLiger[['nmf']]),
  global = TRUE,
  misc = Misc(object = so_fromLiger[['nmf']])
)

4. 在metadata中添加分类项表示基因是否在细胞中共表达

(感谢Kinesin老师告诉我代码,之前乱七八糟试了很久)

pbmc$cd4 <- ifelse(pbmc@assays$RNA@counts["CD4",]>0, "pos", "neg")

查看细胞中某些基因是否共表达

 pbmc$cd8a <- ifelse(pbmc@assays$RNA@counts["CD8A",]>0, "pos", "neg")
 pbmc$cd3d <- ifelse(pbmc@assays$RNA@counts["CD3D",]>0, "pos", "neg")
 pbmc$cd8a_cd3d <- paste0(pbmc$cd8a, "_", pbmc$cd3d)
 table(pbmc$cd8a_cd3d)

5.计算多个基因在不同cluster里面的表达量并绘制热图

如果一些基因属于同一个家族,想合并计算表达然后绘制热图

TOTAL1包括GeneA,GeneB
TOTAL2包括GeneC,GeneD
TOTAL3包括GeneE,GeneF

tmp <- AverageExpression(pbmc,assays = "RNA", features = c("GeneA","GeneB"), slot = "counts")#计算基因GeneA和GeneB的表达量
tmp1<-tmp[["RNA"]] 
tmpTOTAL1 <- apply(tmp1,2,sum) # 分别计算TOTAL1中基因在不同细胞群中所占总和
---------
tmp <- AverageExpression(pbmc,assays = "RNA", features = c("GeneC","GeneD"), slot = "counts")#计算基因GeneC和GeneD的表达量
tmp1<-tmp[["RNA"]] 
tmpTOTAL2 <- apply(tmp1,2,sum) # 分别计算TOTAL2中基因在不同细胞群中所占总和
----------
tmp <- AverageExpression(pbmc,assays = "RNA", features = c("GeneE","GeneF"), slot = "counts")#计算基因GeneE和GeneF的表达量
tmp1<-tmp[["RNA"]] 
tmpTOTAL3 <- apply(tmp1,2,sum) # 分别计算TOTAL3中基因在不同细胞群中所占总和
----------
#分别计算好表达量后构建数据框
Total<- bind_rows(tmpTOTAL1, tmpTOTAL2,tmpTOTAL3)
#为矩阵添加列名和行名
row=c("TOTAL1","TOTAL2","TOTAL3")
column=c("Cluster0","Cluster1","Cluster2")
dimnames(Total)=list(row,column)
#绘制热图
pheatmap(Total)

6. 删除数据框中的特定列

#直接删除
df[,-which(names(df)%in%c("z","u")]
subset(df,select=-c(z,u))
#挑选出需要的
df[ , c("x","y")]
subset(df, select=c(x,y))

相关文章

  • 问题整理

    说明:需要回顾或者处理的问题记录 1、SVN:获取项目失败,访问被禁止。-没有写完整的地址 http://xxx....

  • 问题整理

    案例1.我的孩子每天早上不愿意起床,起床了也不愿意刷牙洗脸,就想要玩玩具,该怎么办? 案例2.双胞胎的妹妹特别的怕...

  • 问题整理

    1、代理的效率高,还是KVO的效率高? 代理的效率高,因为代理不会动态的生成类 2、怎么拿到一个对象的类对象,怎么...

  • 问题整理

    1. 请求数据失败后页面就一直报错,需强刷才能继续进行下去 解决方案: try catch 2.在中chrome中...

  • 整理问题

    分清主次 整理思路

  • 问题整理

    怎样保证接口幂等性 @transational 有没有遇到失效的场景

  • 问题整理

    Linux基础 1.请用top命令找到当前占用最多的进程 运行top命令后,在键盘上按下大写的“M”字母后,在首行...

  • 问题整理

    1. 在同一张UMAP上展示细胞分群情况 问题:如果单独取出cluster再做dimplot,就会出现UMAP图坐...

  • 问题整理

    前端工程化的理解 【流程+规范+自动化等】 webpack(项目打包) 用过哪些loader和plugin;loa...

  • 问题整理

    题目有没有看对,套路有没有对 1、收尾工作对内:更新组织资产,更新经验教训登记册对外:获得客户对项目收尾工作的批准...

网友评论

    本文标题:问题整理

    本文链接:https://www.haomeiwen.com/subject/mqmxyltx.html