最近读了一篇2021.6.10发表在Nature Communications上的文章“Algebraic graph-assisted bidirectional transformers for molecular property prediction”,文章将代数图(AG-FP) 和 transformer的encoder(BT-FP) 分别生成两种分子指纹,再经过随机森林RF算法融合分子指纹,最后使用机器学习算法预测分子性质。期刊是综合1区top,3年平均IF:12.973。
其中,①在AG-FP部分(使用Graph),与普通的图表示不同,这里的图没有考虑化学键,而是从根本上考虑了原子之间的相互作用,并作为边的权值,生成彩色加权图,“彩色”的意思是不同的颜色代表不同类型的元素。②在BT-FP部分(使用SMILS),使用了transformer的encoder部分,并重复多次,个人对“双向”的理解是mask的时候,需要分别从前往后和从后往前预测。
在这两部分分别生成了两种分子指纹。文章整体读起来有些难度。

1 Introduction

1.1 背景

合理的药物发现过程涉及一系列分子特性,包括结合亲和力、毒性、分配系数、溶解度等,分子性质的测定实验昂贵且耗时,与此同时,涉及动物或人类的实验测试也受到严重的伦理问题的影响。因此,研究人员更倾向于计算机辅助的方法,它们可以在许多情况下快速产生结果,而不会影响结果的准确性。

2.2 本文工作

Transformer的encoder可以通过自监督学习策略将 大量未标记的 分子数据整合到分子表示中;代数图,特别是 特定元素的 多尺度 加权 代数图可以将互补的3D分子信息嵌入到图不变量中。
通过融合Transformer的encoder和代数图,以及多种机器学习算法,本文提出了一种 代数图辅助双向变换(AGBT)框架。在涉及到毒性、物理化学和生理学的8个分子数据集上进行了实验,结果表明AGBT是一种最先进的分子性质预测框架。

2 方法

2.1 Algebraic graph-based molecular fingerprints (AG-FPs)

图论可以将分子结构从高维空间编码为低维表示。一个分子中原子之间的连接可以用图论来表示,如图a,b所示。然而,忽略原子之间的定量距离 和传统图形中不同的原子类型 将导致有关分子物理化学信息的丢失。
特定元素的 加权 彩色图表示 可以定量地捕捉不同的化学信息,例如范德华相互作用和不同原子之间的氢键。图c展示了一个彩色图表示,它通过使用彩色顶点 捕捉元素的信息,不同的边对应于分子中不同的 成对相互作用。

图d将彩色图形分解为 特定于元素的 CC、FO和CH子群 的过程的图示,其中元素指本研究中的化学元素,例如H、C、N。

step1:构建 特定元素的 有色子图
如图d所示,对于给定分子,使用选定的 原子坐标子集 作为顶点,构建特定元素的有色子图。

在N个 原子 子集 中的第i个原子,由其元素类型αi 和位置ri 标记,ε是给定数据集中一组常见的元素类型。

step2:计算子图中 各个原子之间的 连接权值矩阵

公式中,Ψ是广义指数函数或广义洛伦兹函数,它们是图边之间的权值;|| ri - rj || 是第i个和第j个原子之间的欧式距离;ηk1,k2 是原子间的特征距离,(是一个尺度参数);εk1 εk2 是两种元素类型;ri 和 rj 是第i个和第j个原子的半径;σ 为数据集中 ri 和 rj 的平均标准差。
对于毒性预测,范德华相互作用比共价相互作用更为关键,因此距离约束(|| ri - rj || >ri+rj+σ)用于排除共价相互作用。
(自己理解:共价相互作用实际上就是原子之间的化学键,这里应该就是排除化学键的共价相互作用,而从根本上考虑原子之间的力)

step3:生成 彩色加权子图G(V,W)
因此,我们生成一个彩色加权子图。图e是加权有色元素特定子图G,其中ψ表示子图中边的权重。
邻接矩阵中,值表示边的权重,有边相连就显示权重,没边相连就是0。


step4:构建特定元素的分子描述符
多尺度加权彩色子图 定义为:

