当前位置: 首页 > news >正文

GEO生信数据挖掘(一)数据集下载和初步观察

检索到目标数据集后,开始数据挖掘,本文以阿尔兹海默症数据集GSE1297为例

目录

GEOquery  简介

安装并加载GEOquery包

getGEO函数获取数据(联网下载)

更换下载数据源

对数据集进行初步观察处理


GEOquery  简介

GEOquery是一个在生物信息学中常用的R语言包,用于从NCBI Gene Expression Omnibus(GEO)数据库中获取和分析基因表达数据。以下是GEOquery包的简介:

1. 数据获取:GEOquery包提供了方便的函数来从GEO数据库中获取基因表达数据。您可以使用`getGEO()`函数来下载和导入GEO数据集,包括微阵列和高通量测序数据。

2. 数据处理:GEOquery包提供了一系列函数来处理GEO数据集。您可以使用`pData()`函数获取样本的基本信息,使用`exprs()`函数获取基因表达矩阵,使用`featureNames()`函数获取基因名字等。

3. 数据质量控制:GEOquery包提供了一些函数来进行数据质量控制。您可以使用`boxplot()`和`plotDensities()`函数来检查数据的分布情况,使用`arrayQualityMetrics()`函数来评估数据的质量。

4. 数据分析:GEOquery包结合了其他常用的R语言包,如limma、edgeR等,提供了丰富的数据分析方法。您可以使用这些方法进行差异表达分析、聚类分析、富集分析等。


安装并加载GEOquery包


# 安装并加载GEOquery包if (!requireNamespace("GEOquery", quietly = TRUE))install.packages("GEOquery")
#BiocManager: : install("GEOquery")library(Biobase)
library(GEOquery)

GEOquery如果安装失败可以尝试

BiocManager: : install("GEOquery")

getGEO函数获取数据(联网下载)

`getGEO`函数有一些可选参数,可以用来自定义数据获取和处理过程。以下是一些常用的参数介绍:

1. `GEO`:指定要获取的GEO数据集的ID。可以是一个字符向量,包含多个ID,用于同时获取多个数据集。

2. `destdir`:指定下载数据的目标文件夹。默认情况下,数据会下载到当前工作目录下的"geoquery"文件夹中。

3. `getGPL`:逻辑值,表示是否同时获取与GEO数据集关联的平台信息。默认为FALSE,不获取平台信息。

4. `AnnotGPL`:逻辑值,表示是否获取平台的注释信息。默认为FALSE,不获取注释信息。

5. `GSEMatrix`:逻辑值,表示是否将基因表达数据存储为GSEMatrix对象。默认为TRUE,将数据存储为GSEMatrix对象。

6. `getGPLcdf`:逻辑值,表示是否获取与GEO数据集关联的平台注释文件。默认为FALSE,不获取注释文件。

7. `verbose`:逻辑值,表示是否显示下载和导入过程的详细信息。默认为TRUE,显示详细信息。


# 指定GEO数据集的ID
gse_id <- "GSE1297"# 使用getGEO函数获取数据
gse_data <- getGEO(gse_id,destdir = ".", AnnotGPL = FALSE)

更换下载数据源

数据集大时,国内网络经常会出现中断,需要更换下载源

chooseCRANmirror() #选择镜像源

输入数字选择国内镜像源

在中国选择合适的CRAN镜像源可以提高下载速度和稳定性。以下是几个常用的CRAN镜像源:

1. 中国科学技术大学镜像源:https://mirrors.ustc.edu.cn/CRAN/

2. 清华大学镜像源:https://mirrors.tuna.tsinghua.edu.cn/CRAN/

3. 阿里云镜像源:https://mirrors.aliyun.com/CRAN/

您可以尝试使用其中一个镜像源。一般来说,中国科学技术大学镜像源和清华大学镜像源在中国使用较为广泛且速度较快。如果您发现某个镜像源下载速度较慢,可以尝试切换到其他镜像源进行下载。

对数据集进行初步观察处理

#查看对象结构信息
View(gse_data) 
str(gse_data )# 提取所需的基础信息title <- gse_data$GSE1297_series_matrix.txt.gz$title
age  <- gse_data$GSE1297_series_matrix.txt.gz$`age:ch1`
Sex <-  gse_data$GSE1297_series_matrix.txt.gz$`Sex:ch1`# 打印基础信息
cat("标题:", title, "\n")
cat("年龄:", age, "\n")
cat("性别:", Sex, "\n")# 查看数据的摘要信息
summary(gse_data)# 提取所需的数据
expression_data <- exprs(gse_data[[1]])

查看数据结构

根据需求提取基础信息

获取临床信息(后续工作分组需要)

