nature reviews genetics | 细胞互作和通讯方法总结
–https://doi.org/10.1038/s41576-023-00685-8
The diversification of methods for studying cell–cell interactions and communication
留意更多内容,欢迎关注微信公众号:组学之心
研究团队和研究单位
细胞间相互作用的前沿进展:从转录组学到下一代计算工具
没有细胞是孤立存在的,细胞之间的分子相互作用决定了大多数表型。细胞–细胞相互作用(CCIs)是细胞群体间沟通与协同运作的核心机制,主要通过配体-受体相互作用(LRIs)实现信号传递。这些相互作用在组织的生理调节、疾病发展和细胞发育过程中十分关键,复杂程度不亚于人与人之间的交流。
转录组学和相关计算方法的发展为深入研究CCIs提供了强大工具,帮助揭示参与这些相互作用的细胞类型和分子机制。高通量实验技术的进步,特别是单细胞和空间转录组学的应用,进一步推动了CCI研究的深入,包括构建高置信度的LRIs数据库和开发用于分析CCIs的模型工具。
下一代计算工具不仅考虑了细胞的异质性和空间组织,还纳入了多种配体类型和细胞内信号事件,支持对更大、更复杂的数据集进行分析。
这些工具利用已知的LRIs,结合配体和受体的表达水平,推断细胞间的通信方式,并生成新的生物学假设。简而言之,预测CCIs的过程涉及筛选基因表达矩阵中的配体和受体基因,汇总特定细胞类型的表达水平,评估候选LRIs,并计算通讯评分,以识别显著的相互作用。
1.下一代计算工具
细胞通讯分析工具汇总如下:
核心工具比如 CellPhoneDB 和 CellChat,建立了一套流程用于从转录组学中推断 CCI 的方法。这些工具是基于配体和受体的表达,通过它们的核心评分函数来推断 CCI。然而,概念性机会和技术进步现在正在推动计算工具的进一步发展。
CCI 工具愈加完善(Finer、Deeper、More localized、Broader),它们如何通过调整基于规则和数据驱动的策略来满足特定需求呢?
1.1 更精细:在全单细胞分辨率下破解生物学问题
这种方法避免了使用基因的细胞簇平均表达,能更细致地捕捉单细胞之间的异质性。
NICHES:
- 直接从单细胞对中无标签地计算LRIs,评估个体细胞对所使用的配体和受体。
- 稀疏性处理:使用保留零的通信评分,避免改变数据的稀疏性。
- 计算优化:通过抽样减少计算需求,但可能降低统计能力并引入随机噪音。
Scriabin:
- 与NICHES类似,无标签地直接从单细胞对中计算LRIs。
- 稀疏性处理:同样使用保留零的通信评分。
- 计算优化:可根据研究兴趣优先处理特定细胞对,或将其总结为总体相互作用潜力的网络,降低内存需求。
SPRUCE:
- 将单细胞的基因表达投射到潜在空间中,利用低维度的信息推断单细胞对之间的CCIs。
- 偏差减少:避免了因细胞类型注释导致的偏差。促进了低维数据的下游分析。
- 扩展能力:由于低维特性,独特地能够扩展到超过1000万个细胞对,可生成大型CCI图谱。
DeepCOLOR:
- 与SPRUCE类似,也将单细胞基因表达投射到潜在空间中进行CCI推断。
- 优先处理空间上共定位的细胞,适用于分析空间转录组学数据。
1.2 更具局部性:细胞的空间上下文关联
细胞的空间位置对于CCIs及其相关的基因表达起着至关重要的作用。当CCIs的调控分子在细胞间扩散时,会形成浓度梯度,进而影响接收细胞的信号通路。
随着空间转录组学的兴起,计算工具能够将细胞的空间背景纳入CCIs的推断,更深入地理解复杂组织中的细胞通信。
- Giotto 和 Squidpy:这些工具不仅帮助用户可视化空间数据,进行细胞或spot间的聚类和邻域检测,还提供了CCI推断的信息,促进对空间转录组学数据的全面分析。
纳入细胞间距离的CCI推断工具:
-
SpaTalk:利用细胞间的欧几里得距离构建基于K近邻的细胞图网络,专注于计算连接细胞(邻近细胞)之间的CCIs。
-
COMMOT:通过设定距离限制,专注于邻近细胞间的CCIs。引入了集体最优传输算法,优化基于LRIs的CCIs潜力,同时惩罚未传输的配体和受体。该算法可处理多种竞争的配体和受体,推断空间信号的方向性。
- stMLnet:不限制分析范围,而是对相互作用潜力进行加权。假设细胞间距离与配体浓度成反比,利用欧几里得距离作为分母计算通信评分,以反映细胞间的相互作用强度。
深度学习方法的应用助力开发新的CCIs工具:
-
DeepLinc:通过自编码器,结合表达和细胞图输入,推断CCI网络。区别于只关注邻近细胞的方法,DeepLinc揭示了邻近和远距离的相互作用。利用变分图自编码器和对抗网络进行正则化,推断未观测到的CCIs,如远距离的细胞通信。
-
SpaCI:采用编码器生成潜在特征,处理空间转录组学中的数据缺失问题。可推断任意基因对的LRIs和相互作用,包括上游转录因子及其目标配体或受体。通过三个编码器的协同工作,检测介导LRIs的上游调控因素。
利用配体–受体表达分析空间关系,还能基于CCIs推断细胞空间组织:
-
Neighbour-seq:通过推断形成多重体的细胞,利用单细胞RNA测序数据识别富集的细胞–细胞接触,构建物理CCIs网络,揭示细胞间的直接接触关系。
-
CSOmap:计算每对配体–受体的亲和力评分,将细胞对投射到伪物理空间中,展示它们在组织中的相对位置。无需空间位置信息,即可通过CCIs推断细胞的空间组织。
-
cell2cell:研究发现CCIs与细胞间距离呈负相关。使用遗传算法,优先处理在特定身体区域中具有重要功能的LRIs。提供了LRIs如何编码空间信息、驱动细胞三维组织的假设。
1.3 更深层次:深入细胞内的活动
CCIs涉及多种分子类型,包括离子、小分子、肽和蛋白质等。这些分子不仅在细胞外通过配体–受体相互作用(LRIs)发挥作用,还在细胞内部参与信号传导和基因表达调控。
目前,基于转录组学的工具主要集中于蛋白质配体的推断,因为它们的丰度与基因表达密切相关。然而,通过分析其他类型的分子,尤其是小分子代谢物和转录因子的活动,可以扩展现有工具的功能。
基于代谢物的CCIs推断,分析非蛋白质配体的通信潜力
下一代工具可以分析产生或消耗代谢物配体的酶的表达,从而捕捉它们的通讯潜力
-
MEBOCOST:通过整合代谢物–受体和代谢物–转运相互作用数据库,推断基于代谢物的CCIs。该工具通过分析产生或消耗代谢物配体的酶的表达,捕捉代谢物在细胞间的通信潜力。
-
NeuronChat:专门研究神经元间的通信分子。该工具结合了囊泡转运蛋白和产生小分子(如神经递质)的酶的额外信息,提供了对神经系统中非蛋白质配体相互作用的新见解。
虽然这些方法为研究非蛋白质配体的相互作用提供了新的生物学视角,但代谢物的丰度往往受到复杂的代谢过程调控,而不仅仅是基因表达水平。因此,工具的预测能力仍需进一步完善。
结合细胞内信号通路的CCIs推断
-
LRLoop:通过结合细胞内基因调控网络的网络传播算法,优先处理在两个细胞之间形成细胞间反馈回路的LRIs。该工具使用基因表达数据,寻找通过基因调控网络在细胞内连接、形成闭环的配体–受体对。
-
Domino:直接分析受体及其下游基因的表达,以理解免疫系统对植入生物材料的反应。
-
CellComm:使用下游基因的表达水平对每对配体–受体的通信评分进行加权。将这些加权值整合到一个从配体–受体到调控子相互作用的网络中,利用最小成本最大化细胞间通信的信号流。
-
exFINDER:进一步利用这些权重,研究来自数据中未直接存在的细胞的信号,从而推断隐含的细胞间通信。
1.4 更广泛:考虑多种条件
CCIs受到其生物学背景的强烈影响,如遗传差异、细胞状态和时间进程等。随着单细胞图谱中样本数量和复杂性的增加,研究CCIs变得更加具有挑战性。
双样本比较的方法
当前,大多数工具依赖于两两比较,分析特定条件下的配体–受体相互作用或通信通路的差异性,比如:Connectome、CellChat、scDiffCom、scTenifoldXct。
其中,scTenifoldXct 进一步推断了不限于LRIs的CCIs。通过利用双样本比较,这些工具能够揭示在某一条件下发生变化的特定LRIs和通信通路,为理解特定生物学条件下的细胞通信提供了重要线索。
多样本的降维分析
为直接比较多个样本,降维方法被应用于CCIs的研究中。例如:sciTD、DIALOGUE
、MOFAcell。
这些工具使用基因表达数据,通过因子分解方法推断多细胞程序(MCPs)。生成的因子对应于每个MCP,并分配给相关样本。这样,CCIs的变化可以通过MCPs提取,其中配体和受体是决定性的贡献因素。
张量分解在CCIs中的应用
Tensor-cell2cell:直接对每个样本中计算出的CCIs得分应用张量分解,分析每种LRIs、发送细胞和接收细胞的组合。该工具能够发现背景驱动的CCIs程序,例如与COVID-19严重程度或神经发育阶段相关的通信模式。
时间动态的CCIs分析
TraSig 和 TimeTalk:专注于多个(伪)时间点的差异,识别CCIs的动态变化。这些工具关注的是CCIs如何随时间演变,而不是仅仅关注基因表达的动态变化,从而揭示细胞通信的时间依赖性。
考虑批次效应和协变量的工具
MultiNicheNet:执行能够处理多个样本的差异表达分析,考虑了批次效应和协变量的影响。该工具提高了在复杂数据集中准确推断CCIs的能力,支持更为全面的生物学解释。
1.5 具有其他功能的工具
CCIs研究工具的发展过程中,除了核心算法的改进外,一些其他功能也得到了显著提升,为研究者提供了更便捷和高效的分析体验。
用户友好的交互界面
以下工具通过提供简单直观的图形用户界面(GUI),降低了使用门槛:InterCellar、Cellinker、TALKIEN。
这些工具的GUI设计简化了CCI分析的每个步骤,包括数据输入、参数设置和结果可视化,使非编程背景的研究者也能轻松开展分析。
基准测试和方法整合
为了改进分析效果,一些工具通过基准测试或整合多种方法来提升性能:
-
LIANA:建立了一个平台,整合多个CCI分析工具的方法,进行比较和综合分析。揭示了不同方法之间的低重叠性,主要原因是各工具在优先处理相关CCI时采用了不同的策略。纳入了不同选择之间的共识预测,帮助管理工具输出的异质性,提供更可靠的结果。
-
ESICCC:一个近期开发的系统框架,用于对CCI分析工具进行基准测试。能够报告多种有价值的性能指标,帮助研究者评估和选择最适合的工具。
数据驱动的模型和多基因分析
采用数据驱动模型,同时评估多个配体–受体相互作用(LRIs)的行为,可以更全面地推断CCIs:
- Calligraphy:利用通信基因的共表达网络,识别信号基因模块。在细胞间,行为相似的基因组比单独分析一个配体–受体对能够提供更强大、噪声更小的信号。
2.追踪细胞间相互作用
在单细胞水平上验证 CCI 一直是最容易的方法,实验研究侧重于单一相互作用,例如荧光原位杂交、荧光共振能量转移和免疫染色,然而,很难使用这种方法来验证来自大规模 scRNA-seq 研究的 CCI 预测。
新一代实验方法不断涌现,提高了 CCI 测量的通量。这些方法可以同时测量许多 LRI 和细胞间对,并且许多方法还将实验测量的相互作用与下游测序相结合。
2.1 通过测序技术分析细胞间相互作用
核酸条形码和基于液滴的方法是两种通过测序技术分析CCIs的新兴手段。这些方法在测序后都能够以单细胞分辨率报告独特的发送–接收细胞接触,可用于验证计算预测的CCIs。
核酸条形码技术
核酸条形码技术通过将特定的核酸序列(条形码)引入发送细胞,然后通过细胞间相互作用将其传递给接收细胞,追踪细胞间的通信。这一方法允许研究者在复杂的生物系统中识别和跟踪细胞的相互作用。
-
MAPseq:使用病毒颗粒将RNA条形码引入神经元,跟踪单个神经元从源区域发出的投射。该方法使得在复杂的神经网络中,研究者可以解析单个神经元的连接和通信路径。
-
BRICseq 和 RABID-seq:基于MAPseq的概念,进一步用于跨多个组织区域和以单细胞分辨率研究CCIs。这些技术扩展了条形码方法的应用范围,使其能够在更广泛的组织和细胞类型中研究细胞通信。
基于液滴的方法
基于液滴的方法不使用条形码,而是利用物理上相互作用的细胞在细胞分选过程中形成多重体(如双重体或三重体)的事实。这些方法通过高通量测序,确定在同一液滴中的细胞是否存在相互作用。
由于多重体中包含多个细胞类型,需要使用概率算法来解析各个细胞类型的基因表达谱。当每个多重体中的细胞类型数量增加时,解析变得更加具有挑战性,可能影响分析的准确性。
- ProximID 和 PIC-seq:这些方法使得从转录组分析中高通量地确定CCIs成为可能,特别适用于探测在测量时物理上相互作用的细胞之间的相互作用。
SPEAC-seq方法
SPEAC-seq 方法绕过了细胞必须物理相互作用的限制,而是将细胞对封装在水包油的液滴中进行共培养。
特点:
- 捕获额外介导物:除了细胞之间的直接相互作用外,SPEAC-seq还能捕获可溶性分泌配体等额外的介导物,提供更全面的细胞通信信息。
- 基因扰动筛选:该方法可以在发送细胞中引入基因扰动,并量化接收细胞的响应,适用于功能性研究。
局限性:
- 通量降低:需要在封装前对细胞进行报告基因的工程化,步骤复杂,降低了实验的通量。
- 体外共培养的局限:封装后的共培养环境可能无法完全反映体内的实际情况,影响结果的生理相关性。
2.2 细胞间相互作用的邻近标记
CCIs的研究受益于接触依赖和非接触依赖的化学标记方法的发展。这些方法通过在相互作用的细胞表面进行酶催化标记,或使用高度反应性的化合物,帮助科学家探究细胞间的直接互动。
接触依赖的邻近标记方法
标记范围较小,通过酶催化在细胞表面进行标记,确保了标记的特异性。许多方法需要特定的酶–受体对的工程化设计,因此在通量和可同时测试的细胞类型或配体–受体相互作用(LRIs)数量上存在限制。
-
LIPSTIC:利用Sortase A(SrtA)介导的连接实现体内配体–受体对的标记。通过将SrtA和G5分别融合到配体–受体对的成员上,用于研究小鼠免疫细胞突触。
-
EXCELL:工程化改造SrtA,使其能够普遍标记相互作用细胞的N-末端单甘氨酸,克服了特定酶–受体对的限制。
-
FucoID:在诱饵细胞膜上表达岩藻糖基转移酶,并添加生物素化底物,标记与其相互作用的猎物细胞。通过化学酶促功能化提高了通量,且能够区分强弱不同的CCIs。
-
通用LIPSTIC(uLIPSTIC):将SrtA和G5融合到普遍表达于细胞膜的蛋白质上。当细胞膜在功能性相互作用过程中接近(<14 nm)时,添加生物素-LPETG底物,促进SrtA介导的生物素标记G5,作为通用的报告分子。
非接触依赖的邻近标记方法
具有标记半径可控,使用高度反应性的化合物,其标记范围取决于活性状态的半衰期。
还具有一定的灵活性,可通过选择不同的化合物,控制对CCIs研究的分辨率。
-
TransitID:利用两个正交的通用接近标记酶TurboID和APEX2,追踪蛋白质从源位置到目标位置的运输,包括细胞内和细胞间的相互作用。
-
BioID、TurboID和split-TurboID:使用通用的生物素连接酶与目标蛋白质融合。工程化的蛋白质腺苷化生物素,生物素扩散并标记邻近的蛋白质,用于研究LRIs。
光催化标记方法
避免使用有毒化合物,安全性更高。
- PhoTag 和 μMap:利用光来激活化合物的高度反应性状态,从而精确控制标记半径。
2.3 用于追踪细胞间相互作用和细胞内活动的合成回路
合成受体和通路传感器在揭示细胞-细胞相互作用(CCIs)中发挥着重要作用,能够量化特定配体-受体相互作用(LRI)对接收细胞的影响。通过定制受体,研究者可以研究细胞如何响应各种不同信号,如通过SynNotch系统标记细胞间接触并分析发育过程中的细胞迁移和反应。此外,合成电路可以帮助研究特定LRI的下游细胞内信号活动,例如SARS-CoV-2蛋白对信号通路的调控。
在实验层面,多重检测方法揭示了大量新的细胞相互作用,包括嗅觉受体与气味配体的结合。这些发现不仅拓展了对细胞通信的理解,还展示了这种方法在中等通量研究中的应用潜力。通过结合其他高通量技术,这些方法可以进一步扩大其在多种细胞相互作用研究中的应用。
3.挑战和机会
重大科学发现依赖于扩大CCI研究的规模,例如引入新方法以单细胞分辨率推断CCIs,或在多种条件下同时分析多个样本中的CCIs。然而,这需要在不同条件下对单细胞进行对齐,但样本中细胞数量的不一致阻碍了跨实验的细胞匹配。一些算法无法处理样本间的细胞数量差异,这意味着可能需要进行数据插补,尤其是在单细胞分辨率下。
数据插补与多样本对齐
DURIAN 是一种能够对单细胞数据进行基因表达插补的工具,可以将整体数据分解到单细胞水平,具备在单细胞分辨率下跨条件比较CCIs的潜力。
此外,最新版本的 CellChat(V2)、CellPhoneDB(V5) 和 LIANA+ 等综合框架的发展,有助于解决上述挑战。这些工具旨在包含多种策略和功能,涵盖了工具多样化的大部分方面。例如,LIANA+ 是一个集成多种工具的全能平台,能够整合多模态数据、基于非蛋白质配体推断CCIs、检测CCI模式、检查细胞内变化,并以假设驱动和无假设的方式评估多种条件。
构建高置信度的LRI数据库
构建配体–受体相互作用(LRI)数据库对于研究CCIs至关重要。这一步涉及关注高置信度的LRIs,包含蛋白质亚基、激活剂、抑制剂和竞争者,以全面考虑LRIs的信号活性,并结合基因调控网络以捕捉细胞内过程。
AlphaFold 在揭示未识别的LRIs方面显示出巨大潜力。特定的配体和受体组合在不同细胞类型中可以触发不同的信号活动。不同的配体和受体变体之间存在多对多的相互作用关系,意味着配体和受体会竞争相互作用,这种竞争取决于遗传背景。因此,接收细胞的信号过程依赖于其受体的上下文特异性表达谱。
为了更准确地捕捉细胞内事件的激活,数据库和算法需要包括配体和受体的变体、相互作用亲和力和表达谱,从而提高CCI预测的稳健性。
高假阳性率与基准测试
由于缺乏真实数据,CCI工具面临着高假阳性率的问题,这对于旨在评估并改进这些工具性能的基准测试分析尤为关键。随着用于推断CCIs的大型图谱逐渐出现,生成黄金标准数据集的努力将至关重要,以通过适当的指标评估工具性能。
创建如 scMultiSim 的框架是提供虚拟真实数据的重要一步。通过模拟不同的单细胞行为模式,scMultiSim 有助于改进工具性能,降低假阳性率。
膜蛋白相互作用与计算工具的局限
实验方法已经能够分析细胞–细胞界面的蛋白质组织。然而,当前的计算工具在膜蛋白的亚细胞定位方面洞察有限,特别是对于膜蛋白相互作用的生物物理特征。开发考虑膜蛋白相互作用的局部化、强度和细胞骨架耦合的算法,将有助于更好地研究免疫突触和胚胎发育的动态过程。
实验方法与计算工具的结合
目前,实验方法与计算工具的结合相对较少。然而,许多实验方法可以与下游的RNA测序结合使用,从而用于约束CCIs的计算推断。未来的技术可能会提供更多经过验证的CCIs,并将这些技术与下游测序和计算分析相结合。
此外,结合正交方法来评估分子和细胞的共定位,将有助于识别更多的CCIs,克服测量相互作用的障碍(例如,在缺乏源细胞信息的方法中识别源细胞)。通过将实验方法与多重蛋白质成像技术相结合,可以更好地扩展CCI和LRI网络的规模。
新兴方法与未来展望
新兴的方法,如标记分泌信号和长距离通信机制的技术,将为追踪CCIs的高通量实验方法提供更全面的支持。这些技术的应用将推动CCI研究进入新的高度,深化我们对细胞通信和组织功能的理解。
相关文章:

