学习笔记Day8:GEO数据挖掘-基因表达芯片

GEO数据挖掘

  • 数据库:GEO、NHANCE、TCGA、ICGC、CCLE、SEER等

  • 数据类型:基因表达芯片、转录组、单细胞、突变、甲基化、拷贝数变异等等

  • 在这里插入图片描述

常见图表

表达矩阵

在这里插入图片描述

  • 一行为一个基因,一列为一个样本,内容是基因表达量。
热图

输入数据是数值型矩阵/数据框

颜色变化表示数值大小

  • Complexheatmap:自行探索~可以定义某些需要标注的基因。
散点图和箱线图
  1. 数据要求:xy轴分别为一个连续型向量和一个有重复值的离散型向量(分类向量)

  2. 数据意义:箱线图会删除离群点

    在这里插入图片描述

  3. 意义:单个基因在两组之间的表达量差异

    矩阵/数据框中无法直接添加分组信息,因此需要一个单独向量来说明样本的分组信息。

    在这里插入图片描述

火山图
  1. 意义:展示多个基因在两组间的表达量差异

  2. 横坐标:FC(Foldchange) 处理组平均值/对照组平均值;logFC(log2Foldchange)

    • 芯片差异分析的起点是一个取过log的表达矩阵,如果未取log需要自行log

      在这里插入图片描述

  3. 理解logFC:log2(X/Y)=log2(x)-log2(y)

    • log后的表达矩阵:表达量在0-24之间。
    • 未log的表达矩阵,表达量在0,10,100,1000…
    • logFC的正常范围:个位数居多。
  4. logFC>0,treat>control,基因表达量上升;logFC<0,treat<control,基因表达量下降。通常说的上调和下调基因是指表达量显著上升下降的基因。

  5. logFC常见的阈值:1/2/1.2/1.5/2.2/0.585[log2(1.5)];需要根据情况取值。

    在这里插入图片描述

  6. 纵坐标:P.Value→log10(P.Value)→-log10(P.Value)

    在这里插入图片描述

主成分分析
  1. PCA:主成分,把多个指标转换成少数综合指标(主成分)来代表样本。代表样本的点在坐标轴上距离越远,说明样本差异越大。

  2. PCA样本聚类图:dim1/dim2中数字不重要(尽量大)。

在这里插入图片描述

  • 图上点代表样本(中心点除外),点与点之间距离代表样本差异。
  1. 可以用于“预实验”,简单看组间是否有差别。

表达芯片分析思路

表达数据实验设计
  1. 实验目的:通过基因表达量数据的差异分析富集分析来解释生物学现象。
    • 设计实验组和对照组
  2. 有差异的材料→差异基因→找功能→解释差异,缩小差异范围。
基因表达芯片

探针的表达量代表基因的表达量

探针根据要测量的基因设计,是一段与基因互补杂交的短核苷酸序列。探针和序列绑定,不和基因绑定。

数据库介绍
  1. GEO数据库

    • GEO工具:GEO2R,可以导入代码进入R修改。
  2. Series:用户提交给数据库一个完整的研究,包括其样本数据(GSM),包含提供研究描述,包括对数据描述并总结分析(GSE)。

  3. GEO数据集筛选

    表达芯片数据:Expression profiling by array

    单细胞/普通转录组(高通量测序):Expression profiling by high throughput sequencing

  4. GSE界面:GPL(平台)中看ID和Symbol Gene;GSM(样本)中看表达量是否正常、是否需要取log等。

分析思路
  1. 找数据,找到GSE编号
    • GEO数据库中检索
    • 文献中查找GSE编号
  2. 下载数据:表达矩阵、临床信息(分组信息)、GPL编号(探针注释)
    • 网页中点选下载
    • 代码下载(推荐)
  3. 数据探索:分组之间是否有差异、PCA、热图(方差排名靠前的1k个基因)
  4. 差异分析和可视化:P值、logFC;火山图、热图
  5. 富集分析: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

引用自生信技能树课程~ 给小洁老师比心~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/754640.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java语言: JVM

1.1 内存管理 1.1.1 JVM内存区域 编号 名字 功能 备注 1 堆 主要用于存放新创建的对象 (所有对象都在这里分配内存) jdk1.8之后永久代被替换成为了元空间&#xff08;Metaspace&#xff09; 2 方法区(加、常、静、即) 被虚拟机加载的类信息(版本、字段、方法、接口…

Git——GitHub远端协作详解

目录 Git&GitHub1、将内容Push到GitHub上1.1、在GitHub上创建新项目1.2、upstream1.3、如果不想要相同的分支名称 2、Pull下载更新2.1、Fetch指令2.2、Fetch原理2.3、Pull指令2.4、PullRebase 3、为什么有时候推不上去3.1、问题复现3.2、解决方案一&#xff1a;先拉再推3.3…

孙溟㠭于北京大学北大书店现场创作

孙溟㠭于北京大学北大书店现场创作篆刻作品 孙溟㠭北大书店现场创作 孙溟㠭于北京大学北大书店展览期间现场创作 孙溟㠭北京大学篆刻展现场创作 图文/氿波

Nadaraya-Watson核回归

目录 基本原理 ​编辑 核函数的选择 带宽的选择 特点 应用 与注意力机制的关系 参考内容 在统计学中&#xff0c;核回归是一种估计随机变量的条件期望的非参数技术。目标是找到一对随机变量 X 和 Y 之间的非线性关系。 在任何非参数回归中&#xff0c;变量 Y 相对于变量…

【c++】c++基本语法知识-命名空间-输入输出-缺省参数

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;c_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.命名空间 1.2 命名空间定义 1.3 命名空间使用 命名空间的三种使用方式 2.C输入&输出 std命名空间的使用惯例 3.缺省参数 3…