提取基因表达数据

所有代码


if (!requireNamespace("GEOquery", quietly = TRUE))install.packages("GEOquery")
#BiocManager: : install("GEOquery")#library(Biobase)
library(GEOquery)# 指定GEO数据集的ID
gse_id <- "GSE1297"
#标题: Gene expression patterns in human cancer cell lines
#摘要: This dataset contains gene expression data from various human cancer cell lines. The data was generated using microarray technology.
#平台: GPL570
#样本数量: 60chooseCRANmirror() #选择镜像源
# 使用getGEO函数获取数据
gse_info <- getGEO(gse_id,destdir = ".", AnnotGPL = FALSE)#查看对象结构信息
str(gse_info )# 提取所需的基础信息title <- gse_info$GSE1297_series_matrix.txt.gz$title
age  <- gse_info$GSE1297_series_matrix.txt.gz$`age:ch1`
Sex <-  gse_info$GSE1297_series_matrix.txt.gz$`Sex:ch1`# 打印基础信息
cat("标题:", title, "\n")
cat("年龄:", age, "\n")
cat("性别:", Sex, "\n")# 查看数据的摘要信息
summary(gse_info)
summary(gse_info$GSE1297_series_matrix.txt.gz)# 提取所需的数据
expression_data <- exprs(gse_info[[1]])#+========================================================================================# 样本编号方法一
samples =gse_info$GSE1297_series_matrix.txt.gz$geo_accession 
# 样本编号方法二
samples=sampleNames(gse_info) # sample name就是看有多少GSM样本
# 样本编号方法三
samples=as.character(pdata[,2])#+========================================================================================#提取临床信息 方法一:$或者@ ,配合str()观察结构
pdata = gse_info$GSE1297_series_matrix.txt.gz@phenoData@data#提取临床信息 方法二:用函数提取 提取表达矩阵
phenoData= gse_info$GSE1297_series_matrix.txt.gz@phenoData 
pdata = pData(phenoData)#方法三:直接通过鼠标操作再粘贴 在表达矩阵前面的注释信息里面#+========================================================================================# 提取基因表达矩阵
expression_data <- exprs(gse_info[[1]])#+========================================================================================

基因表达数据已经提取到了,但是,矩阵的行名还是芯片探针的名称。

下节我们来看 如何将探针名称转换为基因名称。

相关文章:

GEO生信数据挖掘(一)数据集下载和初步观察

检索到目标数据集后&#xff0c;开始数据挖掘&#xff0c;本文以阿尔兹海默症数据集GSE1297为例 目录 GEOquery 简介 安装并加载GEOquery包 getGEO函数获取数据&#xff08;联网下载&#xff09; 更换下载数据源 对数据集进行初步观察处理 GEOquery 简介 GEOquery是一个…...

Tensorflow2 GPU 安装方法

一、Tensorflow2 GPU 安装方法 1. 首先安装Anaconda3环境2. 在Anaconda Prompt 中安装tensorflow23. 验证GPU是否可以使用 1. 首先安装Anaconda3环境 https://www.anaconda.com/ 2. 在Anaconda Prompt 中安装tensorflow2 conda update conda conda create -n tensorflow pyt…...

QSS之QLineEdit

QLineEdit我们在开发过程中是经常使用的&#xff0c;一般情况下默认的风格是不适合设计师的要求&#xff0c;本篇介绍QLineEdit的基本qss风格&#xff1a; 1.基本属性设置 QLineEdit{background-color:#FFFFFF;color:#333333;border:none;} 2.悬浮状态设置 QLineEdit:hover…...

在比特币上支持椭圆曲线 BLS12–381

通过使用智能合约实现来支持任何曲线 BLS12–381 是一种较新的配对友好型椭圆曲线。 与常用的 BN-256 曲线相比&#xff0c;BLS12-381 的安全性明显更高&#xff0c;并且安全目标是 128 位。 所有其他区块链&#xff0c;例如 Zcash 和以太坊&#xff0c;都必须通过硬分叉才能升…...

简单讲解 glm::mat4

文章目录 前言一、下载glm库二、基本数学知识1. 三维中的 4 x 4 矩阵2.旋转3. 位移4. 缩放5. 组合 三、行向量或列向量四、总结 前言 glm库是OpenGL的官方数学库&#xff0c;里面内置多种跟几何变换相关的函数&#xff0c;熟练掌握glm库可以省下很多麻烦。 因为最近在项目中主…...

第3章-指标体系与数据可视化-3.1.1-Matplotlib绘图库

目录 3.1 Python可视化 3.1.1 Matplotlib绘图库 1. 线图 2. 饼图 3. 条形图 4. 直方图 5.散点图...

