宏基因组有参分析和无参分析差异

生信小白记录4-宏基因组上游分析流程记录和常用工具说明 依赖性:有参分析依赖于参考基因组,无参分析不依赖。准确性和效率:有参分析通常更准确且高效,而无参分析虽然全面但计算资源需求更高。发现能力:无参分析有更好的发现未知微生物和新基因的能力,而有参分析可能会忽略这些信息。 阅读详情

宏基因组有参分析和无参分析差异


本文参考 宏基因组教程Metagenomics Tutorial (HUMAnN2)

分析流程

  • 有参流程:质控–物种组成和功能组成分析–差异分析及可视化
  • 无参流程:质控–物种分类–序列拼接–基因注释–去冗余–基因定量–功能注释–差异分析及可视化

注:无参分析需要非常大的比对数据库,所以服务器配置最低256G内存,推荐内存512G以上,以保证正常运行

解决问题

有参可以回答的科学问题

  1. 样本中有什么?
    物种组成(包括宿主、细菌、真菌、病毒、原声动物等)
  2. 样品中有哪些功能基因?
    功能基因组成–潜在的功能,注意潜在因为是DNA
  3. 组间物种和功能差异?
    分组有关的物种分类(OTUs/种/属/科)
    和功能(通路/模块/同源簇/基因)

无参可以回答的科学问题

  1. 样本中有什么?
    物种组成(包括宿主、细菌、真菌、病毒、原声动物等)
  2. 样品中有哪些功能基因?
    功能基因组成–潜在的功能,注意潜在因为是DNA
  3. 组间物种和功能差异?
    分组有关的物种分类(种/属/科)
    和功能(通路/模块/同源簇/基因)
  4. 未知菌种基因组拼接

结果差异

有参:
基于marker gene进行序列相似性比对

无参:
基于NCBI数据库注释reads层面,部分软件采用LCA(Lower Common Ancestor最小祖先法)算法

造成结果差异的原因:

  1. 使用的数据库不同,包含物种不同。
  2. 基因组大小。有参使用marker gene,无参使用物种的基因组,不同物种的基因组大小不同,而有参流程如metaphlan2并没有考虑基因组大小的影响。
  3. 基因的拷贝数。在某些情况下,如果一个物种有多套基因拷贝,那么用来进行分析的marker gene在实际情况下可能都不是单拷贝,这样会造成结果的偏差。
  4. 比对算法。无参比对部分软件采用LCA(Lower Common Ancestor最小祖先法)算法

宏基因组流程综述

Nature综述:鸟枪法宏基因组-从取样到数据分析——2万字带你系统入门宏基因组实验和分析
超强综述 | Rob Knight等手把手教你分析菌群数据(全文翻译1.8万字)

宏基因组分析 宏基因组学(Metagenomics)是通过高通量测序技术和生物信息学方法,从环境样本中直接提取所有微生物群体的基因组信息,并对这些基因组进行分析的科学。它跳过了传统的分离和培养步骤,使研究者能够研究复杂的微生物群落的组成、功能和生态作用。 阅读详情

相关推荐

vegan稀释曲线 基因丰度_一文读懂宏基因组分析套路

宏基因组分析套路很多朋友感觉宏基因组的分析结果内容种类太多,根本学不过来。其实本质上并不复杂,只分为两类:物种组成和功能组成两大类,它们是核心结果;再加上开头系统描述和结尾的讨论比较。通常会出现固定套路的4部分结构。今天就从之前解读3篇CNS文章(1篇nature, 2篇science) 入手,系统总结宏基因组分析的基本思路。助力大家清楚分析思路,更多精力关注科学问题的解决,做出好结果。文章思路和...

weixin_33902056的博客 1371

不同转录组测序方法总结

1,有参与无参的区别 有参和无参指的是有无参考基因组,对于没有参考基因组的物种,采用如下的处理方法: 无参考基因组的真核生物转录组项目使用Illumina测序平台,获得测序原始数据后,首先进行质控拼接,并进一步对拼接所得转录本进行功能注释、SNP、SSR标记开发等分析。在此基础上,也可以进行多个样本的差异基因表达分析和差异基因功能富集分析等,用于发现功能基因,为下一步研究提供方向。 2,globin去除与否 珠蛋白(globin)是一类能够通过铁卟啉环可逆性结合氧的呼吸性蛋白质,广泛存在于细菌、真菌、植物.

linkequa的博客 1万+

【数据分析】宏基因组关联分析之PERMANOVA

本教程详细介绍了如何使用R语言及其相关包进行PERMANOVA(置换多元方差分析)分析,以评估不同分组变量对微生物群落结构的影响。PERMANOVA是一种非参数统计方法,适用于处理高维、稀疏的微生物组数据,能够量化不同因素对群落变异的贡献。 本教程通过详细的步骤和示例,展示了如何使用R语言进行PERMANOVA分析,评估不同变量对微生物群落结构的影响。尽管在实际案例中,`LiverFatClass`、`Liver_fat`和`Gender`对群落结构的影响不显著,但`LiverFatClass`的适度解释

