当前位置: 首页 > news >正文

P450催化的联芳基偶联反应-文献精读72

Chemoenzymatic Synthesis of Fluorinated Mycocyclosin Enabled by the Engineered Cytochrome P450-Catalyzed Biaryl Coupling Reaction

经工程化的细胞色素P450催化的联芳基偶联反应实现氟代麦环素的化学酶促合成

摘要

将氟原子引入天然产物有望生成具有改良或新颖药理特性的氟代分子。酶促氧化的碳-碳偶联反应是合成联芳结构的一种简单策略,但利用该方法生产氟取代天然产物衍生物的探索仍不充分。在本研究中,我们报道了通过蛋白质工程改造来源于结核分枝杆菌的细胞色素P450(MtCYP121),用于构建一系列具有自然界中新颖氟取代麦环素的衍生物。该方法利用了一种“混合”化学酶促程序,包括酪氨酸苯酚裂解酶催化的氟酪氨酸合成(以市售氟代苯酚为原料)、分子间化学缩合生成二酪氨酸、以及经工程化的MtCYP121催化的分子内双酚偶联反应,以完成张力大的大环结构。计算机制研究表明,MtCYP121通过Cpd I从底物的近端酚羟基抽取氢原子以触发反应。随后构象变化使得两个酚羟基足够靠近,在一个水分子的帮助下发生分子内氢原子转移。最终的双自由基偶联过程完成了分子内C–C键的形成。研究发现,生物芳基偶联反应的效率受不同氟取代影响,主要是由于不同的结合构象所致。

引言

引入氟原子到有机小分子中,通常能够改善其物理化学和药代动力学性质,从而提高药物潜力。(1−5) 因此,有机合成领域的大量研究集中在开发新的试剂和氟化/氟烷基化反应,以制备氟有机化合物。(6−10) 相比之下,生物催化策略在有机氟化学中的应用较少,尽管它更符合绿色和可持续化学的原则。(11−13) 这可能是由于氟化物的生物毒性,(14,15) 氟化酶的稀缺,(16,17) 以及复杂的氟化物消除过程。(18,19) 为克服这一瓶颈,Süssmuth、Moore、Chang、O’Connor、Hailes和Grininger等研究团队最近探索了酶的底物宽容性,通过前体定向生物合成为多种药理学重要的天然产物(如生物碱、非核糖体肽和聚酮化合物)提供了氟化类似物的新途径。(29) 尽管取得了显著进展,通过合成化学和蛋白质工程相结合的突变合成来拓展氟代天然产物衍生物的化学空间仍然不足,需进一步研究。(30−32)

联芳结构在许多天然产物、生物聚合物和药物中频繁出现。(33−36) 例如,次级代谢产物万古霉素(一种糖肽类抗生素)、(37,38) 芳香霉素(39) 和麦环素(40) 都含有环内的联苯基团(图1a,顶部)。近年来,对卤素化天然产物的设计与合成越来越受到关注。(41) 例如,Wright等在2002年记录了含有刚性七肽核心的氯代万古霉素(A47934)的生物合成(图1a,左侧),(42) 而Molinaro等报道了通过工程化来源于链霉菌的细胞色素P450来实现分子内氧化联苯偶联反应,从而构建溴代芳香霉素核心(图1a,中间)。另一方面,麦环素是一种从结核分枝杆菌中分离得到的二肽次级代谢产物,由Belin及其同事于2009年发现。(40) 先前的研究表明,一种独特的P450酶(CYP121)负责形成联苯C–C键,从而构建麦环素中的高度拥挤的大环骨架。(44−49) 然而,据我们所知,MtCYP121的蛋白质工程研究尚未取得突破,特别是带有卤素原子修饰的非天然麦环素衍生物的结构多样性仍未充分探索(图1a,右侧)。在此背景下,我们开始了“混合”化学酶促合成氟代麦环素的项目(图1b)。然而,需考虑多个挑战。首先,所需反应涉及环状二肽的两个芳香C–H键的直接氧化偶联,以形成张力较大的大环。(50−54) 其次,引入氟原子到苯酚中将使苯环相对电子缺乏,从而增加氧化C–C交叉偶联反应的难度。(55,56) 此外,在P450酶催化的氧化条件下,常观察到氟的消除。(18,19) 为解决这些潜在问题,我们首先提出了一种新的级联化学酶促途径,以绕过依赖tRNA的环肽合成酶用于二肽合成(图1b,底部)。(57) 其次,我们设想通过MtCYP121的定向进化重新塑造其催化口袋,可能提高对非天然氟代底物的选择性和活性。(58−61) 此外,Liu等最近披露了MtCYP121通过催化过氧化物旁路路径执行二酪氨酸的分子内C–C交叉偶联反应。(62,63) 鉴于P450的“过氧化物旁路路径”可使用低成本的过氧化氢(H2O2)作为氧和电子供体,从而无需昂贵的NADPH和复杂的氧化还原伙伴激活双氧,(64−68) 我们计划采用CYP121–H2O2系统来研究联苯偶联反应。在此,我们报道了一个化学酶促平台的发展,用于从简单氟代苯酚出发,在制备规模上合成一系列氟取代麦环素衍生物(图1b,底部)。定向进化的细胞色素P450确定了一种MtCYP121双突变体(Q385A/A167M),能够高效催化联苯C–C键的形成,从而完成具有挑战性的宏环核心。进一步进行了计算机制研究,以阐明反应机制和氟取代的影响。

酶促氧化联苯偶联反应以获取含卤联苯基天然产物衍生物

结果与讨论
氟取代二酪氨酸的制备

我们的研究从市售的氟代苯酚1出发,制备各种氟取代的二酪氨酸5(见图2)。使用来自弗氏柠檬酸杆菌(Citrobacter freundii,WP_086550791.1)的吡哆醛5-磷酸(PLP)依赖性酪氨酸苯酚裂解酶(TPL)作为酶,将苯酚与铵离子和丙酮酸转化为相应的酪氨酸。(69−71) 该实用方案表现出较好的稳定性和良好的规模化潜力,如在Boc保护/脱保护步骤后,以适中分离收率和高纯度制备出克级3-氟酪氨酸(2a)、2-氟酪氨酸(2b)、2,3-二氟酪氨酸(2c)和四氘代酪氨酸(2d)(实验细节见支持信息)。随后,Boc-酪氨酸3与酪氨酸-OMe 4在DCC(N,N′-二环己基碳二亚胺)和Et3N的作用下发生分子间缩合,并经甲酸脱保护,生成了一系列氟取代的二酪氨酸5,在克级规模上具有一般可接受的分离收率。两个相同的氟酪氨酸(2a和2b)的偶联可得到对应的对称二聚体5a和5f。或者,通过探索不同组合,可以增加环二肽的结构多样性,从而获得单氟取代的二酪氨酸5b–5d,二氟取代的二酪氨酸5e和5g,三氟取代的二酪氨酸5h,以及四氟取代的二酪氨酸5i。

氟取代二酪氨酸5的制备(以氟代苯酚1a为原料)

制备模型底物2a的一般步骤:在5 L反应器中加入醋酸铵(18.50 g,240.01 mmol,1.5倍当量)、吡哆醛磷酸(160.0 mg)、丙酮酸(42.24 g,479.67 mmol,3.0倍当量)和2-巯基乙醇(3.12 g,39.93 mmol,0.25倍当量)。然后加入4 L pH为7.4的100.0 mM PBS缓冲液和氟代苯酚1a(162.36 mmol,1.0倍当量),搅拌至所有反应成分完全溶解。使用6.0 M NaOH将溶液pH调整至8.2,然后加入4.0 g粗酶粉CfTPL。得到的粗产物经过Boc保护/脱保护步骤,得到氟酪氨酸2a。其他氟酪氨酸2b–2c和氘标记的2d按照此通用步骤制备。

制备模型底物5a的一般步骤:将2a(10.05 mmol,1.0倍当量)和MeOH(10 mL)混合物冷却至0 °C,并用亚硫酰氯(1.78 g,15 mmol,1.5倍当量)处理,生成4a。然后,将3a(10.0 mmol,1.0倍当量)、4a(10.00 mmol,1.0倍当量)、DCC(2.06 g,10.0 mmol,1.0倍当量)溶于4:1 MeCN:DMF(50 mL),加入NEt3(1.01 g,10.0 mmol,1.0倍当量),在室温下反应,生成二酪氨酸5a。其他氟代二酪氨酸5b–5i也按照此通用步骤制备。实验细节见支持信息。

反应优化和酶定向进化

在手中获得了一系列氟取代的二酪氨酸后,我们接着探索酶促分子内氧化C–C偶联,以形成联苯基连接。在自然界中,MtCYP121可催化二酪氨酸(cYY,环-(L-酪氨酸-L-酪氨酸))转化为麦环素,使用铁氧还蛋白和铁氧还蛋白还原酶系统以及NADPH(烟酰胺腺嘌呤二核苷酸磷酸)。(40) 使用环-(3-氟酪氨酸-3-氟酪氨酸) 5a作为模型底物,在H2O2存在下探测野生型MtCYP121(GenBank ID: ANZ82981.1)的反应性(图3a)。令人鼓舞的是,通过全面评估反应参数,发现目标分子内偶联反应可以在NaHCO3/Na2CO3缓冲液(pH = 9.4,使用10% v/v DMSO作为共溶剂以提高底物溶解性)和60 mM H2O2(分批加入)的条件下进行(底物浓度为3 mM;筛选详情见支持信息),尽管仅有34%的转化率。用其他氧化剂如过乙酸(PAA)或二叔丁基过氧化物(DTBP)代替H2O2时,仅获得约10%的5a转化率。

模型反应优化与CYP121突变体的高通量筛选

为加速筛选大量蛋白变体库,首先基于高效液相色谱(HPLC)分析中底物5a与产物6a的吸光度差异,建立了适合高通量的分析方法(图3b,详细信息见SI第2.6节)。(72,73) 确定315 nm为最佳波长,因为在此波长下反应混合物的吸光度对不同底物浓度变化最大(图3b-1)。在315 nm处,底物5a的峰几乎消失,系统吸光度主要由产物6a的浓度贡献(图3b-2)。进一步分析确认了底物浓度与反应混合物吸光度之间的线性关系[相关系数(R²)=0.97](图3b-3),表明通过在微孔板上监测反应混合物的吸光度可以确定底物5a的转化率。HPLC中产物峰面积与反应混合物吸光度的线性关系[相关系数(R²)=0.99]表明反应混合物吸光度变化与产物6a的浓度密切相关(图3b-4)。因此,基于这些分析和对背景干扰及空白对照实验的评估,结果表明这种基于吸光度的高通量筛选(HTS)方法是检测底物转化率的可靠方法。此HTS方法可指示潜在的正突变体,之后通过克级实验的HPLC分析确定精确的转化率。

接下来,进行了多轮定向进化以提高MtCYP121在氧化偶联二酪氨酸5a生成联苯产物6a方面的活性。(74) 基于MtCYP121的晶体结构(PDB: 3G5H)及先前的机制研究,(40,44−49) 首先构建了位于催化活性位点周围的三个关键位点(S237、Q385和R386)的位点饱和突变库(图3c-1,以往研究发现了底物二酪氨酸与S237、Q385、R386及水分子的特殊氢键网络(40))。通过在96孔板中进行快速筛选,发现Q385位的Gln突变为Ala可显著提高5a的转化率,从34%提升至克级实验中的45%。随后,利用位点饱和突变针对直接底物结合位点和水辅助的间接氢键结合位点(T77、V83、N85、M86、A178、N181和W182)生成蛋白变体(图3c-2)。然而,未观察到比野生型MtCYP121更高催化性能的变体。最后,通过在活性位点5 Å范围内的随机突变筛选了其他变体:M62、V78、V82、V83、A167、F168、W182、V228、T229、G232、A233、F280和H343(图3c-3),最终发现了几个具有较高催化性能的双突变体,包括Q385A/A167M(86%转化率)、Q385A/G87A(69%转化率)和Q385A/G87Q(82%转化率)。进一步的组合突变生成了两个三突变体(Q385A/A167M/G87Q和Q385A/A167M/G87A),但未见显著活性提升(图3c-4)。因此,通过三轮蛋白质工程的迭代优化,将目标氧化交叉偶联反应的转化率从34%逐步提高至86%(图3c-4)。稳态动力学分析表明,MtCYP121-M2变体催化氧化偶联反应的周转数(kcat)为468.3 s⁻¹,米氏常数(KM)为1.344 mM(野生型MtCYP121的kcat=233.8 s⁻¹,KM=1.778 mM)。

底物范围

接着,以MtCYP121-M2变体(Q385A/A167M)为模型,在优化条件下对二酪氨酸5a–5i的底物宽容性进行了简要探索(图4)。单氟取代的麦环素衍生物6b在50%的cYY 5b转化率下获得。值得注意的是,此反应中C–H键与C–D键的偶联是可行的,生成了三氘代麦环素衍生物6c。(75,76) 在苯环3位含有一个氟原子的二酪氨酸5d对MtCYP121-M2的反应性明显较低,仅有微量转化率。而含3-和2'位氟原子的底物5e表现出中等反应性,含3-和3'位氟原子的5f则未检测到转化。这些结果表明2-位取代有利于氧化偶联过程,而3-位取代不利。含有两个氟原子的cYY 5g在一侧苯环上转化为对应的大环产物6g,转化率为45%。值得注意的是,含有三氟原子的cYY 5h与MtCYP121-M2兼容性良好,生成对应的三氟麦环素衍生物6h,转化率为90%。最后,在标准条件下,未观察到四氟化底物5i的转化。

氟取代麦环素衍生物的底物范围

一般步骤:向八个96深孔板的每孔中加入Q385A/A167M突变体的细菌溶液(800 μL,0.125 g/mL,Na2CO3/NaHCO3缓冲液,pH=9.4)、5a溶液(50 μL,3 mM,DMSO中)、6 U DNase I和1 mg/mL溶菌酶,以800 rpm在30 °C摇动,每隔30分钟加入10 μL 600 mM的H2O2共10次。

为验证此方法的实用性,对模型底物cYY 5a进行了克级反应(图5a)。如图所示,100 mL H2O2通过注射泵缓慢加入到含有搅拌棒的1 L反应混合物中。几乎观察到底物5a的完全转化,经过Bn保护-脱保护步骤后,得到高纯度的产物6a,最终分离收率为251 mg/L(实验细节见SI)。此外,将化合物6a与4-硝基苄溴处理得到保护产物7,收率为93%,并通过单晶X射线晶体学分析成功确认其结构。

氟代麦环素衍生物的放大反应及其X射线结构

计算机制研究
麦环素的生成机制

基于分辨率为1.40 Å的结核分枝杆菌CYP121的X射线晶体结构(PDB 3G5H),(40) 构建了初始计算模型。首先,将整个系统溶解到半径为37 Å的预平衡TIP3P水球中。随后,使用CHARMM全原子力场及CHARMM程序进行40 ns的动态模拟以平衡系统。最终选择40 ns时的快照用于后续的QM/MM计算。在QM/MM计算过程中,将系统分为两个区域:QM区域和MM区域。QM区域包含轴向配体Cys345、Cpd I、底物(cYY)、两个水分子(Wat285和Wat329)以及Ser237和Arg386的侧链。QM区域通过量子力学描述,QM区域之外的其他原子(MM区域)则通过分子力学处理。QM/MM计算采用Chemshell软件包,分别使用DL_POLY和TURBOMOLE程序计算MM和QM区域。计算细节详见支持信息。

在双重态下优化的酶–底物复合物结构如图1a所示。底物cYY呈现出与晶体结构(PDB 3G5H)一致的构象。(40) 在水分子Wat285的辅助下,Cpd I可以轻松从底物cYY的近端酚羟基中抽取氢原子,生成自由基中间体IM1,其对应的能垒为10.6 kcal/mol(图1b,c)。接下来,考虑内部氢原子转移过程以生成远端酚自由基。(47,62,77−79) 然而,由于两个酚羟基之间的距离较远,此步骤具有较大的难度。在此背景下,IM1的构象变化被认为参与了后续反应。(80) 估计此构象变化在酶的活性位点中具有约6.0 kcal/mol的较低能垒,对应的中间体IM2的相对能量与IM1相似(图1d和图2a)。发现自由底物的构象变化仅对应约5.0 kcal/mol的能垒。

(a) 酶–底物复合物的优化结构,记为R。 (b) 通过氢原子抽取生成的自由基中间体(IM1)。 (c) 氢原子抽取的能量曲线。 (d) 构象调整后的自由基中间体(IM2)。

(a) 分子内氢原子转移和C–C偶联的计算能量曲线。 (b) 分子内氢原子转移过程中过渡态和中间体的优化结构。

在生成IM2后,发生分子内氢原子从远端酚羟基转移至近端氧自由基,从而激活远端芳香环。根据我们的计算结果,IM2的分子内氢原子转移需要一个口袋水分子(Wat329)的辅助,并对应一个20.0 kcal/mol的能垒,生成远端酪氨酸自由基中间体IM3(图2)。在先前的研究中,(47,62) 曾建议IM3的生成可能遵循PCET机制。然而,我们发现自旋分布数据支持氢转移过程。在接下来的步骤中,Fe(IV)–OH(Cpd II)从近端羟基中抽取氢,生成双自由基中间体IM4。值得注意的是,IM4中的两个自由基在整个芳香环上离域,从而发生双自由基偶联并形成C–C键。我们的计算表明,分子内氢原子转移(从IM2到IM3)是速率限制步骤。IM5的最终芳构化过程被计算为非酶促反应,可通过弱碱催化实现。

反应机制中氟取代的效应

根据我们的实验结果,氟取代的二酪氨酸5a–5i在C–C偶联反应中的转化率不同。特别是,在MtCYP121-M2变体(Q385A/A167M)催化下,底物5a(2,2′-双氟取代)在生成6a时的转化率最高(86%),而底物5f(3,3′-双氟取代)则完全无活性。为了理解氟取代效应的原因,我们首先计算了不同氟取代的二酪氨酸中IM2到IM3的分子内氢原子转移的能垒,这是速率限制步骤。然而,计算结果表明氟原子位置对反应能垒没有明显影响(详见支持信息)。通过检查5a和5f的两个芳香环的自旋分布,我们也没有发现这两种底物之间有显著差异。因此,合理推测氟取代对IM2到IM3的分子内氢原子转移影响不大。

接下来,我们比较了天然底物cYY (5)和氟取代cYY 5a–5h在C–C键形成步骤的计算能垒,结果显示没有显著差异(详见支持信息)。在这一阶段,我们进一步考虑了可能影响氟取代二酪氨酸反应速率的其他因素。为对比,我们进一步使用5、5a和5f作为底物进行分子对接,并进行了MD模拟。结果显示氟原子的位置确实对底物的结合构象有显著影响(详见支持信息)。例如,2,2′-双氟取代的底物5a与天然底物5相比,表现出几乎相同的结合构象(图3)。然而,3,3′-双氟取代的底物5f则表现出完全不同的结合构象。这种构象差异可能导致在相同的CYP121突变体催化下产生不同的反应表现。这些初步结果表明,氟取代不会影响活性位点中底物的化学反应性,但会通过构象变化影响底物的动态性,最终影响整体的联芳偶联反应效率。我们通过突变口袋残基提高CYP121活性这一事实也支持了上述推测。

从100 ns的MD模拟中获得的MtCYP121-M2变体(Q385A/A167M)与底物(5、5a、5f)复合物的最终平均结构。

结论

总之,我们成功开发了一条化学酶促途径,用于合成具有新颖性的氟代麦环素,其中包括两个酶促反应和一个化学缩合转化。该方案的关键在于将细胞色素P450 MtCYP121工程化为双突变体,使其能够催化两个C–H键的分子内氧化偶联形成一个C–C键,从而组装出具有挑战性的张力大环结构。此酶促联芳偶联反应使用廉价的H2O2作为终端氧化剂,接受多种二酪氨酸底物,并且可以顺利放大至克级规模。计算机制研究揭示了反应机制,包括Cpd I首先进行氢原子抽取、底物构象变化、分子内氢原子转移(速率限制步骤)、Cpd II的第二次氢原子抽取,以及最终的双自由基偶联形成C–C键。我们的研究表明,底物的构象变化在促进随后的两个羟基之间的分子内氢原子转移中起到了重要作用。氟取代可能导致不同的结合构象,从而导致不同的联芳C–C偶联反应转化率。结构上看,构建合适的催化口袋以容纳氟代底物并允许中间体的构象变化,可能是进一步提高酶效率的关键。我们期待本研究不仅为具有挑战性的联芳分子的化学酶促合成开辟新的机会,还能为结核病领域的潜在药物研究提供新颖的氟代化合物。