探索视听新纪元: ChatGPT的最新语音和图像功能全解析

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e;猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f916; 人工智能 AI: &#x1f9e0; Machine …...

华为乾坤区县教育安全云服务解决方案(1)

华为乾坤区县教育安全云服务解决方案&#xff08;1&#xff09; 课程地址方案背景客户痛点分析区县教育网概述区县教育网业务概述区县教育网业务安全风险分析区县教育网安全运维现状分析区县教育网安全建设痛点分析 安全解决方案功能概述架构概述方案架构设备选型 课程地址 本…...

《Jetpack Compose从入门到实战》第三章 定制 UI 视图

目录 配置颜色、字体与形状Welcome PageLogin PageHome Page 主题CompositionLocal 配置颜色、字体与形状 -ui.theme.Color.kt val pink100 Color(0xFFFFF1F1) val pink900 Color(0xFF3F2C2C) val white Color(0xFFFFFFFF) val white850 Color(0xD9FFFFFF) val gray Col…...

Kubernetes组件和架构简介

目录 一.概念简介 1.含义&#xff1a; 2.主要功能&#xff1a; 3.相关概念&#xff1a; 二.组件和架构介绍 1.master&#xff1a;集群的控制平面&#xff0c;管理集群 2.node&#xff1a;集群的数据平面&#xff0c;为容器提供工作环境 3.kubernetes简单架构图解 一.概…...

ElementUI实现增删改功能以及表单验证

目录 前言 BookList.vue action.js 展示效果 前言 本篇还是在之前的基础上&#xff0c;继续完善功能。上一篇完成了数据表格的查询&#xff0c;这一篇完善增删改&#xff0c;以及表单验证。 BookList.vue <template><div class"books" style"pa…...

C++中有哪些运算符以及它们的优先级?

C中常用的运算符包括算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符等。这里列举一些常见的运算符以及它们的优先级&#xff08;从高到低&#xff09;&#xff1a; 圆括号&#xff08;&#xff09;一元正号、一元负号-数组下标[]成员选择符&#xff08;点号.、箭头…...

uboot启动流程-涉及_main汇编函数

一. uboot启动流程涉及函数 本文简单分析一下 save_boot_params_ret调用的函数&#xff1a;_main汇编函数。 本文继之前文章的学习&#xff0c;地址如下&#xff1a; uboot启动流程-涉及s_init汇编函数_凌肖战的博客-CSDN博客 二. uboot启动流程涉及的 _main汇编函数 经过之…...

此芯科技加入百度飞桨硬件生态共创计划,加速端侧AI生态布局

近日&#xff0c;此芯科技&#xff08;上海&#xff09;有限公司&#xff08;以下简称“此芯科技”&#xff09;与百度签署硬件生态共创计划合作协议&#xff0c;正式加入由百度发起的硬件生态共创计划。双方将共同推动端侧AI和大模型在个人计算、车载计算以及元宇宙计算等领域…...

Unity把UGUI再World模式下显示到相机最前方

Unity把UGUI再World模式下显示到相机最前方 通过脚本修改Shader 再VR里有时候要把3D的UI显示到相机最前方&#xff0c;加个UI相机会坏事&#xff0c;可以通过修改unity_GUIZTestMode来解决。 测试用例 测试用例如下&#xff1a; 场景包含一个红色的盒子&#xff0c;一个UI…...

nodejs+vue活鲜物流监控系统elementui

第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;技术背景 5 3.2.2经济可行性 6 3.2.3操作可行性&#xff1a; 6 3.3 项目设计目标与原则 6 3.4系统流程分析 7 3.4.1操作流程 7 3.4.2添加信息流程 8 3.4.3删除信息流程 9 第4章 系统设计 11 …...

数据集划分——train_test_split函数使用说明

当我们拿到数据集时&#xff0c;首先需要对数据集进行划分训练集和测试集&#xff0c;sklearn提供了相应的函数供我们使用 一、讲解 快速随机划分数据集&#xff0c;可自定义比例进行划分训练集和测试集 二、官网API 官网API sklearn.model_selection.train_test_split(*a…...

Pytorch中关于forward函数的理解与用法

目录 前言1. 问题所示2. 原理分析2.1 forward函数理解2.2 forward函数用法 前言 深入深度学习框架的代码&#xff0c;发现forward函数没有被显示调用 但代码确重写了forward函数&#xff0c;于是好奇是不是python的魔术方法作用 1. 问题所示 代码如下所示&#xff1a; cla…...

vite跨域proxy设置与开发、生产环境的接口配置,接口在生产环境下,还能使用proxy代理地址吗

