【生信】初探基因定位和全基因组关联分析

news2024/11/16 12:07:07

初探QTL和GWAS

文章目录

  • 初探QTL和GWAS
    • 实验目的
    • 实验内容
    • 实验题目
      • 第一题:玉米MAGIC群体的QTL分析
      • 第二题:TASSEL自带数据集的关联分析
    • 实验过程
      • 玉米MAGIC群体的QTL分析
        • ① 包含的数据
        • ② 绘制LOD曲线
        • 株高对应的QTL
      • TASSEL自带数据集的关联分析
        • TASSEL简介
        • 实际操作
        • 曼哈顿图和QQ图
        • TOP5位点
    • 讨论
      • 1.QTL分析和GWAS分析的一般流程是什么?
      • 2.QTL分析中,如何确定目标性状的候选遗传位点?
      • 3.GWAS分析中,如何确定目标性状的候选遗传位点?如何缩小候选区间?
      • 4.如何降低QTL、GWAS分析结果的假阳性?
      • 4.如何降低QTL、GWAS分析结果的假阳性?

实验目的

  1. 了解R语言工作环境
  2. 熟悉QTL和GWAS分析的一般流程
  3. 掌握至少一种常用QTL和GWAS分析软件

实验内容

  1. 使用R包qtl2进行QTL分析
  2. 使用软件TASSEL进行GWAS分析
  3. 熟悉基因型、表型等数据格式,掌握QTL和GWAS分析结果的解读和可视化

实验题目

第一题:玉米MAGIC群体的QTL分析

利用玉米MAGIC群体数据,使用R/qtl2完成以下QTL分析:

① 本群体包含哪些数据?

② 绘制株高(PH)的LOD曲线

③ 给出株高对应的QTL

数据来源参考网址:

qtl2data/maize_magic.zip at main · rqtl/qtl2data (github.com)

第二题:TASSEL自带数据集的关联分析

使用TASSEL对自带数据集(安装目录下TutorialData子目录中),对其它两个性状(EarHTEarDia)中任意一个,进行关联分析。

至少需要给出以下结果:

①与EarHT或EarDia最显著关联的Top 5位点信息(包括染色体号、位置和P值)

②两张图(曼哈顿图QQ图)及相应的解释(绘图结果说明什么)

实验过程

玉米MAGIC群体的QTL分析

① 包含的数据

maize_magic_geno.csv: MAGIC的基因型数据

Maize_magic_foundergeno.csv: 9个founder系的基因型数据

Maize_magic_gmap.csv: 遗传图谱

Maize_magic_pmap.csv: 物理图谱

Maize_magic_crossinfo.csv: cross信息(代数后面跟着表示九个founder相对贡献的值)

Maize_magic_pheno.csv: 表型数据

maize_magic_phenocovar.csv: 表现型协变量,只描述表现型

② 绘制LOD曲线

我们使用R语言的qtl2包,进行QTL定位分析。qtl2的使用方法可以参考官方文档,写的很不错。

R/qtl2 user guide (kbroman.org)

下面就是代码实现了,注释写的也挺清楚的。

# 设置工作目录
setwd("D:/00大三上/生信原理/实践作业/QTL_GWAS")

# install.packages("qtl2")
library(qtl2)
# 直接从网站上读取
file <- paste0("https://raw.githubusercontent.com/rqtl/","qtl2data/main/MaizeMAGIC/maize_magic.zip")

MM <- read_cross2(file)
# 或者把压缩包下载下来再读取
MM <- read_cross2("./maize_magic.zip")

# 观察数据 - 10条染色体、总计41324个标记
summary(MM)

# (伪)标记插入遗传图,获取假定QTL;以1cM为间隔插入伪标记
MMmap <- insert_pseudomarkers(map=MM$gmap, step=1)

# 计算基因型概率;假定基因分型误差概率0.002
# cores=4,使用多核计算
MMpr <- calc_genoprob(cross = MM, map = MMmap, error_prob=0.002, cores=4)

# 可视化查看基因型概率
# 参数依次为 基因型概率、marker图、要查看的个体编号、要查看的染色体号
# 染色体的坐标在横轴上,基因型在纵轴上。较高的基因型概率表示为暗色
png(filename = 'plot_genoprob.png',width = 3580,height = 2200,res = 300)
plot_genoprob(MMpr, MMmap, ind = 1, chr = 1)
dev.off()

