因子
对照组的levels在前
#默认的levels按首字母顺序排序,允许自己设置
factor(Group)#没设置levels,采用默认按照首字母设置 #相当于unique(Group)并按首字母排序 levels的第一个单词作为差异分析的对照组,一定要提前检查并确认levels
levels设置方法:
factor(Group, levels = c("Normal","Disease"))#手动对levels进行赋值确保levels顺序正确,对照组在前
设置好后将样品名和分组放到一起进行检查设置是否正确
data.frame(pd$title,Group)
获取探针注释
library(tinyarray) gpl_number#提前一步获取并保存 View(pkg_all)#查看探针编号并搜索 或: pkg_allpkg_all$gpl==gpl_number,2
获取ids
#需将示例中hgu133plus2全部替换成所需探针注释
#一定要加.db!!!
if(!require(hgu133plus2.db))BiocManager::install("hgu133plus2.db",ask = F,update = F) library(hgu133plus2.db) ls("package:hgu133plus2.db") #列出R包里内容 ids <- toTable(hgu133plus2SYMBOL) #ids应当只有两列
自主注释
#流程:
获得探针ID与序列——> //读取gtf文件
比对到参考基因组——> //获取基因位置信息
#下载参考基因组#构建索引#运行比对
bam转为grange对象——> //成为grange对象
寻找对应关系——>
提取对应行并cbind
一个探针对应多个基因——非特异性探针
1* 去除
2* 去除MiRNA(困难且没必要)
多个探针对应同一个基因
1* 随机去重
distinct(test,Species,.keep_all)
2* 保留行和/行平均值最大的探针
apply(test,1,sum/mean)
3* 取多个探针的平均值
apply(test,2,mean)
抽样
sample(1:100,10)
PCA样本聚类图
library(FactoMineR) library(factoextra)
iris.pca <- PCA(iris,-5,graph = FALSE) fviz_pca_ind(iris.pca, geom.ind = "point", #show points only (nbut not "text") col.ind = iris$Species, # color by groups palette = c("#00AFBB", "#E7B800", "#FC4E07"), addEllipses = TRUE, #Concentration ellipses legend.title = "Groups" )
top1000差异基因热图
g = names(tail(sort(apply(exp,1,sd)),1000));g#筛选sd最大的1000个基因 n = expg,;n#提取top1000基因 library(pheatmap) annotation_col = data.frame(row.names = colnames(n), Group = Group)#以样本名为行名创建数据框并分组
pheatmap(n,#以n中数据作图 show_colnames = F,#不显示列名 show_rownames = F,#不显示行名 annotation_col = annotation_col,#列注解为annotation_col,按照Group的因子生成图例 scale = "row",#按行标准化,只保留行内差别,不保留行间差别,会把数据范围缩放到大概-5~5之间,若不如此做,仍为0~15,差异则不够清晰 breaks = seq(-3,3,length.out = 100)#设置色带分布范围为-3~3之间,超出此范围的数字会显示极限颜色 )
引用自生信技能树