学习笔记Day8:GEO数据挖掘-基因表达芯片
GEO数据挖掘
-
数据库:GEO、NHANCE、TCGA、ICGC、CCLE、SEER等
-
数据类型:基因表达芯片、转录组、单细胞、突变、甲基化、拷贝数变异等等
-
常见图表
表达矩阵
- 一行为一个基因,一列为一个样本,内容是基因表达量。
热图
输入数据是数值型矩阵/数据框
颜色变化表示数值大小
- Complexheatmap:自行探索~可以定义某些需要标注的基因。
散点图和箱线图
-
数据要求:xy轴分别为一个连续型向量和一个有重复值的离散型向量(分类向量)
-
数据意义:箱线图会删除离群点
-
意义:单个基因在两组之间的表达量差异
矩阵/数据框中无法直接添加分组信息,因此需要一个单独向量来说明样本的分组信息。
火山图
-
意义:展示多个基因在两组间的表达量差异
-
横坐标:FC(Foldchange) 处理组平均值/对照组平均值;logFC(log2Foldchange)
-
芯片差异分析的起点是一个取过log的表达矩阵,如果未取log需要自行log
-
-
理解logFC:log2(X/Y)=log2(x)-log2(y)
- log后的表达矩阵:表达量在0-24之间。
- 未log的表达矩阵,表达量在0,10,100,1000…
- logFC的正常范围:个位数居多。
-
logFC>0,treat>control,基因表达量上升;logFC<0,treat<control,基因表达量下降。通常说的上调和下调基因是指表达量显著上升下降的基因。
-
logFC常见的阈值:1/2/1.2/1.5/2.2/0.585[log2(1.5)];需要根据情况取值。
-
纵坐标:P.Value→log10(P.Value)→-log10(P.Value)
主成分分析
-
PCA:主成分,把多个指标转换成少数综合指标(主成分)来代表样本。代表样本的点在坐标轴上距离越远,说明样本差异越大。
-
PCA样本聚类图:dim1/dim2中数字不重要(尽量大)。
- 图上点代表样本(中心点除外),点与点之间距离代表样本差异。
- 可以用于“预实验”,简单看组间是否有差别。
表达芯片分析思路
表达数据实验设计
- 实验目的:通过基因表达量数据的差异分析和富集分析来解释生物学现象。
- 设计实验组和对照组
- 有差异的材料→差异基因→找功能→解释差异,缩小差异范围。
基因表达芯片
探针的表达量代表基因的表达量
探针根据要测量的基因设计,是一段与基因互补杂交的短核苷酸序列。探针和序列绑定,不和基因绑定。
数据库介绍
-
GEO数据库
- GEO工具:GEO2R,可以导入代码进入R修改。
-
Series:用户提交给数据库一个完整的研究,包括其样本数据(GSM),包含提供研究描述,包括对数据描述并总结分析(GSE)。
-
GEO数据集筛选
表达芯片数据:Expression profiling by array
单细胞/普通转录组(高通量测序):Expression profiling by high throughput sequencing
-
GSE界面:GPL(平台)中看ID和Symbol Gene;GSM(样本)中看表达量是否正常、是否需要取log等。
分析思路
- 找数据,找到GSE编号
- GEO数据库中检索
- 文献中查找GSE编号
- 下载数据:表达矩阵、临床信息(分组信息)、GPL编号(探针注释)
- 网页中点选下载
- 代码下载(推荐)
- 数据探索:分组之间是否有差异、PCA、热图(方差排名靠前的1k个基因)
- 差异分析和可视化:P值、logFC;火山图、热图
- 富集分析:KEGG、GO
表达矩阵
以分组为单位说问题,而不是以样本为单位
代码分析流程
安装R包
下载数据
library(GEOquery)
eSet = getGEO("GSE7305", destdir = '.', getGPL = F)##探索eSet
class(eSet)
##[1] "list"
length(eSet)
##[1] 1
eSet = eSet[[1]] ##将list解开
class(eSet) ##是一种特殊的数据类型,可以从帮助文档中找到详细说明。出自Biobase包
##[1] "ExpressionSet"
##attr(,"package")
##[1] "Biobase"
提取表达矩阵
exp <- exprs(eSet) ##提取表达矩阵
dim(exp) ##查看数据属性
range(exp) ##查看数据范围,决定是否需要取log,是否有负值
##[1] 5.020951 22011.934000 ##这样的数据就需要取log
exp = log2(exp+1) ##取log
boxplot(exp,las = 2) ##检查数据情况
- 有异常样本:1. 删掉异常样本;2. limma包的标准化函数拉齐。
- 负值:log后少量负值可以接受,log前有负值或一半都是负值(标准化)弃用。
- 如果logFC在2-4之间,有可能取了2次log
提取临床信息
pd <- pData(eSet) ##包含分组信息
让表达矩阵和临床信息顺序匹配
p = identical(rownames(pd),colnames(exp));p ##判断是否对应if(!p) { ##如果不对应,运行s = intersect(rownames(pd),colnames(exp)) exp = exp[,s]pd = pd[s,]
}
提取芯片平台编号
gpl_number <- eSet@annotation;gpl_number ##等同于网页查找
save(pd,exp,gpl_number,file = "step1output.Rdata") ##保存数据
- 原始数据处理方法(有时间再整理吧~):https://mp.weixin.qq.com/s/0g8XkhXM3PndtPd-BUiVgw
引用自生信技能树课程~ 给小洁老师比心~
相关文章:

学习笔记Day8:GEO数据挖掘-基因表达芯片
GEO数据挖掘 数据库:GEO、NHANCE、TCGA、ICGC、CCLE、SEER等 数据类型:基因表达芯片、转录组、单细胞、突变、甲基化、拷贝数变异等等 常见图表 表达矩阵 一行为一个基因,一列为一个样本,内容是基因表达量。 热图 输入数据…...