nature reviews genetics | 细胞互作和通讯方法总结
–https://doi.org/10.1038/s41576-023-00685-8 The diversification of methods for studying cell–cell interactions and communication 留意更多内容,欢迎关注微信公众号:组学之心 研究团队和研究单位 细胞间相互作用的前沿进展:从转…...

AI 浪潮中的一体化数据库|外滩大会之OceanBase实录
2024 年 9 月 5 日至 7 日,在上海黄浦世博园区,“2024 Inclusion 外滩大会”盛大举行。期间,9月6日,由OceanBase携手赛迪顾问共同策划并主办了 “AI浪潮中的分布式数据库:探索行业增长新动能与关键业务负载实践”。本…...

Qt自定义按键实现长,短按
本文介绍Qt自定义按键实现长,短按。 Qt触摸屏应用有时会涉及到触摸屏按钮长,短按操作,如长按实现关机操作,本文基于普通QPushButton为基类,自定义按键实现长,短按操作。 1.定义新类 这里以QPushButton为…...
禁用win10的自动更新功能
禁用win10自动更新的方法: 方法1:系统设置 开始->设置(win i)->更新和安全->高级选项->暂停更新(只能暂停35天) 方法2:服务 开始->运行(win r)->s…...
机器学习 第12章 计算学习理论
目录 基础知识PAC学习有限假设空间可分情形不可分情形 VC维稳定性 基础知识 计算学习理论研究的是关于通过"计算"来进行"学习"的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法提供理论保证…...

