Protein Secondary Structure Prediction Using Cascaded Convolutional and Recurrent Neural Networks笔记

利用级联卷积和递归神经网络预测蛋白质二级结构 

Abstract

       蛋白质二级结构预测是生物信息学中的一个重要问题。受近期深度神经网络成功的启发,在本文中,我们提出了一种端到端深度网络,可以从集成的局部和全局上下文特征预测蛋白质二级结构。我们的深层架构利用具有不同内核大小的卷积神经网络来提取多尺度的本地上下文特征。此外,考虑到氨基酸序列中存在的长程依赖性,我们建立了一个双向神经网络,由门控循环单元组成,以捕获全局背景特征。此外,利用多任务学习同时预测二级结构标记和氨基酸溶剂可及性。我们提出的深度网络通过实现最先进的性能证明了其有效性,即公共基准CB513的Q8精度为69:7%,CASP10的Q8精度为76:9%,CASP11的Q8精度为73:1%。我们的模型和结果是公开的。

 1 Introduction

      从蛋白质序列准确可靠地预测结构,特别是3D结构,是计算生物学中最具挑战性的任务之一,并且对生物信息学非常感兴趣[Ashraf and Yaohang,2014]。 结构理解不仅对蛋白质分析至关重要,而且对包括药物设计在内的实际应用也很有意义[Noble et al。,2004]。 了解蛋白质二级结构是蛋白质结构预测的重要中间步骤,因为蛋白质的二级结构反映了蛋白质中存在的局部结构类型(如310-螺旋和β-bridge)。 因此,准确的二级结构预测显着降低了三级结构的自由度,并且可以产生更精确和高分辨率的蛋白质结构预测[Ashraf和Yaohang,2014; Zhou和Troyanskaya,2014; Wang等,2011]。

      蛋白质二级结构预测的研究可以追溯到20世纪70年代。在20世纪70年代,统计模型经常用于分析特定氨基酸出现在不同二级结构元素中的概率[Chou和Fasman,1974]。由于特征不充分,这些模型的Q3精度,即三类分类:螺旋(H),链(E)和线圈(C)的准确度低于60%。在20世纪90年代,通过利用来自相同结构家族的蛋白质的进化信息[Rost and Sander,1993]和位置特异性评分矩阵[Jones,1999],实现了显着的改进。在此期间,利用这些功能,Q3精度超过70%。然而,当涉及更具挑战性的8类分类问题时,进展停滞不前,需要区分以下8类二级结构要素:310?螺旋(G),_螺旋(H),_螺旋(I) ),_?strand(E),_?bridge(B),_?turn(T),bend(S)and loop or irregular(L)[Zhou and Troyanskaya,2014; Yaseen和Li,2014]。在21世纪,各种机器学习方法,特别是人工神经网络,已被用于改善性能,例如SVM [Sujun和Zhirong,2001],递归神经网络(RNNs)[Pollastri et al。,2002] ,概率图形模型,如将CRF与神经网络相结合的条件神经场[Wang et al。,2011],生成随机网络[Zhou and Troyanskaya,2014]。

       众所周知,局部环境对蛋白质二级结构预测至关重要。具体地,氨基酸邻域的二级结构类别信息是用于对该氨基酸所属的二级结构进行分类的最有效特征。例如,在图1中,PDB 154L中的第18至第21个氨基酸[Simpson和Morgan,1983](从公众可获得的蛋白质数据库2获得)可能被赋予相同的二级结构标签,因为它们的邻居信息。卷积神经网络(CNN)[LeCun et al。,1998],一种使用平移不变卷积核的特定类型的深度神经网络,可以应用于提取局部上下文特征,并且已被证明对许多自然语言处理有效(NLP)任务[Yih et al。,2011; Zhang et al。,2015]。受文本分类成功的启发,本文采用具有不同内核大小的CNN从蛋白质序列中提取多尺度局部上下文。