# 运用 Haley-Knott regression 进行基因组扫描
# 可加协变量、此处不加。输出LOD分数矩阵(positions × phenotypes)
MM_scan1_out <- scan1(MMpr, MM$pheno, cores=0)

# 绘制LOD曲线,指定一列(表型)
png(filename = 'plot_scan1.png',width = 3580,height = 2200,res = 300)
plot_scan1(MM_scan1_out, map = MMmap, lodcolumn = "PH")
dev.off()
# 查看对PH而言哪个伪标记LOD分数最高、哪个基因型标记LOD得分最高
sort(MM_scan1_out[,"PH"])

# permutation test 说明scan结果的统计学意义
# 识别随机下可能出现的最大LOD分数,使用1000种排列
# 这一行执行时间比较长,因为置换检验需要重新计算1000次
MM_operm <- scan1perm(genoprobs = MMpr, pheno = MM$pheno, n_perm = 1000) 

# 显著性阈值、默认5%水平
# PH为7.40 期望LOD得分低于7.40是偶然事件
summary(MM_operm, alpha=0.05) 

# 寻峰,95%置信区间
thr <- summary(MM_operm)
MM_peaks <- find_peaks(scan1_output = MM_scan1_out, map = MMmap, threshold = thr, prob = 0.95, expand2markers = FALSE)

# 查看PH表型对应多少满足阈值的峰(QTL),分别在哪
PH_qtl <- MM_peaks[MM_peaks$lodcolumn=='PH',]

# 保存结果,方便之后查看
write.csv(thr,"thr.CSV")
write.csv(PH_qtl,"PH_qtl.CSV")

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A75Zs1cH-1671348220695)(D:/typora%E5%9B%BE%E7%89%87/plot_genoprob.png)]

图1 一号染色体基因型概率可视化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UxcOenMR-1671348220696)(D:/typora%E5%9B%BE%E7%89%87/plot_scan1.png)]

图2 LOD曲线

由LOD曲线可以看出,6、8和10号染色体很有可能有QTL位点,这也与下文的分析对应上了。

株高对应的QTL

有上面代码的输出结果(表1、表2)可以看到,PH的阈值是7.41,筛选过后可以得到三个QTL。分别位于6、8、10号染色体上,这也与上面的LOD曲线对应上了。

表1 四种表型的阈值
PSPHEHGYrad
0.057.4245027.4089677.7538357.628907
表2 株高对应的QTL
lodcolumnchrposlodci_loci_hi
4PH612.2846815.9104711.009812.3023
5PH890.1498110.979279.4459493.54998
6PH1013.949917.9165269.58554143.14987

TASSEL自带数据集的关联分析

TASSEL简介

Trait Analysis by aSSociation, Evolution and Linkage.

TASSEL是一个软件包,用于评估特征的关联,进化模式和连锁不平衡。本软件的优点包括:

  1. 有机会使用一些新的强大的统计方法来进行关联映射,例如通用线性模型(GLM)和混合线性模型(MLM)。MLM是《Nature Genetics》论文—— Unified Mixed-Model Method for Association Mapping,该技术减少了与复杂谱系、家族、创始效应和种群结构关联映射中的I型错误。

  2. 能够处理广泛的索引(插入和删除)。大多数软件忽略了这种类型的多态性;然而,在某些物种(如玉米)中,这是最常见的多态性类型。

Maize Genetics | TASSEL

实际操作

下载安装完TASSEL后,打开安装目录下TASSEL5\TutorialData中的示例数据。

分别导入:

  • 基因型数据mdp_genotype.hmp
  • 群体结构数据 mdp_population_strucutre
  • 表型性状数据 mdp_phenotype、mdp_traits

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LhqZsYwn-1671348220697)(D:/typora%E5%9B%BE%E7%89%87/image-20221217185130743.png)]

图3 导入示例文件

菜单栏 的Filter可以基于每个位点的基因型统计分析,进行筛选。

我们通过MAF来进行筛选。

Minor Allele Frequency (MAF):次等位基因频率

比如:某个SNP位点,包含A和G两种等位基因(allele),100个个体中有35个为A,65个为G,则该位点的MAF=0.35

过滤完成后,软件界面左侧会出现文件mdp_genotype_Filter

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jag7bR1G-1671348220698)(D:/typora%E5%9B%BE%E7%89%87/image-20221217185311242.png)]

