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

2024-03-03 08:28

本文主要是介绍UCSF DOCK 分子对接详细案例(03)-分子从头设计de novo Design,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎浏览我的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_genericdock6 -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.mindock6 -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 …点击进入

这篇关于UCSF DOCK 分子对接详细案例(03)-分子从头设计de novo Design的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/769055

相关文章

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

如何在Java Spring实现异步执行(详细篇)

《如何在JavaSpring实现异步执行(详细篇)》Spring框架通过@Async、Executor等实现异步执行,提升系统性能与响应速度,支持自定义线程池管理并发,本文给大家介绍如何在Sprin... 目录前言1. 使用 @Async 实现异步执行1.1 启用异步执行支持1.2 创建异步方法1.3 调用

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1