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

GEO数据挖掘从数据下载处理质控到差异分析全流程分析步骤指南

0. 综合的教学视频介绍

GEO数据库挖掘分析作图全流程每晚11点在线教学直播录屏回放视频: https://www.bilibili.com/video/BV1rm42157CT/

GEO数据从下载到各种挖掘分析全流程详解: https://www.bilibili.com/video/BV1nm42157ii/

一篇今年近期发表的转录组生信分析论文复现全流程直播: https://www.bilibili.com/video/BV184421Q7pj/

1. GEO数据下载教程

1.1根据GEO的GSE数据集编号自动下载和处理GEO数据教程(必须要运行的模块,GEO数据下载要首先运行这个模块)

cc2f4a24610efa85b719f3736fafe618.jpeg

详细教程地址: https://zhuanlan.zhihu.com/p/708053447

下载GEO数据一定要先运行下这个模块,部分数据集不一定能下载提取出表达矩阵,但是一般能下载到非常完整的样本的注释信息等数据文件,这在对GEO数据集临床信息分析或分组差异分析是非常重要的。

当然如果少数GSE数据集遇到没有提取出GSEXXX_sample_info.csv的情况,也可以看看我b站的教学视频,根据GEO网页中的样本编号的分组情况,自建一个这样的分组文件,分组文件一般是长这个样子的,有两列,一列列名叫sample.id,是GSM编号信息,另一列是group.level,存放的是分组信息,当然sample.id这一列的样本名还是要以表达矩阵的样本名为准,这样才能让表达矩阵后面跟样本分组信息按照相同的列名整合在一起:

对于部分没有下载出表达矩阵的数据集,如果该数据集的GEO网页中有GSEXXX_RAW.tar格式的压缩包,可以运行下面的1.2这一步对RAW.tar的压缩包文件进行提取和处理。

1.2 转录组和基因芯片GSE数据集RAW.tar压缩包下载和多样本整合处理教程 (GEO网页中有RAW.tar压缩包可以用这一步下载处理)

0a9e3f146d201e4a1f2e3e6cddf03081.jpeg

教程地址

教程地址:转录组和基因芯片GSE数据集RAW.tar压缩包下载和多样本整合处理教程 - 邢博士谈科教的文章 : https://zhuanlan.zhihu.com/p/708244032

普通RNAseq转录组的GSEXXX_RAW.tar压缩包的多样本整合处理

c219c69b7c722c297dabb8a8b3d5c797.jpeg

各种不同格式的基因表达芯片的GSEXXX_RAW.tar压缩包的多样本整合处理

1.3 GEO网页中存在可以手动下载的表达矩阵等文件的下载处理教程

如果在1.1步没有自动下载提取出基因表达矩阵,GEO网页中也没有GSEXXX_RAW.tar压缩包文件,但是存在可以手动下载的一些表达矩阵等数据文件,可以用这一步进行下载和处理。

62506b77209ba73dfd139f1d780f13ef.jpeg

132eb0909a7bf2f70e831ce969bb2634.jpeg

教程视频:https://www.bilibili.com/video/BV1Yf421X7Cj/

2. GEO数据处理清洗教程

2.1 GEO的表达矩阵的探针ID转换成基因名称教程 (提取的表达矩阵里只有基因探针ID,没有正式的基因名称时运行这一步)

2.1.0 教程地址

GEO的表达矩阵的探针ID转换成基因名称教程 - 邢博士谈科教的文章 - 知乎

https://zhuanlan.zhihu.com/p/708404618

2.1.1 从gpl注释文件中提取出基因注释 (优先用这种方法进行基因名称注释)

该节教程:https://www.bilibili.com/video/BV15w4m1q7Dw/

d438d39416301d1e1f43911599debb7a.jpeg

2.1.2 对GPLsoft文件中没有基因名称的探针获取基因注释(第二种基因探针注释方法)

该方法对于一些非编码RNA的GSE数据集的注释可能会非常有用

该节教程:https://www.bilibili.com/video/BV12b421e7SX/

edf6818ea380ae017648c7619d2ff260.jpeg

2.1.3 同一物种不同类型基因id转换

该节教程:https://www.bilibili.com/video/BV1YD421M7qR/

该模块对于基因名称SYMBOL跟ENTREZID,ENSEMBL(为ENSG等开头基因ID),REFSEQ(为NM开头:mRNA,NP开头:蛋白,NR开头:非编码RNA),UNIPROT,UCSCKG(为ENST转录本)这六种类型中的一中或多种类型的基因ID或名称间的互相转换是非常有用的。

2f2ed97cd12b574b5c9e27fb88a0fdbe.jpeg