图4 数据过滤

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k9ZRC19S-1671348220698)(D:/typora%E5%9B%BE%E7%89%87/image-20221217185818287.png)]

图5 数据过滤参数设置

数据过滤后,我们计算群体内不同个体之间的亲缘关系,可用于后续混合线性模型MLM的关联分析。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-visY6s9a-1671348220699)(D:/typora%E5%9B%BE%E7%89%87/image-20221217190829676.png)]

图6 计算亲缘关系

选择默认的Kinship计算方法,Center IBSMax Alleles使用默认值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OCJk31YV-1671348220699)(D:/typora%E5%9B%BE%E7%89%87/image-20221217190939874.png)]

图7 计算亲缘关系的参数设置

下表是有关参数设置的帮助。

表3 计算亲缘关系参数设置的帮助
ParameterDescriptionValuesDefault
Kinship methodThe Centered_IBS (Endelman - previously Scaled_IBS) method produces a kinship matrix that is scaled to give a reasonable estimate of additive genetic variance. Uses algorithm http://www.g3journal.org/content/2/11/1405.full.pdf Equation-13. The Normalized_IBS (Previously GCTA) uses the algorithm published here: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3014363/pdf/main.pdf.Centered _IBS, Normalized _IBS, Dominance _Centered _IBS, Dominance _Normalized _IBSCentered _IBS
Max AllelesMax Alleles2…66
Algorithm VariationAlgorithm VariationObserved _Allele _Freq, Proportion _HeterozygousObserved _Allele _Freq

计算完成后,生成亲缘关系矩阵。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a3v1XDqK-1671348220700)(D:/typora%E5%9B%BE%E7%89%87/image-20221217191158236.png)]

图8 亲缘关系矩阵
下面我们选择一个形状进行关联分析,在这里选择EarHT

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wfdTXN0N-1671348220700)(D:/typora%E5%9B%BE%E7%89%87/image-20221217201532859.png)]

图9 性状筛选

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rjRUQWTo-1671348220700)(D:/typora%E5%9B%BE%E7%89%87/image-20221217195848466.png)]

图10 选择特定性状

去掉最后一个群体结构(Q3),指导手册给出的解释说,如果我们把它们全部作为协变量使用,这会产生线性相依性。

在这里插入图片描述

图11 去掉最后一个群体结构

摁住Ctrl键同时选中上述三个文件( mdp_genotype_FilterFiltered_mdp_traitsFiltered_mdp_population_structure )进行合并, 点击Data → Intersect Join

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JrBDGCpg-1671348220701)(D:/typora%E5%9B%BE%E7%89%87/image-20221217200052155.png)]

图12 选择需要合并的数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z6cKtN21-1671348220701)(D:/typora%E5%9B%BE%E7%89%87/image-20221217200112457.png)]

图13 合并数据

使用GLM进行关联分析(默认参数)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d97fBYJ8-1671348220702)(D:/typora%E5%9B%BE%E7%89%87/image-20221217200145457.png)]

图14 使用GLM进行关联分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IM76vlh6-1671348220702)(D:/typora%E5%9B%BE%E7%89%87/image-20221217200203731.png)]

图15 GLM参数设置

曼哈顿图和QQ图

得到结果之后,我们就可以产看结果了,在菜单栏里的Results里面有画曼哈顿图和QQ图的选项。

曼哈顿图中每个点代表一个SNP,纵轴为每个SNP计算出来的Pvalue取-log10,横轴为SNP所在的染色体。基因位点的Pvalue越小即-log10(Pvalue)越大,其与表型性状或疾病等关联程度越强。

可以发现1、8和10号染色体与EarTH的性状可能有关联,从QQ图上也可以看到,偏离了对角线,有一个凸起,表明有些标记可能是与EarTH性状相关。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kj5PvckS-1671348220703)(D:/typora%E5%9B%BE%E7%89%87/glm_manhattan-1671290211488-9.png)]

图16 GLM的曼哈顿图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ksjxyAmz-1671348220703)(D:/typora%E5%9B%BE%E7%89%87/glm_qq-1671290490486-11.png)]

图17 GLM的QQ图

接下来我们再试试混合线性模型,操作和GLM差不多。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i8ieCsNW-1671348220704)(D:/typora%E5%9B%BE%E7%89%87/image-20221217201745695.png)]

图18 使用MLM进行关联分析

