基因“本体论” 对事物的分类描述,对基因的分类描述
对基因的描述
1、cellular component,CC(基因存在于细胞质还是细胞核,是线粒体还是其他细胞器)细胞组成
2、Biological process,BP(能够参与哪一个生物学过程,参与rna加工,复制等)生物学过程
3、Molecular function,MF(分子功能上,催化什么反应,什么样的酶)分子功能
基于以上三类,对基因进行分类
so,we will have a gene annotation information
一、RNA-Seq ctrl, treatment
ctrl gene expression distribution, 在1种条件下的基因表达谱
treatment gene expression distribution,在其他条件下的基因表达谱
ctrl v.s. treatment ->DEG 差异表达基因
DEG:differential expression genes (cuffdiff,比较两者差异基因)
cufflink 计算基因表达量
二、DEFG ->GO annotation(找到GO注释)
1、cellular component,CC(基因存在于细胞质还是细胞核)
2、Biological process,BP(能够参与哪一个生物学过程)
3、Molecular function,MF(分子功能上)
how to test if the GO is enriched? 如何去检测GO的富集
GO enrichment analysis(GO富集分析)
什么是GO注释?(为了给基因分配 go term)
如何拿到GO注释
model orgnism -> annotated databass(模式生物已经分配好了GO term)
non-model orgnism ->search database(非模式生物,需要自己去找,如果没有需要用blast办法?)
无参的生物(A)没有 reference ,找相近的有 reference 的生物(B)
用 A blast B ,A 里面的 gene1 比对到 B 的 gene2 ,然后找 gene2 的 term 或者 annotation 当作 A 的。(使用的软件 blast2GO 还有其他的 )
KEGG enrichment analysis?(代谢通路富集分析)
DO (disease)enrichment analysis? (疾病富集分析)[一般是临床使用]
###########################################################
# 2020/3/8
# test GO analysis and KEGG pathway analysis
############################################################
rm(list = ls())
# 1、 RNAseq fastq -> BAM (tophat2, hiast ,star)
# 2、 cufflink BAM
# 3、 cuffdiff BAM GTF
# 1. load cuffdiff result
cuffdiff_result = read.table(file="../Desktop/test_data/rnaseq_test_date/diff_out1/gene_exp.diff",header = T,sep = "\t")
cuffdiff_result$sample_1 = "ctrl"
cuffdiff_result$sample_2 = "treat"
#test_id 或者 gene_id 称为 gene samble = samble
# 2. select DEG
# Ⅰ. FPKM1 or FPKM2 >1
# Ⅱ. log2(fold change) >1 or < -1
# Ⅲ. p_value <0.05
select_vector = (cuffdiff_result$value_1 > 1 | cuffdiff_result$value_2 > 1 ) & abs(cuffdiff_result$log2.fold_change.) >= 1 & (cuffdiff_result$p_value < 0.05)
cuffdiff_result.sign = cuffdiff_result[select_vector,]
output.gene_id = data.frame(gene_id = cuffdiff_result.sign$gene_id)
write.table(output.gene_id , file = "../Desktop/test_data/GO,kegg(live7)/sign_gene_id_text",col.names = F ,row.names = F,sep = "\t",quote = F)
##################################
# 在R上做
# setup R package
###################################
library(clusterProfiler)
# 用来做富集分析
library(topGO)
# GO看图用
library(Rgraphviz)
# 调用上面两个包
library(pathview)
# 看 KEGG pathway
library(org.Hs.eg.db)
# 人的注释文件,去 bioconductor 可以搜其他的注释文件(模式生物都有)
###################################
# GO 分析
###################################
DEG.gene_symbol = as.character(output.gene_id$gene_id)
columns(org.Hs.eg.db) #查看常用类型,用于下面 keyType 填写
DEG.entrez_id = mapIds(x = org.Hs.eg.db,
keys = DEG.gene_symbol,
keytype = "SYMBOL",
column = "ENTREZID") # 转化ID,一般用 ENTREZID ,其中会有转换不成功的NA
DEG.entrez_id = na.omit(DEG.entrez_id) #剔除NA
######## GO.BP
enrich.go.bp = enrichGO(gene = DEG.entrez_id,
OrgDb = org.Hs.eg.db,
keyType = "ENTREZID",
ont = "BP",
pvalueCutoff = 0.01,
qvalueCutoff = 0.05,
readable = T) #pvaluecutoff 是 pvalue 的阈值,富集的统计显著性要小于0.01, q 是 p 的修正值
######### GO.CC
enrich.go.cc = enrichGO(gene = DEG.entrez_id,
OrgDb = org.Hs.eg.db,
keyType = "ENTREZID",
ont = "CC",
pvalueCutoff = 0.01,
qvalueCutoff = 0.05,
readable = T)
########## GO.MF
enrich.go.mf = enrichGO(gene = DEG.entrez_id,
OrgDb = org.Hs.eg.db,
keyType = "ENTREZID",
ont = "mf",
pvalueCutoff = 0.01,
qvalueCutoff = 0.05,
readable = T)
########## barblot, dotplot
barplot(enrich.go.bp)
barplot(enrich.go.cc)
barplot(enrich.go.mf)
dotplot(enrich.go.bp)
########## plotGOgraph (树形图)
pdf(file = "../Desktop/test_data/GO,kegg(live7)/enrich.go.bp.tree.pdf",width = 10,height = 15) #直接保存成pdf文件
plotGOgraph(enrich.go.bp)
dev.off() # 关闭画图,与pdf一套
#########################
# KEGG pathway analysis
#########################
kegg.out = enrichKEGG(gene = DEG.entrez_id,
organism = "hsa",
keyType = "kegg",
pvalueCutoff = 0.05,
pAdjustMethod = "BH",
qvalueCutoff = 0.1)
barplot(kegg.out)
# 以番茄为例子
source("https://bioconductor.org/biocLite.R")
BiocManager::install("AnnotationHub")
BiocManager::install("biomaRt")
# 载入包
library(AnnotationHub)
library(biomaRt)
# 制作 OrgDb
hub <- AnnotationHub::AnnotationHub()
#使用query在我们制作的OrgDB --> hub里面找到番茄相关的database即org.Solanum_lycopersicum.eg.sqlite 注:Solanum_lycopersicum是番茄的拉丁名和它对应的编号AH59087
query(hub, "Solanum") # Solanum番茄的拉丁名
# 下载下来
Solanum.OrgDb <- hub[["AH59087"]]
#此时,番茄的database就会赋值到变量Solanum.OrgDb
what is Gene Ontology(GO)基因“本体论” 对事物的分类描述,对基因的分类描述对基因的描述1、cellular component,CC(基因存在于细胞质还是细胞核,是线粒体还是其他细胞器)细胞组成2、Biological process,BP(能够参与哪一个生物学过程,参与rna加工,复制等)生物学过程3、Molecular function,MF(分子功能上,...
result<- read.csv(file = "Results/gleason high vs low_DESeq2差异分析/gleason high vs low_result.csv", header=T, row.names=1,check.names=FALSE)
t_index=r..
对于转录组分析,差异基因筛选完成后,就算是成功一大半了。接下来就可进行下游分析了。首先最常见的就是对上下调基因的富集分析了,富集分析我们之前出过一期R语言版本的:
clusterProfiler:基因功能富集分析的惊喜之作
这里就不再赘述了,我们介绍一款NCS文章比较喜欢的、出现率较高的功能富集工具---Metascape (https://metascape.org/gp/index.html)。
Metascape是一款免费的在线工具,使用简便易操作。更重要的是其包含多个数据库,结果可
之前总结了一篇关于GSEA富集分析的推文——《GSEA富集分析 - 界面操作》,大略介绍了GSEA的定义、GSEA原理、GSEA分析、Leading-edge分析等,不太了解的朋友可以点击阅读先理解下概念。
最近用自己数据实战分析时用到了该方法,故将一些之前遗漏的点补充整理出来分享给大家。
从前文中我们了解到GSEA分析的目的是要判断S集基因(基于先验知识的基因注释信息)中的基因是随机分布还是聚集...
DOSE包(Disease Ontology Semantic and Enrichment analysis )实现了Resnik、Schlicker、Jiang、Lin和Wang分别提出的五种度量DO语义相似度的方法和用于富集分析的超几何检验
1. 查询两个基因簇之间的语义相似性
clusterSim(cluster1, cluster2, measure = “Wang”, combine = “BMA”)
Examples
cluster1 <- c(“835”, “5261”,“241”,
简介 KEGG数据库简介全文共28页,当前为第1页。 产生的背景 如何借助计算机全面地展示细胞和生物所包含的生物学信息是后基因组时代的重大挑战之一。科学家期望能够根据基因组中的信息,用计算机计算或者预测出比较复杂的细胞中的通路或者生物的复杂行为。出于这个目的,日本京都大学生物信息学中心的Kanehisa实验室于1995年建立了生物信息学 数据库KEGG。 KEGG数据库简介全文共28页,当前为第2页。 特点 KEGG是一个整合了基因组、化学和系统功能信息的数据库。把从已经完整测序的基因组中得到的基因目录与更高级别的细胞、物种和生态系统水平的系统功能关联起来是KEGG数据库的特色之一。 人工创建了一个知识库,这个知识库是基于使用一种可计算的形式捕捉和组织实验得到的知识而形成的系统功能知识库。它是一个生物系统的计算机模拟。 与其他数据库相比,KEGG 的一个显著特点就是具有强大的图形功能,它利用图形而不是繁缛的文字来介绍众多的代谢途径以及各途径之间的关系,这样可以使研究者能够对其所要研究的代谢途径有一个直观全面的了解。 KEGG数据库简介全文共28页,当前为第3页。 用途 各个数据库中包
一组用于下载和处理KEGG数据库的工具
KEGG是研究某些生物的蛋白质功能和代谢途径的重要数据库,但是KEGG数据库中的序列不能免费下载。 开发KEGGTools就是为了解决这个问题。
Python 3.5+
git clone https://github.com/FlyPythons/KEGGTools.git
wget https://github.com/FlyPythons/KEGGTools/archive/master.zip
unzip mater.zip
下载KEGG数据库
从KEGG下载KEGG生物的信息
python3 download_organism.py --url http://www.kegg.jp/kegg/catalog/org_list.html --out KEGG.org
这将从KEGG
GO、KEGG和DO都是基因富集分析的常用工具,它们的区别如下:
1. GO富集分析:Gene Ontology(GO)富集分析是一种用于描述基因和蛋白质功能的术语系统。GO富集分析可以识别在一组基因中出现频率显著高于预期的GO术语,从而确定这些基因的生物学功能或过程。GO富集分析广泛应用于基因组学和生物信息学领域,可用于预测基因功能和解释基因调控的生物学过程。
2. KEGG富集分析:Kyoto Encyclopedia of Genes and Genomes(KEGG)是一种系统生物学数据库,提供基因和分子互作的全面图谱。KEGG富集分析可以识别一组基因中Kegg通路和分子互作的富集情况,从而确定这些基因在代谢通路或信号传导途径中的生物学功能。
3. DO富集分析:Disease Ontology(DO)是一种用于描述人类疾病的术语系统。DO富集分析可以识别在一组基因中出现频率显著高于预期的DO术语,从而确定这些基因与特定疾病的关联性。
因此,GO、KEGG和DO富集分析的主要区别在于它们富集的术语系统的不同。
————————————————
版权声明:本文为CSDN博主「wt12138」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wt141643/article/details/113033711
博主大大,我想问一下这里select后面的数字“data2 <- dplyr::select(data1,1,3,4,5,6)”这里的数字是啥意思呀
然后我运行的时候出现了这样的问题:Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
载入了名字空间‘rlang’ 1.0.3,但需要的是>= 1.0.4
根据基因名称批量提取基因序列
keen358: