UCSF DOCK 分子对接详细案例(03)-分子从头设计de novo Design

本文分享UCSF DOCK 6.11的de novo Design模块使用案例,包括三项功能:通用从头设计、基于anchor的优化生成及基于用户自定义片段库的设计。介绍了软件及操作环境、研究目的、结构文件准备,详细阐述各功能操作步骤及结果查看,强调实际应用需摸索优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入


前言

本文是UCSF DOCK的使用案例分享,包括DOCK 6.11的de novo Design 模块包含的三项功能:
(1)Generic de novo design
(2)De Novo Refinement
(3)用户自定义生成片段库并实现Focused De Novo Design

一、 软件及操作环境

操作环境:Ubuntu 22.04
软件版本:UCSF DOCK 6.11,安装可以参考这篇博文;UCSF Chimera 1.17.3,UCSF ChimeraX 1.7.1,安装可以参考这篇博文

二、研究目的

NX-2127是一款具有双重活性的口服小分子靶向蛋白降解剂,可以布鲁顿氏酪氨酸激酶(BTK)蛋白。在与BTK结合的同时,NX-2127还可以招募E3泛素连接酶,使BTK蛋白“泛素化”,从而BTK被蛋白酶体降解。

在本实例中,我们将使用DOCK的通用片段库,从头开始为我们的受体构建新的配体:
首先,展示通用的Generic de novo design,随后是基于anchor的优化生成De Novo Refinement,最后是基于用户自定义生成片段库的Focused De Novo Design。

三、结构文件准备

grid文件来自于前一篇案例分享:UCSF DOCK 分子对接详细案例(02)-并行用于高通量虚拟筛选
也可以在此下载本案例需要的输入文件:下载

新建本案例需要的目录:

cd DOCK_workdir
mkdir 009_denovo_generic 010_denovo_refine 011_denovo_focused

现在,DOCK_workdir 内容如下:
在这里插入图片描述

四、 DOCK中 de novo design

4.1 generic de novo design

cd ./009_denovo_generic

将此前建立的格点文件.bmp和.nrg文件复制到本目录:

cp ../003_gridbox/grid.bmp ../003_gridbox/grid.nrg ./

创建参数输入文件generic.in,输入以下内容:

conformer_search_type                                        denovo
dn_fraglib_scaffold_file                                     $DOCKHOME/parameters/fraglib_scaffold.mol2
dn_fraglib_linker_file                                       $DOCKHOME/parameters/fraglib_linker.mol2
dn_fraglib_sidechain_file                                    $DOCKHOME/parameters/fraglib_sidechain.mol2
dn_user_specified_anchor                                     no
dn_torenv_table                                              $DOCKHOME/parameters/fraglib_torenv.dat
dn_name_identifier                                           8u2e_generic
dn_sampling_method                                           graph
dn_graph_max_picks                                           30
dn_graph_breadth                                             3
dn_graph_depth                                               2
dn_graph_temperature                                         100.0
dn_pruning_conformer_score_cutoff                            100.0
dn_pruning_conformer_score_scaling_factor                    2.0
dn_pruning_clustering_cutoff                                 100.0
dn_mol_wt_cutoff_type                                        soft
dn_upper_constraint_mol_wt                                   550.0
dn_lower_constraint_mol_wt                                   0.0
dn_mol_wt_std_dev                                            35.0
dn_constraint_rot_bon                                        15
dn_constraint_formal_charge                                  2.0
dn_heur_unmatched_num                                        1
dn_heur_matched_rmsd                                         2.0
dn_unique_anchors                                            1
dn_max_grow_layers                                           9
dn_max_root_size                                             25
dn_max_layer_size                                            25
dn_max_current_aps                                           5
dn_max_scaffolds_per_layer                                   1
dn_write_checkpoints                                         yes
dn_write_prune_dump                                          no
dn_write_orients                                             no
dn_write_growth_trees                                        no
dn_output_prefix                                             8u2e_generic
use_internal_energy                                          yes
internal_energy_rep_exp                                      12
internal_energy_cutoff                                       100.0
use_database_filter                                          no
orient_ligand                                                yes
automated_matching                                           yes
receptor_site_file                                           ../002_surface_spheres/selected_spheres.sph
max_orientations                                             1000
critical_points                                              no
chemical_matching                                            no
use_ligand_spheres                                           no
bump_filter                                                  yes
bump_grid_prefix                                             grid
max_bumps_anchor                                             2
max_bumps_growth                                             2
score_molecules                                              yes
contact_score_primary                                        no
grid_score_primary                                           yes
grid_score_rep_rad_scale                                     1
grid_score_vdw_scale                                         1
grid_score_es_scale                                          1
grid_score_grid_prefix                                       grid
minimize_ligand                                              yes
minimize_anchor                                              yes
minimize_flexible_growth                                     yes
use_advanced_simplex_parameters                              no
simplex_max_cycles                                           1
simplex_score_converge                                       0.1
simplex_cycle_converge                                       1.0
simplex_trans_step                                           1.0
simplex_rot_step                                             0.1
simplex_tors_step                                            10.0
simplex_anchor_max_iterations                                500
simplex_grow_max_iterations                                  250
simplex_grow_tors_premin_iterations                          0
simplex_random_seed                                          0
simplex_restraint_min                                        no
atom_model                                                   all
vdw_defn_file                                                $DOCKHOME/parameters/vdw_de_novo.defn
flex_defn_file                                               $DOCKHOME/parameters/flex.defn
flex_drive_file                                              $DOCKHOME/parameters/flex_drive.tbl

编写slurm运行脚本generic.sh,写入以下内容:

#! /bin/sh
#SBATCH --time=5:00:00
#SBATCH --nodes=1
#SBATCH --ntasks=10
#SBATCH --job-name=BTK_generic
#SBATCH --output=BTK_generic

dock6 -i generic.in

运行:

sbatch cart_min.sh

大约运行30 min。
结果文件:8u2e_generic.denovo_build.mol2,生成565个分子,可以通过Chimera或者ChimeraX的ViewDock查看:
在这里插入图片描述

4.2 Rescoring the Outputs对输出重新评分

通过4.1中的方式产生的分子已经通过grid score进行评分,可以进一步做rigid docking能量最小化优化,以此更加准确评价生成分子与受体之间结合能力。

vim generic_min.in
conformer_search_type                                        rigid
use_internal_energy                                          yes
internal_energy_rep_exp                                      12
internal_energy_cutoff                                       100.0
ligand_atom_file                                             8u2e_generic.denovo_build.mol2
limit_max_ligands                                            no
skip_molecule                                                no
read_mol_solvation                                           no
calculate_rmsd                                               no
use_database_filter                                          no
orient_ligand                                                yes
automated_matching                                           yes
receptor_site_file                                           ../002_surface_spheres/selected_spheres.sph
max_orientations                                             1000
critical_points                                              no
chemical_matching                                            no
use_ligand_spheres                                           no
bump_filter                                                  yes
bump_grid_prefix                                             grid
max_bumps_anchor                                             2
max_bumps_growth                                             2
score_molecules                                              yes
contact_score_primary                                        no
grid_score_primary                                           yes
grid_score_rep_rad_scale                                     1
grid_score_vdw_scale                                         1
grid_score_es_scale                                          1
grid_score_grid_prefix                                       ../003_gridbox/grid
minimize_ligand                                              yes
simplex_max_iterations                                       1000
simplex_tors_premin_iterations                               0
simplex_max_cycles                                           1
simplex_score_converge                                       0.1
simplex_cycle_converge                                       1.0
simplex_trans_step                                           1.0
simplex_rot_step                                             0.1
simplex_tors_step                                            10.0
simplex_random_seed                                          0
simplex_restraint_min                                        no
atom_model                                                   all
vdw_defn_file                                                $DOCKHOME/parameters/vdw_de_novo.defn
flex_defn_file                                               $DOCKHOME/parameters/flex.defn
flex_drive_file                                              $DOCKHOME/parameters/flex_drive.tbl
ligand_outfile_prefix                                        generic_min
write_orientations                                           no
num_scored_conformers                                        1
rank_ligands                                                 no

运行:

dock6 -i generic_min.in

或者,编写slurm运行脚本generic_min.sh,写入以下内容:

#! /bin/bash
#SBATCH --time=5:00:00
#SBATCH --nodes=1
#SBATCH --ntasks=10
#SBATCH --job-name=BTK_generic.min
#SBATCH --output=BTK_generic.min

dock6 -i generic_min.in

slurm运行:

sbatch generic_min.sh

大约运行5 min。
结果文件:generic_min_scored.mol2,对生成565个分子优化,可以通过Chimera或者ChimeraX的ViewDock查看:
在这里插入图片描述通过对比可以看出,优化后排名靠前的分子与未优化时靠前的分子,结构相近且具有较小的片段,因此该分子或者说该分子系列可能具有很好的受体结合能力。

五、 De Novo Refinement

cd ../010_denovo_refine

如何在固有配体的指引下生成新的结构,并且与受体依然有良好的结合是药物设计的核心任务。该项工作往往是对配体受体充分了解后开展的,没特定的模式可供套用。

如下图所示,N-甲基哌嗪处于口袋外的溶剂区域,如果采用fast-follow结构修饰的研究策略,那单独改造这个部分是保持活性的同时,重点研究的片段之一。如果考虑采用de novo生成方法,获得全新骨架系列分子的抑制剂,以上方法将不再适用。

一般而言,口袋内部的结合对配体-受体的结合起着非常重要的作用,结合熵变与结合焓变可能都是非常重要的结合贡献力量。保持溶剂区片段不变,寻找具有新型结构的在口袋内部结合的片段,是一项具有挑战性但意义巨大的工作。

本实例是基于已知的药效分子与靶点BTK的结合模式,利用DOCK De Novo Refinement功能,产生新的具有潜在结合的配体分子,保留溶剂区片段(可以尝试,同时保留另外一个靠近口袋外的片段,此处不再展示)。分为三部分:

准备配体

在这里插入图片描述如上图所示,删除配体分子溶剂区片段以外的结构,保存分子为.mol2格式,查看删除分子的连接原子编号(这里是C24),在mol2分子中修改其原子类型为Du,并标记原子名字为Du1,这个位置是产生新结构的起始位置。如下:
在这里插入图片描述
保存文件,名称Chopped_ligand_for_denovo.mol2。

运行Refinement

保存运行参数文件:de_novo_refine.in,内容如下:

conformer_search_type                                        denovo
dn_fraglib_scaffold_file                                     $DOCKHOME/parameters/fraglib_scaffold.mol2
dn_fraglib_linker_file                                       $DOCKHOME/parameters/fraglib_linker.mol2
dn_fraglib_sidechain_file                                    $DOCKHOME/parameters/fraglib_sidechain.mol2
dn_user_specified_anchor                                     yes
dn_fraglib_anchor_file                                       Chopped_ligand_for_denovo.mol2
dn_torenv_table                                              $DOCKHOME/parameters/fraglib_torenv.dat
dn_name_identifier                                           8u2e_refine
dn_sampling_method                                           graph
dn_graph_max_picks                                           30
dn_graph_breadth                                             3
dn_graph_depth                                               2
dn_graph_temperature                                         100.0
dn_pruning_conformer_score_cutoff                            100.0
dn_pruning_conformer_score_scaling_factor                    2.0
dn_pruning_clustering_cutoff                                 100.0
dn_mol_wt_cutoff_type                                        soft
dn_upper_constraint_mol_wt                                   550.0
dn_lower_constraint_mol_wt                                   0.0
dn_mol_wt_std_dev                                            35.0
dn_constraint_rot_bon                                        15
dn_constraint_formal_charge                                  2.0
dn_heur_unmatched_num                                        1
dn_heur_matched_rmsd                                         2.0
dn_unique_anchors                                            1
dn_max_grow_layers                                           9
dn_max_root_size                                             25
dn_max_layer_size                                            25
dn_max_current_aps                                           5
dn_max_scaffolds_per_layer                                   1
dn_write_checkpoints                                         yes
dn_write_prune_dump                                          no
dn_write_orients                                             no
dn_write_growth_trees                                        no
dn_output_prefix                                             8u2e_refine
use_internal_energy                                          yes
internal_energy_rep_exp                                      12
internal_energy_cutoff                                       100.0
use_database_filter                                          no
orient_ligand                                                no
bump_filter                                                  no
score_molecules                                              yes
contact_score_primary                                        no
grid_score_primary                                           yes
grid_score_rep_rad_scale                                     1
grid_score_vdw_scale                                         1
grid_score_es_scale                                          1
grid_score_grid_prefix                                       ../003_gridbox/grid
minimize_ligand                                              yes
minimize_anchor                                              no
minimize_flexible_growth                                     yes
use_advanced_simplex_parameters                              no
simplex_max_cycles                                           1
simplex_score_converge                                       0.1
simplex_cycle_converge                                       1.0
simplex_trans_step                                           1.0
simplex_rot_step                                             0.1
simplex_tors_step                                            10.0
simplex_grow_max_iterations                                  250
simplex_grow_tors_premin_iterations                          0
simplex_random_seed                                          0
simplex_restraint_min                                        yes
simplex_coefficient_restraint                                10.0
atom_model                                                   all
vdw_defn_file                                                $DOCKHOME/parameters/vdw_de_novo.defn
flex_defn_file                                               $DOCKHOME/parameters/flex.defn
flex_drive_file                                              $DOCKHOME/parameters/flex_drive.tbl

关于de_novo_refine.in一些参数的说明:

-dn_user_specified_anchor 设置为no时,如果希望运行从头设计运行,其中他们不指定具有虚拟原子的输入锚,DOCK将使用片段库中的部分作为锚点来构建,允许尝试多个不同的锚点和方向。
-dn_sampling_method 可以是“graph”、“random”或“exhaustive”。“graph”将选择与先前选择的改善网格得分的部分相似的片段,因此图将试图以促进改善配体的方式偏向未来的片段选择。术语“random”将导致片段被随机选择。“exhaustive”将确保在每个可能的位置尝试每个可能的片段,会显著增加所需的计算时间。
-dn_graph_max_picks 和dn_num_random_picks(后者在上面未示出)控制每个生长层每个虚原子尝试多少片段。
-dn_max_grow_layers 控制DOCK将从初始锚上的每个虚拟原子向外生长多少个片段。8-9层,通常用于从头开始生长配体而不设置锚。
-minimize_ligand 当设置为yes时,将尝试在每个片段选择后使配体能量最小化。
-minimize_anchor 当设置为yes时,将尝试在连接片段之前使锚能量最小化,而不管锚是由用户提供还是随机选择。对于从头运行,其中锚是以已知方向结合的配体的一部分,最好将此参数设置为“no”。否则,DOCK 可能会在尝试用新的片段生长之前改变你的锚的方向,产生的分子可能不能反映配体通常如何结合。
-simplex_restraint_min 应设置为yes时,该参数基本上将拉伸系绳应用于初始锚,允许其为了能量最小化而稍微偏离其起始位置,但影响RMSD。 

运行:

dock6 -i de_novo_refine.in

查看结果

生成8u2e_refine.denovo_build.mol2文件,可以用ChimeraX ViewDock查看。

在这里插入图片描述

六、 Focused De Novo Design

cd ../011_denovo_focused

生成片段库

DOCK可以读取包含有一个或者多个分子的mol2文件,生成片段库。以输入up9分子为例。
新建片段生成的输入参数文件frag_gen.in,输入以下内容:

conformer_search_type                                        flex
write_fragment_libraries                                     yes
fragment_library_prefix                                      up9_fraglib
fragment_library_freq_cutoff                                 1
fragment_library_sort_method                                 freq
fragment_library_trans_origin                                yes
use_internal_energy                                          yes
internal_energy_rep_exp                                      12
internal_energy_cutoff                                       100.0
ligand_atom_file                                             ../001_structure/up9_rec_withH.mol2
limit_max_ligands                                            no
skip_molecule                                                no
read_mol_solvation                                           no
calculate_rmsd                                               no
use_database_filter                                          no
orient_ligand                                                no
bump_filter                                                  no
score_molecules                                              no
atom_model                                                   all
vdw_defn_file                                                $DOCKHOME/parameters/vdw_de_novo.defn
flex_defn_file                                               $DOCKHOME/parameters/flex.defn
flex_drive_file                                              $DOCKHOME/parameters/flex_drive.tbl
ligand_outfile_prefix                                        up9_trash
write_orientations                                           no
num_scored_conformers                                        1
rank_ligands                                                 no

运行:

dock6 -i frag_gen.in -o frag_gen.out

生成以下6个文件,可以使用ChimeraX查看。
在这里插入图片描述
frag_gen.in输入参数的说明:

-fragment_library_freq_cutoff 作为一种排序机制,只允许出现指定次数的片段进入库。当设置为1时,这允许将出现一次的任何片段添加到库中。
-fragment_library_transs_origin 设置为yes时,会将空间中的所有片段平移到一个位置,这样当在Chimera或ChimeraX等程序中查看时,用户可以查看各种片段,而无需在每次切换正在查看的片段时调整位置。

Fragment Library Merging

可以将DOCK自带的片段库与用户生成的片段库合并使用。
将自带库拷贝进工作目录:

cp $DOCKHOME/parameters/fraglib_s*.mol2 $DOCKHOME/parameters/fraglib_linker.mol2 $DOCKHOME/parameters/fraglib_torenv.dat ./
cat *linker* >> combined_fraglib_linker.mol2
cat *sidechain* >> combined_fraglib_sidechain.mol2
cat *scaffold* >> combined_fraglib_scaffold.mol2

合并torsion files:

python $DOCKHOME/bin/combine_torenv.py fraglib_torenv.dat up9_fraglib_torenv.dat

以上便得到片段和torsion数据库。

Running the Focused De Novo Design

新建Focused De Novo Design的输入参数文件focused.in,输入以下内容:

conformer_search_type                                        denovo
dn_fraglib_scaffold_file                                     combined_fraglib_scaffold.mol2
dn_fraglib_linker_file                                       combined_fraglib_linker.mol2
dn_fraglib_sidechain_file                                    combined_fraglib_sidechain.mol2
dn_user_specified_anchor                                     yes
dn_fraglib_anchor_file                                       ../010_denovo_refine/Chopped_ligand_for_denovo.mol2
dn_torenv_table                                              fraglib_torenv.dat
dn_name_identifier                                           focused_8u2e.combined
dn_sampling_method                                           graph
dn_graph_max_picks                                           30
dn_graph_breadth                                             3
dn_graph_depth                                               3
dn_graph_temperature                                         100.0
dn_pruning_conformer_score_cutoff                            100.0
dn_pruning_conformer_score_scaling_factor                    2.0
dn_pruning_clustering_cutoff                                 100.0
dn_mol_wt_cutoff_type                                        soft
dn_upper_constraint_mol_wt                                   550.0
dn_lower_constraint_mol_wt                                   0.0
dn_mol_wt_std_dev                                            35.0
dn_constraint_rot_bon                                        15
dn_constraint_formal_charge                                  2.0
dn_heur_unmatched_num                                        1
dn_heur_matched_rmsd                                         2.0
dn_unique_anchors                                            1
dn_max_grow_layers                                           5
dn_max_root_size                                             25
dn_max_layer_size                                            25
dn_max_current_aps                                           5
dn_max_scaffolds_per_layer                                   1
dn_write_checkpoints                                         yes
dn_write_prune_dump                                          no
dn_write_orients                                             no
dn_write_growth_trees                                        no
dn_output_prefix                                             8u2e_focused
use_internal_energy                                          yes
internal_energy_rep_exp                                      12
internal_energy_cutoff                                       100.0
use_database_filter                                          no
orient_ligand                                                no
bump_filter                                                  no
score_molecules                                              yes
contact_score_primary                                        no
grid_score_primary                                           yes
grid_score_rep_rad_scale                                     1
grid_score_vdw_scale                                         1
grid_score_es_scale                                          1
grid_score_grid_prefix                                       ../003_gridbox/grid
minimize_ligand                                              no
atom_model                                                   all
vdw_defn_file                                                $DOCKHOME/parameters/vdw_de_novo.defn
flex_defn_file                                               $DOCKHOME/parameters/flex.defn
flex_drive_file                                              $DOCKHOME/parameters/flex_drive.tbl

运行:

dock6 -i focused.in -o focused.out

查看结果:

在以上演示条件下,生成1061个分子,可以通过ViewDock查看。

实际使用,片段库和生成参数均需要摸索和优化,才能生成需要的新分子,是一个不断优化和探索的过程。

总结

在本实例中,我们使用DOCK的通用片段库,从头开始为我们的受体构建新的配体;也使用DOCK片段数据库构建功能建立片段数据库用于分子生成。主要分为三个部分:首先,展示通用的Generic de novo design,随后是基于anchor的优化生成De Novo Refinement,最后是基于用户自定义生成片段库的Focused De Novo Design。

参考资料

  1. https://ringo.ams.stonybrook.edu/index.php/Main_Page
  2. https://dock.compbio.ucsf.edu/DOCK_6/dock6_manual.htm
  3. https://pubs.acs.org/doi/pdf/10.1021/acs.jcim.3c01031

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入
<think>好的,我现在需要处理用户关于分子对接的教程、软件和使用方法的查询。首先,用户提到了几个引用,我需要仔细看看这些引用内容,确保回答中正确引用。 用户引用了三个来源:引用[1]介绍了UCSF DOCK,提到它是功能强大的分子对接软件,应用于药物发现等领域。引用[2]涉及软件操作步骤,比如清空页面和加载分子。引用[3]提到薛定谔Maestro软件,需要注意版权问题。用户的需求是寻找相关教程和软件使用方法,所以需要整合这些信息,并生成结构清晰的回答。 接下来,我需要按照系统级指令来组织回答。首先,所有数学公式要用$...$,但这里可能涉及较少数学内容,主要关注软件使用。然后确保使用中文,生成相关问题,并在引用处添加标识。 用户可能需要的教程包括软件安装、基本操作步骤、具体对接流程等。需要分步骤说明,比如安装步骤、准备分子文件、运行对接、结果分析等。同时,要提到不同软件的特点,比如DOCK和Maestro的区别,以及注意事项如版权问题。 需要检查是否有遗漏的要点,比如是否还有其他常用软件如AutoDock Vina,是否需要简要提到。此外,确保每个引用正确对应到相关内容,比如引用[1]用于DOCK的介绍,引用[2]用于操作步骤,引用[3]用于Maestro的版权提醒。 最后,生成相关问题时要围绕分子对接的教程、软件选择、步骤、结果分析和常见问题。确保问题覆盖用户可能进一步询问的方向。</think>### 分子对接教程与软件使用指南 分子对接是生物信息学中研究分子相互作用的核心技术,常用于药物设计和结构生物学研究。以下是关键软件及教程的整理: --- #### 一、主流分子对接软件 1. **UCSF DOCK** - **特点**:专精虚拟筛选与分子对接,支持精确结合位点预测和能量计算[^1]。 - **安装步骤**: - 下载源码后编译安装(需Linux环境) - 配置环境变量并验证功能 - **基础操作**: ```bash # 示例:生成对接输入文件 dock6 -i prep.in -o prep.out ``` - **教程资源**:官方文档(https://dock.compbio.ucsf.edu) 2. **薛定谔Maestro** - **特点**:图形界面友好,集成分子动力学与对接功能,但需注意版权问题[^3]。 - **操作流程**: 1. 通过`File > Import`加载蛋白和配体文件[^2] 2. 使用`Glide`模块设置对接参数(如网格生成、评分函数) 3. 运行分析并可视化结果 --- #### 二、通用对接步骤 1. **准备分子文件** - 蛋白结构:从PDB数据库下载(格式`.pdb`),用软件(如PyMOL)去除水分子和杂质。 - 配体处理:用OpenBabel转换格式(如`.mol2`或`.sdf`),并优化电荷分布。 2. **生成对接网格** - 定义结合位点的三维空间,例如使用DOCK的`grid`工具或AutoDock的`AutoGrid`。 - 数学描述:网格能量计算可表示为$$E_{\text{grid}} = \sum_{i} \left( \frac{A_i}{r^{12}} - \frac{B_i}{r^6} \right)$$,其中$A_i$和$B_i$为原子参数。 3. **运行对接与结果分析** - 输出文件通常包含结合构象、评分值(如结合能$\Delta G$)。 - 使用PyMOL或Chimera可视化最佳结合模式。 --- #### 三、注意事项 1. **软件选择**: - 学术用途优先开源工具(如AutoDock Vina),商业场景需合规授权。 2. **硬件要求**:对接计算需较高算力,建议使用GPU加速(如薛定谔的Desmond模块)。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blockbuster_drug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值