linux scp 免密传输配置 案例

目录 说明准备实现结果步骤生成RSA公钥和私钥查看密钥生成结果将公钥传输到目标服务器 额外内容自动备份文件脚本定时删除备份文件 说明 日常工作中常常会使用到ssh 的scp命令进行文件传输。有时候甚至使用自定义的脚本配合定时任务来对文件进行异地备份&#xff0c;那么此时就…

【Qt】常用控件(按钮/单选按钮/复选按钮/QLabel)

需要云服务器等云产品来学习Linux可以移步/-->腾讯云<--/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;新用户首次下单享超低折扣。 目录 一、按钮类控件 1、QPushButton(按钮) 1.1pushButtn中插入图片(void setIcon(const QIcon &icon);) 1.2给按钮插…

Java 学习和实践笔记(40):String类详解

示例代码&#xff1a; public class TestString {public static void main(String[] args) {String s0 null;//这是什么都没有&#xff0c;连对象都没有&#xff0c;也就是指针还没有指到某一个地址String s1 "";//这是有对象了&#xff08;指针已指向某一个地址了…

如何使用 ArcGIS Pro 生成TIN

三角网是一种常用于表示地表地形的数字地球模型&#xff08;DEM&#xff09;方式&#xff0c;我们可以通过 ArcGIS Pro 将等高线和高程点转换为TIN&#xff0c;这里为大家介绍一下转换方法&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的高…

智能合约 - 部署ERC20

Remix介绍 Remix是一个由以太坊社区开发的在线集成开发环境&#xff08;IDE&#xff09;&#xff0c;旨在帮助开发者编写、测试和部署以太坊智能合约。它提供了一个简单易用的界面&#xff0c;使得开发者可以在浏览器中直接进行智能合约的开发&#xff0c;而无需安装任何额外的…

springboot整合springsecurity,从数据库中认证

概述&#xff1a;springsecurity这个东西太容易忘了&#xff0c;这里写点东西&#xff0c;避免忘掉 目录 第一步&#xff1a;引入依赖 第二步&#xff1a;创建user表 第三步&#xff1a;创建一个用户实体类&#xff08;User&#xff09;和一个用于访问用户数据的Repository…

Transformer的前世今生 day01(预训练、统计语言模型)

预训练 在相似任务中&#xff0c;由于神经网络模型的浅层是通用的&#xff0c;如下图&#xff1a; 所以当我们的数据集不够大&#xff0c;不能产生性能良好的模型时&#xff0c;可以尝试让模型B在用模型A的浅层基础上&#xff0c;深层的部分自己生成参数&#xff0c;减小数据集…

RabbitMQ的幂等性、优先级队列和惰性队列

文章目录 前言一、幂等性1、概念2、消息重复消费3、解决思路4、消费端的幂等性保障5、唯一 ID指纹码机制6、Redis 原子性 二、优先级队列1、使用场景2、如何添加3、实战 三、惰性队列1、使用场景2、两种模式3、内存开销对比 总结 前言 一、幂等性 1、概念 2、消息重复消费 3、…

【uniapp】表单验证不生效的解决方案

表单验证这个常见的功能&#xff0c;明明在element ui等框架已经用的很熟了&#xff0c;在uniapp开发时还是处处碰壁&#xff1f;这篇文章我会提示uni-forms表单验证的几个注意点&#xff0c;帮助大家排查。 示例 下面是一份包含普通验证和自定义验证的示例&#xff1a; <…

【大模型】直接在VS Code(Visual Studio Code)上安装CodeGeeX插件的过程

文章目录 一、什么是CodeGeeX&#xff08;一&#xff09;我理解的CodeGeeX&#xff08;二&#xff09;优缺点 二、CodeGeex下载、安装、注册&#xff08;一&#xff09;安装VS Code(Visual Studio Code)&#xff08;二&#xff09;下载安装CodeGeeX&#xff08;三&#xff09;注…

Java项目:59 ssm小型企业办公自动化系统的设计和开发+vue

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 系统可以提供信息显示和相应服务&#xff0c; 其管理员管理部门经理&#xff0c;管理总经理&#xff0c;管理员工和员工留言以及员工工资&…

搭建 es 集群

一、VMware准备机器 首先准备三台机器 这里我直接使用 VMware 构建三个虚拟机 都是基于 CentOS7 然后创建新用户 部署 es 需要单独创建一个用户&#xff0c;我这里在构建虚拟机的时候直接创建好了 然后将安装包上传 可以使用 rz 命令上传&#xff0c;也可以使用工具上传 工…

RK3588_Qt交叉编译环境搭建

buildroot编译 进入 /home/linux/plat/rk3588/sdk/buildroot 目录下&#xff0c;执行 Source ./envsetup.sh 选择具体平台编译&#xff0c;后再执行make编译 /home/linux/plat/rk3588/sdk/buildroot/output/OK3568/images 生成的rootfs.ext2镜像重新烧写到rk3568开发板中&…

PHP姓名快速匿名化工具(重组脱敏)

PHP姓名重组工具(脱敏/匿名化工具) 将excel数据姓名列粘贴提交&#xff0c;得到随机姓随机中间字随机尾字的重组姓名 那些年自用瞎搞的代码&#xff0c;今日整理成网页交提交得到结果的交互功能分享。 <?php //PHP姓名重组工具(脱敏/匿名化工具) //将excel数据姓名列粘贴…

elk收集k8s微服务日志

一、前言 使用filebeat自动发现收集k8s的pod日志&#xff0c;这里分别收集前端的nginx日志&#xff0c;还有后端的服务java日志&#xff0c;所有格式都是用json格式&#xff0c;建议还是需要让开发人员去输出java的日志为json&#xff0c;logstash分割java日志为json格式&#…