图1:具有UniProtKB登录号(P00718)的PDB154L的氨基酸序列及其相应的3态二级结构,其由185个残基组成。

       另一方面,不同类型的氨基酸之间的长程相互依赖性也为二级结构的类别提供了重要的证据,例如,一个_?strand通过与远距离的其他_链形成的氢键来稳定[周和Troyanskaya,2014]。例如,同样在图1中,第4和第60个氨基酸可以被确定为共享相同的二级结构标签,因为二硫键被注释为链接1.类似于CNN,反复神经网络(RNN)是另一种特定类型的神经具有循环连接的网络。它们旨在捕获跨越大于本地上下文范围的距离的依赖关系。在之前的工作[Sepideh et al。,2010]中,RNN模型在蛋白质二级结构预测方面表现不佳,部分原因是难以训练此类模型。幸运的是,具有门和记忆结构的RNN,包括长期短期记忆(LSTM)[Hochreiter和Schmidhuber,1997],门复发单位(GRU)[Cho et al。,2014a]和JZ3结构[Jozefowicz et al。,2015] ],可以通过使用特定的门控制信息流来人为地学习记忆和忘记信息。在本文中,我们利用双向门重复单元(BGRU)来捕获来自相同蛋白质序列的氨基酸之间的长程依赖性。

      总之,本文的主要贡献如下。

      我们提出了一种用于蛋白质二级结构预测的新型深度卷积和递归神经网络(DCRNN)。 该深度网络包括特征嵌入层,用于局部上下文提取的多尺度CNN层,用于全局上下文提取的堆叠双向RNN层,用于最终联合二级结构的完全连接和softmax层以及溶剂可访问性分类。 CB6133数据集,公共CB513基准测试以及最近的CASP10和CASP11数据集的实验结果表明,我们提出的深度网络优于现有方法并实现了最先进的性能。

      据我们所知,这是第一次将双向双向GRU层应用于二级蛋白质结构预测。 消融研究表明它们是我们深层神经网络中最重要的组成部分。

      本文的其余部分安排如下。 在第2节中,我们详细介绍了我们提出的端到端深度模型。 我们在第3节中介绍了实施细节,实验结果和消融研究。第4节总结了本文的最后评论。

2网络架构

        如图2所示,我们用于蛋白质二级结构预测的深度卷积和递归神经网络(DCRNN)由四部分组成,一个特征嵌入层,多尺度卷积神经网络(CNN)层,三个堆叠双向门控循环单元(BGRU)图层和两个完全连接的隐藏层。我们的深层网络的输入带有蛋白质氨基酸序列,序列特征和轮廓特征的两种类型的特征。特征嵌入层负责将稀疏序列特征向量转换为新特征空间中的更密集的特征向量。嵌入的序列特征和原始的轮廓特征被馈送到具有不同内核大小的多尺度CNN层,以提取多尺度的局部上下文特征。连接的多尺度局部上下文流入三个堆叠的BGRU层,这些层捕获全局上下文。在级联的CNN和BGRU层之上,有两个完全连接的隐藏层,它们将连接的局部和全局上下文作为输入。具有softmax激活的第二完全连接层的输出被馈送到输出层,其执行8类二级结构和4类溶剂可及性分类。 

2.1 Feature Embedding

       为了更好地理解,蛋白质二级结构预测可以如下公式化。鉴于氨基酸序列X = x1; X2; ::: ;; xT,我们需要预测每个氨基酸的二级结构标记,S = s1; S2; ::: ;; sT,其中xi(2Rn)是对应于第i个氨基酸的n维特征向量,si是8态二级结构标记。在本文中,输入特征序列X被分解为两部分,一部分是编码蛋白质中氨基酸类型的21维特征向量序列,另一部分是从中获得的21维轮廓特征序列。 PSI-BLAST [Altschul等,1997]日志文件并通过逻辑函数重新调整[Jones,1999]。注意,第一序列中的每个特征向量是稀疏的单热矢量,即,其21个元素中只有一个是非零,而轮廓特征向量具有密集表示。为了避免特征表示的不一致,我们采用自然语言处理的嵌入操作将稀疏序列特征转换为更密集的表示[Mesnil et al。,2015]。该嵌入操作被实现为具有嵌入矩阵Wemb 2 R21_Demb的前馈神经网络层,其将稀疏的21维向量映射为更密集的Demb维向量。在本文中,我们根据经验设置Demb = 50,并用随机数初始化嵌入矩阵。嵌入的序列特征向量在被馈送到多尺度CNN层之前与轮廓特征向量连接。 