2.1.4 不同物种间同源基因转换

该节教程:https://www.bilibili.com/video/BV1B1421k7K9/

该方法对于小鼠和人之间的基因名称相互转换或者其它物种的基因名称转成人或小鼠的基因名称从而方法进行某些只能用人或小鼠模式生物才能做的生信分析是非常有用的。

b8d6868915b716397b336930b83385ab.jpeg

2.2 将提取的基因注释信息跟表达矩阵合并

该节教程:https://www.bilibili.com/video/BV12f421Q7nK/

37dbb9398ce9bbb3da575b9408737420.jpeg

2.3 GEO的样本分组信息提取和处理教程

2.3.1 从样本注释文件中提取出分组数据 (优先选择使用这种方法)

该节教程: https://www.bilibili.com/video/BV1rT421v77P/

0963cec408141d5241e7a85e50a271d9.jpeg

2.3.2 从表达矩阵中提取出分组信息 (第2种分组信息提取方法)

该节教程:https://www.bilibili.com/video/BV1sz421h7rc/

92562c5082993deea2824ef54d8b3da4.jpeg

2.3.3 自己构建分组信息文件

当然如果少数GSE数据集遇到没有提取出GSEXXX_sample_info.csv的情况,也可以看看我b站的教学视频,根据GEO网页中的样本编号的分组情况,自建一个这样的分组文件,分组文件一般是长这个样子的,有两列,一列列名叫sample.id,是GSM编号信息,另一列是group.level,存放的是分组信息,当然sample.id这一列的样本名还是要以表达矩阵的样本名为准,这样才能让表达矩阵后面跟样本分组信息按照相同的列名整合在一起:


3. 质控和标准化

3.1 基因表达芯片的质控和标准化

3.1.1构建ExpressionSet分析对象 (首先先运行这一步)

基因的芯片的质控需要的数据格式是ExpressionSet这种格式,所以先需要构建个ExpressionSet对象

该节教程:https://www.bilibili.com/video/BV1br421c71A/

71689e7f796c023174fb629aa5f6c95c.jpeg

3.1.2 基因表达芯片的质控

该节教程: https://www.bilibili.com/video/BV1vy411b7yQ/

86e910360c0fff461f71d16e92e355a8.jpeg

3.1.3表达芯片进行归一化处理

该节教程: https://www.bilibili.com/video/BV1fJ4m1u7jX/

234d1d9681816873306e56e27fc15554.jpeg

3.2 普通转录组RNAseq定量的表达矩阵质控和标准化的操作和答疑

3.2.0 普通转录组RNAseq定量的表达矩阵是否需要质控和标准化的答疑

RNAseq测序数据在上游处理分析时候已经经过质控处理,是不需要再进行质控的,我们一般从GEO数据库里下载处理的RNAseq测序数据的表达矩阵要么是counts整数值表达矩阵文件,要么可能是FPKM/RPKM或TPM相对定量且标准化后连续性数值表达矩阵。

在差异分析的时候,转录组的差异分析主流的DESeq2和edgeR这两个差异分析工具是需要用不经过任何处理的原始的counts表达矩阵作为输出数据的,所以我们是不需要对从GEO数据库中下载和提取的counts表达矩阵做任何质控标准化操作的。

如果我们没有counts表达矩阵,只下载到了FPKM/RPKM或TPM相对定量且标准化后连续性数值表达矩阵,这样的数据已经经过了标准化处理,在我们做差异分析的时候,只需要对该类表达矩阵数据取个log2对数处理就可以了,同时这样的数据已经不能使用DESeq2和edgeR做差异分析了,只能用limma这个工具做差异分析。而在我的OmicsTools差异分析模块用limma做差异分析时,是会自动对数据分布和量级差别较大的数据进行取对数处理的。所以,大家也不需要手动对这类数据提取进行取对数处理的。

对于FPKM/RPKM或TPM数据,如果大家在做limma差异分析之前,如果想先看下RNAseq的表达矩阵每个样本所有基因的表达数据的分布情况是否一致,可以用下面的这两个模块进行表达矩阵的可视化作图

3.2.1 使用表达矩阵进行密度图绘制

该绘图模块会绘制每个样本的表达数据的密度曲线,好的连续数据的密度曲线应该近似钟形曲线的正态分布。

视频教程:https://www.bilibili.com/video/BV1yx4y1W7Vb/

4b4bee42db6484c9c7a7e32121e70c96.jpeg

3.2.2 利用表达矩阵进行箱式图绘制

利用表达矩阵进行箱式图绘制(用于查看质控标准化结果) ,质量好的数据应该是所有样本的箱式图中的中位数应该位于同一水平线上,箱式图分布性状也比较近似,没有特别严重的高低不齐的现象。

