期刊:Briefings in Bioinformatics

论文出处:DeepIPs: comprehensive assessment and computational identification of phosphorylation sites of SARS-CoV-2 infection using a deep learning-based approach | Briefings in Bioinformatics | Oxford Academic (oup.com)

代码链接:GitHub - linDing-group/DeepIPs: Identification of phosphorylation sites using deep-learning method

目录

摘要

背景

数据和方法

Benchmark dataset construction

The representation of proteins with word embedding vectors

supervised embedding layer (SEL)

Word2Vec

GloVe

fastText

结构设计

性能评估

结果

不同单词嵌入方法的性能评估

用于磷酸化位点预测的DeepIPs评估

发现潜在的治疗靶点

总结与讨论


摘要

新型冠状病毒病毒在全球的快速传播已经造成了巨大的健康和社会经济危机。识别磷酸化位点是理解新型冠状病毒感染的分子机制和宿主细胞途径内变化的重要步骤。在这项研究中,我们提出了DeepIPs,这是第一个特定的深度学习架构,用于识别感染新型冠状病毒的宿主细胞中的磷酸化位点。DeepIPs由最流行的单词嵌入法和卷积神经网络——长短期记忆网络架构组成,进行最终的预测。独立测试表明,与其他现有的一般磷酸化位点预测工具相比,DeepIPs提高了预测性能。

背景

迄今为止,已经提出了相当多的识别磷酸化位点的预测因子。它们中的大多数显示了一个共同的策略,该策略可以被总结为两个步骤:(I)基于人工设计的特征提取方法对原始序列进行编码,以及(ii)选择一个优化的机器学习算法用于分类和预测。例如,PhosPred-RF使用信息论特征、重叠属性特征、20位特征、21位特征和Skip-gram特征,通过基于随机森林的算法训练用于磷酸化位点预测。Quokka应用了多种序列评分函数,并结合优化的逻辑回归算法来预测磷酸化位点。GPS 5.0利用两种新方法,即位置权重确定和评分矩阵优化,然后通过逻辑回归算法来识别磷酸化位点。尽管这些方法中涉及的特征实现了磷酸化位点预测的良好性能,但是存在“特征工程”的限制,其需要人工设计,这可能导致有偏差的特征。

对于这样的挑战,一个有前途且有吸引力的解决方案是基于深度学习的方法。与传统机器学习技术繁琐的“特征工程”相比,深度学习显示出独特的优势。它可以自动生成复杂模式,并自适应地从训练数据中获取高层抽象。基于此,一些基于深度学习的模型被提出用于磷酸化位点的识别。例如,MusiteDeep将原始序列数据作为输入,并使用卷积神经网络(CNN)和一种新颖的二维注意力机制来预测磷酸化位点。

CapsNet推出了一种具有多层CNN的胶囊网络,用于蛋白质翻译后修饰位点识别,并展示了胶囊在表征具有生物学意义的特征方面的一些突出特性。DeepPSP设计了一个基于全局-局部信息的深度神经网络来预测磷酸化位点。这些仅使用原始序列的方法已经显示出优于以前的传统机器学习方法。然而,没有特定的深度学习架构来识别感染新型冠状病毒的宿主细胞中的磷酸化位点。

在这里,我们提出了一种新的CNN长短期记忆网络(LSTM)架构DeepIPs,以准确预测感染SARS-CoV2的宿主细胞中的磷酸化位点。与前述深度学习方法不同,DeepIPs使用自然语言处理中的单词嵌入方法来获得蛋白质序列表示,避免了“特征工程”的局限性,有效地提高了模型的性能。为了评估DeepIPs的性能,我们构建了不同的独立数据集来评估该模型。评估结果显示,由单词嵌入和CNN-LSTM架构生成的鲁棒表示在识别一般磷酸化位点方面具有很强的判别能力。我们相信,与以前的方法相比,提出的体系结构还可以更好地解决其他生物信息学问题。此外,我们的研究提供了生物序列分析中流行的单词嵌入方法的早期实例,并可能对其他生物预测问题有所启发。

数据和方法

Benchmark dataset construction

在这项研究中,我们收集了实验验证的感染新型冠状病毒的人A549细胞的磷酸化位点。该数据集包括14 119个磷酸化位点。为了减少磷酸化蛋白的序列冗余并避免模型过度拟合,使用了CD-HIT程序,序列同一性阈值为30%。为了便于与其他现有的磷酸化位点预测方法进行比较,将处理后的序列截短为33个残基长的序列片段,其中S/T或Y位于中心。如果区段的中心S/T或Y是磷酸化的,则该区段被定义为阳性样品;否则,它被定义为阴性样品。结果,获得了大量的阴性样品。为了平衡阳性和阴性数据,我们随机选择了非冗余阴性样本的子集,以匹配阳性样本的数量。在做了所有这些之后,获得了S/T位点的5387个阳性样本和5387个阴性样本,Y位点的102个阳性样本和102个阴性样本。同时,在本研究中采用了深度学习框架中常用的用于序列分析的性能评估策略,该策略将数据集以8:2的比例随机分为严格不重叠的训练集和独立的测试集。数据的详细描述列于表1。

The representation of proteins with word embedding vectors

单词嵌入是自然语言处理中的一组技术,其中使用大型文本语料库作为输入,将词汇表中的单词表示为向量。我们之前的研究表明,将每个氨基酸(aa)转换为确定大小的固定长度向量以及降低的特征维数的单词嵌入方法可以产生令人满意的预测性能。因此,在本研究中,实施了两种策略来编码蛋白质序列:一种是监督嵌入层(SEL);另一种是基于预训练单词嵌入的无监督嵌入例如Word2Ve c,GloVe 和fastText 。细节描述如下。

supervised embedding layer (SEL)

Keras 中嵌入层的本质是一个全连接的神经网络,它把正整数变成固定大小的稠密向量。对于给定的蛋白质序列,通过用它们相应的编码器替换氨基酸来生成固定长度的数字向量。如果长度小于“最大长度”,我们使用函数“pad_sequence”将蛋白质序列的长度扩增到200个氨基酸。通过这样做,蛋白质序列被转换成具有许多零的稀疏向量。然而,这种普通的编码方案不能反映蛋白质残基与其顺序和空间邻居之间的关系。因此,我们通过将蛋白质序列模拟为文档,将氨基酸模拟为单词,使用嵌入层将氨基酸映射到密集向量。从大规模序列中获得的两个任意氨基酸之间的语义相似性允许我们使用相似性的连续度量概念来评估单个氨基酸的语义质量。嵌入氨基酸可以通过将左起的独热向量乘以权重矩阵来完成,其中|V|是独特氨基酸的数量,d是嵌入大小。支持vi是给定蛋白质序列中氨基酸xi的独热载体,xi的嵌入可表示如下:

权重矩阵以反向传播方式随机初始化和更新。在嵌入层之后,输入序列可以由密集矩阵表示。

Word2Vec

Word2Vec是一种基于前馈神经网络的机器学习模型,可用于生成文本中单词的矢量表示,并已广泛用于生物信息学问题。训练这种模型的基本思想是根据从大的文档语料库中收集的单词接近度,将相似的向量表示分配给相似上下文中的单词。这里,我们利用Word2Vec来训练蛋白质序列的分布式表示和嵌入。我们将固定长度k的子序列视为氨基酸“word”(也称为k-mers)。所有可能的k-mers的集合被定义为词汇表(词汇表的大小= )。然后我们使用一个k大小的滑动窗口以步长1扫描蛋白质序列及其侧翼区域。在构建了蛋白质序列及其侧翼区域之后,我们采用CBOW模型来预训练嵌入层,该模型比skipgram模型具有均匀组织分布在数据集中的信息的优势。CBOW模型旨在使用一些周围的上下文单词来预测当前单词。该模型分为三层:输入层、隐藏层和输出层。W和分别是共享的输入权重矩阵和输出权重矩阵。模型的输入层是一个词向量。因为CBOW模型通过目标单词前后的n次预测产生目标单词,如下等式所示。模型的目标函数可以很容易地得到如下:

其中为目标字,代表上下文单词。由于隐藏层不涉及任何非线性变换,因此可将其视为softmax层,因此可由下式定义

其中是映射到隐藏层向量的输入单词向量的值。输入向量首先与矩阵W进行矩阵运算,取矩阵运算后所有输入向量的平均值,得到是输出层间权重矩阵的隐藏层。在训练CBOW模型后,将优化后的参数作为嵌入层的初始权重,并在片段标签的监督下与后续层一起进行微调。

GloVe

