文献阅读:GCNG:用于从空间转录组数据推断基因相互作用的图卷积网络

文献介绍

alt

「文献题目」 GCNG: graph convolutional networks for inferring gene interaction from spatial transcriptomics data
「研究团队」 Ziv Bar-Joseph(美国卡内基梅隆大学)
「发表时间」 2020-12-10
「发表期刊」 Genome Biology
「影响因子」 10.8
「DOI」 10.1186/s13059-020-02214-w

摘要

大多数从表达数据推断基因间相互作用的方法都集中在细胞内相互作用。高通量空间表达数据的可用性为推断细胞内和细胞间相互作用的方法打开了大门。为了实现这一目标,作者开发了基因图卷积神经网络(Graph Convolutional Neural networks for Genes, GCNG)。GCNG 将空间信息编码为图,并使用监督训练将其与表达数据相结合。GCNG 改进了先前用于分析空间转录组数据的方法,并且可以提出新的细胞外相互作用基因对。GCNG 的输出还可用于下游分析,包括功能基因分配。
软件和数据支持网站:https://github.com/xiaoyeye/GCNG

研究结果

1. GCNG 框架

作者扩展了 GCN 的想法,开发了基因图卷积神经网络 (GCNG),这是一种通用的监督计算框架,用于从空间单细胞表达数据推断细胞间通信所涉及的基因相互作用。GCNG 方法将图像中细胞的位置和每个细胞中基因对的表达作为输入。GCNG 首先使用两个矩阵表示单细胞空间表达数据。第一个将细胞位置编码为一个 neighborhood graph,而第二个将每个细胞中基因的表达编码。这两个矩阵用作五层图卷积神经网络的输入,该网络旨在预测细胞间通讯基因关系(Fig. 1a)。GCN 的核心结构是其图卷积层,这使得它能够将图结构(细胞位置和邻域)和节点信息(特定细胞中的基因表达)结合起来作为神经网络的输入。由于图结构链接空间上邻近的细胞,GCNs 可以利用卷积层,而卷积层是神经网络最近成功的基础,而无需直接使用图像数据。具体来说,GCNG 由两个图卷积层、一个扁平化层、一个 512 维密集层和一个用于分类的 sigmoid 函数输出层组成。请注意,GCNG 在这里使用两个卷积层,允许该方法也学习间接(即非物理或两层)图关系。由于调节蛋白的影响可能大于直接邻居的影响,因此这种策略允许该方法推断仅考虑直接邻居可能会错过的相互作用。训练 GCNG 需要使用正负对,作者在下面讨论用于获取此类训练样本的数据。训练后,GCNG 可以预测任何一对基因,它们是否在正在研究的数据集中相互作用。

Fig.1 GCNG 用于细胞外基因关系推断
Fig.1 GCNG 用于细胞外基因关系推断

a.GCNG 模型使用空间单细胞表达数据。从空间数据中提取二值化细胞邻接矩阵和表达矩阵。归一化后,两个矩阵都被输入图卷积网络。
b.训练和测试数据分离和生成策略。已知的配体和受体基因可以形成复杂的定向网络。对于交叉验证,所有配体和受体都单独分离为训练和测试基因集,并且仅将两个基因都在训练(测试)基因集中的基因对用于训练(测试)。为了平衡数据集,每个带有标签 1 的正配体-受体 (La, Rb) 基因对将有一个带有标签 0 的负对样本 (La, Rx),其中 Rx 是从所有训练(测试)受体基因中随机选择的,这些基因在训练(测试)中不与 La 交互。

2. 将 GCNG 应用于空间转录组数据