图2:我们用于预测蛋白质二级结构的端到端深度卷积和递归神经网络(DCRNN)。 输入包括序列特征和轮廓特征。 通过特征嵌入和连接,预处理的特征被馈送到多尺度CNN层,其中多个内核大小用于提取多尺度局部特征。 作为本地上下文的级联多尺度特征流入三个堆叠的BGRU层以捕获全局上下文。 在堆叠的BGRU层之上,两个完全连接的隐藏层用于多任务联合分类。

 2.2多尺度CNN

如图2所示,我们的深层网络的第二个组件是一组多尺度卷积神经网络层。 鉴于具有嵌入和连接特征的氨基酸序列 

其中~xi(2 Rm)是第i个氨基酸的预处理特征向量。 为了模拟相邻氨基酸的局部依赖性,我们利用具有滑动窗口的CNN和整流线性单元(ReLU)[Nair and Hinton,2010]来提取局部背景。 

其中F(2 Rf_m)是卷积核,f是沿着蛋白质序列的核的程度,m是单个氨基酸的特征维数(本文中m = 71),b是偏差项和'ReLU' 是激活功能。 内核经过完整的输入序列并产生相应的输出序列,~L = h~l 1; ~l2; :::;〜lT i,其中每个~li(2 Rq)有q个通道(本文中q = 64)。 由于氨基酸有时受到相对较大距离的其他残基的影响,例如,在图1中标记为链接2的二硫键中,两个残基在11的距离处具有相互作用,因此使用具有不同粒度的多尺度CNN层来 获取多个本地上下文特征映射。 在本文中,我们使用三个CNN层,其中f = 3,7和11.这导致三个特征图~L1;〜L2;〜L3。 这些多尺度特征作为局部上下文连接在一起L = concatenatef~L1;〜L2;〜L3g。

2.3 BGRUs

        除了局部依赖性之外,长程依赖性(例如图1中的第1行)也广泛存在于氨基酸序列中。 多尺度CNN只能捕获氨基酸之间的依赖性,所述氨基酸之间的距离不大于其最大核大小。 为了捕获更大距离的依赖关系,我们利用双向门复用单元(BGRU)。 

        递归神经网络(RNN)具有处理依赖于上下文的序列的强大能力。 然而,由于梯度消失,训练RNN过去很困难[Bengio et al。,1994]。 仅在最近几年,具有门控单元的RNN(例如,长期短期记忆(LSTM)和门再循环单元(GRU))变得实际有用。 在我们的网络中,GRU [Cho et al。,2014b]用于捕捉全球背景,因为与LSTM相比,它们以较少的参数实现了相当的性能[Jozefowicz等,2015]。 在与前面的等式相同的符号中,如果输入是(lt;ht?1),则GRU的机制(如图3所示)可以如下表示。

t;UT;〜HT; 如果隐藏单元的数量是k,则ht(2Rk)分别激活复位门,更新门,内部存储器单元和GRU输出; Wlr; Whr; Wlu; Whu; Wl~h; Wh~h(2 R3q_k)是权重矩阵; 和br;蒲式耳; b~h(2 Rk)是偏差项。 另外,_,sigm和tanh分别代表元素乘法,sigmoid和双曲函数。 与具有三个门(即输入门,忘记门,输出门),一个外部存储器单元状态和一个输出状态的LSTM相比,GRU仅具有两个门(更新门,复位门)和一个输出状态。 它在LSTM中没有最不重要的门(输出门),并且将输入门和忘记门合并在一起以形成更新门和复位门,其控制何时应该人为地记住或忘记信息。 GRU中的参数总数仅为LSTM中的3 = 4 [Jozefowicz等,2015]。

\

图3:栅极循环单元(GRU)的内部结构。

        氨基酸的二级结构标记不仅取决于序列中其前一个氨基酸的标记,还取决于其下一个氨基酸的标记。 因此,我们使用双向GRU,每个GRU由前向GRU(从t = 0到t = T)和后向GRU(从t = T到t = 0)组成。 来自时间t的前向和后向GRU的输出被连接在一起以同时形成来自双向GRU(BGRU)的输出。 此外,为了增强我们网络中的全球信息流,三个BGRU通过丢失堆叠在一起以提高性能。 注意,堆叠BGRU的前向隐藏状态计算为hz forward t = GRU(hz-1 t; hz forward t-1),其中z和hz-1 t代表层索引和前面的连接输出 堆叠BGRU中的层。 最后,将获得的局部和全局上下文连接在一起作为以下层的输入。