其中k1k2是两种元素的组合,ηk1,k2 是原子间的特征距离;
μiG(ηk1,k2) 是第i个原子的 几何子图中心性。(这里指的是 高斯网络模型 的加权子图推广 或 多尺度柔度-刚度指数 的子图推广)
∑▒μiG(ηk1,k2) 是所选一对元素类型 εk1 和 εk2 的总相互作用强度,实际上也就是对step2中公式的求和,矩阵中所有的值相加。
通过选择合适的元素组合k1和k2、特征距离ηk1k2和子图权重ψ,本文最终构建了一系列 基于特定元素的、可伸缩的(即与分子大小无关的)基于多尺度几何图形的 分子描述符。

分子描述符:是指分子在某一方面性质的度量,既可以是分子的物理化学性质,也可以是根据分子结构通过各种算法推导出来的数值指标。

step5:生成基于代数图的分子指纹
为了生成相关的代数图指纹,本文构造了图的 拉普拉矩阵L 和 邻接矩阵A,对于给定的子图,它的矩阵表示可以直接描述 子图元素之间的相互作用。


图e是 彩色加权 元素 特定子图G、其 邻接矩阵A 和 拉普拉斯矩阵L 的图示,其中ψ表示子图中边的权重。
邻接矩阵A:值表示边的权重,有边相连就显示权重,没边相连就是0。
度矩阵D:对角线上的值为这一列的值之和
拉普拉斯矩阵L:给定一个有n个顶点的图G,它的拉普拉斯矩阵 定义为:L=D-A,其中D为图的度矩阵,A为图的邻接矩阵

为了构造拉普拉斯矩阵,本文考虑了每对元素类型的子图GK1K2,并定义了一个 特定元素的 加权拉普拉斯矩阵。也就是普通是写1,这里是写权值

在数学上,特定元素 的 加权 拉普拉斯矩阵 是对称的、对角占优的、半正定(大于等于0)的,因此所有特征值都是非负的。可以通过统计非平凡特征值(非0特征值)的总和、最小值、最大值、平均值和标准差,直接 构造一组 基于(元素特定加权有色)拉普拉斯矩阵的分子描述符。
邻接矩阵A 是对称的非负矩阵。通过对A的特征值的计算,即所有正特征值的求和、最小值、最大值、平均值和标准差,可以获得一组基 邻接矩阵的 分子描述符。

为了预测分子的性质,图不变量,例如上述矩阵的特征值统计量,可以捕获分子的拓扑和物理信息,称为 AG-FPs

2.2 Bidirectional transformer fingerprints (BT-FPs)

2.2.1 SSL-based pre-training

①由于一个分子有多种SMILES表示,需要先将SMILES变为 canonical SMILES 以确定唯一的SMILES。然后将SMILES串拆分为一些符号,如下表所示。

canonical SMILES :规范SMILES,通过选择头部原子,从其 遵循的方向 以及 基于某些规则的侧链,可以确定唯一的SMILES。
表:总共有51个符号用于拆分字符串,符号与其对应的索引。这些符号通常代表原子、化学键和连接性。

②在预训练阶段,首先随机选择一定比例的输入符号进行三种操作:mask、random changing、 no changing。 每个 SMILES 串添加两个特殊符号,< S> 与 <\s>,< S>表示字符串开头,<\s> 是一个特殊的终止符号。预训练的目的是 通过大量未标记数据 以 SSL(自监督) 方式 学习分子的 基本组成原理。

SSL自监督学习:模型直接从无标签数据中自行学习,无需标注数据
(构建损失函数以提高训练期间正确预测的掩码符号的正确率)

③位置嵌入被添加到每个符号中 以 指示符号的顺序。所有符号都嵌入到固定长度的输入数据中。
④将得到的embedding输入到Transformer Encoder中进行进一步操作。

数据集:来自 CheMBL32 超过 190 万个未标记的 SMILES 数据用于预训练,以便模型学习有关 SMILES 的基本“句法信息”并捕获分子的全局信息。

预训练阶段的整体结构如下:(中间使用了transformer的encoder部分)
①首先转化为规范SMILES并进行mask;
②本文预训练模型是一个 多层 双向 transformer编码器。
每个transformer层包含两个子层。第一个是多头自注意层,第二个是全连接 前馈神经网络。
(残差连接应用于两个子层中的每一个子层,然后进行层规范化)
每个 Transformer 层将前一个 Transformer 层的输出特征 或 输入的嵌入特征 映射到不同的非线性空间。
③最后输入到线性层预测