从QQ图来看,和性状关联的位点不多,故后面分析用GLM模型的结果。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oGK3v0ap-1671348220704)(D:/typora%E5%9B%BE%E7%89%87/mlm_manhattan-1671290839598-13.png)]

图19 MLM的曼哈顿图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D1cgWd0W-1671348220705)(D:/typora%E5%9B%BE%E7%89%87/mlm_qq-1671290845234-15.png)]

图20 MLM的QQ图

TOP5位点

我们将p值从小到大排序则可以看到最显著关联的5个位点。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FocrHSql-1671348220705)(D:/typora%E5%9B%BE%E7%89%87/image-20221217202223015.png)]

图21 筛选p值

导出之后的表格如下

表4 最显著关联的Top 5位点信息
ChrPosp
10336195820.000016724
12451362440.000021302
41947492870.000028892
41947492300.000048693
81348134370.000052242

讨论

1.QTL分析和GWAS分析的一般流程是什么?

QTL分析的一般流程包括以下步骤:

  1. 构建分离群体(作图群体)
  2. 获取每个个体的目标性状的表型数据
  3. 对作图群体进行基因分型:获取个体基因型数据、筛选分子标记
  4. 使用统计方法检测QTL

QTL分析的一般流程包括以下步骤:

  1. 自然群体资源收集和鉴定
  2. 获取目标性状的表型数据
  3. 群体重测序(全基因组、转录组、外显子组、GBS等),获取基因型数据(测序读段比对、遗传变异如SNP的识别、GWAS变异标记(如SNP)构建)
  4. 基因型补缺和过滤,表型数据分析
  5. 遗传多样性、群体结构、亲缘关系、LD等分析
  6. 关联分析
  7. 候选基因筛选与挖掘

2.QTL分析中,如何确定目标性状的候选遗传位点?

在QTL分析中,目标性状的候选遗传位点通常使用统计方法来识别,该方法分析个体样本中遗传变异和性状之间的关系。

有几种方法可用于识别候选qtl,包括:

  1. 连锁分析:该方法利用家族中遗传标记(如snp)的遗传模式来识别可能与性状相关的位点。
  2. 关联分析:这种方法在不相关的个体样本中测试遗传变异和性状之间的统计关联。
  3. 混合模型分析:该方法结合了连锁和关联分析的元素,以解释可能影响性状的已知和未知因素的影响。

一旦确定了候选qtl,就可以使用其他数据和方法进一步验证它们,例如在不同的样本中重复研究或使用功能测定来确定关联背后的生物学机制。考虑潜在的混杂因素也很重要,比如环境或生活方式因素,这些因素可能会影响这一特征。

3.GWAS分析中,如何确定目标性状的候选遗传位点?如何缩小候选区间?

在GWAS分析中,通常使用统计方法分析遗传变异与样本中个体的目标特征之间的关系,从而确定目标特征的候选遗传位点()。

可以使用以下几种方法来确定候选GWAS位点:

  1. 单标记分析:对于每个单个的位点(例如SNP)进行统计分析,以识别与特征关联的位点。
  2. 多标记分析:对于一组位点进行统计分析,以识别与特征关联的位点。
  3. 基于统计模型的分析:使用统计模型来考虑可能影响特征的各种因素(包括环境和生活方式因素)。

确定候选GWAS位点后,可以使用附加数据和方法进一步验证它们,例如在不同样本中复制研究或使用功能性分析来确定关联的生物学机制。

要缩小候选区间,可以使用多种方法,包括:

  1. 增加样本大小:使用更多的个体来提高统计力,使候选区间更加明确。
  2. 使用高分辨率基因分型技术:使用高分辨率基因分型技术(如下一代测序)可以提供更多的遗传变异数据,从而帮助缩小候选区间。
  3. 引入附加信息:使用其他数据(如生物学或功能性分析结果)来帮助缩小候选区间。
  4. 复制研究:在不同的样本中复制研究可以帮助确定候选区间的稳定性。
  5. 使用多种统计方法:使用多种不同的统计方法可以帮助缩小候选区间,因为不同的方法可能会得出不同的结论。

4.如何降低QTL、GWAS分析结果的假阳性?

选择重组事件多、变异丰富、群体分化不大的群体。并且选择合适的模型。
候选GWAS位点后,可以使用附加数据和方法进一步验证它们,例如在不同样本中复制研究或使用功能性分析来确定关联的生物学机制。