2.4多任务联合特征学习 

       考虑到不同蛋白质结构特性之间的相互作用,我们通过在两个共享的完全连接的隐藏层中执行联合特征学习来训练我们提出的模型以生成两种不同但相关的结果类型,如图2的分类部分所示。 ,我们提出的模型的输出包括二级结构标签si和溶剂可及性标签ai的预测序列(四类分类问题,即绝对和相对溶剂可及性)。绝对和相对可及性通过DSSP程序计算的原始和标准化溶剂可及性值的特定阈值来判断[Kabsch和Sander,1983],溶剂可及性与二级结构预测密切相关。根据[Ren et al。,2015]的多任务训练方法,将l2?norms作为正则项添加到损失函数中。此外,在堆叠的BGRU层和倒数第二层中采用了丢失[Srivastava等,2014]以避免过度拟合。关节损失功能可以如下表述。 

二级结构预测和溶剂可及性预测各自的损失函数,si和ai分别是二级结构标签和溶剂可及性标签的预测概率,s_i和a_i分别是二级结构和溶剂可及性的基本事实标签,_是权重向量 ,N是残留数。

3 Experimental Results
3.1 Datasets and Features

       我们使用四个公开可用的数据集,用PISCES CullPDB生成的CB6133 [Wang和Dunbrack,2003],CB513 [Cuff和Barton,1999] 3,CASP10 [Kryshtafovych等,2014]和CASP11 [Moult等,2014],评估我们提出的深度神经网络的性能。 CB6133是一个大的非同源蛋白质序列和结构数据集,有6128种蛋白质,包括用于训练的5600种蛋白质(指数0至5599),用于验证的256种蛋白质(指数5877至6132)和272种蛋白质(指数5605至5876)供测试用。请注意,CB6133的测试集与[Wang et al。,2016]中的测试集不同。 CB513是一个公共基准数据集,仅用于测试。由于CB513和CB6133之间存在冗余,因此通过去除CB6133中与CB513中某些序列具有超过25%相似性的序列形成较小的CB6133过滤版本,如[Zhou和Troyanskaya,2014; Wang等,2016]。过滤后的CB6133数据集有5534种蛋白质,如果CB513用作测试集,它们都可以用于训练。 CASP10和CASP11分别包含123和105个域序列。它们用于测试我们在过滤的CB6133数据集上训练的网络的性能。二级结构预测的性能通过Q8精度来测量。 

       上述数据集中的每个蛋白质序列每个残基具有55个通道数据。在55个通道中,21个通道用于序列特征,其指定氨基酸的类别,21个通道用于序列概况(PSSM通过逻辑功能重新调整,PSSM通过PSI-BLAST计算针对UniRef90数据库,具有E-值阈值0:001和3次迭代),8个通道用于二级结构类别标签,2个通道用于溶剂可访问性标签(由DSSP程序通过3D PDB获得)。虽然可以考虑使用其他功能来进一步提高性能,但本文将重点介绍网络架构。注意,在序列特征,序列分布和二级结构标记之后存在3个掩蔽通道。为了便于后续处理和实施,将这些数据集中所有蛋白质氨基酸序列的长度标准化为700.比700短的序列被截短,而短于700的序列用零填充。大多数序列短于700。