GloVe是一种无监督学习算法,用于生成单词的矢量表示。在从语料库统计的全局单词单词共现统计中执行学习。GloVe模型在全局单词-单词共现矩阵的非零条目上学习项目,该矩阵显示了单词在表格中的给定语料库中共现的频率。一般来说,非零矩阵条目的数量比语料库中的单词总数小得多。因此,基于加权最小二乘回归模型的损失函数收敛更快

其中X是单词共现矩阵,是单词i与单词j共现的频率,是单词i在语料库中出现的总次数。单词j出现在单词i的上下文中的概率是。v是单词嵌入,vi和vj是单词i和单词j的单词向量,是常数项,f是权重函数,N是词汇表的大小。在我们的实验中,我们将向量大小设置为100,窗口大小设置为15。

fastText

fastText是一个由Facebook研究团队创建的库,它允许我们创建一个无监督的学习算法来获得单词的向量表示。该模型利用低等级矩阵来减少计算负担,同时在特征和类别之间共享参数。这在输出空间大的情况下特别有用,因为罕见的类可能只有几个训练实例[25]。fastText使用类似于CBOW模型的架构,它在N个文档上最小化softmax损失。

其中xn是一个热向量包,yn是第n个文档的标签。与基于单词级别表示的Word2Vec和GloVe不同,fastText使用较小的字符级别单位来获得单词表示。在这项研究中,我们实现了一个1g的包来捕获关于本地语序的部分信息。

结构设计

在这里,我们提出了一种由CNN和LSTM层组成的混合深度学习架构,其中CNN用于提取高级基序特征,LSTM用于学习长程相关性(图2)。架构的细节如下:

(i) 卷积层:卷积层是CNN的一个主要构建块,它包含一组可学习滤波器,其中每个滤波器与层的输入卷积,以编码小感受野的局部知识。该过程有助于保持向量中数值之间的维数关系。因此,使用1D卷积层构建卷积核,然后导出嵌入层中编码的特征。

(ii)整流线性单元(ReLU):在每次卷积运算后,都会出现额外的非线性运算。它旨在将非线性特性引入模型中,并产生更理想的输出。ReLU的输出函数如下:,其中x是神经网络中的输入数。

(iii)池化层:最大池化是一个基于样本的离散化过程。它用于对隐藏层输出矩阵进行下采样,降低其维数,并允许对包含在子区域中的特征进行假设。在这一步中,我们将最大池步幅设置为2。

(iv)dropout层:一种概率丢弃网络中节点的技术,用于减少过度拟合和改进深度神经网络的泛化。在此步骤中,我们将大小设置为0.5。

(v) LSTM层:LSTM层由一组循环连接的块组成,其中包含一个或多个循环连接的存储单元和三个乘法单元——输入、输出和遗忘门。每个LSTM单元的输出编码对该单元输入的短期和长期依赖性。使用级联来融合LSTM层的输出,以获得最终的特征向量。在这一步中,我们将输出大小设置为70。

(vi)密集层:深度连接的神经网络层,这意味着密集层中的每个神经元都从其前一层的所有神经元接收输入。我们的任务是训练一个二元分类模型来区分磷酸化位点和非磷酸化位点。因此,在这一步中,我们将节点数设置为2。

在我们的工作中,使用Keras库2.2.2、TensorFlow 1.2.1和sklearn 0.22.1实现了CNN-LSTM架构。

性能评估

为了评估磷酸化位点预测的性能,本研究采用了几种常用的评估指标,包括敏感性(Sn)、特异性(Sp)、总体准确性(Acc)和马修相关系数(MCC)。详细定义如下:

