学习笔记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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity类银河恶魔城学习记录10-14 p102 Applying damage to skills and clean up源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Entity.cs using System.Collections; using System.Collections.Generic;…

生成微信小程序二维码

首页 -> 统计 可以通过上面二个地方配置&#xff0c;生成小程序的二维码&#xff0c;并且在推广分析里&#xff0c;有详细的分析数据&#xff0c;

【神经网络 基本知识整理】(激活函数) (梯度+梯度下降+梯度消失+梯度爆炸)

神经网络 基本知识整理 激活函数sigmoidtanhsoftmaxRelu 梯度梯度的物理含义梯度下降梯度消失and梯度爆炸 激活函数 我们知道神经网络中前一层与后面一层的连接可以用y wx b表示&#xff0c;这其实就是一个线性表达&#xff0c;即便模型有无数的隐藏层&#xff0c;简化后依旧…

跳绳计数,YOLOV8POSE

跳绳计数&#xff0c;YOLOV8POSE 通过计算腰部跟最初位置的上下波动&#xff0c;计算跳绳的次数

使用Python进行数据库连接与操作SQLite和MySQL【第144篇—SQLite和MySQL】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 使用Python进行数据库连接与操作&#xff1a;SQLite和MySQL 在现代应用程序开发中&#xf…

Github 2024-03-18开源项目日报Top10

根据Github Trendings的统计,今日(2024-03-18统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目7TypeScript项目3非开发语言项目1Solidity项目1《Hello 算法》:动画图解、一键运行的数据结构与算法教程 创建周期:476 天协议类型…

ubuntu下在vscode中配置matplotlibcpp

ubuntu下在vscode中配置matplotlibcpp 系统&#xff1a;ubuntu IDE&#xff1a;vscode 库&#xff1a;matplotlib-cpp matplotlibcpp.h文件可以此网址下载&#xff1a;https://github.com/lava/matplotlib-cpp 下载的压缩包中有该头文件&#xff0c;以及若干实例程序。 参考…

无人机助力智慧农田除草新模式,基于YOLOv7【tiny/l/x】不同系列参数模型开发构建无人机航拍场景下的农田杂草检测识别系统

科技发展到今天&#xff0c;无人机喷洒药物已经不是一件新鲜事情了&#xff0c;在很多高危的工作领域中&#xff0c;比如高空电力设备除冰&#xff0c;电力设备部件传送更换等等&#xff0c;无人机都可以扮演非常出色的作用&#xff0c;前面回到老家一段时间&#xff0c;最近正…

笔记本固态硬盘损坏数据恢复两种方法 笔记本固态硬盘损坏如何恢复

大家好&#xff01;今天要跟大家分享的是笔记本固态硬盘损坏数据恢复的两种方法。相信很多小伙伴都遇到过这种情况&#xff0c;电脑突然蓝屏或者死机&#xff0c;再开机后发现自己的数据不见了&#xff0c;这时候该怎么办呢&#xff1f;这可真是让人头疼。毕竟&#xff0c;我们…

设计模式学习笔记 - 设计原则与思想总结:2.运用学过的设计原则和思想完善之前性能计数器项目

概述 在 《设计原则 - 10.实战&#xff1a;针对非业务的通用框架开发&#xff0c;如何做需求分析和设计及如何实现一个支持各种统计规则的性能计数器》中&#xff0c;我们讲解了如何对一个性能计数器框架进行分析、设计与实现&#xff0c;并且实践了一些设计原则和设计思想。当…

ASP.NET通过Appliaction和Session统计在人数和历史访问量

目录 背景: Appliaction&#xff1a; Session&#xff1a; 过程&#xff1a; 数据库&#xff1a; Application_Start&#xff1a; Session_Start&#xff1a; Session_End&#xff1a; Application_End&#xff1a; 背景: 事件何时激发Application_Start在调用当前应用…

REDHAWK——连接(续)

文章目录 前言一、突发 IO1、数据传输①、输入②、输出 2、突发信号相关信息 (SRI)3、多输出端口4、使用复数数据①、在 C 中转换复数数据 5、时间戳6、端口统计①、C 二、消息传递1、消息生产者①、创建一个消息生产者②、发送消息 2、消息消费者①、创建消息消费者②、注册接…

Ruoyi前后端分离项目部署至Tomcat上

项目部署 4.1.前端打包 disaster-ui目录下为本项目的前端所在位置&#xff0c;在命令行窗口进入该目录&#xff0c;然后输入npm run build:prod部署前端Vue项目,或者直接在disaster-ui/bin目录下双击build.bat文件部署前端。 图 4-1 前端部署图 4.2 环境变量 在MySQL可视化…

Vmware虚拟机配置虚拟网卡

背景 今天同事咨询了我一个关于虚拟机的问题&#xff0c;关于内网用Vmware安装的虚拟机&#xff0c;无法通过本机访问虚拟上的Jenkins的服务。   验证多次后发现有如下几方面问题。 Jenkins程序包和JDK版本不兼容&#xff08;JDK1.8对应Jenkins不要超过2.3.57&#xff09;虚…

LeetCode每日一题[C++]-303.区域和检索-数组不可变

题目描述 给定一个整数数组 nums&#xff0c;处理以下类型的多个查询: 计算索引 left 和 right &#xff08;包含 left 和 right&#xff09;之间的 nums 元素的 和 &#xff0c;其中 left < right 实现 NumArray 类&#xff1a; NumArray(int[] nums) 使用数组 nums 初…

微信小程序简单实现手势左右滑动和点击滑动步骤条功能

使用微信小程序实现左右滑动功能&#xff0c;自定义顶部图案&#xff0c;点击文字滑动和手势触屏滑动&#xff0c;功能简单&#xff0c;具体实现代码如下所示&#xff1a; 1、wxss代码&#xff1a; /* 步骤条 */ .tab-box {display: flex;flex-direction: row;position: fix…

LVS+Keepalived 高可用群集--部署

实际操作 LVS Keepalived 高可用群集 环境设备 LVS1192.168.6.88 &#xff08;MASTER&#xff09;LVS2192.168.6.87 &#xff08;BACKUP&#xff09;web1192.168.6.188web2192.168.6.189客户端192.168.6.86VIP192.168.6.180 &#xff08;一&#xff09;web服务器 首先配置…

华为汽车业务迎关键节点,长安深蓝加入HI模式,车BU预计今年扭亏

‍编辑 |HiEV 一年之前&#xff0c;同样是在电动汽车百人会的论坛上&#xff0c;余承东在外界对于华为和AITO的质疑声中&#xff0c;第一次公开阐释了华为选择走智选车模式的逻辑。 一年之后&#xff0c;伴随问界M7改款、问界M9上市&#xff0c;华为智选车模式的面貌已经发生了…

Python基于深度学习的中文情感分析系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

Javaweb的学习19_CSS概念+css与html的结合方式

CSS CSS&#xff1a;页面美化和布局控制 1. 概念&#xff1a;Cascading Style Sheets 层叠样式表 层叠&#xff1a;多个样式可以作用在同一个html的元素(标签)上&#xff0c;同时生效 2. 好处&#xff1a; 1.功能强大 2.将内容展示(HTML)和样式控制(CSS)分离 *降低耦合度。解耦…