文章目录 vite的proxy开发环境设置如果后端没有提供可以替换的/mis等可替换的后缀的处理办法接口如何区分.env.development开发和.env.production生产环境接口在生产环境下&#xff0c;还能使用proxy代理地址吗&#xff1f; vite的proxy开发环境设置 环境&#xff1a; vite 4…...

【嵌入式】使用MultiButton开源库驱动按键并控制多级界面切换

目录 一 背景说明 二 参考资料 三 MultiButton开源库移植 四 设计实现--驱动按键 五 设计实现--界面处理 一 背景说明 需要做一个通过不同按键控制多级界面切换以及界面动作的程序。 查阅相关资料&#xff0c;发现网上大多数的应用都比较繁琐&#xff0c;且对于多级界面的…...

【数据结构】树的概念理解和性质推导(保姆级详解,小白必看系列)

目录 一、前言 &#x1f34e; 为什么要学习非线性结构 ---- 树&#xff08;Tree&#xff09; &#x1f4a6; 线性结构的优缺点 &#x1f4a6; 优化方案 ----- 树&#xff08;Tree&#xff09; &#x1f4a6; 树的讲解流程 二、树的概念及结构 &#x1f350; 树的概念 &…...

融合之力:数字孪生、人工智能和数据分析的创新驱动

数字孪生、人工智能&#xff08;AI&#xff09;和数据分析是当今科技领域中的三个重要概念&#xff0c;它们之间存在着紧密的关联和互动&#xff0c;共同推动了许多领域的创新和发展。 一、概念 数字孪生是一种数字化的模拟技术&#xff0c;它通过复制现实世界中的物理实体、…...

Spring的注解开发-Spring配置类的开发

Bean配置类的注解开发 Component等注解替代了<bean>标签&#xff0c;但像<import>、<context:componentScan>等非<bean>标签怎样去使用注解去替代呢&#xff1f;定义一个配置类替代原有的xml配置文件&#xff0c;<bean>标签以外的标签&#xff…...

Linux系统编程系列之进程间通信-信号量组

一、什么是信号量组 信号量组是信号量的一种&#xff0c; 是system-V三种IPC对象之一&#xff0c;是进程间通信的一种方式。 二、信号量组的特性 信号量组不是用来传输数据的&#xff0c;而是作为“旗语”&#xff0c;用来协调各进程或者线程工作的。信号量组可以一次性在其内…...

centos 6使用yum安装软件

1. 执行以下命令&#xff0c;查看当前操作系统 CentOS 版本。 cat /etc/centos-release返回结果如下图所示&#xff0c;则说明当前操作系统版本为 CentOS 6.9。 2. 执行以下命令&#xff0c;编辑 CentOS-Base.repo 和CentOS-Epel.repo文件。 vim /etc/yum.repos.d/CentOS-Bas…...

maven无法下载时的解决方法——笔记

右键项目然后点击创建setting.xml&#xff08;因为现在创建了&#xff0c;所以没显示了&#xff0c;可以直接点击打开setting.xml&#xff09; 然后添加 <mirror><id>nexus-aliyun</id><mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf><name…...

Java Spring Boot 开发框架

Spring Boot是一种基于Java编程语言的开发框架&#xff0c;它的目标是简化Java应用程序的开发过程。Spring Boot提供了一种快速、易于使用的方式来创建独立的、生产级别的Java应用程序。本文将介绍Spring Boot的特性、优势以及如何使用它来开发高效、可靠的应用程序。 一、简介…...

Pytorch学习记录-1-张量

1. 张量 (Tensor): 数学中指的是多维数组&#xff1b; torch.Tensor data: 被封装的 Tensor dtype: 张量的数据类型 shape: 张量的形状 device: 张量所在的设备&#xff0c;GPU/CPU requires_grad: 指示是否需要计算梯度 grad: data 的梯度 grad_fn: 创建 Tensor 的 Functio…...

paddle2.3-基于联邦学习实现FedAVg算法-CNN

目录 1. 联邦学习介绍 2. 实验流程 3. 数据加载 4. 模型构建 5. 数据采样函数 6. 模型训练 1. 联邦学习介绍 联邦学习是一种分布式机器学习方法&#xff0c;中心节点为server&#xff08;服务器&#xff09;&#xff0c;各分支节点为本地的client&#xff08;设备&#…...

nuiapp保存canvas绘图

要保存一个 Canvas 绘图&#xff0c;可以使用以下步骤&#xff1a; 获取 Canvas 元素和其绘图上下文&#xff1a; var canvas document.getElementById("myCanvas"); var ctx canvas.getContext("2d");使用 Canvas 绘图 API 绘制图形。 使用 toDataUR…...