虽然最近提出了许多用于单细胞 RNA-Seq 数据空间分析的方法,但作者决定在本文中重点关注目前为大多数基因提供表达水平的两种方法。第一个是 seqFISH+。作者测试了两个使用 seqFISH+ 的数据集。第一个包含小鼠皮质 913 个细胞中 10,000 个基因表达的信息,第二个包含七个不同视野中小鼠嗅球 (OB) 中 2050 个细胞的表达信息。我们使用的第二种方法是 MERFISH,作者分析了由 1368 个细胞中的 10,050 个基因组成的数据集。与分析体内表达的 seqFISH+ 数据不同,MERFISH 数据来自体外培养的细胞,因此不包括不同的细胞类型。尽管如此,正如 MERFISH 论文的作者所观察到的那样,即使在这个群体中,空间表达也存在差异,因此这些数据可用于研究细胞外基因-基因相互作用。作者对表达数据进行标准化,使每个细胞中所有基因的表达水平总和达到与之前所做的相同的值。有关这两个数据集的完整详细信息,请参阅“Methods”部分和 Additional file 1。

GCN 需要标记数据来进行监督训练。虽然作者研究的空间数据中细胞之间的确切信号相互作用尚不清楚,但作者使用了相互作用配体和受体的精选列表作为真正的相互作用。配体是由细胞分泌的蛋白质,然后它们与细胞本身或邻近细胞上的膜受体蛋白相互作用,以激活接收细胞内的信号通路。有关用于训练的正和负对的完整详细信息,请参阅“Methods”部分。

为了评估,GCNG 采用了十倍交叉验证。训练集和测试集完全分开,以避免任何信息泄漏(Fig. 1b)。有关详细信息,请参阅“Methods”部分和 Additional file 1。

3. GCNG 正确推断细胞之间的配体-受体相互作用

作者首先评估了 GCNG 预测配体-受体相互作用的能力。为此,作者使用了两个数据集。第一个是 seqFISH+ 小鼠皮质组织,其中包含 913 个细胞中 10,000 个基因的表达。作者的标记组由 309 个配体和 481 个受体之间的 1056 个已知相互作用组成。第二个是 MERFISH 数据集,包含来自 1368 个细胞的 10,050 个基因,以及 270 个配体和 376 个受体之间的 841 个已知相互作用。

作者在 10 倍交叉验证 (CV) 中严格区分训练集和测试集(Fig. 1b)。负对也是配体-受体,并且是从非相互作用的训练(测试)数据基因中随机选择的。作者还使用 10 倍交叉验证来选择超参数来确定每个细胞的邻域(Methods)。作者比较了三种可能的 GCNG 模型:diagonal GCNG,仅使用对角矩阵来表示 graph,因此仅可能存在自分泌相互作用;exocrine GCNG,仅允许细胞之间的外分泌相互作用;autocrine plus (+) GCNG 允许自分泌和外分泌相互作用。为了评估 GCNG 的性能,作者将其与最近用于从空间表达数据预测参与细胞外基因相互作用的基因的许多现有方法进行了比较。其中包括计算相邻细胞中配体和受体之间的空间皮尔逊相关性 (PC) 和 Giotto,它首先计算所有对相邻细胞类型中所有基因对的相似性得分,然后根据它们的平均得分对基因对进行排名。

作者还将 GCNG 与两种根本不使用空间信息来确定邻域数据的贡献的替代方法进行了比较。其中包括每个细胞内配体和受体表达之间的 Pearson 相关性以及仅具有自分泌相互作用的 diagonal GCNG 方法。最后,作者将真实数据上的 GCNG 性能与应用于每个细胞的邻域信息以及用于训练和测试的一组相互作用的配体受体的排列时的结果进行了比较。作者还测试了 GCNG 的其他变体,包括利用细胞类型信息(编码为节点属性)、边权重(使用细胞之间的距离)的变体,以及使用其他 GNN 架构(包括 EdgeconditionConv 和 graph attention)的变体(Additional file 1: Fig. S1)。