3.2 Implementation Details

           在我们的实验中,使用[Asgari和Mofrad,2015]中的“生物学单词”的窗口大小作为参考,使用具有内核大小3,7和11的多尺度CNN层来提取局部上下文。 所获得的3个特征图(每个具有64个通道)被连接在一起作为局部上下文特征向量。 三个堆叠的BGRU层中的每一个都具有600个隐藏单元。 他们以当地情境为输入。 BGRU层的输出通过压差(= 0:5)进行正则化,以避免过度拟合。 从多尺度CNN层和BGRU层获得的局部和全局背景被连接在一起并且通过ReLU激活被馈送到两个完全连接的层。 我们设置λ1= 1; λ2= 0:001用于平衡两个联合学习任务和正则化项。

        我们还利用套袋来获得整体模型。 根据标准装袋算法,对于每个弱模型,我们从原始训练集中随机选择512(约10%)蛋白质以形成验证集,并且剩余的训练样本形成训练集。 我们的整体模型由10个独立训练的弱模型组成。 在训练期间使用早期停止。 具体来说,当验证集上的F1分数没有增加10个时刻时,我们将学习率降低2倍。一旦学习率小于预定阈值,我们停止训练,测试每个时期后获得的模型 在验证集上,选择验证集上性能最佳的那个作为我们训练的模型。

       我们的代码在Theano中实现[Bastien et al。,2012; Bergstra et al。,2010],一个公开的深度学习软件4,基于Keras [Chollet,2015]库5。 使用Keras中的默认设置初始化神经网络中的权重。 我们使用Adam优化器同时训练我们深层网络中的所有层[Kingma and Ba,2014]。 批量大小设置为128.整个深度网络都在一个带有12GB内存的NVIDIA GeForce GTX TITAN X GPU上进行训练。 我们需要大约一天的时间来训练我们的深层网络而不提前停车,而如果我们利用提前停车只需要6个小时。 在测试阶段,一种蛋白质平均需要5ms。

3.3 Performance

        我们通过执行三组实验来评估深层网络(DCRNN)的整体性能。 在第一组实验中,我们对原始CB6133数据集执行训练和测试。 在第二组中,我们对过滤后的CB6133数据集进行培训,并在CB513基准测试中进行测试。 在第三组中,我们仍然对过滤的CB6133数据集进行培训,但是在最近的CASP10和CASP11数据集上测量性能。

CB6133的培训和测试

        我们使用CB6133训练集训练的模型达到了73:2_0:6%Q8精度,这定义了一种新的技术水平,比GSN获得的先前最佳结果高出1:1%[Zhou和Troyanskaya,2014], CB6133测试装置的溶剂可达性为76:1%。我们没有与[Wang et al。,2016]的结果进行比较,因为[Wang et al。,2016]中使用的测试集与CB6133中定义的测试集不同,也未公开。在表1中,我们比较了我们的整体Q8性能以及各个二级结构标签的性能与GSN先前获得的最佳结果[Zhou和Troyanskaya,2014]。显然,我们提出的模型可以在几乎所有单个标签上实现更高的精度和召回率。我们相信更好的性能不仅归功于我们使用的神经网络的强大功能,还归功于集成的本地和全局环境的强大功能。具体而言,在具有高频率的四个标签(H,E,L和T)上,由于具有数百万个参数的模型具有更高的表示能力,我们的模型实现了更好的性能。尽管如此,我们的模型在低频标签上的表现也比以前的模型更好,这很可能是因为整合了本地和全球背景,这构成了本文的核心贡献。

Training on Filtered CB6133 and Testing on CB513

        我们还使用在过滤的CB6113数据集上训练的模型对公共CB513基准进行了验证,其中5534蛋白不包括与CB513中的蛋白质具有超过25%相似性的任何序列。我们的单一训练模型达到69:4 _ 0:5%Q8精度,比DeepCNF [Wang et al。,2016]在相同的训练和测试集上获得的先前技术水平高1:1%,并且76:验证集上的溶剂可及性准确度为8%,因为CB513无法获得真实溶剂可接触性标签。我们还将我们的模型与其他现有方法(例如,CNF [Wang等人,2011],SSpro8 [Pollastri等人,2002]和GSN [Zhou和Troyanskaya,2014])在表2中的个别二级结构标签上进行比较。请注意,除了此比较中其他方法(包括我们的)使用的标准序列特征和轮廓特征之外,CNF模型[Wang et al。,2011]使用三个额外特征进行训练,并且整个特征向量在氨基酸是78维的。即使CNF使用更多功能进行训练,我们的模型仍然可以实现更高的Q8精度。就单个标签而言,我们的模型在高频标签(H,E和L)上实现略低的精度(3%至4%的差异),并且在低频标签(T,S和B)上的准确度显着提高。

       为了进一步提高准确性和鲁棒性,我们还通过平均10个根据包装算法在10个随机采样的训练和验证子集上训练的弱模型来计算集合模型。 通过模型平均处理,Q8精度可以提高到69:7%(比集成模型的先前最佳结果高4:8%),如表2所示。此外,我们的单一模型的Q3精度是 84:0%,比先前技术水平(82:3%)高1:7%[Wang et al。,2016]。 8状态标签和3状态标签之间的映射如下:H(8状态)映射到H(3状态),E(8状态)映射到E(3状态)和所有其他 根据[Wang et al。,2016],8状态标签被映射到C(3状态)。 此外,显着性检验的p值“我们的模型优于其他方法”是1:4 _10?5(<0:001),使用10次不同运行的结果。