此外,我们还使用接收器工作特性(ROC)曲线以及ROC曲线下面积(AUC)来评估总体性能[,AUC值越接近1,这表明总体性能越好。

结果

不同单词嵌入方法的性能评估

我们通过基于S/T和Y磷酸化位点数据集的5倍交叉验证,评估并比较了CNN-LSTM架构使用的四种不同单词嵌入方法的预测性能。混淆矩阵如图3和表2所示。在图3和图2中,观察到以下几点。

对于S/T位点,SEL、Word2Vec、GloVe和fastText都可以产生令人满意的性能,这表明单词嵌入方法能够通过将截短的磷酸化和非磷酸化肽从高维空间映射到低维空间来捕获隐藏在蛋白质序列中的信息。特别是,基于监督学习的方法SEL在Sn、Acc、MCC、AUC(除Sp外)方面优于其他三种非监督学习方法。这一结果表明,具有更多信息利用率和鲁棒嵌入架构的SEL方法可以作为S/T磷酸化位点预测的有效方法。此外,与fastText和GloVe方法相比,Word2Vec在所有评估指标中表现更差。

原因是文本单元之间的顺序信息在CBOW模型中被丢弃。即使滑动窗口采样的单词向量包含一定的序列信息,单词的嵌入约束也很小,不足以捕获足够的序列顺序特征。相比之下,fastText引入了一个强约束的n-gram来提取序列特征,这有助于它在Sp、Acc、MCC和AUC方面分别比Word2Vec提高4.62、2.22、4.76和3.26%。此外,很明显,GloVe在识别S/T磷酸化位点方面表现出优于Word2Vec和fastText的优势。原因是GloVe可以从全局语料库中挖掘更好的单词表示,这不同于基于本地语料库的Word2Vec和fastText。这些结果表明,序列特征为提高模型的预测能力提供了重要贡献。同时,基于共现的GloVe在S/T磷酸化位点预测问题上优于基于分布式假设的Word2Vec和fastText。

对于Y位点,我们发现GloVe实现了最佳性能(AUC=0.8414),而SEL产生了次佳结果(AUC=0.8199)。这一结果表明,SEL和GloVe都有能力学习将训练数据中包含的所有肽映射到联合低维嵌入空间的特定嵌入函数。有趣的是,我们注意到这一结果与S/T位点预测任务相似,其中SEL和GloVe比其他单词嵌入方法表现得更好,这直观地表明这两种方法在从小型和大型训练数据中学习时是稳健和有效的。众所周知,基于无监督学习的嵌入中涉及的预训练步骤用作参数空间的先验,这有助于推广到小的训练数据。然而,我们观察到相反的结果,即随着训练数据数量的减少,fastText表现出最差的性能。这表明fastText实际上不适用于Y磷酸化位点预测。我们推测,这种情况的原因包括两个方面:不同的含Y序列具有相似的序列信息,fastText对每个序列的字向量求平均的操作导致大量信息丢失;fastText的线性网络结构不能完成复杂的学习任务,如Y磷酸化位点预测。此外,Word2Vec在这种小的训练数据上的表现要好得多,这表明Word2Vec在应用于小型和大型数据集时可以实现稳定的性能。总之,在本研究中,我们分别基于SEL和GloVe建立了S/T位点和Y位点的最终模型。

用于磷酸化位点预测的DeepIPs评估

在本节中,我们首先将DeepIP与不同的深度学习网络架构(包括CNN]和LSTM)在训练数据上进行了比较,如基准数据集构建部分所述。这些方法对残留物S/T和Y的AUC值如图4所示。所有详细的评估指标如表3所示。

总体而言,DeepIP比其他深度学习架构获得了更高的AUC,表明DeepIP具有更好的整体性能。例如,在S/T站点上,我们架构的AUC值为0.8871,分别比CNN和LSTM高0.98和2.16%。除了AUC值,很明显,DeepIP在Sn、Acc、MCC方面始终比其他深度学习架构取得了更高的性能。对于Y站点,高严格级别的DeepIP的Sn、Sp、Acc、MCC和AUC值分别为74.85、76.18、75.22、0.5183和0.8414。这些度量在所有测量上都高于CNN和LSTM,这证明了所构建模型的有效架构。此外,我们还发现LSTM在S/T和Y位点上的性能不如其他深度学习方法,这表明LSTM可能不是磷酸化位点预测的理想架构。

为了进一步评估DeepIP的性能,我们应该使用独立的测试数据将DeepIP与几种现有的磷酸化位点预测工具进行比较。然而,大多数模型使用不同的训练数据,并且没有提供独立的工具或web服务器,因此很难提供直接的比较。为了解决这个问题,我们只选择了三个具有代表性的基于深度学习的工具,即DeepPSP、MusiteDeep2020和MusiteDeep2017。这些预测器的代码或网络服务器已经提供并在线提供。为了公平比较,我们重建了这三种工具的模型,并获得了相应的性能。独立数据的AUC值如图5所示。所有详细的评估指标如表4所示。我们注意到DeepIPs优于其他三个预测因子。对于S/T站点,DeepIP的AUC值为0.8937,分别比DeepPSP、MusiteDeep2020和MusiteDeep2017高1.75%、0.7%和1.39%。对于Y站点,DeepPSP、MusiteDeep2020和MusiteDeep2017的AUC值分别为0.8209、0.8730和0.8141,而DeepIP可以产生更高的值0.9252。这些结果表明与现有工具相比,DeepIPs具有出色的预测能力。