专注生信领域 1761

无参转录组工具评估和流程展示

微信公众号:https://mp.weixin.qq.com/s/4HANWJY4oL7jGziroHfEpQ无参转录组分析工具评估研究人和小鼠类似的基因组注释比较完善的物种,是比较舒服的。想用什么数据,就可以找到什么数据。不过更多的物种是没有基因组数据或基因组注释不完整的,这时想获得基因的序列,做差异基因的分析时,相比于花大价钱测基因组,测不同组织或处理条件下的转录组是一个物美价廉的选择。既可以获

悟道西方 1万+

保姆级教程:用OpenCV和MediaPipe在Python里实现实时手势识别(附完整代码)

本文提供了一份详细的Python教程,教你如何使用OpenCV和MediaPipe实现实时手势识别系统。从环境配置、手部关键点检测到手势分类算法,逐步讲解如何构建高精度手势识别应用,适用于智能家居控制、PPT操作等场景。教程包含完整代码示例和性能优化技巧,特别适合计算机视觉初学者和开发者实践。

weixin_28677005的博客 327

山石网科Hillstone防火墙基础上网配置_CLI命令行(最新版)

山石网科Hillstone防火墙安全网关基础上网基础网络配置_CLI命令行(最新版)

路与肥的博客 1万+

有参考基因组分析和无参考基因组分析

和。

大甘的博客 2981

【多元统计分析】均值向量和协方差阵的检验——spss上机实验

均值向量和协方差阵的检验——spss上机实验 #参考书目为《多元统计分析》(第五版)——何晓群.中国人民大学出版社 #如有错误,请指正!谢谢~ #关注公众号搜索同名文章获取数据~ 习题2.3 现选取内蒙古、广西、贵州、云南、西藏、宁夏、新疆、甘肃和青海等9个内陆边远省区。选取人均GDP、第三产业比重、人均消费支出、人口自然增长率及文盲半文盲人口占15岁以上人口的比例等5项能较好的说明各地区社会经济发展水平的指标,验证边远及少数民族聚居区的社会经济发展水平与全国平均水平间有无显著差异。 将输入导入spss

suansuannainaizi的博客 3万+

宏基因组数据分析:差异分析(LEfSe安装使用及LDA score计算)

文章目录简介安装 简介 安装 报错: Collecting package metadata (current_repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. Solving environment: failed with repodata from current_repodata.json, will retry with next re

dys的博客 2万+

别再手动上传了!用宝塔面板的‘Let‘s Encrypt’免费SSL证书,3分钟自动续期

本文详细介绍了如何利用宝塔面板的‘Let‘s Encrypt’功能实现SSL证书的自动申请和续期,3分钟完成配置即可永久免费使用。通过对比不同SSL证书方案,突出Let's Encrypt的免费、自动续期和高安全性优势,特别适合个人博客和中小企业官网。

weixin_30415113的博客 150

新手入门机器学习案例(附源代码)

无

guguo666的博客 6656

三天实现独立分析宏基因组数据(有参、无参和分箱等)

在广大粉丝的期待下,《生信宝典》联合《宏基因组》在2019年11月1-3日,北京鼓楼推出《宏基因组分析》专题培训第六期,为大家提供一条走进生信大门的捷径、为同行提供一个宏基因组分析学习和...

刘永鑫的博客——宏基因组公众号 4979

S7-1500——(一)西门子PLC编程算法及程序设计1、拆解基本算法(一)

顺序队列也是一种操作受限的线性表,在一端添加数据,另一端取出数据,符合先进先出的特性工作过程:需要两个指针来指向存取元素的位置(头指针,尾指针)如下图头指针指向队列里边第一个元素位置(即下次出队元素所在的位置)尾指针是指向队列内最后一个元素的下一个位置(即下次要入队的元素要存放的位置)空队状态:最初始状态,队列没有任何元素,头指针和尾指针都指向队头,(由于没有任何元素,不能做出队操作,可进行入队操作)入队操作出队操作满队:一直入队,最终元素装满队列;满队后,虽然队列前面还有空间,但由于。

大小曲奇的博客 1605

Protein Cell:扩增子和宏基因组数据分析实用指南

扩增子和宏基因组数据分析实用指南A practical guide to amplicon and metagenomic analysis of microbiome dataProt...

刘永鑫的博客——宏基因组公众号 1万+

后悔没早点知道!用AI只需四步,一次性讲清高质量论文引言写法(附公式+AI指令)

帮我写SCI 论文撰写引言的“研究背景与重要性”,要求从本研究所属领域的小背景切入,使用现在时态描述该领域的总体状况与发展趋势,突出其在学术研究、实际应用或社会层面的重要价值,并通过一个吸引人的钩子开头,如关键事实、现实问题或学术热点,引导读者关注本主题的重要性。梳理你所在领域和你研究相关的关键成果,但不能罗列所有文献,重点抓核心脉络,这部分最重要的实际上是让你了解别人的研究脉络,然后在每个关键的节点上,引用几篇关键参考文献作支撑,来体现你对领域的熟悉度就可以了。3)研究缺口模糊,没法突出问题的真实价值;