过滤CB6133培训和CASP10和CASP11测试

        为了进一步验证在过滤的CB6133数据集上训练的模型的泛化能力,我们还在最近的数据集CASP10和CASP11上对其进行了评估。 我们将我们模型的Q8精度与SSpro [Magnan和Baldi,2014],RaptorX-SS8 [Wang et al。,2011]和DeepCNF进行比较。 此外,我们的模型的Q3准确度也与SSpro,SPINEX [Faraggi等人,2012],PSIPRED [Jones,1999],RaptorXSS8,JPRED [Drozdetskiy等人,2015]和DeepCNF进行了比较。 根据表3所示的结果,我们的模型的Q8准确度比CASP10高76.9%(比最好的高出5.1%)和比CASP11高73.1%(比最好的高出0.8%)。 我们的模型相对于CASP10和CASP11的Q3准确度分别为87.8%(比之前的最佳值高3.4%)和85.3%(比之前的最佳值高0.6%)。 请注意,我们在此测试中的方法的Q8精度和Q3精度是通过单个模型而不是集合模型获得的,以进行公平比较。 

3.4 Ablation Study

        为了发现我们建议的网络成功的关键因素,我们通过删除或替换我们网络中的各个组件来进行消融研究。具体来说,我们测试了没有特征嵌入层,多尺度CNN,堆叠BGRU或后向RNN通道的模型的性能。此外,我们还测试了一个模型,该模型不向最后两个完全连接的层提供本地上下文,另一个模型使用双向simpleRNN层替换BGRU层,没有任何门结构,以确定存在时门结构的重要性远程依赖的。根据表4中显示的CB513数据集的结果,我们发现那些双向GRU层是我们网络中最有效的组件,因为当我们仅在没有后向RNN通过的情况下向前运行RNN时,性能下降到66:9%。多尺度CNN也很重要,因为没有它们,性能会下降到68:1%。此外,与双向simpleRNN相比,GRU层中的门结构对于处理氨基酸序列中广泛存在的长程依赖性是必需的。与单个BGRU层相比,堆叠的BGRU层也有益于增强全局信息循环。此外,除了全局上下文之外,直接将本地上下文馈送到完全连接的层对于良好性能也是必不可少的,尤其是对于低频二级结构类别的预测。最后但并非最不重要的是,功能嵌入,多任务学习和装袋都可以应用于提高我们方法的准确性和稳健性。

表3:过滤CB6133的培训和CASP10和CASP11的测试。 报告了SSpro,SPINE-X,PSIPRED,JPRED,Raptorx-SS8,DeepCNF和我们的模型(DCRNN)的Q8和Q3精度。 粗体数字表示最佳性能。

4 Conclusions

 为了将最近的深度神经网络应用于蛋白质二级结构预测,我们提出了具有多尺度CNN和堆叠双向GRU的端到端模型,用于提取局部和全局上下文。 通过整合的局部和全球背景,蛋白质二级结构预测的先前技术水平得到了改进。 通过考虑不同蛋白质性质之间的相互作用,利用多任务联合特征学习来进一步改进性能。 由于我们提出的深度神经网络在二级结构预测上的成功,这种结合局部和全局背景的模型可以潜在地应用于蛋白质和计算生物学中的其他具有挑战性的结构预测任务。

现有BGRU无法处理极长的依赖性,尤其是低频长依赖性。 具有隐式注意机制的更强大的架构,例如神经图灵机[Graves et al。,2014],可能适合于解决该问题并进一步改善预测性能。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值