此外,我们注意到,与S/T网站上的MusiteDeep2020相比,DeepIPs在模型性能方面只有轻微的改进。可能的原因是,独立的数据集可以包含在这些工具的训练过程中,因此它们的性能相似。为了对性能进行平等和客观的评估,我们从文献中收集了感染SARS-CoV2的Vero E6、Caco-2和iAT2细胞系的实验验证的S/T磷酸化位点。接下来,我们执行了非常严格的程序,以消除该数据集与DeepIPs和MusiteDeep2020的训练数据之间的重叠条目。因此,构建了一个看不见的独立数据集。随后,我们将非冗余数据集输入到DeepIP和MusiteDeep2020中,以检查其性能。结果表明,DeepIP能够正确识别58.66%(210/358)个修饰位点,这比MusiteDeep2020产生的结果好43.58%(156/358)。除此之外,我们还将看不见的独立数据集集成到训练数据集中,并建立了相应的模型。结果表明,该模型能够正确区分包含在未知独立数据集中的79.05(283/358)个修饰位点。总之,这些结果进一步证明了我们提出的方法的稳定性和泛化能力。

发现潜在的治疗靶点

先前的研究表明,一些激酶抑制剂,如吉替尼(一种指定的FLT3/AXL抑制剂,Ipatasertib(AKT抑制剂))可以通过阻碍SARS-CoV-2的复制并干扰其所需的宿主途径,作为治疗新冠肺炎的潜在药物。因此,通过整合不同的数据库资源,缩小抗病毒化合物的范围并发现作为治疗靶点的宿主激酶,将为开发新的治疗策略奠定基础。受此想法的启发,我们利用本工作中使用的基准数据集中的基因名称和蛋白质登录号作为索引,在PhosphoSitePlus[46]和磷光体数据库中搜索相应的激酶。ELM,并对激酶家族进行分类。详细结果见补充数据。我们发现大部分磷酸化过程由周期依赖性激酶介导,表明病毒蛋白通过与宿主激酶的相互作用加速宿主细胞周期。此外PKC、CK2、PKA和Src也参与磷酸化反应。因此,开发这些激酶的特异性抑制剂可能是治疗SARS-CoV-2感染的一种有前途的方法。

总结与讨论

磷酸化在生物学过程中具有重要意义,它与SARS-CoV-2感染的发生有关。由于花费时间和金钱的实验验证位点的局限性,开发用于SARS-CoV-2感染中磷酸化鉴定的有效计算方法是非常紧迫的。因此,在本研究中,我们提出了由最流行的单词嵌入方法和CNN-LSTM架构组成的DeepIPs来预测磷酸化位点。独立测试表明,DeepIPs比现有的磷酸化位点预测因子具有更好的性能。

此外,还建立了一个名为DeepIPs的可自由访问的web服务器。

我们研究的主要贡献可以总结如下。首先,我们系统地比较了四种单词嵌入方法在预测S/T或Y磷酸化位点方面的优缺点。由于单词嵌入的更好的可转移性,我们的分析可以促进其在其他生物信息学分类问题中的应用研究。其次,我们将本工作中使用的CNN-LSTM架构与其他深度学习算法(如CNN和LSTM)进行了比较。结果表明,CNN-LSTM能够全面捕获短距离和长距离相关信息,这再次证明了该结构在识别磷酸化位点方面的能力。最后也是最重要的是,我们建立的模型在预测感染SARS-CoV-2的宿主细胞中的磷酸化位点方面具有特殊价值。

此外,未来还可以进一步改进以下方面。首先,本研究中使用的单词嵌入方法,如SEL、Word2Vec、fastText和GloVe,都是基于单词向量的固定表示,无法表示不同上下文中单词的不同含义。

动态单词表示方法,如ELMo、GPT和BERT,可以根据上下文中的单词提取上下文语义信息,从而具有更强的单词表示能力。其次,我们设计的CNN-LSTM架构由于“黑匣子”特性,无法很好地解释有意义的生物过程。因此,我们将在未来的工作中使用一些可解释的深度学习算法,例如生成对抗性网络。