【Q】对双向的理解?
【A】在mask部分,需要两边部分的内容来预测中间的内容。
BERT没有在Transformer的结构上费工夫,而是采用特别的训练策略,迫使模型像双向模型一样思考。这种训练策略就是随机遮蔽词语预测。
(e.g)假设输入的token序列是“[start]我是中国人。[end]”,经过随机遮蔽处理成为” [start]我[MASK]中[MASK]人。[end]”,那么BERT就需要输出”是国”这个token序列。这就决定了,BERT使用了被遮蔽token左右两边的输入序列片段,即所谓“双向”。这个建模方式,有点类似word2vec模型。

2.2.2 SSL-based and SL-based fine-tuning

BT-FP 和 BTs-FP 都是在fine-tune创建的,这将进一步学习特定任务中数据的特征。
在特定于任务的微调中,使用了两种类型的微调过程,分别是 基于SSL(自监督) 与SL(监督)的。

①SSL-based(BT-FP)
从 基于SSL的fine-tune模型 生成分子指纹的 工作流程:
对输入符号进行三种操作 保留了两种:mask、no changing。
在基于SSL的微调阶段,特定任务 的 数据标签 被忽略。
前部分“SSL-based fine-tuning”与预训练部分的模型一样,后部分“Fingerprints generation”去掉了线性预测层,直接生成分子表示。

②SL-based(BTs-FP)
从 基于SL(监督学习)的fine-tune模型 生成分子指纹的工作流程:
这个过程中,数据是有标签的,使用有标签的特定数据。得到分子的嵌入后 直接输入到线性层预测性质。
在生成指纹阶段,利用 最后一个线性层 之前的 嵌入向量 来表示分子指纹。
对于基于SL的顺序微调,使用任务特定数据的标签。预先训练的模型将从特定于任务的数据集的训练集中获取数据,输入数据不需要额外的“掩码”操作。

当处理具有交叉数据集相关性的多个数据集时,例如本研究中的四个毒性数据集(补充表4),利用四个数据集的所有标签,在生成潜在空间表示(即BTs FPs)之前,通过监督学习调整模型权重,这大大增强了模型在最小数据集上的预测能力。

2.3 模型结构

AGBT由四个主要模块组成:AG-FP生成器(即蓝色矩形)、BT-FP生成器(即橙色矩形)、基于随机森林(RF)的特征融合模块(即绿色矩形)、下游机器学习模块(即粉色矩形)。

①蓝色AG-FP(基于代数图的分子指纹):对于图指纹生成,本文使用 特定元素的 多尺度 加权 彩色 代数图 将物理化学相互作用 编码为图不变量,并捕获三维分子结构信息。

②橙色BT-FP(双向transformer分子指纹):通过两个步骤创建:
step1:基于SSL(自监督学习)的预训练步骤,包含大量未标记的输入数据。
step2:特定任务的微调步骤,可以通过两种方式执行。
a.第一种方法只是采用相同的SSL过程,用 特定任务的数据 微调模型,并生成分子指纹,表示为BT-FP;
b.第二种方法是通过SL,利用 特定任务 数据中 的标签来微调模型,并生成 特定任务的 潜在空间向量,表示为BTs-FP。

③绿色随机森林:用于选择一组最优的分子指纹。
随机森林算法用于对融合的 AG-FP 和 BT-PF 特征的重要性进行排序,并选择一组固定数量的组件的最优 AGBT-FP。

随机森林:是由很多决策树构成的,不同决策树之间没有关联。当我们进行分类任务时,新的输入样本进入,就让森林中的每一棵决策树分别进行判断和分类,每个决策树会得到一个自己的分类结果,决策树的分类结果中哪一个分类最多,那么随机森林就会把这个结果当做最终的结果。

④下游机器学习算法用来预测分子的性质。
下游机器学习算法的输入是刚刚在RF中选择的最优特征值,以在四个基准毒性数据集上实现最佳性能。

使用一些标准的机器学习算法进行最终预测,即梯度增强决策树(GBDT)、随机森林(RF)和深度神经网络(DNN),包括单任务DNN(ST-DNN)和多任务DNN(MT-DNN),如图所示。

为了消除机器学习模型中的系统误差,对于每种机器学习算法,对每个分子采用20种不同模型(使用不同的随机种子生成)的预测值的一致性。注意,这里的一致性值是指每个特定训练测试分裂的每个分子的不同模型预测结果的平均值。

3 实验