要缩小候选区间,可以使用多种方法,包括:

  1. 增加样本大小:使用更多的个体来提高统计力,使候选区间更加明确。
  2. 使用高分辨率基因分型技术:使用高分辨率基因分型技术(如下一代测序)可以提供更多的遗传变异数据,从而帮助缩小候选区间。
  3. 引入附加信息:使用其他数据(如生物学或功能性分析结果)来帮助缩小候选区间。
  4. 复制研究:在不同的样本中复制研究可以帮助确定候选区间的稳定性。
  5. 使用多种统计方法:使用多种不同的统计方法可以帮助缩小候选区间,因为不同的方法可能会得出不同的结论。

4.如何降低QTL、GWAS分析结果的假阳性?

选择重组事件多、变异丰富、群体分化不大的群体。并且选择合适的模型。

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

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

相关文章

Docker ( 一 ) 基本概念及安装

1.Docker是什么&#xff1f; Docker 是一个开源的应用容器引擎, 可以简化理解实现应用与运行环境分离. Docker 其中包括&#xff0c;镜像、容器、仓库等概念&#xff0c;目的就是通过对应用组件的封装、分发、部署、运行等生命周期的管理&#xff0c;使用户的产品&#xff08…

Android 进阶——性能优化之电量优化全攻略及实战小结(一)

文章大纲引言一、偷懒至上的原则二、低电耗模式1、低电耗模式概述2、低电耗模式限制3、适配适应低电耗模式三、应用待机模式对其他用例的支持引言 电池续航时间是移动用户体验中最重要的一个方面。没电的设备完全无法使用。因此&#xff0c;对于应用来说&#xff0c;尽可能地考…

数据库拆分4--sharding-jdbc-spring-boot-starter自动装配启动过程

学习一下springboot是如何整合sharding-jdbc的。 添加依赖以后 <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.1.1</version> </dependency…

Java8之JMX与MBean

参考文章&#xff1a; 《JMX超详细解读》 《JMX》 写在开头&#xff1a;本文为学习后的总结&#xff0c;可能有不到位的地方&#xff0c;错误的地方&#xff0c;欢迎各位指正。 在学习tomcat源码架构的时候了解到其中使用了JMX来实现一些管理工作&#xff0c;于是便整理了这篇…

Linux systemd-run unit封装CGroup资源进行任务运行

Linux systemd-run 封装资源使用 序 之前我们讲了关于 systemctl 对各种服务或者说是 unit 进行了讲解&#xff0c;也讲了怎么创建一个 unit&#xff0c;进行相关配置或者依赖设置等等。在使用 systemctl status xxx 时&#xff0c;我们可以发现对应的资源使用情况&#xff0…

JSTL标签库 | 深入解析JSTL标签库

目录 一&#xff1a;深入解析JSTL标签库 1、什么是JSTL标签库 2、使用JSTL标签库的步骤 3、JSTL标签的原理 4、jstl中的核心标签库core当中常用的标签 一&#xff1a;深入解析JSTL标签库 1、什么是JSTL标签库 ①Java Standard Tag Lib&#xff08;Java标准的标签库&am…

电脑文件不小心删除了怎么恢复 ? 删除的文件如何恢复文件?

如果误删电脑文件后&#xff0c;如何恢复文件&#xff1f; 电脑删除文件是很经常的事&#xff0c;为了电脑运行更快我们经常都会清理&#xff0c;但是有时候也会出现不小心删除重要文件的情况。如何恢复删除的文件&#xff1f;本文总结的2种常用方法可以帮助到你。 方法1、注册…

惠普CP1025 因转印离合器导致打印不全大片空白的问题

问题症状 自检只打印出一部分, 后面大部分都是空白. 如果是碳盒缺粉, 应该是均匀地浅或者空白, 如果是成像鼓的问题, 应该是从上到下成条状的不均匀, 这样显示一节后空白的情况是没见过, 上网查有类似的问题 惠普CP1025彩色激光打印机打印图像前半部有字后半部白纸惠普1025打印…

Java框架:Spring框架

文章目录一、Spring概念二、Spring特征三、Spring基本架构3.1Spring体系结构3.2Core Container(核心容器)3.3Data Access/Integration(数据访问/集成)3.4Web(MVC/Remoting)3.5Test(测试)3.6AOP(面向切面编程)四、Spring主要jar包五、Spring用到的设计模式一、Spring概念 什么是…