如何将大华dav视频转mp4?一键无损清晰转换~
Digital Audio Video(DAV)文件格式源于数字监控领域,旨在解决视频监控数据的存储和回放问题。随着数字监控技术的发展,DAV格式逐渐成为监控设备记录视频的标准格式,广泛应用于安防系统、摄像头监控等场景。 MP4文件格式…...

数字化转型导师坚鹏:人工智能在金融机构数字化转型中的应用
人工智能在金融机构数字化转型中的应用 课程背景: 金融机构数字化转型离不开人工智能,在金融机构数字化转型中,人工智能起到至关重要的作用,很多机构存在以下问题: 不清楚人工智能产业对我们有什么影响?…...

部署Zabbix Agents添加使能监测服务器_Windows平台_MSI/Archive模式
Windows平台 一、从MSI安装Windows代理,添加Windows Servers/PC 概述 可以从Windows MSI安装包(32位或64位) 安装Zabbix agent 32位包不能安装在64位Windows中 所有软件包都支持TLS,配置TLS可选 支持UI和命令行的安装。 1、下载Agent代理程序,使用Agent2升级版,官网链接如…...

十一 超级数据查看器 讲解稿 详情6 导出功能
十一 超级数据查看器 讲解稿 详情6 导出功能 点击此处 以新页面 打开B站 播放当前教学视频 app下载地址 百度手机助手 下载地址4 讲解稿全文: 导出功能讲解 这节课我们讲解一下导出功能, 导出功能,可以将当前查到的信息导出成E…...
java遍历文件目录去除中文文件名
文章目录 一、原始需求二、maven依赖三、核心代码四、运行结果 一、原始需求 需要遍历文件目录及其子目录,找出包含中文字符的文件名,将中文字符去除。 二、maven依赖 pom.xml <dependency><groupId>org.apache.commons</groupId>&…...

LeetCode Python - 61. 旋转链表
目录 题目描述解法运行结果 题目描述 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3] 示例 2: 输入:head…...
k8s client-java创建pod常见问题
1.配置Kubernetes连接: 使用Kubernetes的配置文件(通常位于~/.kube/config)或直接使用API服务器地址、认证信息等来配置客户端。 配置通常有两种模式,安全和不安全的配置模式,对认证要求严格就选用安全模式ÿ…...

C++——字符串、读写文件、结构体、枚举
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...

vscode 运行 java 项目之解决“Build failed, do you want to continue”的问题
Visual Studio Code运行 java 起来似乎比 IDEA 更轻量、比 eclipse 更友好,是不可多得的现代编译法宝。 安装好官方推荐的 java 扩展包后,就可以运行 java 代码了。功能 比 code runner 强,支持 gradle、maven、普通java项目,运行…...

yocto编译测试
源码下载 git clone -b gatesgarth git://git.yoctoproject.org/poky lkmaolkmao-virtual-machine:~/yocto$ git clone -b gatesgarth git://git.yoctoproject.org/poky Cloning into poky... remote: Enumerating objects: 640690, done. remote: Counting objects: 100% (13…...
rsync+inotify-tools文件传输
目录 rsync rsync概述 rsync优缺点 rsync参数 rsync命令 rsync同步源 linux 安装rsync 安装rsync服务端 安装rsync客户端 windows 安装rsync rsync实践 inotify-tools inotify-tools概述 innotify-tools 命令、参数、事件 rsync客户端安装inotify-tools innotif…...
UGUI界面性能优化3-合理规划界面层级结构
在Unity中,UGUI(Unity GUI)是一种用于创建用户界面的工具。合理规划界面层级结构对于开发一个可维护和易于使用的界面非常重要。以下是一种合理的UGUI界面层级结构规划方式: Canvas(画布):Canva…...

《论文阅读》EmpDG:多分辨率交互式移情对话生成 COLING 2020
《论文阅读》EmpDG:多分辨率交互式移情对话生成 COLING 2020 前言简介模型架构共情生成器交互鉴别器损失函数前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《EmpDG: Multi-resolution Interactive E…...
C语言calloc函数的特点,效率低。但是进行初始化操作
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdlib.h> #include<string.h> #include<errno.h> #include<stdio.h> int main() { int *p (int *)calloc(10,sizeof(int)); //初始化,效率低,然而malloc函数相反…...

项目中遇到的sql问题记录
有一张表,表结构及数据如下: INSERT INTO test.test_approve(approve_no, tra_date, tablename, part_dt) VALUES (approve001, 2021-02-18 00:00:00, tableA, 2024-03-18); INSERT INTO test.test_approve(approve_no, tra_date, tablename, part_dt) …...

Python Web开发记录 Day13:Django part7 Ajax入门与案例(任务管理)
名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、Ajax入门①简介②工作原理③优点④缺点⑤使用…...

寻找可能认识的人
给一个命名为:friend.txt的文件 其中每一行中给出两个名字,中间用空格分开。(下图为文件内容) 题目:《查找出可能认识的人 》 代码如下: RelationMapper: package com.fesco.friend;import or…...
机器学习----特征缩放
目录 一、什么是特征缩放: 二、为什么要进行特征缩放? 三、如何进行特征缩放: 1、归一化: 2、均值归一化: 3、标准化(数据需要符合正态分布): 一、什么是特征缩放: 通…...

机器学习_正则化
文章目录 代价函数 如果我们有非常多的特征,我们通过学习得到的假设可能能够非常好地适应训练集(代价函数可能几乎为 0),但是可能会不能推广到新的数据。 下图是一个回归问题的例子: 第一个模型是一个线性模型…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...