DeepIPs:使用基于深度学习的方法对新型冠状病毒感染的磷酸化位点进行综合评估和计算识别相关推荐

  1. BERT6mA:使用基于深度学习的方法预测DNA N6甲基腺嘌呤位点

    <BERT6mA: prediction of DNA N6-methyladenine site using deep learning-based approaches> Sho Ts ...

  2. 一种基于深度学习的方法来检测摩托车头盔的使用

    背景 据统计使用摩托车头盔可以将道路交通事故中摩托车驾驶员致命伤害的可能性降低42%,尽管如此,遵守摩托车头盔还是较少,尤其是在发展中国家,为了有效开展针对性的头盔使用运动,政府必须收集有关头盔法律遵 ...

  3. 论文 | 多传感器数据深度图的融合:最近基于深度学习的方法(上)

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :黄浴知乎,已获授权 htt ...

  4. 论文 | 多传感器数据深度图的融合:最近基于深度学习的方法(下)

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :黄浴知乎,已获授权 htt ...

  5. 基于深度学习的SDN家庭网关加密网络流量分类

    写在前面: 本文翻译供个人研究学习之用,不保证严谨与准确 github链接:https://github.com/WithHades/network_traffic_classification_pa ...

  6. TIP 2019开源论文:基于深度学习的HEVC多帧环路滤波方法

    作者丨李天一 学校丨北京航空航天大学博士生 研究方向丨视频编码与深度学习 本文概述的是作者近期在 IEEE TIP 期刊上发表的论文:A Deep Learning Approach for Mult ...

  7. DeepRMethylSite:一种基于深度学习的蛋白质精氨酸甲基化位点预测方法

    DeepRMethylSite:一种基于深度学习的蛋白质精氨酸甲基化位点预测方法 https://www.researchgate.net/publication/341890599_DeepRMet ...

  8. 行为检测论文笔记【综述】基于深度学习的行为检测方法综述

    摘 要: 行为检测在自动驾驶.视频监控等领域的广阔应用前景使其成为了视频分析的研究热点.近年来,基于深度学习的方法在行为检测领域取得了巨大的进展,引起了国内外研究者的关注,对这些方法进行了全面的梳理和 ...

  9. 【ChatGPT4】 NLP(自然语言处理)第六课 基于统计和基于深度学习的依存句法分析方法

    我在起,点更新NLP自然语言处理==><王老师带我成为救世主> (1)-------------------------------------------------------- ...

最新文章

  1. 浏览器左上角的小图标怎么整不掉_Honeyview:蜂蜜浏览器
  2. vue_ajax插件Axios
  3. 如何高效的编写与同步博客 (.NET Core 小工具实现)
  4. 分布式数据集训营,从入门到精通,从理论到实践,你不可错过的精品课程!...
  5. 数据结构-栈1-顺序存储
  6. bat从数组中找出相同数字并删除_全网把Map中的hash()分析的最透彻的文章,别无二家...
  7. 参考 JavaEE注解学习:(二)
  8. HTC vive 虚实融合
  9. matlab设计低通滤波器
  10. ADSL宽带拨号密码恢复
  11. OpenEuler简介与安装
  12. 计算机包含几个语素几个词,英语一词有几个语素
  13. QTP自动化测试培训大纲
  14. App中英文切换简单好用
  15. 2013年Devoxx法国-第3天
  16. jq - 常用tab、增加删除、手册
  17. 【应用】1200PLC实现三层电梯模拟控制
  18. 数字藏品如何实现版权保护
  19. 关闭小米路由器防火墙 放行端口
  20. win10 中,Cygwin 的安装指导

热门文章

  1. word文档通配符换行_职场小技巧|没想到word中的表格就可以排版图片大小
  2. 梦见老同学,及李娜夺冠
  3. 腹直肌整体(04):支撑提臀抬腿
  4. 26万奖金 | 第一届 E-MapReduce 极客挑战赛 诚邀英才前来挑战!
  5. 恶搞赤壁!-诸葛亮泡妞!
  6. python爬虫 爬取诗词名句网
  7. 更新adfs的证书_ADFS服务证书更新介绍
  8. 解决typecho网站logo生成及配置问题
  9. 跨境电商平台如何搭建
  10. 美索不达美亚文明【1】简介