【雅特力AT32】外部中断事件控制器EXINT(附源码解析)
基础概念弄懂了之后,对于实际开发中断初始化流程和寄存器查阅是很重要的。 1.EXINT介绍 2.功能描述和配置流程 中断初始化流程☆ 1>选择中断源 2>选择触发方式 3>使能中断或事件 4>产生软件触发 中断清除流程 其他注意点 3.EXINT寄存…...

Redis集群_cluster
cluster集群 cluster翻译就是集群,所以cluster集群也叫做redis集群相比于哨兵模式,cluster集群能支持扩容,并且无需额外的节点来监控状态,所以使用这种模式集群的系统会用的更多些redis cluster采用的是去中心化网络拓扑架构&…...

jdk相关介绍
JDK,全称Java Development Kit,是Java语言开发的基础工具包。它包含了Java运行时环境(JRE)以及用于开发Java应用程序的各种工具和库。JDK为Java程序员提供了编译、调试和运行Java应用程序所需的全部环境。 JDK的主要组成部分包括&…...

【GoMate框架案例】讯飞大模型RAG智能问答挑战赛top10 Baseline
【RAG框架】GoMate:RAG Framework within Reliable input,Trusted output 【项目链接】:https://github.com/gomate-community/GoMate 一、赛题背景 RAG(检索增强生成)是一种结合了检索模型和生成模型的技术,它通过检…...