相关文章:

P450催化的联芳基偶联反应-文献精读72

Chemoenzymatic Synthesis of Fluorinated Mycocyclosin Enabled by the Engineered Cytochrome P450-Catalyzed Biaryl Coupling Reaction 经工程化的细胞色素P450催化的联芳基偶联反应实现氟代麦环素的化学酶促合成 摘要 将氟原子引入天然产物有望生成具有改良或新颖药理特…...

在不支持AVX的linux上使用PaddleOCR

背景 公司的虚拟机CPU居然不支持avx, 默认的paddlepaddle的cpu版本又需要有支持avx才行,还想用PaddleOCR有啥办法呢? 是否支持avx lscpu | grep avx 支持avx的话,会显示相关信息 如果不支持的话,python运行时导入paddle会报错 怎么办呢 方案一 找公司it,看看虚拟机为什么…...

Python数据分析——Numpy

纯个人python的一个小回忆笔记,当时假期花两天学的python,确实时隔几个月快忘光了,为了应付作业才回忆起来,不涉及太多基础,适用于有一定编程基础的参考回忆。 这一篇笔记来源于下面哔哩哔哩up主的视频: 一…...

JMeter快速入门示例

JMeter是一款开源的性能测试工具,常用于对Web服务和接口进行性能测试。 下载安装 官方下载网址: https://jmeter.apache.org/download_jmeter.cgi也可以到如下地址下载:https://download.csdn.net/download/oscar999/89910834 这里下载Wi…...

【333基于Java Web的考编论坛网站的设计与实现

毕 业 设 计(论 文) 考编论坛网站设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计…...

计算机网络关键名词中英对照

物理层 IMP - Interface Message Processor - 接口信息处理机 MODEM - Modulator-Demodulator - 调制解调器 LAN - Local Area Network - 局域网 FDM - Frequency Division Multiplexing - 频分复用 TDM - Time Division Multiplexing - 时分复用 STDM - Statistical Time…...

二叉树的学习

除了根节点外的其他节点只有一个直接前驱,有多个直接前驱的逻辑结构叫做图 任何一个树都可以看成是一个根节点和若干个不相交的子树构成的; 构建思维导图时使用树形结构 题目中给出AB是堂兄弟节点说明他们处在同一层 描述两节点之间的路径是从上到下的,同层没有路径,一条边记录…...

免费开源的医疗信息提取系统:提升超声波影像的诊断价值

一、系统概述 思通数科推出的医疗信息精准抽取系统,致力于解决当前医疗行业面临的信息碎片化和数据管理难题。传统医疗过程中,超声波影像数据与诊断报告之间的脱节,往往导致信息无法有效整合,影响医生的诊断效率与准确性。我们的…...

Bash 中的 ${} 和 $() 有什么区别 ?

Bash (Bourne-Again SHell) 是一种流行的 Unix SHell,用于编写脚本。如果您使用 Bash 脚本,那么了解不同的语法元素对于提高脚本的效率和避免错误是很重要的。 在本文中,我们将解释 Bash 中 ${} 和 $() 语法之间的区别,并向您展示…...

SPSS、R语言因子分析FA、主成分分析PCA对居民消费结构数据可视化分析

全文链接:https://tecdat.cn/?p37952 分析师:Ting Mei 在经济发展的大背景下,居民消费结构至关重要。本文围绕居民消费结构展开深入研究,运用 SPSS25.0 和 R 语言,以因子分析法和主成分分析法对东北三省居民消费价格指…...

高级SQL技巧掌握

高级SQL技巧掌握 在数据驱动的时代,掌握SQL不仅仅是为了解决具体问题,它更像是一把钥匙,帮助你打开数据分析的大门。你准备好提升你的SQL技能了吗?在这篇文章中,我们将一起探索十个必备的高级SQL查询技巧,这些技巧将帮助你更有效率地进行数据处理与分析。 1. 常见表表达…...

数组实例之三子棋的实现(C语言)