评估指标
回归任务:R2,RMSE,MAE
分类任务:AUC-ROC

ROC(Receiver Operating Characteristic,接受者工作特征曲线)曲线和AUC常被用来评价一个 二值分类器 的优劣。
ROC横轴是FP(实际为负例,预测为正例),纵轴是TP(实际为正例,预测为正例)
AUC是ROC与坐标轴围成的面积

3.1 毒性预测

毒性是药物先导优化中考虑的一个关键问题,它测量化学化合物对生物体的影响程度。事实上,毒性和副作用是超过一半的候选药物在上市过程中失败的原因。

①LC50DM set是 导致48h后50%的大型水蚤死亡的 水中化学品的浓度,单位为毫克/升。数据集中共353个分子,是4个毒性数据集中最小的,其中283个(80%)用于训练,70个(20%)用于测试。
本文使用MT-DNN从具有一定统计分布的数据集中提取信息,这可以有效地提高模型的预测能力,从而并避免在小数据集上的过拟合。
MT-DNN(多任务DNN)模型的性能最好,R2=0.830,RMSE=0.743。如图b所示,本文的模型得出的结果最好,比之前的最佳分数R2=0.733高出13%以上。

横轴是一些其他模型或者分子表示方法
ECFP:扩展连通性指纹(Extended Connectivity Fingerprints,ECFP)是当下最广受使用用于构建化合物定量构效关系(QSAR)模型的分子指纹。在 RDKit 中,ECFP 指纹又叫 Morgan 指纹,正因为 ECFP的核心想法来自于 Morgan 算法,该算法可以为每个原子分配一个唯一的识别符,该标识符会经过几轮迭代。

②IGC50 set是第二大毒性数据集,毒性值从0.334 −log10 mol/L 到6.36 −log10 mol/L2。对于本文方法,使用AGBT-FP的MT-DNN模型的R2值为0.842,超过所有方法

③Oral rat LD50 set 是大鼠口服化学物质时,可以杀死一半大鼠的化学物质量,这个数据集是4个数据集中最大的一个,包含多达7413种化合物,由于该集合中的值范围较大,因此相对难以预测。本文方法比现有方法效果都要好。

LD50是半数致死量
大鼠口服化学样本50%样本死亡的致死量

④LC50是 导致水中50%的黑头鲤鱼在96h后死亡的 水中化学品的浓度。本文中,使用AGBT-FP的MT-DNN模型的R2值为0.776,使用BT-FP的MT-DNN模型的R2值为0.783,均优于现有的其他方法。

ESTD:利用包括能量、表面能、电荷等物理性质构建分子描述符,这些物理性质与分子毒性有关。

3.2 分配系数预测

分配系数表示为P,是由两种相互不溶的溶剂(辛醇和水)的混合物 在平衡状态下的 浓度比得出的,用于测量 化合物的药物相关性 及其对人体的疏水性,对数表示为logP。 使用FDA分子数据集,训练集中包括8199个分子;被FDA批准的406个有机药物分子作为训练集,其logP值在-3.7到7.57之间。使用AGBTs-FP的ST-DNN模型的R2值为0.905。