视频教程: https://www.bilibili.com/video/BV1b1421b7Qx/

dd24beef736ff5f6fa0de9e0441c4eb0.jpeg

4. 样本PCA分群聚类分析和剔除异常样本

4.1 样本的PCA聚类分群分析

该节教程:https://www.bilibili.com/video/BV1if421X7pM/

92bfc0ad51e891c61373a824234e11f4.jpeg

4.2 删除PCA分群聚类的异常离群样本

该节教程:https://www.bilibili.com/video/BV1Um421N7X8/

e0a194a4dd843fc9205b9875bc50eab6.jpeg

4.3 剔除异常离群样本后的再次PCA聚类分群分析

该节教程:https://www.bilibili.com/video/BV1if421X7pM/

3783987e3cc233a44ab6e5f9872b2b34.jpeg

5. 多个数据集的整合和去除批次效应

5.1 多个数据集合并 (如何需要整合分析多个数据集,就运行这一步)

该节教程:https://www.bilibili.com/video/BV1j4421X7Ls/

515b6c6b64e83298d698f0d646686527.jpeg

5.2 多数据集合并后一起所有样本表达数据一起做归一化处理(RNAseq counts整型数据不需要做这一步)

该节教程: https://www.bilibili.com/video/BV1fJ4m1u7jX/

2f0ca5b87fc21c632d79e98c61b02de9.jpeg

5.3去除批次效应(即使单个数据集中有多个批次信息,也要运行这一步)

一般我们如果合并了多个数据集,都是需要要去除批次效应的,但是,即使单个数据集中如果有多个批次信息,也要运行这一步

该节教程: https://www.bilibili.com/video/BV1Yy411h78f/

3b8d20aec96b35b4b0872a9568f78853.jpeg

5.4 去除批次效应后的样本PCA聚类分群分析

该节教程:https://www.bilibili.com/video/BV1if421X7pM/

edf6e10089bf561c3d285c9a2ac8579a.jpeg

5.4 删除PCA分群聚类的异常离群样本

该节教程:https://www.bilibili.com/video/BV1Um421N7X8/

8c13542a85b06cd6770102424d7cb555.jpeg

5.5 剔除异常离群样本后的再次PCA聚类分群分析

该节教程:https://www.bilibili.com/video/BV1if421X7pM/

d0c6a48ad792a8cdaf8ea54226424e95.jpeg

6. 差异分析

6.0 不同数据的差异分析方法选择

6.0.1 整个转录组所有基因批量差异分析的数据格式和方法选择

数据格式: counts数据>> TPM数据> >FPKM/RPKM数据

差异分析工具: DESeq2 =edgeR > >(log2对数标准化+limma)

1.有counts数据的时候,优先选择使用counts数据+DESeq2/edgeR工具进行整个转录组的批量差异分析

2.没有counts数据,但是有TPM数据的时候,优先选择使用TPM数据+(log2对数标准化+limma工具)进行整个转录组的批量差异分析

3.没有counts数据,也没有TPM数据的时候,可以选择使用FPKM/RPKM+(log2对数标准化+limma工具)进行整个转录组的批量差异分析。

在我的OmicsTools差异分析模块用limma做差异分析时,是会自动对数据分布和量级差别较大的数据进行取对数处理的。所以,大家也不需要手动对这类数据提取进行取对数处理的。

6.0.2 基因芯片或其它组学或连续数值的表达矩阵的差异分析方面选择

基因芯片或其它组学或连续数值的表达矩阵的差异分析时,一律是log2(表达矩阵)+limma工具差异分析这种方法。在我的OmicsTools差异分析模块用limma做差异分析时,是会自动对数据分布和量级差别较大的数据进行取对数处理的。所以,大家也不需要手动对这类数据提取进行取对数处理的。

6.1 通用差异分析 (各种类型的组学数据都适用的差异分析模块)

该节教程:https://www.bilibili.com/video/BV1Lw4m1q71T/

9b6604cf845e65d30c7db27fba7156cd.jpeg

这个差异分析模块是可以做任意物种的差异分析,如果是人,func_org参数就填’human’, 如果不是人,就填不是’human’的任意其它物种名称就行。

因为edgeR差异分析建议,如果是人类的RNAseq数据,bcv生物变异度设置为0.4,如果是非人类的模式生物,bcv设置为0.1,在用edgeR做差异分析时,所有当输入的物种是human的时候,会自动把bcv生物变异度设置为0.4, 非human的时候,bcv会设置为0.1

6.2 通用批量差异分析(可同时对多个数据集文件做差异分析)