目录 前言 一、三子棋实现的逻辑 二、三子棋的实现 2.1文件的创建添加 2.2 test文件基本逻辑 2.2.1菜单的实现 2.2.2菜单的选择 2.2.3game函数棋盘的实现 2.3game.c文件的编写 2.3.1初始化函数的模块 2.3.2棋盘打印的模块 2.3.3实现棋盘界面的打印 2.3.4实现玩家下…...

【Linux驱动开发】设备树节点驱动开发入门

【Linux驱动开发】设备树节点驱动开发入门 文章目录 设备树文件设备树文件驱动开发附录:嵌入式Linux驱动开发基本步骤开发环境驱动文件编译驱动安装驱动自动创建设备节点文件 驱动开发驱动设备号地址映射,虚拟内存和硬件内存地址字符驱动旧字符驱动新字…...

C++——string的模拟实现(下)

目录 成员函数 3.4 修改操作 (3)insert()函数 (4)pop_back()函数 (5)erase()函数 (6)swap()函数 3.5 查找操作 (1)find()函数 (2)substr()函数 3.6 重载函数 (1)operator赋值函数 (2)其他比较函数 (3)流插入和流提取 完整代码 结束语 第一篇链接:C——…...

面试 Java 基础八股文十问十答第二十九期

面试 Java 基础八股文十问十答第二十九期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)类加载过程 类加载…...

454.四数相加||

题目: 454. 四数相加 II - 力扣(LeetCode) 思路: 考虑到时间复杂度问题,本题最重要的是要将四个数组划分成两个部分,每个部分(n^2)的时间复杂度,选取数据结构时,考虑到既要存储元素(key),又要有元素次数…...

禅道源码部署