qq_64378896的博客 116

3、基于视觉的智能分拣机:原理、算法与应用

本文介绍了一种基于视觉的智能分拣系统,利用树莓派、相机模块和多种检测算法实现低成本、高精度的物体分拣。系统支持颜色、形状和尺寸三种检测方式,准确率达99%,广泛适用于制造业、农业和物流等领域。文章详细阐述了各检测算法原理、测试结果及系统优化方向,并探讨了其实际应用案例与未来发展前景。

mqtt6iot的博客 237

使用InStrain进行宏基因组群体分析

InStrain是一个用于微生物群体分析的软件包,它可以从微生物群体中提取遗传多样性,并对其进行可视化。本文介绍了InStrain的安装和使用方法,如何使用InStrain进行宏基因组群体分析。

Asa12138的博客 4934

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

宏基因组定量、功能注释和高级分析代码

今天是第1283期日报。Nature子刊:Salmon不比对快速定量宏基因组基因Nature Methods[IF:28.467]① Salmon是一种准确快速定量转录本丰度的方法;② ...

刘永鑫的博客——宏基因组公众号 5515

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

入门级宏基因组数据分析教程,从实验到分析与应用

宏基因组学彻底改变了研究人员对微生物群落的认识,微生物组不仅是环境组分,更作为共生体深刻影响着宿主的健康与功能。鉴于微生物群落固有的复杂性及其所处环境的多样性,研究者进行一些宏基因组学研究时必须精心设计以获取能真实反映目标群体特征的准确结果。

weixin_49214410的博客 4245

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

一文读懂宏基因组分析套路

很多亲人感觉宏基因组的分析结果内容种类太多,根本学不过来。其实本质上并不复杂,只分为两类:物种组成和功能组成两大类,这是核心结果;再加上开头系统描述和结尾的讨论比较。通常会出现固定套路的4部分结构。 今天就从之前解决的1篇nature, 2篇science, 入手来总结宏基因组分析的基本思路。只有分析思路清楚,结果才更容易説清楚。 文章思路和结果 文章分析思路:整体概述——物种组成——功...

刘永鑫的博客——宏基因组公众号 5万+

2019微生物组—宏基因组分析专题培训第三期

在广大粉丝的期待下,《生信宝典》联合《宏基因组》在2019年3月22-24日,北京鼓楼推出《宏基因组分析》专题培训第三期,为大家提供一条走进生信大门的捷径、为同行提供一个宏基因组分析学...

刘永鑫的博客——宏基因组公众号 1273

微生物组-宏基因组分析专题研讨会(2022.8)

福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析、宏基因组、Python课程和转录组的线上直播课。报名参加线上直播课的老师可在1年内选择参加同课程的一次线下课。期待和大家的线上线下会晤。目前可以通报的信息:临床基因组学线上/线下开课时间:2022/7/8-2022/7/10扩增子线上/线下开课时间:2022/7/15-2022/...

刘永鑫的博客——宏基因组公众号 1178

2019最后一期—宏基因组分析技术研讨会

在广大粉丝的期待下,《生信宝典》联合《宏基因组》在2019年11月1-3日,北京鼓楼推出《宏基因组分析》专题培训第六期,为大家提供一条走进生信大门的捷径、为同行提供一个宏基因组分析学习和...

刘永鑫的博客——宏基因组公众号 1008

一文读懂宏基因组元素循环分析全新升级策略

是一种基于高通量测序技术的微生物群落分析方法,旨在全面揭示环境中微生物对元素循环的贡献和作用机制。),已积累颇为丰富的项目经验。此次更新不但保留了原有的DiTing分析流程,还新增了涵盖更多元素循环功能基因的宏基因组元素循环分析新流程,提供两种分析模式供您选择,分析更多样化。

Magigene的博客 2335

宏基因组分析技术研讨会-2019年最后一期

在广大粉丝的期待下,《生信宝典》联合《宏基因组》在2019年11月1-3日,北京鼓楼推出《宏基因组分析》专题培训第六期,为大家提供一条走进生信大门的捷径、为同行提供一个宏基因组分析学习和...

刘永鑫的博客——宏基因组公众号 705

2019微生物组—宏基因组分析技术专题研讨会第四期

文章目录课程简介课程大纲一、分析平台搭建二、生信基础三、图表解读和绘制专题四、宏基因组学概述五、宏基因组学有参分析流程六、宏基因组无参分析流程七、高级分析与可视化实战学习完本课程,你能得到什么?主讲教师往期课程瞬间助教团队授课模式培训时间授课地点课程价格课程福利 在广大粉丝的期待下,《生信宝典》联合《宏基因组》在2019年6月21-23日,北京鼓楼推出《宏基因组分析》专题培训第四期,为大家提供一...

刘永鑫的博客——宏基因组公众号 1252
上一篇: 流平衡分析(FBA)
下一篇: 宏基因组分析流程报错与解决
ruby912
博客等级 码龄9年 83粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值