结果如Fig. 2所示。可以看出,GCNG 在两个数据集中都取得了最佳结果(Fig. 2a-d)。具体来说,对于 seqFISH+ 皮质数据,autocrine+, diagonal, and exocrine GCNG 的平均(中位数)AUROC/AUPRC 分别为 0.65/0.73 (0.99/1.0)、0.59/0.70 (0.99/1.0) 和 0.60/0.69 (0.99/1.0)。相比之下,对于该数据 spatial PC、Giotto 和 single cell PC 的表现均差得多,平均(中值)AUROC/AUPRC 分别为 0.54/0.65 (0.75/0.79)、0.45/0.58 (0.25/0.33) 和 0.48/0.60 (0.38/0.38)。对于 MERFISH 数据,autocrine+, diagonal, and exocrine GCNG 的平均(中位数)AUROC/AUPRC 分别达到 0.69/0.76 (0.99/1.0)、0.60/0.69 (0.99/1.0) 和 0.61/0.71 (0.75/0.79),再次优于作者比较的其他方法。另请参见 Additional file 1:Figs. S2&3 了解详细的性能值。总体而言,对于这两个数据集,与之前的方法相比,GCNG 在平均 AUROC/AUPRC 方面实现了至少 20% 的相对改进。此外,autocrine+ GCNG 在两个数据集上均优于 diagonal GCNG,这一事实证实了空间信息对于该任务的重要性。

Fig.2 GCNG 正确推断细胞外配体-受体相互作用
Fig.2 GCNG 正确推断细胞外配体-受体相互作用

a-b.使用 autocrine+ GCNG 模型的 seqFISH+ 的 AUROC 和 AUPRC 曲线。这里,每条灰线代表一种配体的结果(总共 91 条曲线),红线代表中值曲线,浅绿色部分代表 40 到 60 分位数之间的区域。曲线下面积的中值和平均值显示在每个面板的顶部。
c-d.使用 autocrine+ GCNG 模型时 MERFISH 的 AUROC 和 AUPRC 曲线(73 条曲线)。
e-f.single Pearson correlation、Giotto、spatial Pearson correlation、diagonal GCNG、autocrine+ GCNG 和 exocrine GCNG 模型的 AUROC 和 AUPRC 的总体比较。对于 MERFISH (f) 上的 Giotto,作者将其所有 AUROC 和 AUPRC 设置为 0.5,因为数据只有一种细胞类型