文章目录 禅道部署1.环境部署安装httpd和mariadb安装php 2.安装禅道首先进行httpd服务的配置安装禅道 禅道部署 1.环境部署 安装lamp环境 组件版本httpdyum安装mariadbyum安装phpphp-7.4.33 选择一个php版本就行,我们这里选择的是7.4.33 安装httpd和mariadb [r…...

️ Vulnhuntr:利用大型语言模型(LLM)进行零样本漏洞发现的工具

在网络安全领域,漏洞的发现和修复是保护系统安全的关键。今天,我要向大家介绍一款创新的工具——Vulnhuntr,这是一款利用大型语言模型(LLM)进行零样本漏洞发现的工具,能够自动分析代码,检测远程…...

【Android】多渠道打包配置

目录 简介打包配置签名配置渠道配置配置打包出来的App名称正式包与测试包配置 打包方式开发工具打包命令行打包 优缺点 简介 多渠道打包 是指在打包一个 Android 应用时,一次编译生成多个 APK 文件,每个 APK 文件针对一个特定的渠道。不同的渠道可能代表…...

Spring Boot Configuration和AutoConfiguration加载逻辑和加载顺序调整

在spring中, AutoConfiguration也是一个种Configuration,只是AutoConfiguration是不能使用proxy的。 而且spring对于两者的加载顺序也不是一视同仁,是有顺序的。spring会先加载@SpringBootApplication可达的且标注了@Configuration的类,这个过程会将@AutoConfiguration标注…...

点餐系统需求分析说明书(软件工程分析报告JAVA)

目录 1 引言 4 1.1 编写目的 4 1.2 项目背景 4 1.3 定义 4 1.4 预期的读者 5 1.5 参考资料 5 2 任务概述 5 2.1 目标 5 2.2 运行环境 5 2.3 条件与限制 6 3 数据描述 6 3.1 静态数据 6 3.2 动态数据 6 3.3 数据库介绍 6 3.4 对象模型 6 3.5 数据采集 7 4 动态模型 7 4.1 脚本 …...

Python条形图 | 指标(特征)重要性图的绘制

在数据科学和机器学习的工作流程中,特征选择是一个关键步骤。通过评估每个特征对模型预测能力的影响,我们可以选择最有意义的特征(指标),从而提高模型的性能并减少过拟合。本文将介绍如何使用 Python 的 Seaborn 和 Ma…...

危险物品图像分割系统:一键训练

危险物品图像分割系统源码&数据集分享 [yolov8-seg-GFPN&yolov8-seg-CSwinTransformer等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAAI Global…...

城市景色视频素材下载好去处

在制作短视频、Vlog 或商业宣传片时,城市景色视频素材能为作品增添现代感与活力。繁华都市、流光溢彩的夜景、清晨街道等都是展现城市魅力的好素材。那么城市景色视频素材去哪里下载呢? 蛙学网 是专为短视频创作者打造的素材平台,城市景色素材…...

基于SSM美容院管理系统的设计

管理员账户功能包括:系统首页,个人中心,用户管理,套餐类型管理,美容预约管理,生日提醒管理,管理员管理,系统管理 员工账号功能包括:系统首页,个人中心&#…...

Threejs 实现3D 地图(04)3d 地图的柱状图和文字显示

3d 地图的数据展示 代码仓库: King/threejs-3d-map 核心代码: function createText(feature, level, font) {if (feature.properties.name) {const [x_XYZ, y_XYZ] handleProject(feature.properties.center)// 缺点:首次渲染很慢 无法使…...

Oracle 第2章:安装与配置Oracle

安装与配置Oracle数据库是一项复杂但有序的过程。以下是对Oracle数据库安装与配置的概述,包括系统需求与硬件推荐,以及详细的安装步骤。 系统需求与硬件推荐 系统需求 在安装Oracle数据库之前,需要确保目标系统满足Oracle官方规定的最低要…...

动态规划 —— 斐波那契数列模型-解码方法

1. 解码方法 题目链接: 91. 解码方法 - 力扣(LeetCode)https://leetcode.cn/problems/decode-ways/description/ 2. 题目解析 1. 对字母A - Z进行编码1-26 2. 11106可以解码为1-1-10-6或者11-10-6, 但是11-1-06不能解码 3. 0n不能解码 4. …...

PPT / Powerpoint中利用LaTeX输入公式

PPT / Powerpoint中利用LaTeX输入公式_ppt插入latex公式-CSDN博客文章浏览阅读2.8w次,点赞42次,收藏75次。新版的Word(Office 2016后?)是支持LaTeX公式输入的,但是Powerpoint并不支持。下面介绍如何利用。_…...

C++ 模板专题 - 类型擦除

一:概述 C 中的类型擦除(Type Erasure)是一种技术,允许你在不暴露具体类型信息的情况下,通过统一的接口处理不同的类型。这种技术常用于实现泛型编程,特别是在需要支持多种不同类型的情况下,如容…...

banner图片怎么设计网站/百度推广助手电脑版

最近两天在学习GBDT,看了一些资料,了解到GBDT由很多回归树构成,每一棵新回归树都是建立在上一棵回归树的损失函数梯度降低的方向。 以下为自己的理解,以及收集到的觉着特别好的学习资料。 1、GBDT可用于回归任务和分类任务。 GBDT…...

市场营销一般在哪上班/安卓优化大师官方版

命令简介:该命令用来列出目前与过去登录系统的用户相关信息。指令所在路径:/usr/bin/last 执行last指令时,它会读取位于/var/log目录下名称为wtmp的文件,并把该给文件的内容记录的登录系统的用户名单全部显示出来。默认是显示wtmp…...

网站建设 慕课/网络营销与网站推广的

流程: 17年底,mask-R CNN DPM、R-CNN、YOLO、SSD 1、基于传统图像处理和机器学习算法的目标检测与识别方法 传统的目标检测与识别方法主要可以表示为:目标特征提取->目标识别->目标定位。 这里所用到的特征都是认为设计的,例如SIFT (尺…...

英文企业网站建设/网站外链优化方法

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处、作者信息和本声明。否则将追究法律责任。http://caoyameng.blog.51cto.com/4975863/1359732运维自动化是2010年开始炒得很热的一个概念,也让很多工程师、用人单位瞎激动了很久…...

门户网站制作价格表/税收大数据

可能很多朋友都遇到过这样的情况,在UNIX/Linux上定期清理Oracle日志文件夹时可能删除到仍被后台进程open着的trace文件,即某些后台进程一直持有着这些”被已经误删了的“打开文件的描述符(fd),这种情况下文件系统上该文件实际占用的空间是不会…...

免费做企业推广的网站/页面关键词优化

服务端 //1.引入(利用express框架) const express require(express); // const { request } require(http);//2.创建应用对象 const app express();//3.创建路由规则 //response 是对响应报文的封装 //request 是对请求报文的封装app.all(/server,(r…...