2024/9/15 408“回头看”之应用层小总结(下)
域名系统DNS: 本地域名服务器 本地域名服务器起着代理的作用,会将报文转发到根域名服务器、顶级域名服务器、权限域名服务器。 递归查询: 迭代查询: 文件传送协议FTP: FTP客户和FTP服务器之间使用的是tcp连接。 控制连接使用21端口&…...

经纬恒润高压电池管理系统,助力新能源汽车飞速发展
随着新能源汽车行业的快速发展,电池管理系统作为关键技术之一,其重要性日益凸显。经纬恒润自主研发的高压电池管理系统(Battery Management System,BMS),凭借卓越的性能与先进的技术,在新能源汽…...

一文速通calcite结合flink理解SQL从文本变成执行计划详细过程
文章目录 你可以学到啥测试代码背景知识SQL转变流程图问题 你可以学到啥 SQL如何一步步变成执行计划的有哪些优化器,哪些优化规则calcite 和flink 如何结合的 测试代码 EnvironmentSettings settings EnvironmentSettings.inBatchMode(); TableEnvironment tabl…...
spring-TransactionTemplate 编程式事务
TransactionTemplate 是 Spring 框架提供的用于管理事务的一种方式。它提供了一种编程式的事务管理方法,允许开发者在代码中显式地控制事务的开始、提交或回滚。与使用 Transactional 注解相比,TransactionTemplate 提供了更多的灵活性和控制力。 为什么…...