为了测试所识别的相互作用是否可能在测试的组织中活跃,作者进一步比较了使用真实相互作用数据与在排列的训练和测试数据集(其中作者排列相互作用的配体-受体对的集合)上运行 GCNG 时的性能。作者观察到使用随机数据时性能大幅下降(为了测试所识别的相互作用是否可能在测试的组织中活跃,我们进一步比较了使用真实相互作用数据与在排列的训练和测试数据集(其中我们排列相互作用的配体-受体对的集合)上运行 GCNG 时的性能。我们观察到使用随机数据时性能大幅下降(autocrine plus GCNG 就 MERFISH (seqFISH+) 的平均 AUROC 而言,真实 vs 随机:0.69 vs. 0.55(0.65 vs. 0.52);exocrine GCNG vs. random:0.58 vs. 0.50(0.60 vs. 0.43)。有关两个数据集的详细比较结果,请参阅 Additional file 1: Fig. S1。

4. GCNG 鉴定的共表达模式分析

为了进一步探索 GCNG 的预测并将其映射回原始空间表示,作者查看了一些最正确预测的对。对于每一对(预计会相互作用的配体和受体),作者将它们的表达投影到细胞分布图上。Figure 3 显示了两个局部配体(col4a1 和 lamc1)及其在 seqFISH+ 皮层数据中的正和负受体伴侣的投影(Fig. 3a、b表示 col4a1,c、d表示 lamc1),因为此处基因是固定的,而细胞需要被选择(与为每个细胞选择高表达基因的常见情况相反),对于一个基因,如果该基因在该细胞中的表达相较于所有细胞处于 top 100 表达水平,则该细胞被定义为“高表达”。对于正 col4a1-cd93 对,高表达 col4a1 和 cd93 的细胞均集中在第 1 和第 5 视野,其中高表达配体或受体基因的细胞最多(参见 Additional file 1: Fig. S4A and B 了解所有视野)。相反,对于负 col4a1-hrh3 对,高表达 hrh3 的细胞似乎并不位于表达 col4a1 的细胞旁边。配体 lamc1 与正 (itgb1) 和负受体 (lyve1) 也可以观察到类似的模式比较(Fig. 3c, d(参见 Additional file 1: Fig. S4C and D 了解所有视野))。与包括 PC 在内的全局分析方法相比,GCNG 基于数据子集预测此类相互作用的能力凸显了该方法的实用性。细胞类型图(Additional file 1: Fig. S5)表明,在相同类型的相邻细胞和不同类型的细胞中都可以找到正确预测的对。这些结果表明 GCNG 方法具有良好的泛化能力,可用于正确识别几种不同类型的相互作用。

Fig.3 选定配体-受体对的空间表达模式
Fig.3 选定配体-受体对的空间表达模式

a-b.正确预测的配体 col4a1 的正 (cd93) 和负 (hrh3) 受体的空间表达分布。显示了 7 个视场 (FOV) 中的两个剖面图(请参阅 Additional file 1: Fig. S4 查看所有 FOVs)。可以看出,正确预测的对确实比负对具有更好的空间相关性。
c-d.正确预测配体 lamc1 的正 (itgb1) 和负 (lyve1) 受体的空间表达分布。高表达 lamc1 和 itgb1 的细胞均集中在第 5 和第 7 视野,如图所示。

5. 推断因果关系

虽然基于相关性的方法可用于识别基因共表达相互作用和网络,但这些方法不能用于推断因果关系,因为它们的结果是对称的。对于配体受体而言,因果关系信息可能微不足道,因为此类配体受体的方向是已知的。然而,对于其他跨细胞相互作用的基因来说,方向往往并不明确。因此,一种可以推断相互作用和方向性的方法可能有利于研究空间转录组数据。与之前的无监督方法不同,如果训练数据存在,GCNG 的监督框架可以被训练来识别基于成对空间表达模式的因果交互,这受到最近一项工作的启发。因此,作者在已知因果对(配体和受体)的子集上训练了 GCNG,然后用它来预测其他对的方向性。为了为此生成训练和测试数据,对于每个已知的配体-受体 (La, Rb) 基因对,作者引入标签为 0 的负样本 (Rb, La)。使用相同的十倍交叉验证策略来评估 GCNG 的性能。结果如Fig. 4所示。从 seqFISH+ 皮质和 MERFISH 数据集可以看出,GCNG 在这项任务上表现良好,平均(中值)AUROC/AUPRC 分别为 0.636/0.728 (0.99/1.0) 和 0.642/0.734 (0.99/1.0) 。因此,对于排名靠前的预测对,GCNG 的方向预测可用于进一步分配因果关系。

Fig.4 GCNG 可以推断细胞外配体-受体相互作用的方向
Fig.4 GCNG 可以推断细胞外配体-受体相互作用的方向

a-b.使用 seqFISH+ 数据集进行方向预测任务的 GCNG 的 AUROC 和 AUPRC。
c-d.使用 MRFISH 数据集进行方向预测任务的 GCNG 的 AUROC 和 AUPRC。

6. 功能基因分配

接下来作者测试了 GCNG 是否可用于利用预测交互作为下游分析特征的应用程序。具体来说,作者测试了 GCNG 的结果是否可以用作为基因分配功能的特征。这种分配的一种流行方法是 Guilt By Association (GBA)。在 GBA 中,计算候选基因与已知基因的关联,然后将其总值用作该候选基因的最终分数。作为 GBA 的替代方案,作者训练 GCNG 来区分同一功能(正集)内基因对的空间表达与一个基因与该功能相关而另一个基因与该功能无关(负集)的基因对的空间表达。作者专注于与细胞间通讯相关的功能。在本次分析中,作者重点关注 autocrine+ 和 exocrine GCNG,并将其应用于 seqFISH+ 皮质和 MERFISH 数据集。对于功能基因集,作者使用 GSEA 集来表示“整合素细胞表面相互作用”、“血管壁的细胞表面相互作用”和“细胞间通讯”,分别由 seqFISH+ (MERFISH) 数据中的 70 (55)、77 (67) 和 79 (66) 个基因组成。使用五重交叉验证来评估性能。由于在功能分配任务中,验证实验通常仅限于前几个基因,因此作者根据 GBA 和 GCNG 的分数将评估重点放在前 20% 的预测上。结果如Fig. 5所示,表明对于通信相关功能,使用空间信息可以改善功能基因分配。

Fig.5 功能分配
Fig.5 功能分配

a.autocrine+ GCNG 和 GBA 方法对 seqFISH+ 数据上的“整合素细胞表面相互作用”、“血管壁的细胞表面相互作用”和“细胞间通讯”功能的预测中前 20% 的正确分配基因的比例。
b.seqFISH+ 数据上的 exocrine GCNG 结果。
c-d.MERFISH 数据上 autocrine+ 和 exocrine GCNG 的结果。

鉴于其在从 GSEA 功能集中准确识别已知基因的性能,作者接下来使用 GCNG 在 MERFISH 数据集预测这三个 GSEA 细胞相互作用集的新功能基因。Additional file 1: Fig. S6 展示了每个功能的前 100 个预测基因的基因功能 (GO) 分析,显示 GCNG 的几个顶级类别与细胞通讯相关。Table 1 列出了预测每个功能的前 5 个基因。可以看出,前 15 个预测基因中有 13 个的分配得到了最近研究的支持,包括预测“细胞间通讯”和“血管壁细胞表面相互作用”的所有前 5 个基因。例如,Serpine1(预测为整合素的第二位)被证明可以利用受体介导的粘附来调节细胞迁移,而 Mdm2(预测为细胞通讯)被证明可以在急性肾损伤-慢性损伤期间重新定位到细胞膜。

讨论

基因表达数据已被广泛且成功地用于推断基因、基因调控以及时间和因果效应之间的相互作用。随着空间转录组学的最新进展,此类数据现在可用于推断参与细胞间通讯的基因对。然而,将用于推断细胞内相互作用的方法直接转换为用于推断细胞外相互作用的方法并非易事。空间数据往往非常稀疏,包含几种不同的细胞类型,并且需要考虑有关邻域的特定决策。其他最近的方法试图使用大量和单细胞数据来识别激活配体的下游靶标。然而,与 GCNG 不同,这些方法并不试图推断新的直接相互作用,而仅专注于使用已知的相互作用来识别激活的途径。

作者提出了一种有监督的 GCN 方法,可用于从空间 scRNA-Seq 数据中识别新的相互作用。GCNs 最近已用于计算生物学,尽管之前的应用并不关注细胞,而是关注细胞内途径,并利用已知的基因-基因和基因-药物相互作用来定义图结构。例如,Zitnik 等人。使用 GCNs 通过编码蛋白质和药物相互作用知识来预测多药副作用。相比之下,GCNG 专注于推断细胞外相互作用,并且可以处理细胞间特定相互作用未知的一般空间图像。它根据细胞之间的距离生成邻域图,并使用它与基因的成对表达值一起预测细胞之间和细胞之间的相互作用。

将 GCNG 方法应用于提供最高基因覆盖率的数据集表明,它可以成功识别已知的配体-受体对,并且与为此提出的现有方法或不利用空间信息的方法相比,它要准确得多。一些预测结果的可视化凸显了 GCNG 专注于相关位置子集而不是全局相关性的能力。GCNG 的输出还可以用作下游分析的特征,包括基因功能分配方法和学习交互网络的方法。

有多种方法可以改进 GCNG。首先,需要更好地处理要使用的卷积层数量的选择(这与分泌蛋白传播距离的假设有关),以适应各个数据集的需求。其次,GCNG 可以更多地关注特定的细胞类型,而不是整体的相互作用。作者希望在未来的工作中解决这些问题和其他问题。另一个重要的方向是,与细胞内的情况相比,细胞外基因之间的相互作用可能更加复杂,包括不同种类的功能机制,因此作者希望未来的 GCNG 能够对它们进行更详细的建模,而不是将它们视为相同的案件。此外,值得注意的是,同一方法的平均值和中值性能有些不同,有时比较现有方法甚至比随机猜测更差,这是由于训练和测试数据集的样本量较小。最后,报告的结果可能低估了该方法的性能。请注意,作者使用整组已知配体-受体对作为测试数据。虽然有些可能在作者分析的组织中活跃,但在测试数据中被列为“阳性”的许多对并非如此,因此将它们标记为“阴性”实际上是正确的答案(但仍在作者的评估中进行分组) 。更一般地说,如果有更好的 ground truth 数据,预计结果会好得多。

GCNG 用 Python 实现,数据和软件的开源版本都可以从支持网站 https://github.com/xiaoyeye/GCNG 和 Zenodo 获得。


「结束」

注:本文为个人学习笔记,仅供大家参考学习,不得用于任何商业目的。如有侵权,请联系作者删除。

alt

本文由 mdnice 多平台发布

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

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

相关文章

python 贪心算法(Greedy Algo)

贪婪是一种算法范式,它逐步构建解决方案,始终选择提供最明显和直接收益的下一个部分。贪婪算法用于解决优化问题。 如果问题具有以下属性,则可以使用贪心法解决优化问题: 每一步,我们都可以做出当前看来最好的选择&…

3d网渲100比本地渲染快吗?渲染100邀请码1a12

3D网渲是一种基于云计算的技术,它将渲染工作交由云端进行,以网渲平台渲染100为例,比起本地渲染,它有以下一些优势。 1、本地渲染受硬件限制,只能一台电脑渲染一张图,而渲染100有充足的服务器数量&#xf…

QT 音乐播放器【一】 显示音频级别指示器

文章目录 效果图概述代码总结 效果图 概述 QMediaPlayer就不介绍了,就提供了一个用于播放音频和视频的媒体播放器 QAudioProbe 它提供了一个探针,用于监控音频流。当音频流被捕获或播放时,QAudioProbe 可以接收到音频数据。这个类在需要访问…

C/C++动态内存管理(new与delete)

目录 1. 一图搞懂C/C的内存分布 2. 存在动态内存分配的原因 3. C语言中的动态内存管理方式 4. C内存管理方式 4.1 new/delete操作内置类型 4.2 new/delete操作自定义类型 1. 一图搞懂C/C的内存分布 说明: 1. 栈区(stack):在…

计组雨课堂(5)知识点总结——备考期末复习(xju)

在汇编语言源程序中,“微指令语句"不是常见的组成部分,因为微指令通常是在硬件层面进行处理的,而不是在汇编语言层面。因此,不属于汇编语言源程序的是"微指令语句”。在汇编语言中,组成指令语句和伪指令语句…

直方图滤波、粒子滤波、卡尔曼滤波

三者都是基于贝叶斯滤波。 粒子滤波和直方图滤波不要求高斯分布,可解决非线性 卡尔曼滤波要求高斯分布且线性。扩展卡尔曼滤波为了解决非线性问题,利用泰勒展开进行一阶近似。 直方图滤波就是贝叶斯滤波的直观实现。自动驾驶定位算法-直方图滤波(Hist…

【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(二)

文章目录 🚀Linux基础命令(二)🌈1. 寻找目录/文件命令⭐2. 创建文件命令👊3. 网络接口查询命令❤️4. 打包命令💥5. 解压命令 上期回顾: 🔥🔥🔥【Linux终端探…

19、matlab信号预处理中的中值滤波(medfilt1()函数)和萨维茨基-戈雷滤波滤(sgolayfilt()函数)

1、中值滤波:medfilt1()函数 说明:一维中值滤波 1)语法 语法1:y medfilt1(x) 将输入向量x应用3阶一维中值滤波器。 语法2:y medfilt1(x,n) 将一个n阶一维中值滤波器应用于x。 语法3:y medfilt1(x,n…

2024年项目任务管理软件大盘点:12款值得一试的主流工具

12款优秀的项目任务管理软件:PingCode、Worktile、AIrTable、ClickUp、Teambition、Asana、Todoist、TAPD、Monday.com、Notion、Microsoft Project、Trello。 任务管理软件对于生活繁忙的人来说极为重要。它帮助用户有效跟踪他们需要完成的各项任务,包括…

牛客热题:没有重复数字的全排列

📟作者主页:慢热的陕西人 🌴专栏链接:力扣刷题日记 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 文章目录 牛客热题:没有重复数字的全排列题目链接方…

LeetCode - 二分查找(Binary Search)算法集合(Python)[左右边界|旋转数组|双列表]

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/139419653 二分查找,也称为折半查找,是一种在有序数组中查找特定元素的高效算法。其基本原理是将待搜索的区间分成两半&am…

小猪APP分发:如何轻松进行在线封装APP

你是否曾经因为需要封装一个新版本的APP而感到头疼?传统的封装过程往往繁琐且耗时。但是,别担心,现在有了“小猪APP分发”,一切变得如此简单。 小猪APP分发www.appzhu.net是一个专门提供在线APP封装服务的平台。无论你是开发者还…

Thingsboard物联网网关接入ThingsBoard物联网平台的操作说明

本文包含关于如何配置ThingsBoard 平台和连接钡铼技术R40设备的说明。ThingsBoard平台是一个用于数据收集、处理、可视化和设备管理的开源物联网平台。它通过行业标准MQTT协议实现设备连接。ThingsBoard结合了可扩展性、容错性和性能,因此您永远不会丢失数据。 4G L…

因为侵权只能重装系统后的必备软件List

前因:自从上次被adobe警告了后,又被source insight警告了… 正好得升级系统,不如直接清清爽爽的重装系统吧,一切回到解放前,重新配置电脑, 该文记载了我办公必备的宝贝软件们 1、Firefox-火狐浏览器&#x…

18、matlab信号生成与预处理--剔除异常值:hampel()函数

1、语法 说明:对输入向量x应用Hampel滤波器来检测和去除异常值。 1)y hampel(x) 参数:x:输入信号 y:预处理的输出信号 对于x的每个样本,函数计算由样本及其周围的六个样本组成的窗口的中位数,每边三…

PHPStudy(xp 小皮)V8.1.1 通过cmd进入MySQL命令行模式

PHPStudy是一个PHP开发环境集成包,可用在本地电脑或者服务器上,该程序包集成最新的PHP/MySql/Apache/Nginx/Redis/FTP/Composer,一次性安装,无须配置即可使用。MySQL MySQL是一个关系型数据库管理系统,由瑞典 MySQL A…

元宇宙NFG结合IPO线上营销模型合理降税

在当今快速演进的互联网和区块链技术背景下,我们见证了从移动端购物到区块链热潮,再到如今市场竞争日趋激烈的变革。尤其是在2024年这个关键节点,许多平台为了吸引用户,推出了各种创新的商业模式。然而,如何在这样的环…

ssh远程转发22端口,使用shell工具进行连接|使用服务器地址ssh连接本地ubuntu|端口映射

☆ 问题描述 我在内网主机中,使用docker创建了多个虚拟机,我希望能通过我的公网ip服务器端口进行shell访问 ★ 解决方案 我创建一个新的虚拟机为例 1. 创建并打开容器 docker run -itd --name test ubuntu2. 进入容器 docker exec -it test /bin/b…

react 中使用 swiper

最近项目中需要用到轮播图,我立马想起了 swiper ,那么本文就来带大家体验一下如何在 React 中使用这个插件,使用的是 函数组 hooks 的形式。 需求非常简单,就是一个可以自动播放、点击切换的轮播图(跑马灯&#xff0…

心理咨询系统|心理咨询系统成品开发功能

心理咨询系统开发后端设计是一个复杂且精细的过程,涉及多个关键领域的专业知识和技术。本文将详细探讨心理咨询系统开发后端设计的各个方面,包括系统架构、数据库设计、接口开发、安全性保障以及性能优化等。 首先,我们来谈谈系统架构。在心理…