该节教程: https://www.bilibili.com/video/BV1vD421g7Vj/

04cb3022d726cab777ea468c85eea119.jpeg

6.3 按照某个基因或特征的高低分组的差异分析

6.3.1 按照某些特征的高低阈值对样本进行分组

该节教程:https://www.bilibili.com/video/BV1CZ421M75J/

2b7776da005e0e7e9f7f3c6e4dc36501.jpeg

6.3.2 按照某个基因或特征的高低分组的差异分析

按照某个基因或特征的高低分组的差异分析

该节教程:https://www.bilibili.com/video/BV18E4m1R7Wp/

efa05ae94f82715ff09ae88fd9439b9c.jpeg

这个差异分析模块也是可以做任意物种的差异分析,如果是人,func_org参数就填’human’, 如果不是人,就填不是’human’的任意其它物种名称就行。

因为edgeR差异分析建议,如果是人类的RNAseq数据,bcv生物变异度设置为0.4,如果是非人类的模式生物,bcv设置为0.1,在用edgeR做差异分析时,所有当输入的物种是human的时候,会自动把bcv生物变异度设置为0.4, 非human的时候,bcv会设置为0.1

6.4 根据logFC和p值等条件对差异分析结果进行筛选

提取出符合条件的特定行列的子数据集

该节教程: https://www.bilibili.com/video/BV1BM4m1Q7Qx/

af4708eb36407d7a75121c1be334da40.jpeg

相关文章:

GEO数据挖掘从数据下载处理质控到差异分析全流程分析步骤指南

0. 综合的教学视频介绍 GEO数据库挖掘分析作图全流程每晚11点在线教学直播录屏回放视频: https://www.bilibili.com/video/BV1rm42157CT/ GEO数据从下载到各种挖掘分析全流程详解: https://www.bilibili.com/video/BV1nm42157ii/ 一篇今年近期发表的转…...

‍我想我大抵是疯了,我喜欢上了写单元测试

前言 大家好我是聪。相信有不少的小伙伴喜欢写代码,但是对于单元测试这些反而觉得多此一举,想着我都在接口文档测过了!还要写什么单元测试!写不了一点!! 由于本人也是一个小小程序猿🙉&#xf…...

【Visual Studio】Visual Studio使用技巧及报错解决合集

目录 目录 一.概述 二.Visual Studio报错问题及解决方法 三.Visual Studio操作过程中遇到的问题及解决方法 四.Visual Studio编译优化选项 五.Visual Studio快捷键 一.概述 持续更新Visual Studio报错及解决方法,包括Visual Studio报错问题及解决方法、Visua…...

服务器数据恢复—raid5阵列热备盘同步失败导致lun不可用的数据恢复案例

服务器存储数据恢复环境: 华为S5300存储中有一组由16块FC硬盘组建的RAID5磁盘阵列(包含一块热备盘)。 服务器存储故障: 该存储中的RAID5阵列1块硬盘由于未知原因离线,热备盘上线并开始同步数据,数据同步到…...

算法题目整合

文章目录 121. 小红的区间翻转142. 两个字符串的最小 ASCII 删除总和143. 最长同值路径139.完美数140. 可爱串141. 好二叉树 121. 小红的区间翻转 小红拿到了两个长度为 n 的数组 a 和 b,她仅可以执行一次以下翻转操作:选择a数组中的一个区间[i, j]&…...

万界星空科技AI低代码平台:重塑数字化创新边界

在这个日新月异的数字化时代,技术的飞速发展正以前所未有的力量重塑着每一个行业。企业如何在瞬息万变的市场环境中保持竞争力,实现业务的快速迭代与创新? 重塑开发模式,加速数字化转型 传统软件开发周期长、成本高、门槛高&…...

iredmail服务器安装步骤详解!如何做配置?

iredmail服务器安全性设置指南?怎么升级邮件服务器? iredmail是一个功能强大的邮件服务器解决方案,它集成了多个开源软件,使您能够快速部署和管理邮件服务。AokSend将逐步引导您完成安装过程,无需深入的编程知识即可轻…...

【vue深入学习第1章】Vue.js 中的 Ajax 处理:vue-resource 库的深度解析

在现代前端开发中,Ajax 请求是与后端进行数据交互的关键技术。Vue.js 作为一个渐进式 JavaScript 框架,提供了多种方式来处理 Ajax 请求,其中 vue-resource 是一个较为常用的库。尽管 vue-resource 在 Vue 2.x 之后不再是官方推荐的 Ajax 处理…...

JDK新特性(Lambda表达式,Stream流)

