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

Genome Research | 俄亥俄州立于忠堂组-结合深度学习与蛋白质数据库系统探究反刍动物真核微生物...

结合深度学习与蛋白质数据库系统探究反刍动物真核微生物

Probing the eukaryotic microbes of ruminants with a deep-learning classifier and comprehensive protein databases

期刊:Genome Research

DOI:https://doi.org/10.1101/gr.279825.124

第一作者:Ming Yan (严鸣)

通讯作者:Zhongtang Yu (于忠堂)

主要单位

美国俄亥俄州立大学动物科学学院 (Department of Animal Sciences, The Ohio State University, Columbus, OH, USA)

美国俄亥俄州立大学微生物组研究中心 (Center of Microbiome Science, The Ohio State University, Columbus, OH, USA)

挪威生命科学大学 (Norwegian University of Life Sciences)

昆士兰科技大学 (Queensland University of Technology)

美国俄亥俄州立大学动物科学学院以及微生物组研究中心的Zhongtang Yu教授团队于近日在老牌生物信息/基因组学top期刊Genome Research上发表,题为Probing the eukaryotic microbes of ruminants with a deep-learning classifier and comprehensive protein databases (https://genome.cshlp.org/content/early/2024/12/24/gr.279825.124.abstract) 的研究成果。

- 摘  要 -

宏基因组学,特别是以基因组为核心的宏基因组学,显著加深了我们对微生物的理解,揭示了它们的分类和功能多样性以及在生态学、生理学和进化中的作用。然而,由于缺乏全面的参考基因组数据库和强大的生物信息学工具,各种微生物群(包括哺乳动物胃肠道微生物群)中的真核生物种群在宏基因组学研究中相对较少被探索。反刍动物的胃肠道,特别是瘤胃,尽管纤毛虫和真菌的多样性相对较低,却含有较高的真核生物生物量。这些真核生物对饲料消化、甲烷排放和瘤胃微生物生态学具有显著影响。在本研究中,我们开发了GutEuk,以识别宏基因组中的真核生物序列,相较于此前开发的Tiara和EukRep,在准确度方面有了显著提升。GutEuk针对不同长度的序列进行了高精度优化,还能区分真菌和原虫序列,从而进一步揭示它们在生态学、生理学和营养学中的独特影响。GutEuk在分析超过一千个瘤胃宏基因组时表现出色,揭示了原生动物比以往文献中记录的具有更大的基因组多样性。此外,我们还整理了多个反刍动物真核生物蛋白质数据库,大大提高了区分反刍动物真菌和原生动物与原核生物功能角色的能力。总体而言,新开发的GutEuk工具包及其相关数据库为深入研究胃肠道真核生物提供了新的机会。

- 引  言 -

瘤胃独特的复杂多界微生物生态系统通过消化和发酵植物材料,为反刍动物提供高达70%的能量需求。然而,这一过程也导致甲烷排放,反刍动物排放的温室气体占人为温室气体排放的约14%。瘤胃微生物还将饮食中的氮,包括蛋白质和非蛋白氮,转化为高质量的微生物蛋白。微生物蛋白占小肠可代谢蛋白质的80%。瘤胃微生物群主要与反刍动物的营养和生产相关,而下消化道微生物群则更多地与动物健康和宿主生理有关。这种复杂且相互依赖的多界生态系统包括厌氧细菌、古菌、真菌、原生动物和病毒,各自占据独特的生态位。尽管瘤胃和肠道的原核生物群落已通过多组学技术得到广泛研究,但对真核生物群落的分析仍主要依赖针对原生动物18S rRNA基因和真菌的内部转录间隔区(ITS)的扩增子分析,这些方法在分类分辨率和功能信息上具有局限性。且瘤胃原生动物和真菌缺乏综合的基因组数据库进一步限制了这些真核生物的组学分析。因此我们对瘤胃内真核生物群落功能重要性的理解,仍主要基于少量物种的培养和基因组研究。

与人类肠道中真核生物占微生物群不足1%不同,瘤胃微生物群中真菌和原生动物的生物量分别可占20%和50%。瘤胃真菌是专门分解纤维的微生物,能够产生多种碳水化合物活性酶(CAZymes),尤其是那些能水解难降解植物细胞壁材料的酶,以补充了瘤胃细菌的CAZymes。此外,肠道真菌还能产生多种具有潜在抗菌和治疗特性的次级代谢产物。然而除了从瘤胃分离出的Pecoramyces sp. F1,所有可用的反刍动物肠道真菌基因组(包括Anaeromyces robustus、Caecomyces churrovis、Neocallimastix californiae、Neocallimastix lanatiPecoramyces ruminantium)均来自粪便样本,因此也代表后肠真菌。尽管瘤胃和后肠共享一些真菌,但它们具有不同的真菌群落,目前尚不清楚瘤胃和后肠的真菌酶库是否存在差异。虽然真菌对瘤胃纤维降解的贡献得到了充分认可,但瘤胃原生动物的功能复杂多样,既包括纤维降解和瘤胃pH值稳定等生产性作用,也包括促进甲烷排放和浪费性瘤胃内微生物蛋白回收等不利作用。事实上,瘤胃原生动物与甲烷排放呈线性关系。由于其与饲料效率和甲烷排放的负面关联,一些研究试图特异性抑制优势种Entodinium。另一方面,对单细胞扩增基因组(SAGs)和随后进行的瘤胃原生动物蛋白质组学分析揭示了意想不到的多样化CAZymes库。此外,最近的研究表明,瘤胃原生动物与饲料效率之间存在关联,而肠道原生动物与犊牛肠道健康之间也存在联系。因此,除了针对瘤胃原生动物的扩增子分析,全面分析反刍动物胃肠道中真核生物的基因组和基因表达至关重要。此外,建立综合的蛋白质数据库,对实现对关键瘤胃功能和动物生产中原生动物基因/蛋白质表达的全面分析至关重要。

单细胞基因组学已被证明在揭示原生动物基本生物学特性方面具有价值,但在原生动物群落的生态研究中成本效益不高。宏基因组学在研究各种微生物群(包括反刍动物胃肠道微生物群)方面实现了革命性进展,但大多数研究集中在细菌和古菌上,而忽略了真菌和原生动物。目前有两种基于机器学习的工具(Tiara和EukRep)可用于直接从宏基因组装配中识别真核生物序列。基于这些工具的研究表明,原生动物在水生环境中具有重要的生态作用。然而,尚不清楚上述工具是否可用于分析瘤胃等宿主相关生态系统中丰富的真核生物。此外,反刍动物胃肠道(特别是较少研究的后肠和反刍动物物种)的多样性和功能库仍然有限。因此,我们的第一个目标是对现有工具进行基准测试,用于分类反刍动物肠道真核生物,并开发一种新工具(称为GutEuk)以识别和分类源自反刍动物肠道宏基因组中的真核微生物(真菌和原生动物)。通过GutEuk,我们还旨在重新分析超过一千个反刍动物胃肠道宏基因组和宏转录组,并为反刍动物肠道真核生物创建蛋白质数据库。这些分析包括前肠(主要为瘤胃,也包括网胃、瓣胃和皱胃)和后肠(盲肠、结肠和直肠)的样本,涵盖各种反刍动物物种(包括家养物种,如Bos taurusOvis aries,以及野生物种,如Capreolus capreolusHydropotes inermis)。我们的最后一个目标是利用最新产生的宏蛋白组数据,对新建立的蛋白质数据库进行基准测试。总体而言,GutEuk及其创建的新蛋白质数据库为分析宿主相关微生物群中的真核微生物(尤其是瘤胃中的微生物)提供了新的机会。

- 主要发现 -

① 新开发的GutEuk工具改进了

从宏基因组中识别真核微生物的能力

我们在contig水平上使用独立数据集对GutEuk与EukRep和Tiara的性能进行了基准测试。GutEuk在不同长度的contig上均显著优于Tiara和EukRep(图2A)。GutEuk与Tiara在识别真核contig方面表现出相当的精确性,而EukRep的精确性略低,特别是在长度低于20kb的contig中。然而,对于原核contig,GutEuk即使在长度低于15kb时仍保持了约99%的精确性,而Tiara和EukRep在长度低于10kb的contig上分别仅达到95%和91%的精确性。在长度为3到5kb的contig上,Tiara和EukRep的性能明显逊于GutEuk。在召回率方面,对于原核contig,三种工具的表现相似。但对于真核contig,GutEuk在长度低于15kb时的召回率接近99%,在更长的contig上仍保持约98%。相比之下,EukRep的最高召回率为95%,在长度低于10kb时下降到90%以下,而Tiara在长度为5到10kb的contig上最高仅达到82%,在更长的contig上表现更差。在计算时间方面,GutEuk在使用20线程的情况下,用9.3小时处理了包含965,741个序列(总计4.6 Gb)的测试数据集。相比之下,Tiara和EukRep在相同资源下分别用时0.3小时和2小时完成了相同任务。我们还评估了GutEuk进一步区分原生动物和真菌contig的能力(图2B)。对于长度低于15kb的contig,由于最多可分类的片段数为2,阈值的选择不会影响其性能(两片段的预测结果必须一致)。对于超过15kb的contig,随着置信水平(pt2)的提高,精确性如预期增加,而召回率下降。在pt2为0.5时,精确性超过90%,在pt2高于0.8时达到95%。在召回率方面,GutEuk在pt2为0.8时对原生动物和真菌的召回率分别超过70%和85%。因此,研究者可根据具体研究目标调整pt2,以优化GutEuk的精确性和召回率。然而,在pt2为0.8时,精确性超过95%,被认为是较为保守的选择。

415c6876e240d322317b9e5af4953bcf.png

Fig. 2: Benchmarking the performance of GutEuk, EukRep, and Tiara for contigs.

在评估GutEuk识别微生物真核contig性能的基础上,我们进一步测试了它在多样的基因组中(包括数据库中收录的水生真菌和原生动物)是否能够实现一致的分类结果(Fig. 3)。GutEuk利用扩展的训练集和更复杂的模型,在对大多数真核微生物DNA分类方面表现出色,尤其是在分类代表性不足的瘤胃纤毛虫原生动物方面。对于GutEuk唯一一个分类准确率低于70%(约为45%)的真核基因组是淡水原生动物 Stentor coeruleus(GCA_001970955.1)。相比之下,Tiara和EukRep各有14个真核基因组的分类准确率低于70%。这些结果表明,在pt1为0.5的情况下,GutEuk在预测真核微生物基因组/基因组bin方面的准确性优于Tiara和EukRep。更重要的是,GutEuk还能以较高的准确性进一步将真核基因组分类为真菌或原生动物,除了少数不属于哺乳动物胃肠道的真菌和原生动物基因组。例如,GutEuk对以下真菌基因组的分类准确率低于50%:Smittium mucronatum(GCA_001953115.1,昆虫肠道共生菌)、Vavraia culicis(GCA_000192795.1,微孢子虫寄生虫)和Enterospora canceri(GCA_002087915.1,感染蚊子和欧洲岸蟹)。同样,分类准确率低于50%的原生动物基因组也不属于胃肠道,包括寄生双鞭毛虫 Perkinsus marinus(GCA_000006405.1)和 Perkinsus sp. BL_2016(GCA_004369235.1),以及水生纤毛虫 Stentor coeruleus(GCA_001970955.1)和 Lenisia limosa(GCA_001655205.1)。鉴于肠道真核生物的系统发育范围较窄,GutEuk预计在肠道宏基因组序列中表现良好。若需更低的假阳性率,可使用更高的pt2阈值(如0.8)。此外,GutEuk对新测序的人类肠道真菌基因组的识别率也极高,成功将708个基因组中的697个(98.4%)正确分类为真菌。

e14efcc82339f31baac3e9e014416d4c.png

Fig. 3: Benchmarking the performance of GutEuk, EukRep, and Tiara with genomic bins.

② 从代表性不足的反刍动物物种中

鉴定出多样的瘤胃原生动物

截至目前,共有53个瘤胃纤毛虫基因组,包括52个单细胞扩增基因组(SAGs)和一个单一物种基因组。这些基因组代表了19种在各种反刍动物物种中常见的瘤胃纤毛虫。我们使用GutEuk系统分析了从1,093个先前测序的瘤胃宏基因组中组装的15,000个bin(每个bin超过3 MB),以识别真核生物bin。这些样本来自13种不同的反刍动物,包括家养和野生物种,具有不同的摄食习惯。我们鉴定出了数百个原生动物bin和一个真菌bin。鉴定出的真菌bin稀少可能反映了其低丰度以及瘤胃液样本中真菌DNA产量较低的原因,因为瘤胃真菌通常牢固附着于消化物颗粒上。

我们根据谱系特异的单拷贝标志基因的存在评估了鉴定出的真核生物bin的基因组完整性,发现大多数bin的完整性较低,这与最近一项使用EukRep进行真核bin鉴定的研究结果一致。尽管从瘤胃宏基因组中鉴定的大多数真核生物bin不完整,但我们仍发现了21个完整性超过50%且污染率低于10%的原生动物bin。我们进一步对这组原生动物bin及瘤胃原生动物SAGs进行了系统发育分析(Fig. 4)。从30个连接的单拷贝标志蛋白构建的系统发育树显示,新发现的瘤胃原生动物bin与SAGs在Vestibuliferida目内聚集。相比之下,所有Entodiniomorphida目SAGs形成一个独立的聚类,这表明Vestibuliferida物种可能存在更大的未被发现的多样性。

值得注意的是,使用30个单拷贝标志蛋白构建的系统发育树的拓扑结构与基于113个单拷贝标志蛋白的SAGs原始系统发育树一致。这种一致性表明了我们系统发育分析的稳健性。此外,一些新鉴定的原生动物bin来源于此前未进行过原生动物基因组测序的反刍动物物种的宏基因组中,例如Bison bisonBos indicus。因此,未来的原生动物研究应扩大至研究更多的反刍动物物种,以达成瘤胃真核生物的全面分析。

3315d7d34d45998168a32d2ff74df984.png

Fig. 4: A phylogenomic tree of the identified rumen protozoal bins and 49 rumen protozoa single-cells assembled genomes.

③ 反刍动物肠道真核生物的

蛋白质数据库及其编码糖苷水解酶和肽酶的基因库

从各种反刍动物的肠道宏基因组中识别的真核生物序列,我们预测并翻译了它们的蛋白质序列,随后构建了多个蛋白质数据库。这些肠道真核微生物蛋白质数据库包括一个前胃原虫(包括新识别的和来自52个单细胞基因组(SAGs)的序列、前胃真菌和后胃真核生物的数据库。前胃原虫数据库包含了25,498,129个蛋白质,这些蛋白质按50%氨基酸同一性聚类为5,265,119个蛋白质簇,其中54%为新识别的。在这些簇中,只有10%被注释。前胃真菌数据库则小得多,包含11,314个蛋白质,形成了7,293个蛋白质簇。大约一半的真菌蛋白质簇可以注释。值得注意的是,后胃真核生物蛋白质簇的注释比例超过了92%。相比之下,前胃原虫蛋白质的注释比例较低,这突显了进一步研究瘤胃原虫的必要性。其原因也体现在其复杂的功能和影响上,例如对其他瘤胃微生物的捕食、植物材料的酶解降解以及与细菌和古菌的共生相互作用。

过去,细菌和真菌被认为是瘤胃微生物群中大部分纤维素降解活性的来源。然而,近期的基因组学研究和代谢蛋白质组学研究揭示了瘤胃原虫中含有大量编码糖苷水解酶的基因,包括纤维素酶和半纤维素酶。在本研究中,我们对前胃原虫数据库进行了GHs的注释。我们发现,淀粉酶(例如GH13)和纤维素酶(例如GH5和GH9)是最常见的CAZymes,突显了瘤胃原虫具有重要的纤维降解和淀粉降解能力(Fig. 5B)。

瘤胃原虫已知能够降解蛋白质,尤其是微生物蛋白质。因此,我们还对前胃原虫数据库进行了肽酶的注释。在识别到的肽酶中,金属酶、天冬氨酸酶、半胱氨酸酶和丝氨酸酶占主导地位,其中M08、C01、A01和S09肽酶是最常见的分泌型肽酶(Fig. 5C)。Prevotella是瘤胃中最主要的细菌属,具有广泛的蛋白酶活性,其具有48种不同的分泌型肽酶家族。相比之下,从瘤胃原虫蛋白质中识别到58种不同的分泌型肽酶家族(Fig. 5D),突显了它们巨大的蛋白水解潜力。此外,瘤胃原虫中氢化铁蛋白还原酶的识别也证实了它们产生氢气的能力。

bdd158b12469e9fa10128fcf7a4962a0.png

Fig. 5: Diverse ruminant gut eukaryotic proteins identified in the databases.

④ 反刍动物肠道真核生物蛋白质数据库

提高了蛋白质组学中的蛋白质识别

最近,一项代谢蛋白质组学研究展示了使用单细胞基因组(SAGs)和基因组作为参考搜索数据库来注释瘤胃原虫蛋白质组,并评估瘤胃真核生物在瘤胃功能中的重要性。鉴于参考搜索数据库是复杂微生物组代谢蛋白质组学研究中的主要瓶颈,并且考虑到瘤胃真核生物已被证明具有高度的基因组和功能多样性,我们评估了通过将反刍动物真核蛋白(通过GutEuk识别的)扩展到原虫基因组数据库中的潜力,以增强从瘤胃代谢蛋白质组学数据中检测蛋白质的能力。使用与原始研究相同的流程和阈值,我们比较了使用以下两种数据库在每个样本中识别的蛋白质组数:(i)原始基因组数据库(由一个Entodinium caudatum基因组和18个瘤胃原虫的SAGs组成)和(ii)一个扩展的数据库,该数据库将原始基因组数据库与通过GutEuk识别的瘤胃真核蛋白结合在一起。扩展的数据库使得在牛和山羊的瘤胃样本中能够识别更多的变形虫蛋白质组,牛样本平均增加了64%,山羊样本增加了20%(Fig. 6)。在某些样本中,原虫蛋白质组的增加约为200%,这表明某些样本中可能存在以前未识别的原虫。类似地,扩展的数据库大大增加了识别到的真菌蛋白质的数量,牛样本增加了118%,山羊样本增加了70%。值得注意的是,在原始研究中,平均仅识别到10个真菌蛋白质组。还需要指出的是,本次代谢蛋白质组学研究中的瘤胃样本是通过食道管收集的,这种方法主要收集瘤胃液,并显著降低了真菌生物量。

95ea87ea29f1b1a4e951db3877c55ab5.png

Fig. 6: Increases in the number of rumen protozoal and fungal protein groups identified with the new protein databases compared with the previous rumen proteomic study.

- 总结与讨论 -

从历史上看,肠道真核生物主要从寄生生物的角度进行研究。然而,真核生物群体也是肠道微生物群的重要组成部分,它们对整体微生物群落、宿主营养和生理起着重要作用。在瘤胃中,它们的作用尤为重要,瘤胃是反刍动物的前胃,其中真核微生物可以占到微生物生物量的50%,这一比例远高于其他生态系统。这些微生物在瘤胃发酵和纤维降解中起着直接作用,并直接影响宿主的几个重要特征,包括饲料效率和甲烷排放。尽管近年来在培养和基因组测序瘤胃原虫和真菌方面取得了一些进展,这一过程耗时耗力,且我们仍然缺乏一个生物信息学工具来分析从瘤胃样本宏基因组中的真核微生物。因此,开发专门针对肠道真核微生物,尤其是瘤胃中微生物的生物信息学工具,对于更全面地分析其基因组和蛋白质组至关重要。这些新工具将使我们从分类学分析转向功能分析,从而更深入地理解肠道真核微生物及整个肠道微生物群。

目前Tiara和EukRep已被用于真核序列识别,但它们未能准确识别瘤胃真核生物。为了促进肠道真核微生物,特别是瘤胃中微生物的宏基因组和功能分析,我们开发了GutEuk。与Tiara和EukRep相比,GutEuk在识别微生物真核基因组片段时具有更高的精确度和召回率。GutEuk中实现的集成模型,结合了CNN和FNN,能够在处理短序列(小于5 kb)和长序列(大于50 kb)时保持一致的性能。GutEuk能够进一步区分真菌和原虫序列,这对于分析包含两种真核微生物的微生物群落,如瘤胃微生物群,尤其有价值。尽管GutEuk是为肠道生态系统的宏基因组设计的,但它在跨越不同分类谱系的基因组时也表现出一致的性能,能够准确地区分真菌和原虫与其他生态系统中的基因组。由于肠道中的真核群落比水生和陆地环境中的真核群落多样性较低,且这些生态系统中的真核微生物多样性几乎没有重叠,因此GutEuk也适用于肠道宏基因组研究,正如其在新近测序的人类肠道真菌基因组中的应用所示。除了原核生物和真核生物外,宏基因组还可能包含大量的可移动遗传元件,如质粒和病毒。如果这些对元件有特别的兴趣,我们建议使用像geNomad这样的专用工具来过滤输入序列。

使用GutEuk,我们筛选了从瘤胃组装的成千上万个宏基因组bin,并识别了数百个单独的真核bin。通过对几十个至少中等质量的原虫bin进行系统发育分析,我们展示了瘤胃原虫的巨大基因组多样性,特别是在较少研究的反刍动物物种中。回收的高质量真核bin相对稀缺,可能归因于多种因素,包括瘤胃中真核生物的低丰度、它们庞大而复杂的基因组、高遗传异质性以及高度重复的基因组序列的存在。此外,由于存在可移动元件和同源基因,也存在形成嵌合bin的风险。因此,真核bin的注释应该谨慎进行。将contig分配到来自宏基因组序列的高质量MAGs中,尤其是短序列读取,可能具有挑战性。连续测序重复区域,以及长读取测序(如PacBio HiFi和Oxford Nanopore测序),可能有助于从宏基因组中组装和分配真核序列,特别是对于具有高度碎片化小染色体的原虫,如Entodinium属。随着单细胞测序的不断发展,GutEuk可以应用于在组装前筛选出共生原核生物序列,利用其在区分原核和真核序列方面的高准确性,提升基因组质量。此外,最近开发的bin refinement工具ACR可以进一步优化真核生物的基因组分析。此外,与对原核生物基因组和MAGs的评估类似,真核bin的完整性和污染率基于线粒体特异性标记基因的存在及相应数据库来确定。然而,这两个工具在应用于具有稀缺参考基因组的真核谱系时表现有限。随着参考基因组的扩展和使用新开发的质量评估工具(如ContScout),我们可以更好地评估获得的真核微生物基因组的质量。

真核生物的几个基因组结构特征,如外显子-内含子结构和缺乏保守的剪接标记,增加了在真核基因组注释中进行基因预测的难度。利用MetaEuk以及结合单细胞原虫转录组和富集的瘤胃转录组的数据库,我们筛选了来自大约一千个反刍动物GI宏基因组的contig。该分析识别出数百万个反刍动物真核蛋白质,进一步强调了瘤胃原虫的巨大代谢潜力,这与先前的研究一致。借助我们的蛋白数据库,我们通过重新分析牛和山羊瘤胃的蛋白质组数据来测试其资源应用性。我们大幅增加了识别到的真菌和原虫蛋白质组的数量。在GutEuk和衍生的蛋白质数据库的帮助下,我们能够更好地理解真菌和原虫在瘤胃中的独特代谢贡献。然而,蛋白质预测仍需要进一步的基因组修订,以将表达的蛋白质归因于特定物种。总之,新的工具GutEuk结合其相关数据库,能够对宏基因组中的GI真核生物进行全面分析。此外,通过EukDetect等工具增强了基于reads的肠道真核微生物生态分析,提供比基于标记的宏分类学方法更精细的分类学分辨率。总体而言,GutEuk及其相关数据库有助于深入了解反刍动物真菌和原虫在瘤胃生态系统中的功能贡献,以及它们与饮食和其他微生物的相互作用。

第一作者简介 -

2c0692ca28d510702948db7c065e2413.jpeg

加州大学伯克利分校

严鸣

博士后

严鸣,加州大学伯克利分校创新基因组研究所博士后,主要从事宏基因组学与生物信息学的研究。近两年以第一作者在Nature Communications, Microbiome, Genome Research等期刊上发表多篇论文,以共同第一作者在Science of the total environment发表论文一篇。

通讯作者简介 -

3edf0cbb03b33f70f2aed7a6f7607b31.jpeg

俄亥俄州立大学

于忠堂

博士生导师

于忠堂,美国俄亥俄州立大学教授、博士生导师。Microbiome、Journal of Dairy Science等杂志编辑。研究方向包括家畜肠道微生物与环境微生物生态学研究和生物质废弃物转化的微生物学基础研究等。在The ISME Journal、PNAS、Nature communications、和Microbiome等刊物发表文章200余篇,所发文章被引用超过22000次。

相关文章:

Genome Research | 俄亥俄州立于忠堂组-结合深度学习与蛋白质数据库系统探究反刍动物真核微生物...

结合深度学习与蛋白质数据库系统探究反刍动物真核微生物 Probing the eukaryotic microbes of ruminants with a deep-learning classifier and comprehensive protein databases 期刊:Genome Research DOI:https://doi.org/10.1101/gr.279825.124 第一作…...

centos7yum安装mysql5.7

1、安装mysql5.7 (1) 正常安装 [rootBrianZhu /]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm [rootBrianZhu /]# yum -y install mysql57-community-release-el7-10.noarch.rpm [rootBrianZhu /]# yum -y install mysql-community-se…...

JavaScript系列(8)-- Array高级操作

JavaScript Array高级操作 📚 在前七篇文章中,我们探讨了JavaScript的语言特性、ECMAScript标准、引擎工作原理、数值类型、字符串处理、Symbol类型和Object高级特性。今天,让我们深入了解JavaScript中的Array高级操作。数组是最常用的数据结…...

蓝牙架构介绍

架构1:hostcontroller双芯片标准架构 这个标准把蓝牙协议栈分成host和controller两部分,其中host跑在AP上,controller跑在蓝牙模块上,两者之间通过HCI协议进行通信,AP芯片厂商一般会直接采用开源的Bluez来实现Host功能…...

青少年编程与数学 02-006 前端开发框架VUE 08课题、列表渲染

青少年编程与数学 02-006 前端开发框架VUE 08课题、列表渲染 一、列表渲染v-for 指令:key 属性遍历对象响应式更新列表渲染的作用 二、应用示例项目结构public/index.htmlsrc/components/TodoApp.vuesrc/main.jspackage.json构建和运行项目 课题摘要:本文介绍了Vue.js中的列表渲…...

12.3【hardware][day3]

关于使用硬件 DSP 资源实现乘法的含义 在 Xilinx 7 Series FPGA(现场可编程门阵列)中,乘法运算可以通过专门的数字信号处理(DSP)硬件资源来完成。当使用 Verilog 语言编写代码进行乘法运算时,直接使用乘号&…...

降维算法之PCA(PrincipalComponent Analysis,主成分分析)

降维是指在保留数据特征的前提下,以少量的变量表示有许多变量的数据,这有助于降低多变量数据分析的复杂度。比如在分析有 100 个变量的数据时,与其直接分析数据,不如使用 5 个变量表示数据,这样可以使后续分析比较容易…...

【JVM】总结篇-类的加载篇之 类的加载器 和ClassLoader分析

文章目录 类的加载器ClassLoader自定义类加载器双亲委派机制概念源码分析优势劣势如何打破Tomcat 沙箱安全机制JDK9 双亲委派机制变化 类的加载器 获得当前类的ClassLoader clazz.getClassLoader() 获得当前线程上下文的ClassLoader Thread.currentThread().getContextClassLoa…...

Android:文件管理:打开文件意图

三步走&#xff1a; 一、先在AndroidManifest.xml声明provider&#xff1a; <providerandroid:name"androidx.core.content.FileProvider"android:authorities"${applicationId}.FileProvider"android:exported"false"android:grantUriPermi…...

《计算机网络A》单选题(详解)

《计算机网络A》单选题-复习题库 1、计算机网络最突出的优点是&#xff08; D &#xff09; A、存储容量大 B、将计算机技术与通信技术相结合 C、集中计算 D、资源共享 解析&#xff1a;算机网络最突出的优点是 D、资源共享。通过计算机网络&…...

【SpringBoot3】Spring Boot 3.0 集成 Mybatis Plus

在Spring Boot 3.0中&#xff0c;你可以使用MyBatis Plus来简化数据库操作。以下是一个基本的集成示例&#xff1a; 1.添加依赖到你的pom.xml&#xff1a; <dependencies> <!-- Spring Boot Starter --> <dependency> <groupId>org.springframework.…...

第147场双周赛:子字符串匹配模式、设计任务管理器、最长相邻绝对差递减子序列、删除所有值为某个元素后的最大子数组和

Q1、子字符串匹配模式 1、题目描述 给你一个字符串 s 和一个模式字符串 p &#xff0c;其中 p 恰好 包含 一个 * 符号。 p 中的 * 符号可以被替换为零个或多个字符组成的任意字符序列。 如果 p 可以变成 s 的子字符串&#xff0c;那么返回 true &#xff0c;否则返回 false…...

数据结构C语言描述9(图文结合)--二叉树和特殊书的概念,二叉树“最傻瓜式创建”与前中后序的“递归”与“非递归遍历”

前言 这个专栏将会用纯C实现常用的数据结构和简单的算法&#xff1b;有C基础即可跟着学习&#xff0c;代码均可运行&#xff1b;准备考研的也可跟着写&#xff0c;个人感觉&#xff0c;如果时间充裕&#xff0c;手写一遍比看书、刷题管用很多&#xff0c;这也是本人采用纯C语言…...

开源存储详解-分布式存储与ceph

ceph体系结构 rados&#xff1a;reliable, autonomous, distributed object storage, rados rados采用c开发 对象存储 ceph严格意义讲只提供对象存储能力&#xff0c;ceph的块存储能力实际是基于对象存储库librados的rbd 对象存储特点 对象存储采用put/get/delete&#xf…...

Vue 快速入门:开启前端新征程

在当今的 Web 开发领域&#xff0c;Vue.js 作为一款极具人气的 JavaScript 前端框架&#xff0c;正被广泛应用于各类项目之中。它以简洁的语法、高效的数据绑定机制以及强大的组件化开发模式&#xff0c;为开发者们带来了前所未有的开发体验。如果你渴望踏入前端开发的精彩世界…...

GPT系统重大升级,开创国内先河:o1支持图片识别功能正式上线

文章目录 零、前言一、授权码登录体验优化&#xff1a;一步直达聊天界面二、全新“项目”功能&#xff1a;让工作更有条理三、语音功能升级&#xff1a;全新交互体验四、o1支持图片识别五、总结 零、前言 我是虚竹哥&#xff0c;目标是带十万人玩转ChatGPT。 亲爱的用户&…...

常用的数据结构API概览

List ArrayList 1、在初始化一个ArrayList的时候&#xff0c;如果我想同时set一些值 比如存放int[ ] List<int[]> list new ArrayList(Arrays.asList(new int[]{intervals[0][0],intervals[0][1]}));//或者int[] temp new int[]{intervals[0][0],intervals[0][1]}…...

《探秘计算机视觉与深度学习:开启智能视觉新时代》

《探秘计算机视觉与深度学习&#xff1a;开启智能视觉新时代》 一、追溯起源&#xff1a;从萌芽到崭露头角二、核心技术&#xff1a;解锁智能视觉的密码&#xff08;一&#xff09;卷积神经网络&#xff08;CNN&#xff09;&#xff1a;图像识别的利器&#xff08;二&#xff0…...

Linux:操作系统不朽的传说

操作系统是计算机的灵魂&#xff0c;它掌控着计算机的硬件和软件资源&#xff0c;为用户和应用程序提供了一个稳定、高效、安全的运行环境。 在众多操作系统中&#xff0c;Linux 的地位举足轻重。它被广泛应用于服务器、云计算、物联网、嵌入式设备等领域。Linux 的成功离不开…...

Excel重新踩坑5:二级下拉列表制作;★数据透视表;

0、在excel中函数公式不仅可以写在单元格里面&#xff0c;还可以写在公式里面。 1、二级下拉列表制作&#xff1a; 2、数据透视表&#xff1a; 概念&#xff1a;通过拖拉就能实现复杂函数才能实现的数据统计问题。 概览&#xff1a;在插入选项中有个数据透视表&#xff0c;数…...

containerd配置镜像加速(含新旧版本)

文章目录 镜像加速使用文档containerd配置说明文档host.toml配置步骤&#xff08;containerd2.x新版功能&#xff0c;与config.toml解耦&#xff0c;无需重启containerd&#xff09;传统配置&#xff08;需要重启containerd&#xff09; 镜像加速使用文档 关于镜像加速的使用可…...

国产编辑器EverEdit - 常用资源汇总

1 国产编辑器EverEdit-常用资源汇总 EverEdit是一款国产文本编辑器&#xff0c;历经超过15年的更新和维护&#xff0c;拥有不输业界顶级商业文本编辑器(EmEditor、UltraEdit)的实力&#xff0c;甚至在某些方面的功能更强(当然&#xff0c;各有千秋)&#xff0c;开发者对文本编辑…...

应急指挥系统总体架构方案

引言 应急指挥系统总体架构方案旨在构建一个高效、智能的应急管理体系&#xff0c;以应对自然灾害、事故灾难等突发事件&#xff0c;保障人民生命财产安全。 背景与挑战 近年来&#xff0c;安全生产形势严峻&#xff0c;自然灾害事故频发&#xff0c;对应急指挥系统的要求越…...

Edge Scdn的应用场景有哪些?

酷盾安全Edge Scdn 具备强大的安全防护能力&#xff0c;通过多层防御机制&#xff0c;如防火墙、DDoS 攻击防护、入侵检测和防御、数据加密等&#xff0c;有效抵御各种网络攻击&#xff0c;包括 DDoS 攻击、CC 攻击、SQL 注入攻击、XSS 跨站脚本攻击等&#xff0c;保障网站和应…...

LeetCode:98.验证二叉搜索树

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;98.验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 …...

mysql报错2059

客户端连接mysql服务时提示2059错误&#xff0c;通常与身份验证插件有关&#xff0c;具体表现为客户端无法加载指定的身份验证插件。这个错误在MySQL 8.0及更高版本中较为常见&#xff0c;因为从MySQL 8.0开始&#xff0c;默认的加密规则从mysql_native_password变为了caching_…...

2025/1/4期末复习 密码学 按老师指点大纲复习

我们都要坚信&#xff0c;道路越是曲折&#xff0c;前途越是光明。 --------------------------------------------------------------------------------------------------------------------------------- 现代密码学 第五版 杨波 第一章 引言 1.1三大主动攻击 1.中断…...

【数据仓库金典面试题】—— 包含详细解答

大家好&#xff0c;我是摇光~&#xff0c;用大白话讲解所有你难懂的知识点 该篇面试题主要针对面试涉及到数据仓库的数据岗位。 以下都是经典的关于数据仓库的问题&#xff0c;希望对大家面试有用~ 1、什么是数据仓库&#xff1f;它与传统数据库有何区别&#xff1f; 数据仓库…...

deepFM模型pytorch实现

deepFM deepfm包含两个部分&#xff1a;因子分解机FM和神经网络DNN&#xff0c;分别负责低阶特征和高阶特征的提取。可以处理全是分类特征的数据&#xff0c;或者分类与数值型结合的数据。 FM部分是对一阶特征和二阶特征&#xff08;一阶特征之间的交互&#xff09;的处理。 …...

【Linux】传输层协议UDP

目录 再谈端口号 端口号范围划分 UDP协议 UDP协议端格式 UDP的特点 UDP的缓冲区 UDP注意事项 进一步深刻理解 再谈端口号 在上图中&#xff0c;有两个客户端A和B&#xff0c;客户端A打开了两个浏览器&#xff0c;这两个客户端都访问同一个服务器&#xff0c;都访问服务…...

MOE怎样划分不同专家:K-Means聚类算法来实现将神经元特征聚类划分

MOE怎样划分不同专家:K-Means聚类算法来实现将神经元特征聚类划分 目录 MOE怎样划分不同专家:K-Means聚类算法来实现将神经元特征聚类划分MOE划分不同专家的方法K-Means聚类算法来实现将神经元特征聚类划分成不同专家(行或者列聚类)举例说明怎么聚类,最后神经网络怎么保存M…...

Redis两种主要的持久化方式是什么?

Redis支持两种主要的持久化方式&#xff0c;它们分别是RDB&#xff08;Redis Database Snapshotting&#xff09;和AOF&#xff08;Append Only File&#xff09;。以下是这两种持久化方式的详细介绍&#xff1a; 一、RDB&#xff08;Redis Database Snapshotting&#xff09; …...

【生活】冬天如何选口罩(医用口罩,N95, KN95还是KP95?带不带呼吸阀门?带不带活性炭?)

&#x1f4a1;总结一下就是&#xff1a; 日常防护的话&#xff0c;医用口罩就可以啦。要是想长时间佩戴N95&#xff08;KN95&#xff09;口罩的话也可以. 在高风险环境&#xff08;像医院、疫情防控期间&#xff09;&#xff0c;一定要选不带呼吸阀门的N95口罩KN95&#xff09…...

机器学习基础-卷积的计算

1 掌握卷积计算的基本过程 1.1 单通道单卷积核 如图3所示&#xff0c;现在有一张形状为[5,5,1]的灰度图&#xff0c;我们需要用图3右边的卷积核对其进行卷积处理&#xff0c;同时再考虑到偏置的作用。计算过程如下&#xff1a; 1.2 单通道多卷积核 如下图所示&#xff0c;左…...

使用LINUX的dd命令制作自己的img镜像

为了避免重复安装同一镜像&#xff0c;配置环境&#xff0c;首先我准备一个正常使用的完整系统。 使用Gparted软件先将母盘&#xff08;如U盘&#xff0c;TF卡&#xff09;分区调整为只有数据的大小。如&#xff1a;60G的TF卡&#xff0c;只用了3.5G&#xff0c;将未使用的空间…...

pdf预览兼容问题- chrome浏览器105及一下预览不了

使用的"tato30/vue-pdf": "^1.11.2"预览插件&#xff0c;发现chrome浏览器105及一下预览不了 pdfPreview预览组件&#xff1a; <template><div id"vue_pdf_view"><div class"tool_tip"><template v-if"pa…...

SpringBoot中实现拦截器和过滤器

【SpringBoot中实现过滤器和拦截器】 1.过滤器和拦截器简述 过滤器Filter和拦截器Interceptor&#xff0c;在功能方面很类似&#xff0c;但在具体实现方面差距还是比较大的。 2.过滤器的配置 2.1 自定义过滤器&#xff0c;实现Filter接口(SpringBoot 3.0 开始&#xff0c;jak…...

基于深度学习的视觉检测小项目(六) 项目的信号和变量的规划

• 关于前后端分离 当前流行的一种常见的前后端分离模式是vueflask&#xff0c;vueflask模式的前端和后端之间进行数据的传递通常是借助 API&#xff08;应用程序编程接口&#xff09;来完成的。vue通过调用后端提供的 API 来获取或提交数据。例如&#xff0c;前端可能通过发送…...

GitHub的简单操作

引言 今天开始就要开始做项目了&#xff0c;上午是要把git搭好。搭的过程中遇到好多好多的问题。下面就说一下git的简单操作流程。我们是使用的GitHub,下面也就以这个为例了 一、GitHub账号的登录注册 https://github.com/ 通过这个网址可以来到GitHub首页 点击中间绿色的S…...

LLM大语言模型自动化测试(ROUGE和RAGAS)及优化方案

1. 模型自动化测试 模型的测试中&#xff0c;不同类型的任务评测指标有显著差异&#xff0c;比如&#xff1a; 分类任务&#xff1a; 准确率&#xff08;Accuracy&#xff09;&#xff1a;正确预测的比例。 精确度&#xff08;Precision&#xff09;、召回率&#xff08;Recal…...

你已经分清JAVA中JVM、JDK与JRE的作用和关系了吗?

你已经分清JAVA中JVM、JDK与JRE的作用和关系了吗&#xff1f; 一. JVM、JDK与JRE的关系二. JVM、JDK与JRE的作用2.1 什么是JVM&#xff1f;2.2 什么是JDK&#xff1f;2.3 什么是JRE&#xff1f; 前言 点个免费的赞和关注&#xff0c;有错误的地方请指出&#xff0c;看个人主页有…...

实际开发中,常见pdf|word|excel等文件的预览和下载

实际开发中,常见pdf|word|excel等文件的预览和下载 背景相关类型数据之间的转换1、File转Blob2、File转ArrayBuffer3、Blob转ArrayBuffer4、Blob转File5、ArrayBuffer转Blob6、ArrayBuffer转File 根据Blob/File类型生成可预览的Base64地址基于Blob类型的各种文件的下载各种类型…...

Elasticsearch:Lucene 2024 年回顾

作者&#xff1a;来自 Elastic Chris Hegarty 2024 年对于 Apache Lucene 来说又是重要的一年。在本篇博文中&#xff0c;我们将探讨主要亮点。 Apache Lucene 在 2024 年表现出色&#xff0c;发布了许多版本&#xff0c;包括三年来的首次重大更新&#xff0c;其中包含令人兴奋…...

springboot实战纪实-课程介绍

教程介绍 Spring Boot是由Pivotal团队提供的一套开源框架&#xff0c;可以简化spring应用的创建及部署。它提供了丰富的Spring模块化支持&#xff0c;可以帮助开发者更轻松快捷地构建出企业级应用。 Spring Boot通过自动配置功能&#xff0c;降低了复杂性&#xff0c;同时支持…...

什么是TDD测试驱动开发(Test Driven Development)?

什么是测试驱动开发&#xff1f; 软件开发团队通常会编写自动化测试套件来防止回归。这些测试通常是在编写应用程序功能代码之后编写的。我们将采用另一种方法&#xff1a;在实现应用程序代码之前编写测试。这称为测试驱动开发 (TDD)。 为什么要应用 TDD&#xff1f;通过在实…...

学习随记:word2vec的distance程序源码注释、输入输出文件格式说明

word2vec中有5个程序&#xff0c;其中demo-word.sh中涉及两个&#xff1a;word2vec、distance。考虑到distance比较简单&#xff0c;所以我从这个入手&#xff0c;希望通过简单代码理解如何在一个高维数据空间计算距离&#xff08;查找&#xff09;。一维数据的查找&#xff0c…...

CSS 之 position 定位属性详解

CSS系列文章目录 CSS 之 display 布局属性详解 CSS 之 position 定位属性详解一文搞懂flex布局 【弹性盒布局】 文章目录 CSS系列文章目录一、前言二、静态定位&#xff1a;position:static&#xff1b;二、相对定位&#xff1a;position:relative三、绝对定位&#xff1a;pos…...

初学STM32 --- USMART

目录 USMART简介 USMART主要特点&#xff1a; USMART原理 USMART组成&#xff1a; USMART 的实现流程简单概括 USMART扫描函数&#xff1a; USMART系统命令 USMART移植 USMART简介 USMART是一个串口调试组件&#xff0c;可以大大提高代码调试效率&#xff01; USMART主…...

MySQL叶子节点为啥使用双向链表?不使用单向呢?

文章内容收录到个人网站&#xff0c;方便阅读&#xff1a;http://hardyfish.top/ 文章内容收录到个人网站&#xff0c;方便阅读&#xff1a;http://hardyfish.top/ 文章内容收录到个人网站&#xff0c;方便阅读&#xff1a;http://hardyfish.top/ MySQL 中的 B 树索引&#x…...

4_TypeScript 条件语句 --[深入浅出 TypeScript 测试]

在 TypeScript 中&#xff0c;条件语句用于根据不同的条件执行不同的代码块。这些语句包括 if 语句、else if 语句、else 语句和 switch 语句。通过使用条件语句&#xff0c;你可以编写出能够根据特定逻辑分支的代码&#xff0c;从而实现更加动态和灵活的功能。 1. if 语句 i…...