vue学习笔记(三)-组件化编程基础

概念 传统方式与组件化对比 存在问题 1.依赖关系混乱 2.代码复用率不高 模块与组件、模块化与组件化的关系 模块 a.理解&#xff1a;向外提供特定功能的 js 程序&#xff0c;一般就是一个 js 文件 b.为什么&#xff1a;js 文件很多很复杂 c.作用&#xff1a;复用、简化 …

【Docker技术内幕】(十二)使用docker安装Kafka

目录 一、准备工作 1、安装docker 2、设置加速镜像 二、开始安装 1、启动容器 三、验证Kafka是否安装成功 四、部署kafka-manager 一、准备工作 1、安装docker 参考 【Docker技术内幕】&#xff08;四&#xff09;Linux环境下安装docker 2、设置加速镜像 vim /etc/do…

C语言 数据存储 char int 数据存储 关于原码反码补码

上图 前五个整形是整形家族&#xff0c;为什么char也是 因为他是字符型 字符实际存储的时候寸的是这个的ascll值 ascll值是个整数 除了以上两种 还有构造类型 又叫自定义类型 为什么又数组类型 如下代码 arr和【】的内容都可以自定义 为什么出现以上情况.(ffff 是16进制表示…

第二证券|通过磁铁制造功率更大的电动汽车电池

德克萨斯大学奥斯汀分校的研讨人员表明&#xff0c;一个更厚的电极&#xff0c;经过磁优化的离子道路&#xff0c;能够使充电更快&#xff0c;充电之间的功率更大。 研讨人员制作了一种具有‘快速通道’摆放的电极&#xff0c;以进步充电速度和续航路程。 研讨人员发现了一种共…

Apache Hudi 数据湖介绍

目录​​​​​​​ Apache Hudi 数据湖介绍 Hudi 历程 Hudi Features Apache Hudi 数据湖介绍 Apache Hudi&#xff08;发音为“hoodie”&#xff09;是下一代流媒体数据湖平台源于Uber 。Apache Hudi将核心仓库和数据库功能直接引入数据湖。Hudi提供了表、事务、高效的追加…

[附源码]Nodejs计算机毕业设计基于云数据库的便民民宿租赁系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

人人都能看懂的Spring底层原理,看完绝对不会懵逼

人人都能看懂的Spring原理&#xff0c;绝对不会懵逼为什么要使用Spring&#xff1f;Spring的核心组件Spring是如何实现IOC和DI的&#xff1f;定义了BeanDefinition扫描加载BeanDefinition根据BeanDefinition进行Bean的实例化和初始化实例化属性赋值保存到单例缓冲池一个Bean从创…

docker高级篇2-分布式存储之三种算法

面试题&#xff1a; 1~2亿条数据需要缓存&#xff0c;请问如何设计这个缓存案例&#xff1f; 答&#xff1a;单机单台100%是不可能的。肯定是分布式缓存的。那么用Redis如何落地&#xff1f; 一般有三种方案&#xff1a; 哈希取余分区&#xff1b;一致性哈希算法分区&#…

HttpRunner4.x 安装与使用

HttpRunner4.x 安装与使用HttpRunner4.x 安装与使用安装使用运行脚手架项目方式一&#xff1a;录制生成用例步骤1&#xff1a;导出har文件步骤2&#xff1a;转化成测试用例文件步骤3&#xff1a;执行测试用例方式二&#xff1a;手工编写测试用例HttpRunner4.x 安装与使用 以下…

卡塔尔世界杯终局之战,阿根廷VS法国,是老将加冕还是新王登基?

【世界杯】阿根廷VS法国 不知不觉&#xff0c;世界杯已经走到最后的尾声&#xff0c;此前经历的28天&#xff0c;63场比赛皆是铺垫&#xff0c;卢赛尔体育场将会迎来2022卡塔尔世界杯最终的决赛&#xff0c;究竟是梅西球王加冕还是法国卫冕世界杯冠军&#xff0c;今晚23&#x…

KNN算法 鸢尾花种类预测

目录 一&#xff1a;KNN原理 二&#xff1a;数据处理 三&#xff1a;超参调试、模型保存及使用 四&#xff1a;鸢尾花种类预测 详细步骤 一&#xff1a;KNN原理 从训练集中找到跟待测数据最近的k条记录 根据这些记录的分类决定新数据的分类 主要因素包括有&#xff1a;K邻…