中考全国45套(全国教育发达地区中考试卷)
文章目录 获取方式 为什么选择这份资源? 权威性与全面性:我们精心搜集了全国教育发达地区的最新中考试卷,确保每一套试卷都代表了该地区的教学水平和考试趋势。这不仅涵盖了丰富的知识点,还融入了各地独特的命题风格,让…...
嵌入式Linux学习笔记(5)-进程间常见通讯方式(c语言实现)
一、概述 进程间通信(IPC,InterProcess Communication)是指在多个进程之间进行数据传输和共享的机制。在操作系统中,进程是运行中的程序的实例,每个进程都有自己的内存空间和资源。 进程间通信可以用于在不同的进程之间…...

【移动端】菜单的自动展开与收回
前言 为了满足手机上菜单栏随用户移动,菜单的自动展示与隐藏,特此记录 基本原理 实现逻辑 window.addEventListener(‘scroll’, debouncedScrollHandler) – 监听文档视图滚动事件 document.querySelector(‘.header’) – 选择器匹配元素 创建show和h…...
Java获取Object中Value的方法
在Java中,获取对象(Object)中的值通常依赖于对象的类型以及我们希望访问的属性。由于Java是一种静态类型语言,直接从一个Object类型中访问属性是不可能的,因为Object是所有类的超类,但它本身不包含任何特定…...
集群聊天服务器项目【C++】(二)Json的简单使用
在上一章中,简单介绍了本项目的内容、技术栈、需求和目标等,详细介绍了环境配置,如果还没有配置成功,请参考我的上一篇博客环境配置 今天主要介绍Json库是什么以及简单的使用。 1.为什么要使用Json 我们在网络传输数据时&#…...

班迪录屏和这三款录屏工具,一键操作,太方便了!
嘿,小伙伴们!今天我要跟大家分享几款超棒的录屏工具,它们绝对是我们在工作和学习中不可或缺的好帮;这些工具功能强大且操作简单,下面就让我来详细介绍一下它们的使用体验和好用之处吧! 班迪录屏工具使用体…...
DAY60Bellman_ford 算法
队列优化算法 请找出从城市 1 到城市 n 的所有可能路径中,综合政府补贴后的最低运输成本。 如果能够从城市 1 到连通到城市 n, 请输出一个整数,表示运输成本。如果该整数是负数,则表示实现了盈利。如果从城市 1 没有路径可达城市…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...
WebRTC从入门到实践 - 零基础教程
WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...