AI-人工智能-基于LC-MS/MS分子网络深度分析的天然产物成分解析的新策略
Anal Chem∣张卫东教授团队开发基于LC-MS/MS分子网络深度分析的天然产物成分解析的新策略
2024年9月23日,海军军医大学张卫东教授团队在Analytical Chemistry(IF=6.7)上发表了题为“In-Depth Analysis of Molecular Network Based on Liquid Chromatography Coupled with Tandem Mass Spectrometry in Natural Products: Importance of Redundant Nodes Discovery”的文章,通过对不同结构类型的天然产物进行分子网络深度分析,发现除了已知和未知化合物节点外,还存在三种冗余节点:其它加合离子、同位素及源内裂解节点。此外,还探讨了这些冗余节点的形成原因并进行了实验验证,强调了分子网络深度分析的必要性。我们期望分子网络深度分析能够应用于各种复杂样品的LC-MS/MS分子网络中,例如发现天然产物中的新活性成分和代谢组学的生物标记物,为天然产物药效物质基础和靶点研究提供强大的分析基础。
摘要
复杂体系中天然产物的鉴定是天然产物研究的主要瓶颈。液相色谱-串联质谱(LC-MS/MS)已成为天然产物高通量表征的主要工具。LC-MS/MS产生的大量数据集对数据处理和解释提出了挑战,而LC-MS/MS分子网络(MN)是分析大型MS/MS数据集最突出的工具之一,广泛用于未知化合物的快速分类、鉴定和结构推测。然而,大量冗余节点的存在会导致假阳性结果。为解决此问题,我们提出了分子网络深度分析的概念。本研究对天然产物中常见的五种结构皂苷、甾体、黄酮、生物碱和酚酸的分子网络簇进行深度分析,揭示了除正常节点外还存在冗余节点(包括其他加合离子、同位素和源内裂解),这可能导致假阳性结果。此外,通过对不同冗余节点产生的原因进行了讨论和实验验证,发现通过优化实验条件和基于特征的分子网络(FBMN)可以减少冗余节点的影响。而且,离子鉴定分子网络(IIMN)可以快速发现和筛选冗余节点,简化分子网络深度分析并提高结构相关分子的网络连通性。最后,以7种天然产物组成的现代中药复方-麝香保心丸为例,为复杂系统的综合表征中分子网络深度分析提供指导。本研究强调了分子网络深度分析对于更好地理解和利用复杂系统中的MS/MS数据的重要性,通过筛选和过滤冗余节点降低鉴定的假阳性率。
1.图文摘要
图1 冗余节点发现的图文摘要
2.分子网络深度分析流程
分子网络的深度分析流程主要包括以下几个步骤:
(1) MN文件的准备:GNPS使用Cytoscape V3.9.1打开并编辑MN文件,对目标簇节点进行逐一分析。
(2) 已知节点的识别:将所有节点与公共数据库以及自建数据库进行匹配并手动检查所匹配结果的准确性,以标识MN中所有已知节点。
(3) 冗余节点的筛选:分析上述已知节点的邻近节点,并依据原始数据中保留时间、一级和二级谱图来筛选其他加合离子、同位素及源内裂解冗余节点。
(4) 冗余节点的剔除:将上述冗余节点进行剔除,并将其在分子网络中网络关系转移至对应的正常节点上从而得到干净的网络。
(5) 未知节点的结构推测:根据已知节点对与其相连的未知节点的结构进行推测
通过上述步骤,可以实现对分子网络的全面分析和准确注释。
3.冗余节点的发现
3.1其他加合离子冗余节点
图2A展示了人参中人参皂苷MN,数据库匹配结果中显示16个红色节点为已知化合物,且有27个未表征节点。特别地,一些未表征节点代表同一化合物的其它加合离子节点。例如,红色已知节点#1123与四个黄色节点相连。这些黄色节点在节点#1123对应的一级谱图中出现,与节点#1123的保留时间及峰形相似,且它们的一级谱图相似。因此,可以通过保留时间、一级和二级谱图来发现其他加合离子节点。
3.2同位素冗余节点
继续对人参皂苷 MN 进行分析时,发现了节点 #1123 的同位素节点#1126。该节点与#1123具有关联性,表现出以下特征:#1126位于#1123的一级谱图同位素分布区域,它们的提取离子色谱图的保留时间和峰形一致,#1126的二级谱图符合#1123的同位素特征。因此,我们同样可以通过保留时间、一级和二级谱图来发现同位素节点。
图2 其它加合离子和同位素冗余节点的特征
3.3源内裂解冗余节点
在蟾酥中甾体MN簇分析中,观察到红色节点附近存在一些灰色节点,这些节点与数据库不匹配且结构上无法推断。未表征的灰色节点代表一类由于源内裂解(ISF)产生的新冗余节点,主要表现为两种方式:一个节点生成多个节点和多个节点生成一个节点。例如,节点#417附近的节点#399、#381和#363的保留时间与节点#417相同,并且它们的特征离子在节点#417的一级谱图中可见,表明这些节点是节点#417的ISF节点。此外,另一种具有不同特征的ISF节点也被识别。节点#383的提取离子色谱图显示多个峰,其中特征离子m/z 383的响应较低,而基峰由较高分子量的离子组成。与节点#383对应的节点#401、#425和#443的提取离子色谱图在不同保留时间上重合,这些节点的二级谱图中均在m/z 383处显示显著碎片离子。因此,ISF节点的存在需要通过保留时间、一级和二级谱图进行验证,同时结合正负离子数据进一步确认。
图3 源内裂解冗余节点的特征
3.4实验和公共数据集中冗余节点现象
在实验数据集中,我们观察到中药不同结构类型的化合物分子网络普遍存在冗余节点现象。除附子样品的生物碱分子网络外,其余四种类型的冗余节点占总节点的约一半。为验证这一现象的普遍性,我们随机选取了GNPS公共数据集中Thermo Scientific、Bruker、Agilent、Waters和AB SCIEX等公司的一个串联质谱数据集进行深入分析。结果显示,其它公司的公共数据集中同样存在冗余节点,这一问题亟需引起高度重视(图4)
图4 实验和公共数据集中冗余节点现象
4.冗余节点产生的原因
4.1其他加合离子节点的原因探讨
图5A显示黄酮MN簇和皂苷MN簇的其他加合离子节点数量显著高于其他天然产物。因此为了解释这一现象,分析具有最多其他加合离子节点的黄酮MN簇,结果表明其他加合离子节点数量与丰度呈部分正相关。但是尽管节点#513的丰度较高,却未观察到它的其他加合离子节点。通过比较这些黄酮化合物结构,发现相较于节点#853和#867,节点#883在C7位置多一个羟基,从而产生了更多的其他加合离子节点。这表明羟基数量可能影响不同加合离子形成。而节点#513羟基最少,且只有一条糖链,这也可能是其未产生其他加合离子节点的原因。综上所述,其它加合离子节点的生成可能与化合物的丰度和结构紧密相关(图5)。
4.2同位素节点的原因
在图4A中,冗余节点中同位素节点数量最少,但每类化合物MN中均包含一些同位素节点。以人参皂苷MN簇为例,对同位素节点产生的原因进行探讨。结果发现同位素作为冗余节点的出现通常是由于样品浓度较高,导致MS/MS检测到同位素离子。化合物的分子式影响其同位素比率,较大分子量的化合物通常具有较高的比率。为解决此问题,优化样品浓度和调整质谱设置可以显著减少冗余同位素的出现。预处理软件和FBMN在区分同位素信号与真实分析物方面也发挥着重要作用(图5)
图5其它加和离子和同位素节点产生原因
4.3 ISF节点的原因
在复杂样品分析中,ISF节点是重要的冗余节点,它们可能源自真实化合物的碎片,导致对同系物的错误识别。研究表明,ISF节点的产生与化合物结构紧密相关,尤其是在甾体化合物中,正模式下ISF节点数量最多。通过优化质谱参数,如毛细管电压、锥孔电压和去溶剂化温度,可以减少源内碎片的生成。例如,在分析Hellebrigenin时发现,毛细管电压和锥孔电压对特定碎片(如[M+H-H2O]+ m/z 399.2171)的相对丰度影响较小,但降低去溶剂化温度显著降低了该碎片的丰度,显示温度对源内裂解有重要影响。进一步比较显示,在不同的毛细管和锥孔电压下,ISF节点与正常节点的数量变化不大,但随着去溶剂化温度降低,ISF节点数量显著减少。然而,温度过低也会导致正常节点数量下降。因此,优化去溶剂化温度可以有效最小化ISF节点,同时维持正常节点数量。总之,尽管优化质谱参数能改善ISF节点情况,但由于结构和质谱本身的限制,ISF节点无法完全避免,需结合保留时间、MS/MS光谱及正负离子交叉验证(图6)。
图6源内裂解节点产生原因
5.冗余节点的优化
5.1 FBMN对冗余节点的优化
成熟的数据预处理工具通过FBMN与GNPS平台相连,可以有效地过滤冗余离子,这显示出FBMN解决冗余节点问题的潜力。为了验证FBMN是否可以对冗余节点进行了优化,以人参、淫羊藿和蟾酥的HRMS/MS数据集的MN和FBMN结果进行比较。FBMN显著增加了正常节点的数量,主要因其能够有效区分具有不同保留时间的异构体节点。此外,FBMN避免了同位素节点,并在一定程度上优化了其他加合离子节点。然而,某些化合物的不可预测加合离子使得FBMN无法完全避免其他加合离子节点,需进一步分析。尽管FBMN在处理同位素和其他加合离子节点方面表现良好,但它未能有效优化ISF节点,反而产生了更多ISF节点。总之,FBMN在减少冗余节点方面表现出色,但在ISF节点处理上仍需改进(图7)。
5.2 IIMN在冗余节点发现中的应用
最近,GNPS平台引入的IIMN集成了色谱峰形相关性,允许用户定制加合物和源内修饰,以连接同一分子的不同节点。这一创新或许可以有助于在冗余节点发现中提高结构相关分子的网络连通性。通过使用含有最多ISF节点的蟾酥数据集进行分析发现,IIMN能够快速识别同一分子的多种加合物和ISF节点。但尽管超过一半的节点通过IIMN被检测出来,但一些特征节点仍需手动修订。此外,预先确定与样品类型相关的目标化合物及其可能的加合离子,有助于提高离子识别的准确性。总的来说,IIMN简化了冗余节点的发现,提升了网络分析的效率,但仍需要针对未被识别的特征节点进行深度研究(图7)。
图7 FBMN及IIMN在冗余节点发现中的应用
6.分子网络深度分析在SBP中的应用
近年来,传统中医药因其在医疗保健方面的潜力而受到越来越多的关注,尤其是中药复方,这些配方通常由多种草药和植物性药物组成,已被用于治疗各种疾病并显示出良好的临床效果。然而,它们的具体药理机制尚不明确,因此对中药配方的多成分药物进行深入分析显得尤为重要。麝香保心丸(SBP)是一种广泛应用于冠心病及相关疾病的中成药,但其活性成分仍不清楚。
为了解决这一问题,本研究通过将SBP的质谱数据导入GNPS平台,以获取原始的分子网络数据,并利用该数据对SBP的化学成分进行深入分析。研究结果显示,在SBP的正负模式MN簇中,超过一半的节点被识别为冗余节点。传统的MN分析方法仅能注释已知节点与一些常见加合离子节点,导致许多节点可能被错误鉴定。最终,通过去除冗余节点并将其网络关系转移至正常节点,形成了一个干净的网络,用于未知物的结构预测。
对于未知节点的分析表明,正模式下主要是酰基精氨酸,负模式下主要是皂苷。通过比较未知节点与已知节点之间的分子量差异,研究识别出多个新的酰基精氨酸衍生物。此外,从皂苷的MN中也推测出两个未知节点的可能结构,通过分析其MS/MS光谱及碎片离子的生成情况,将其推测为人参皂苷的衍生物。
最终,本研究识别出了16种潜在的未知化合物,其中包括6种皂苷和10种酰基精氨酸,为进一步研究SBP的药效物质基础提供了重要的数据支持。这一成果不仅有助于理解中药配方的复杂性,也为未来中药的研发和临床应用奠定了基础(图8)。
图8 分子网络深度分析在麝香保心丸成分表征中的应用
7.结论
本研究首次提出了分子网络深度分析的概念,发现分子网络分析中存在其它加合离子、同位素和源内裂解三种冗余节点。此外,总结了不同冗余节点的特点并讨论了这些冗余节点产生的原因,为其它冗余节点优化研究提供研究基础。分子网络深度分析是一种根据不同冗余节点的特点,对分子网络中的冗余节点进行快速过滤和筛选的方法,从而产生只包含已知节点和未知节点的干净分子网络,更容易对未知节点进行表征,大大提高分子网络分析的效率和准确性。
参考文献
Zhang Y, Liao J, Le W, Zhang W, Wu G. In-Depth Analysis of Molecular Network Based on Liquid Chromatography Coupled with Tandem Mass Spectrometry in Natural Products: Importance of Redundant Nodes Discovery. Anal Chem. 2024 Sep 23. doi: 10.1021/acs.analchem.4c02230. Epub ahead of print. PMID: 39311834.
相关文章:
AI-人工智能-基于LC-MS/MS分子网络深度分析的天然产物成分解析的新策略
Anal Chem∣张卫东教授团队开发基于LC-MS/MS分子网络深度分析的天然产物成分解析的新策略 2024年9月23日,海军军医大学张卫东教授团队在Analytical Chemistry(IF6.7)上发表了题为“In-Depth Analysis of Molecular Network Based on Liquid …...
IntelliJ IDEA使用技巧(json字符串格式化)
文章目录 一、IDEA自动格式化json字符串二、配置/查找格式化快捷键 本文主要讲述idea中怎么将json字符串转换为JSON格式的内容并且有层级结构。 效果: 转换前: 转换后: 一、IDEA自动格式化json字符串 步骤一:首先创建一个临…...
【Java设计模式】第8章 单列模式讲解
8-1 单例模式讲解 定义与类型 定义:保证一个类仅有一个实例,并提供一个全局访问点。类型:创建型模式。适用场景 需要确保任何情况下绝对只有一个实例。实际应用: 网站计数器(单服务)。应用配置、线程池、数据库连接池。优点 减少内存开销(仅一个实例)。避免资源多重占…...
【Java设计模式】第4章 简单工厂讲解
4. 简单工厂模式 4.1 简单工厂讲解 定义:由一个工厂对象决定创建哪种产品类的实例,属于创建型模式,但不属于GoF 23种设计模式。适用场景: 工厂类负责创建的对象较少。客户端仅需传入参数,无需关心对象创建逻辑。优点: 客户端只需传入参数即可获取对象,无需知道创建细节…...
Spring Boot 常用依赖介绍
依赖总括 1. 核心依赖:Spring Web、Spring Data JPA、MySQL Driver。 2. 开发工具:Lombok、Spring Boot DevTools。 3. 安全与权限:Spring Security。 4. 测试与文档:Spring Boot Starter Test、Swagger。 5. 性能优化&#…...
判断矩阵A是否可以相似对角化
【例题1】 【例题2】...
第三方软件测试公司进行安全性测试有哪些好处?
在信息技术飞速发展的今天,软件已成为各行业运作的核心组成部分。然而,伴随而来的软件安全问题也愈发显著,因此软件产品安全性测试不容忽视。随着软件市场的激烈竞争,企业为了更好的专心产品开发,会将安全性测试服务交…...
下一代楼宇自控的中枢神经:ARM终端的生态
某跨国半导体工厂的洁净车间突然触发气体泄漏报警。此时,ARM应急广播终端在200毫秒内完成全楼宇语音播报,同步联动门禁系统解锁逃生通道,指挥中心大屏自动弹出事故区域监控画面——这套价值27万元的预警系统,在投产首年就避免了可…...
R语言进行判别分析
Fisher判别法、距离判别法、Bayes判别法基本理论、方法: Fisher判别法 理论基础: Fisher判别法旨在通过选择合适的投影方向,最大化不同类别之间的类间差异性,同时最小化类内差异性。这种投影方向使得在低维空间中样本点的类别可…...
Nacos 服务发现的流程是怎样的?客户端如何获取最新的服务实例列表?
服务发现是微服务架构的核心组件,它允许一个服务(消费者)动态地找到它需要调用的另一个服务(提供者)的网络地址(IP 和端口),而无需硬编码这些地址。 整体流程概览: 服务提供者 (Pr…...
Java全栈项目--校园快递管理与配送系统(5)
源代码续 <template><div class"app-container"><el-card class"box-card"><div slot"header" class"clearfix"><span>通知统计</span><div class"header-operations"><el-d…...
UE5 本地化
文章目录 打开本地化面板设置本地化翻译设置文本收集路径添加语言收集需要翻译的文本手动翻译导入导出编译 使用本地化启动代码修改语言 打开本地化面板 UE4: UE5: 设置本地化翻译 设置文本收集路径 UE5可以自动帮我们收集需要显示的文本ÿ…...
用c语言写一个linux进程之间通信(聊天)的简单程序
使用talk 用户在同一台机器上talk指令格式如下: talk 用户名ip地址 [用户终端号] 如果用户只登录了一个终端,那么可以不写用户终端号,如: talk userlocalhost可以使用who指令来查看当前有哪些用户登录,他的终端号…...
同时支持Vue2/Vue3的图片懒加载组件(支持懒加载 v-html 指令梆定的 html 内容)
🚀 vue-lazyload-imgs(LazyLoadImgs) 组件简介 详情见:https://npmjs.com/package/vue-lazyload-imgs 安装方法: npm i vue-lazyload-imgs(不要安装为开发依赖,应为产品依赖) 适用环…...
Qt容器类在元对象系统中使用
解释 “QVector没有被注册到Qt的元对象系统中”这句话的意思是:QVector<double>这种数据类型没有被Qt的元对象系统(Meta-Object System)识别和管理。Qt的元对象系统是Qt框架的核心部分,它提供了信号与槽机制、动态属性系统…...
Qt中的信号与槽及其自定义
信号源:哪个控件发的信号 信号的类型:用户进行不同的操作就会触发不同的信号 如点击按钮,在输入框移动光标,勾选一个复选框,选 择一个下拉框 信号的处理方式:槽(slot)----也就是函数,Qt中用con…...
【已完结STM32】--自学江协科技笔记汇总
以下学习笔记代码均来自b站江协科技视频 笔记汇总完结 文章笔记对应江科大视频新建工程【2-2】新建工程江科大STM32-GPIO输出 点亮LED,LED闪烁,LED流水灯,蜂鸣器(学习笔记)_unit32-t rcc-apb2periph-CSDN博客 【3-1】…...
科技快讯 | 索诺瓦携手清华大学共筑听力无障碍未来;中国探月工程总设计师:未来月球上能打电话;Shopify要求员工证明AI无法取代其工作
索诺瓦携手清华大学共筑听力无障碍未来 2024年末,60岁以上人口超3.1亿,听力损失比例高达11%。清华大学无障碍发展研究院与索诺瓦集团深化合作,共同推动听力无障碍环境建设。2023年9月,《无障碍环境建设法》实施,2024年…...
[实战] 天线阵列波束成形原理详解与仿真实战(完整代码)
天线阵列波束成形原理详解与仿真实战 1. 引言 在无线通信、雷达和声学系统中,波束成形(Beamforming)是一种通过调整天线阵列中各个阵元的信号相位和幅度,将电磁波能量集中在特定方向的技术。其核心目标是通过空间滤波增强目标方…...
北京自在科技:让万物接入苹果Find My网络的″钥匙匠″
在AirTag掀起全球防丢热潮的今天,越来越多的第三方产品开始接入苹果Find My网络——从充电宝到电动车,从行李箱到保温杯,用户只需打开iPhone的「查找」App,就能实时定位这些物品。 北京自在科技有限责任公司早在苹果推出Find My开…...
区块链是怎么存储块怎么找到前一个块
前言:学习区块链的过程中在想怎么管理区块链呢 📌 推荐项目回顾: 👉 Jeiwan 的 blockchain_go 项目 GitHub 地址:https://github.com/Jeiwan/blockchain_go ❓它是怎么存储区块 & 找前一个区块的? 项…...
聚类算法 ap 聚类 谱聚类
AP聚类(Affinity Propagation Clustering)是一种基于消息传递的聚类算法,由Brendan J. Frey和Delbert Dueck于2007年提出。与传统的聚类算法(如K-Means)不同,AP聚类不需要预先指定聚类数量,而是…...
习题与正则表达式
思路: 二分查找: left 1(最小可能距离),right L(最大可能距离)。 每次取 mid (left right) / 2,判断是否可以通过增设 ≤ K 个路标使得所有相邻路标的距离 ≤ mid。 贪心验证…...
数据库管理工具实战:IDEA 与 DBeaver 连接 TDengine(一)
一、引言 在当今数字化时代,数据如同企业的生命线,而数据库则是承载这些宝贵数据的关键基础设施。TDengine 作为一款高性能的时序数据库,在物联网、工业互联网、车联网、IT 运维等众多领域中发挥着举足轻重的作用。它以其卓越的性能、高效的…...
聚类Clustering和分类Classification的区别
目的: 聚类:旨在将数据集中的样本分成若干组(簇),使得同一组内的样本在某种意义上更相似,而不同组的样本差异更大。聚类是一种探索性分析,用于发现数据中的自然结构。分类:旨在根据已…...
对比 redis keys 命令 ,下次面试说用 scan
Redis SCAN 命令使用指南 SCAN 是 Redis 提供的一种非阻塞迭代器命令,用于逐步遍历 Redis 数据库中的键。相比于 KEYS 命令,SCAN 不会一次性加载所有键,因此对性能的影响较小,适合在生产环境中使用。 以下是关于 SCAN 的详细用法…...
【Java设计模式】第6章 抽象工厂模式讲解
6. 抽象工厂模式 6.1 抽象工厂讲解 定义:提供一个接口创建一系列相关或依赖对象,无需指定具体类。核心概念: 产品等级结构:同一类型的不同产品(如Java视频、Python视频)。产品族:同一工厂生产的多个产品(如Java视频 + Java手记)。适用场景: 需要创建多个相关联的产品…...
设计模式 - 代理模式
代理模式 代理模式是一种结构型设计模式,它允许你提供一个代理对象来控制对另一个对象的访问。代理模式可以在不改变原始对象的情况下,增强或控制对原始对象的访问。代理模式通常用于延迟加载、访问控制、日志记录、性能监控等场景。 1.静态代理 静态…...
Unity-Xlua热更和AssetBundle详解
从今天开始我们深入Unity的组件,最近的一系列事让我明白学习技术不能只有广度,如走马观花,虽然你可能确实学到了皮毛,但是没有足够深厚的理解,是无法融入自己的东西的,那么你就只是在用别人的工具而不是自己…...
【企业级数据安全】掌握高性能Log4j2敏感信息脱敏方案
前言 在数据安全合规日益严格的今天,日志中的敏感信息保护已成为企业IT建设的必备环节。本文带您深入了解如何打造一套高性能、可实时配置的Log4j2日志脱敏插件,轻松应对各类敏感数据保护需求,让您的系统既满足合规要求,又不牺牲…...
力扣刷题——606.根据二叉树创建字符串
给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。 空节点使用一对空括号对 "()" 表示,转化后需要省略所有不影响字符串与原始二叉树之间的一对一映…...
图像处理中的 Gaussina Blur 和 SIFT 算法
Gaussina Blur 高斯模糊 高斯模糊的数学定义 高斯模糊是通过 高斯核(Gaussian Kernel) 对图像进行卷积操作实现的. 二维高斯函数定义为 G ( x , y , σ ) 1 2 π σ 2 e − x 2 y 2 2 σ 2 G(x, y, \sigma) \frac{1}{2\pi \sigma^2} e^{-\frac{x^2 y^2}{2\sigma^2}} G(x…...
AWS区块链游戏场景技术解决方案:全球节点与去中心化架构实践
一、区块链游戏的技术挑战与架构需求 区块链游戏作为Web3领域的重要应用场景,其技术架构需要满足以下核心需求: 分布式账本的高效同步与共识验证 智能合约的安全执行环境 全球玩家的低延迟交互体验 动态扩展的节点网络支持 海量NFT资产的可靠存储 …...
AWS VPC深度解析:构建安全可靠的云网络基础设施
1. 引言 在云计算时代,网络基础设施的重要性不言而喻。Amazon Web Services (AWS) 的Virtual Private Cloud (VPC)为用户提供了一个强大而灵活的网络环境,使他们能够在AWS云中构建安全、可扩展的应用程序。本文将全面剖析AWS VPC的核心特性,帮助读者深入理解如何利用VPC构建高…...
青少年编程与数学 02-016 Python数据结构与算法 08课题、图
青少年编程与数学 02-016 Python数据结构与算法 08课题、图 一、图1. 图的基本概念1.1 定义1.2 顶点和边1.3 图的分类1.4 特殊术语 2. 图的表示方法1. 邻接矩阵(Adjacency Matrix)2. 邻接表(Adjacency List)3. 边列表(…...
微信小程序:动态表格实现,表头单元格数据完全从data中获取,宽度自定义,自定义文本框,行勾选,样式效果,横向滚动表格(解决背景色不足的问题)等
一、样式效果 二、代码 1、wxml <view class"line flex flex-center"><view class"none" wx:if"{{info.length 0}}">暂无料号</view><view wx:else class"table-container"><!-- 动态生成表头 -->&…...
MySQL学习笔记集--游标
游标 在MySQL中,游标(Cursor)是一种数据库对象,它允许您逐行处理查询结果集。游标通常与存储过程一起使用,因为它们需要在存储过程或函数中声明和操作。游标的使用涉及几个步骤:声明游标、打开游标、从游标…...
Microsoft Defender Antivirus Service服务占用CPU过高
下载火绒安全,用它替代 Microsoft Defender,并关闭 Microsoft Defender 两步禁用Windows Defender Antivirus Service_microsoft defender antivirus service-CSDN博客 Windows10/11家庭版 关闭方法 按 ‘Win键R’,输入 “regedit”&#…...
Ansible(7)——管理机密与事实
目录 一、管理机密: 1、Ansible Vault : 2、ansible-vault 命令行工具: (1)创建加密文件: (2)查看加密文件: (3)编辑现有加密文件…...
consul服务注册与发现(go)-学习笔记
参考博客 1、服务实例接口与默认实现 type ServiceInstance interface {// 获取服务实例的唯一IDGetInstanceId() string// 获取服务IDGetServiceId() string// 获取服务实例的主机名或IP地址GetHost() string// 获取服务实例的端口号GetPort() int// 判断服务实例是否使用HT…...
golang-defer延迟机制
defer延迟机制 defer是什么 defer是go中一种延迟调用机制。 执行时机 defer后面的函数只有在当前函数执行完毕后才能执行。 执行顺序 将延迟的语句按defer的逆序进行执行,也就是说先被defer的语句最后被执行,最后被defer的语句,最先被执…...
字符串哈希算法详解:原理、实现与应用
字符串哈希是一种高效处理字符串匹配和比较的技术,它通过将字符串映射为一个唯一的数值(哈希值),从而在O(1)时间内完成子串的比较。本文将结合代码实现,详细讲解前缀哈希法的工作原理,并通过流程图逐步解析…...
python-Leetcode 65.搜索旋转排序数组
题目: 整数数组nums按升序排列,数组中的值互不相同 在传递给函数之前,nums在预先未知的某个小标K上进行了旋转,使数组变为[nums[k], nums[k1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]],小标从0开始计数。…...
蓝桥杯 C/C++ 组历届真题合集速刷(二)
一、0ASC - 蓝桥云课 (单位换算)算法代码: #include <iostream> using namespace std; int main() {printf("%d",L);return 0; } 二、0时间显示 - 蓝桥云课 (单位换算)算法代码: #inclu…...
react的redux总结
目录 一、Antd 1.1、基本使用 1.2、自定义主题 二、Redux 2.1、工作流程 2.2、理解react-redux 2.3、优化 2.3.1、简写mapDispatch 2.3.2、Provider组件 2.4、数据共享 2.4.1、编写Person组件 2.4.2、Person组件的reducer 2.4.3、完成数据共享 2.5、求和案例 2.…...
MySQL视图
一、视图的本质与分类 1. 定义 虚拟表:视图不存储数据,本质是保存的查询语句(SELECT),每次访问视图时动态执行查询并返回结果。 逻辑抽象:基于一个或多个基表(或视图)创建…...
程序化广告行业(69/89):电商素材制作与展示策略解析
程序化广告行业(69/89):电商素材制作与展示策略解析 在如今数字化营销的浪潮中,程序化广告成为众多企业精准触达目标客户的有力武器。作为一名在广告技术领域摸爬滚打多年的从业者,深知学习是不断进步的阶梯ÿ…...
【PCB工艺】发光二极管的原理
你真的知道发光二极管为什么会发光吗? 而为什么另一部分二极管不会发光呢? 这篇文章解释元器件发光二极管(LED)的底层原理。 发光二极管(LED, Light Emitting Diode) 是一种能够将电能转换为光能的半导体…...
探秘 DeepSeek:开源生态如何推动 AI 技术普惠?
探秘 DeepSeek:开源生态如何推动 AI 技术普惠? 引言 在人工智能(AI)领域,技术的快速发展和广泛应用正在深刻改变我们的生活。然而,AI 的发展往往伴随着资源和技术的集中化问题,大型科技公司凭借其雄厚的资金和人才优势占据了主导地位,而中小企业、研究机构和个人开发…...
远程主机可能不符合glibc和libstdc++ VS Code服务器的先决条件
这是因为我最近更新了vscode, 服务器中有个GLIBC库,VSCode>1.86.0版本对 低于v2.28.0版本的GLIBC不再满足需求。 解决办法 回退到之前能够连接服务器的版本。我之前用的是January 2025 (version 1.97) vscode旧版本下载地址...