Lambda表达式: Lambda 表达式背后的思想是函数式编程(Functional Programming)思想。在传统的面向对象编程中,程序主要由对象和对象之间的交互(方法调用)构成;而在函数式编程中,重点…...

【ARM】MDK-服务器与客户端不同网段内出现卡顿问题

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 记录不同网段之间的请求发送情况以及MDK网络版license文件内设置的影响。 2、 问题场景 客户使用很久的MDK网络版,在获取授权时都会出现4-7秒的卡顿,无法对keil进行任何操作,彻底…...

c++树(一)定义,遍历

目录 树的定义 树的基本术语 树的初始起点:我们定义为根 树的层次: 树的定义: 树的性质 性质1: 性质2: 树形结构存储的两种思路 树的遍历模板 树上信息统计方式1-自顶向下统计 树上信息统计方式2-自底向上统…...

YOLOv5和LPRNet的车牌识别系统

车牌识别系统 YOLOv5和LPRNet的车牌识别系统结合了深度学习技术的先进车牌识别解决方案。该系统整合了YOLOv5目标检测框架和LPRNet文本识别模型 1. YOLOv5目标检测框架 YOLO是一种先进的目标检测算法,以其实时性能和高精度闻名。YOLOv5是在前几代基础上进行优化的…...

内容安全(深度行为检测技术、IPS、AV、入侵检测方法)

1、深度行为检测技术 深度行为检测技术:是一种基于深度学习和机器学习的技术,它通过分析用户在网络中的行为模式,识别异常或潜在威胁行为,从而保护网络安全和内容安全 分类: 深度包检测技术(Deep Packet…...

MySQL双主双从实现方式

双主双从(MM-SS) 前言 避免单一主服务器宕机,集群写入能力缺失 从 1 复制 主1 ,从 2 复制 主 2 主 1 复制 主 2,主 2 复制主 1 也就是 主 1 和主 2 互为主从。主1主2互为主从, 是为了以下情景&#xff0c…...

pico+unity手柄和摄像机控制初级设置

1、摄像头配置 摄像头模式、floor是追踪原点类型(将根据设备检测到地面的高度来计算追踪原点), Device 模式时,为通常理解的 Eye 模式,不会将根据设备检测到地面的高度来计算追踪原点 选择floor时,修改相…...

vxe-grid 实现配置式form搜索条件 form搜索条件框可折叠 配置式table

文章目录 效果图代码 效果图 代码 <template><div class"app-container"><vxe-grid refxGrid v-bind"gridOptions" v-if"tableHeight" :height"tableHeight"><template #billDate"{ data }"><e…...

TS相较于JS有什么优缺点

TypeScript&#xff08;TS&#xff09;是JavaScript的一个超集&#xff0c;它添加了静态类型检查和编译时的强大功能&#xff0c;目的是提高代码质量和维护性。相较于JavaScript&#xff0c;TS的主要优点和缺点如下&#xff1a; 优点&#xff1a; 类型安全性&#xff1a;通过…...

【Harmony】SCU暑期实训鸿蒙开发学习日记Day2

目录 Git 参考文章 常用操作 ArkTS的网络编程 Http编程 发送请求 GET POST 处理响应 JSON数据解析 处理响应头 错误处理 Web组件 用生命周期钩子实现登录验证功能 思路 代码示例 解读 纯记录学习日记&#xff0c;杂乱&#xff0c;误点的师傅可以掉了&#x1…...

vue3前端开发-执行npm run dev提示报错怎么解决

vue3前端开发-执行npm run dev提示报错怎么解决&#xff01;今天在本地安装初始化了一个vue3的案例demo。但是当我执行npm run dev想启动它时报错了说&#xff0c;找不到dev。让我检查package.json文件是否包含dev。如下图所示&#xff1a; 实际上&#xff0c;不必惊慌&#xf…...

https 单向认证和双向认证

单向认证 单向认证是客户端(通常是浏览器)验证服务器的身份。服务器向客户端提供数字证书,客户端通过验证该证书的真实性来确认与服务器的连接是安全的。 服务器提供证书:服务器向客户端提供一个数字证书,用于验证服务器的身份。客户端验证服务器:客户端验证服务器的证书…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库&#xff08;uthash库&#xff09;提供对哈希表的操作&#xff0c;文章如下&#xff1a; C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

深入浅出Diffusion模型:从原理到实践的全方位教程

I. 引言&#xff1a;生成式AI的黎明 – Diffusion模型是什么&#xff1f; 近年来&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;领域取得了爆炸性的进展&#xff0c;模型能够根据简单的文本提示创作出逼真的图像、连贯的文本&#xff0c;乃至更多令人惊叹的…...