数据集
训练集和测试集中的分子来自论文:Computation of Octanol−Water Partition Coefficients by Guiding an Additive Model with Knowledge。(https://sci-hub.yncjkj.com/10.1021/ci700257y)
主要思想是选取一些分子,然后筛选出需要的。
训练集是基于Hansch’s compilation.,去除掉无机化合物,和 包含不需​​要的元素的。
测试集是基于DrugBank,选出logP值符合的。
原文是:Data Set Preparation. The training set used in our study is based on Hansch’s compilation. It provides experimen tally measured logp values of over 16 700 organic compounds, about half of which are identified by Hansch et al as reliable(indicated by *or v in their compilation ). Only those compounds with reliable logp values are considered in our study. The chemical structure of each compound is sketched according to its name and formula given in Hansch’s compilation. If a compound has possible stereo somers (Z/E or R/S), it is carefully sketched in the correct isomer if such information is specified; otherwise it is sketched in an arbitrary isomer. A number of compounds are discarded during this process because they are either inorganic compounds or contain undesired elements, such as metal atoms. Three-dimensional structural models of the remaining 8418 compounds are constructed with the Sybyl software. 3 Each compound is constructed in its most extended conformation and then optimized with the MMFF94 force field. Note that we do not attempt to obtain the lowest energy conformation of each compound through extensive conformational sampling since our method actually does not rely on three-dimensional structures in computation. All final models are saved in Tripos Mol2 format for the convenience of automatic processing.
Two independent test sets are also compiled. Since a method for computing logp would better be tested on a variety of organic compounds of pharmaceutical interests small-molecule organic drugs approved by the Food and Drug Administration (FDA) of the United States are considered in our study. We download a list of such compounds from Drugbank and then search for their experimentally measured logp values in Hansch’s compilation or the online PHYSPROPdatabaseathttp://www.syrres.com/esc/physdemo. htm.
Finally, experimentally measured logp values of a total of 406 compounds are collected, and they are assembled as the first test set. The other test set used in our study is designed to consist of a specific category of organic compounds. For this purpose, we retrieve all of the oligopeptides out of the 8418 compounds selected from Hansch,s compilation, 219 in total, as the second test set.
The remaining 8418-219=8199 compounds are used as the training set for calibrating the atom-additive mode in our method. It also serves as the knowledge set for finding reference compounds through similarity search (see the descriptions below ). Some additional information on the training set and test sets used in our study is summarized in Table 1.

3.3 溶剂化自由能与亲脂性预测

溶剂化自由能和亲脂性 是理解分子如何与溶剂相互作用的 基本物理化学性质。数据集来自MoleculeNet,FreeSolv数据集和亲脂性数据集分别有643与4200个分子,按8:1:1分为训练集,验证集,测试集,随机划分10次进行实验,最终得分为10次得分的平均值。使用AGBT-FP的ST-DNN模型的RMES值分别为为0.994与0.555,FreeSolv优于现有方法,Lipophilicity仅次于现有方法。

MoleculeNet:适合分子机器学习的大型基准 MoleculeNet,MoleculeNet 提供多个公共数据集、建立了评估度量,并提供多个分子特征化(molecular featurization)和学习算法的高质量开源实现。
本文设置不同的随机种子,并按照相同的程序进行十次,以获得十种不同的数据分割。为了消除下游机器学习模型中的系统误差,并更好地比较分子描述符,对于每种机器学习算法,针对每个分子,对20种不同随机种子模型的预测值进行一致性分析

3.4 血脑屏障穿透(BBBP)预测

BBBP数据集包含2042个小分子,按8:1:1划分为训练集、验证集与测试集,使用BTs-FP的RF模型的R2值为0.763,优于现有模型。

附:AGBT框架生成的描述符在8个数据集上的性能

为了验证本文AGBT框架的性能,对于下游机器学习模型,没有过度调整参数以优化在本研究中的结果。对于上述所有数据集,模型中每种类型的描述符都采用相同的参数集。本文的方法在上述8个数据集中有7个显示了最先进的结果,这说明了本文AGBT框架的稳定性和鲁棒性,以及它对广泛的分子预测任务的适用性。

4 结论

本文使用了代数图双向transformer(AGBT),通过结合 3D元素特定的 彩色加权 代数图和 深度双向transformer 的优点来构造分子表示。
彩色加权代数图 降低了分子结构的复杂性,保留了分子的3D信息(AG-FP);深度双向transformer(DBT)利用自监督学习从SMILES中学习分子的 基本“句法信息”,并通过fine-tune进一步训练(BT-FP)。AGBT模型在8个基准数据集上的表现均优于现有算法。

AGBT:将代数图和双向transformer用于分子性质预测 | 彩色加权代数图 | transformer的encoder | AG-FP | BT-FP相关推荐

  1. Drug Discov. Today | 简要综述GNNs用于分子性质预测

    分子性质预测是药物发现领域的一项基本任务.对其进行准确预测的计算方法可以大大加快以更快.更便宜的方式找到更好的候选药物的整体过程.传统的预测分子性质的计算方法主要依靠提取指纹或人为设计的特征,然后与机 ...

  2. Auto-sklearn 安装及用于分子性质预测

    简介 Auto-sklearn 是一个自动化机器学习工具包,是 scikit-learn 直接替代品,是建立在sklearn进一步封装的基础上.Auto-sklearn不需要用户进行超参数的调节和模型 ...

  3. 机器学习模型的超参数优化用于分子性质预测

    在<预测化学分子的nlogP--基于sklearn, deepchem, DGL, Rdkit的图卷积网络模型>中简单介绍了sklearn模型的使用方法. 现在来介绍一下,如何对sklea ...

  4. 将图和双向transformers融合的分子性质预测新工具 简称AGBT - 论文阅读

    说来也是惭愧,这是我研一上了半年读的第一篇论文,其中包含做好组会演讲的PPT和翻译文档.以下为翻译文档仅供参考. AGBT Algebraic graph-assisted bidirectional ...

  5. NeurIPS 2020 | MVGNN+:基于多视图图神经网络的分子性质预测

    原文标题:Multi-View Graph Neural Networks for Molecular Property Prediction 论文地址:https://ml4molecules.gi ...

  6. NeurIPS-21 | MGSSL: 基于官能团的分子属性预测图网络自监督预训练

    本文介绍一篇来自中国科学技术大学刘淇教授课题组和腾讯量子实验室联合发表的一篇文章.该文章提出了基于官能团的分子属性预测图网络自监督预训练方法MGSSL.MGSSL结合化学领域知识,在大量无标签分子数据 ...

  7. 证明kruskal算法求解图的最小生成树具有贪心选择性质_将并查集应用在图论中的最小生成树算法——Kruskal...

    点击上方蓝字,和我一起学技术. 今天是算法和数据结构专题的第19篇文章,我们一起来看看最小生成树. 我们先不讲算法的原理,也不讲一些七七八八的概念,因为对于初学者来说,看到这些术语和概念往往会很头疼. ...

  8. 加权voronoi图 matlab,加权voronoi图matlab

    广义Voronoi图的快速生成算法_电力/水利_工程科技_专业资料.27 卷第 ... Voronoi图理论与应用新成... 3页 免费 Voronoi图理论与应用新成... 3页 免费 Vorono ...

  9. 论文翻译 SGCN:Sparse Graph Convolution Network for Pedestrian Trajectory Prediction 用于行人轨迹预测的稀疏图卷积网络

    SGCN:Sparse Graph Convolution Network for Pedestrian Trajectory Prediction 用于行人轨迹预测的稀疏图卷积网络 行人轨迹预测是自 ...

最新文章

  1. matlab节约里程法_芳烃产业链里程碑:唐山旭阳30万吨/年苯乙烯项目一次性开车成功...
  2. python【蓝桥杯vip练习题库】ADV-313字符串顺序比较
  3. hdu-3790最短路径问题
  4. SQL Server日期函数集合
  5. LeetCode 537. 复数乘法
  6. BugkuCTF-WEB题你从哪里来
  7. element ui select 自动向上向下弹出_[selenium]用Selenium自动填问卷星的问卷
  8. 好用的百度文库下载工具: 易读
  9. linux磁盘组修复,Linux磁盘坏道的检测及修复
  10. Linux - send 出现 Resource temporarily unavailable
  11. 国外50所大学开放课程
  12. word为什么前面空白但是字上不去?
  13. 2020年泰迪杯C题智慧政务中的文本数据挖掘应用--论文+全部源码分享
  14. Edge检查更新时出错:无法连接到Internet。如果使用防火墙,请将 MicrosoftEdgeUpdate.exe 加入允许列表中。...
  15. 国外大学网上免费课程
  16. ue4vr插件_UE4虚幻引擎可视化VR实例3dsMax全流程中级教学
  17. 1000瓶药水,只有一瓶是有毒的,如何使用最少的小白鼠测出那瓶是毒药?
  18. IDU-指令译码单元
  19. 赛灵思FPGA功耗实测与XPE模拟计算对比分析
  20. 【Practical】随机过程

热门文章

  1. 戏剧的一年,记一段劳动仲裁经历
  2. 顺应数字化转型趋势化解“上云”风险,擎天Enclave保障数据安全
  3. python三大_Python之三大器
  4. 1、pth转onnx模型、onnx转tensorrt模型、python中使用tensorrt进行加速推理(全网最全,不信你打我)
  5. 安徽科技学院 信网学院网络文化节 曹健
  6. 查询除某一列外的所有列的数据
  7. 基于python 的股票行情查询系统开发(一)
  8. jpa查询表的部分字段
  9. 蚂蚁队-冲刺日志(第1天)
  10. Springboot+mysql+基于VUE框架的商城综合项目设计与实现 毕业设计-附源码111612