Busco-真核生物为主基因组质量评估

文章目录

  • 简介
  • Install
  • 必须参数
  • 谱系数据集
  • 输出结果
  • 自动谱系选择
  • 结果解读
    • 完整
    • 片段化
    • 缺失
  • 自动选择:多domain和污染匹配
  • 注意
  • BUSCO报告
  • 常用脚本
  • 真核
  • Ref

简介

Busco评估基因组质量的核心原理在于通过计算基因组的通用单拷贝标记基因的比例来估计基因组的完整性。其中两个重要概念,高通用标记基因(High university)以及低重复比例(Low duplicability)。高通用标记基因定义为在**大于90%的物种中存在的直系同源基因(高通用性),低重复比例则意味着超过90%**的物种中是单拷贝基因(唯一性),核心思想就是保证尽可能地使用所有物种谱系中都存在的唯一基因。
在这里插入图片描述

Install

  • conda一步安装
mamba create -n busco -c conda-forge -c bioconda busco=5.5.0

其他安装方式参见https://busco.ezlab.org/busco_userguide.html#manual-installation

必须参数

busco -i [SEQUENCE_FILE] -l [LINEAGE] -o [OUTPUT_NAME] -m [MODE] [OTHER OPTIONS]

-i或–in 定义要分析的输入文件,根据 BUSCO 模式,输入文件可以是核苷酸 fasta 文件或蛋白质 fasta 文件。从 5.1.0 版开始,输入参数也可以是包含 fasta 文件的目录,以便在批处理模式下运行。
-o或–out定义了包含所有结果、日志和中间数据的文件夹。
-m或–mode 设置评估模式:基因组、蛋白质、转录,有效选项
- geno or genome, for genome assemblies (DNA)
- tran or transcriptome, for transcriptome assemblies (DNA)
- prot or proteins, for annotated gene sets (protein)
-l或–lineage_dataset(谱系数据集)可以是数据集名称,如 bacteria_odb10,也可以是路径,如 ./bacteria_odb10 或 /home/user/bacteria_odb10。在前一种情况下,即推荐使用的情况下,BUSCO 会自动下载相应的数据集并将其版本化。在后一种情况下,将使用在给定路径中找到的数据集。如果运行自动系谱选择,可忽略系谱

基因组模式的默认基因预测工具是 Metaeuk(自 v5.0.0)(Metaeuk用于大规模真核生物元基因组学的敏感、高通量基因发现和注释技术)。之前的默认值是 Augustus。可选择使用 Augustus 或 Miniprot 代替 Metaeuk。要使用 Augustus,请使用 --augustus 标志。要使用 Miniprot,请使用 --miniprot 标志。Miniprot 5.5.0 测试版已经发布。

谱系数据集

BUSCO 利用谱系特异性信息来识别分析序列中的 BUSCO 基因。该信息可由用户指定,也可在细菌和古细菌中自动选择。
打印完整列表:

busco --list-datasets
(busco) [yut@node02 GTDBTK_r214_data]$ busco --list-datasets
2023-11-08 17:56:39 INFO:       Downloading information on latest versions of BUSCO data...
2023-11-08 17:56:44 INFO:       Downloading file 'https://busco-data.ezlab.org/v5/data/information/lineages_list.2021-12-14.txt.tar.gz'
2023-11-08 17:56:45 INFO:       Decompressing file '/datanode02/yut/Database/GTDBTK_r214_data/busco_downloads/information/lineages_list.2021-12-14.txt.tar.gz'

################################################

Datasets available to be used with BUSCO v4 and v5:

 bacteria_odb10
     - acidobacteria_odb10
     - actinobacteria_phylum_odb10
         - actinobacteria_class_odb10
             - corynebacteriales_odb10
             - micrococcales_odb10
             - propionibacteriales_odb10
             - streptomycetales_odb10
             - streptosporangiales_odb10
         - coriobacteriia_odb10
             - coriobacteriales_odb10
     - aquificae_odb10
     - bacteroidetes-chlorobi_group_odb10
         - bacteroidetes_odb10
             - bacteroidia_odb10
                 - bacteroidales_odb10
             - cytophagia_odb10
                 - cytophagales_odb10
             - flavobacteriia_odb10
                 - flavobacteriales_odb10
             - sphingobacteriia_odb10
         - chlorobi_odb10
     - chlamydiae_odb10
     - chloroflexi_odb10
     - cyanobacteria_odb10
         - chroococcales_odb10
         - nostocales_odb10
         - oscillatoriales_odb10
         - synechococcales_odb10
     - firmicutes_odb10
         - bacilli_odb10
             - bacillales_odb10
             - lactobacillales_odb10
         - clostridia_odb10
             - clostridiales_odb10
             - thermoanaerobacterales_odb10
         - selenomonadales_odb10
         - tissierellia_odb10
             - tissierellales_odb10
     - fusobacteria_odb10
         - fusobacteriales_odb10
     - planctomycetes_odb10
     - proteobacteria_odb10
         - alphaproteobacteria_odb10
             - rhizobiales_odb10
                 - rhizobium-agrobacterium_group_odb10
             - rhodobacterales_odb10
             - rhodospirillales_odb10
             - rickettsiales_odb10
             - sphingomonadales_odb10
         - betaproteobacteria_odb10
             - burkholderiales_odb10
             - neisseriales_odb10
             - nitrosomonadales_odb10
         - delta-epsilon-subdivisions_odb10
             - deltaproteobacteria_odb10
                 - desulfobacterales_odb10
                 - desulfovibrionales_odb10
                 - desulfuromonadales_odb10
             - epsilonproteobacteria_odb10
                 - campylobacterales_odb10
         - gammaproteobacteria_odb10
             - alteromonadales_odb10
             - cellvibrionales_odb10
             - chromatiales_odb10
             - enterobacterales_odb10
             - legionellales_odb10
             - oceanospirillales_odb10
             - pasteurellales_odb10
             - pseudomonadales_odb10
             - thiotrichales_odb10
             - vibrionales_odb10
             - xanthomonadales_odb10
     - spirochaetes_odb10
         - spirochaetia_odb10
             - spirochaetales_odb10
     - synergistetes_odb10
     - tenericutes_odb10
         - mollicutes_odb10
             - entomoplasmatales_odb10
             - mycoplasmatales_odb10
     - thermotogae_odb10
     - verrucomicrobia_odb10
 archaea_odb10
     - thaumarchaeota_odb10
     - thermoprotei_odb10
         - thermoproteales_odb10
         - sulfolobales_odb10
         - desulfurococcales_odb10
     - euryarchaeota_odb10
         - thermoplasmata_odb10
         - methanococcales_odb10
         - methanobacteria_odb10
         - methanomicrobia_odb10
             - methanomicrobiales_odb10
         - halobacteria_odb10
             - halobacteriales_odb10
             - natrialbales_odb10
             - haloferacales_odb10
 eukaryota_odb10
     - alveolata_odb10
         - apicomplexa_odb10
             - aconoidasida_odb10
                 - plasmodium_odb10
             - coccidia_odb10
     - euglenozoa_odb10
     - fungi_odb10
         - ascomycota_odb10
             - dothideomycetes_odb10
                 - capnodiales_odb10
                 - pleosporales_odb10
             - eurotiomycetes_odb10
                 - chaetothyriales_odb10
                 - eurotiales_odb10
                 - onygenales_odb10
             - leotiomycetes_odb10
                 - helotiales_odb10
             - saccharomycetes_odb10
             - sordariomycetes_odb10
                 - glomerellales_odb10
                 - hypocreales_odb10
         - basidiomycota_odb10
             - agaricomycetes_odb10
                 - agaricales_odb10
                 - boletales_odb10
                 - polyporales_odb10
             - tremellomycetes_odb10
         - microsporidia_odb10
         - mucoromycota_odb10
             - mucorales_odb10
     - metazoa_odb10
         - arthropoda_odb10
             - arachnida_odb10
             - insecta_odb10
                 - endopterygota_odb10
                     - diptera_odb10
                     - hymenoptera_odb10
                     - lepidoptera_odb10
                 - hemiptera_odb10
         - mollusca_odb10
         - nematoda_odb10
         - vertebrata_odb10
             - actinopterygii_odb10
                 - cyprinodontiformes_odb10
             - tetrapoda_odb10
                 - mammalia_odb10
                     - eutheria_odb10
                         - euarchontoglires_odb10
                             - glires_odb10
                             - primates_odb10
                         - laurasiatheria_odb10
                             - carnivora_odb10
                             - cetartiodactyla_odb10
                 - sauropsida_odb10
                     - aves_odb10
                         - passeriformes_odb10
     - stramenopiles_odb10
     - viridiplantae_odb10
         - chlorophyta_odb10
         - embryophyta_odb10
             - liliopsida_odb10
                 - poales_odb10
             - eudicots_odb10
                 - brassicales_odb10
                 - fabales_odb10
                 - solanales_odb10
 viruses (no root dataset)
     - alphaherpesvirinae_odb10
     - baculoviridae_odb10
     - rudiviridae_odb10
     - betaherpesvirinae_odb10
     - herpesviridae_odb10
     - poxviridae_odb10
     - tevenvirinae_odb10
     - aviadenovirus_odb10
     - enquatrovirus_odb10
     - teseptimavirus_odb10
     - bclasvirinae_odb10
     - fromanvirus_odb10
     - skunavirus_odb10
     - betabaculovirus_odb10
     - pahexavirus_odb10
     - alphabaculovirus_odb10
     - tunavirinae_odb10
     - simplexvirus_odb10
     - gammaherpesvirinae_odb10
     - varicellovirus_odb10
     - cheoctovirus_odb10
     - guernseyvirinae_odb10
     - tequatrovirus_odb10
     - chordopoxvirinae_odb10
     - peduovirus_odb10
     - iridoviridae_odb10
     - spounavirinae_odb10

这些数据集以文件夹形式排列,其中应包含
在这里插入图片描述

输出结果

执行 BUSCO 评估管道将创建一个以您为运行指定的名称命名的目录(使用 -o OUTPUT_NAME 强制选项设置)。
该目录将包含多个文件和目录:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
以批处理模式运行时(目录作为输入参数),输出目录的顶层包含以输入文件命名的子目录,其他结构与上述相同。在这种情况下,整个批次的日志文件只有一个 busco.log,保存在顶层的 logs/ 文件夹中。此外,还有一个 batch_summary.txt 文件,其中包含批次中所有运行的计分结果。

自动谱系选择

Requires SEPP

busco -m MODE -i INPUT -o OUTPUT --auto-lineage

or ignoring eukaryotes to save runtime, if compatible with your experimental goal.

busco -m MODE -i INPUT -o OUTPUT --auto-lineage-prok

or ignoring non-eukaryotes to save runtime, if compatible with your experimental goal.

busco -m MODE -i INPUT -o OUTPUT --auto-lineage-euk

结果解读

BUSCO 试图根据基因组组装、转录组或注释基因集的预期基因含量,对完整性进行定量评估。结果被简化为完整和单拷贝、完整和重复、片段或缺失的 BUSCOs 类别(Complete and single-copy, Complete and duplicated, Fragmented, or Missing BUSCOs.)。

BUSCO 完整性结果只有在生物体的生物学背景下才有意义。您必须了解缺失或重复的基因是生物起源还是技术起源。例如,高水平的重复可能是由最近的整体重复事件(生物学原因)或单倍型的嵌合组合(技术原因)造成的。转录组和蛋白质集如果没有经过同工酶筛选,就会导致高比例的重复。因此,您应该在进行 BUSCO 分析前对其进行过滤。最后,在转录组实验中专注于特定组织或特定生命阶段和条件不太可能产生 BUSCO 完整的转录组。在这种情况下,您的目标是使所有样本保持一致。

完整

如果发现是完整的,无论是单拷贝还是重复的,BUSCO 匹配结果的得分都在预期范围内,与 BUSCO 配置文件的比对长度也在预期范围内。如果输入数据集中实际上不存在直系同源物,或者直系同源物仅部分存在(高度片段化),而存在高识别度的全长同源物,则该同源物有可能被误认为是完整的 BUSCO。对评分阈值进行了优化,以尽量减少这种可能性,但这种情况仍有可能发生。

片段化

如果发现是片段,则表示 BUSCO 匹配的得分在得分范围内,但不在与 BUSCO 配置文件的长度比对范围内。对于转录组或注释基因组,这表示转录本或基因模型不完整。对于基因组组装,这可能表明基因仅部分存在,或者序列搜索和基因预测步骤未能生成全长基因模型,尽管全长基因可能确实存在于组装中。在运行真核生物数据集时,对产生这种片段结果的匹配会给予 “第二次机会”,即进行第二轮序列搜索和基因预测,并使用在发现完整的 BUSCOs 上训练的参数,但这仍可能无法恢复完整的基因。因此,基因组组装评估中的一些片段化 BUSCO 可能是完整的,但由于差异太大或基因结构非常复杂,因此很难对其进行完整的定位和预测。

缺失

如果发现缺失,则要么根本没有重要匹配,要么 BUSCO 匹配得分低于 BUSCO 配置文件的得分范围。对于转录组或注释基因组,这表明这些直系同源物确实缺失,或者转录本或基因模型非常不完整/支离破碎,甚至不符合被视为片段化的标准。对于基因组组装,这可能表明这些直系同源物确实缺失,或者序列搜索步骤未能识别出任何重要的匹配项,或者基因预测步骤甚至未能产生可能被识别为片段 BUSCO 匹配项的部分基因模型。与片段匹配一样,在运行真核生物数据集时,对第一轮序列搜索后缺失的 BUSCO 也会给予 “第二次机会”,即进行第二轮序列搜索,并使用在完整 BUSCO 上训练的参数进行基因预测,但这仍可能无法恢复基因。因此,在基因组组装评估中缺失的一些 BUSCO 可能部分存在,甚至可能(但不太可能)完整,但它们的差异太大或基因结构非常复杂,因此很难正确定位和预测,甚至很难部分预测。

自动选择:多domain和污染匹配

自动谱系选择过程在古菌、细菌和真核生物等领域的通用谱系数据集上运行 BUSCO。一旦选择了最佳领域,BUSCO 就会根据系统发育位置自动尝试寻找最合适的 BUSCO 数据集。当使用适当的数据集时,即数据集属于要测试物种的系时,BUSCO 评估才有效。由于域间存在重叠标记/假匹配,因此在另一个域中的 busco 匹配并不一定意味着您的基因组/蛋白质组中包含了该域的序列。不过,多个域中的高 busco 分数可能有助于您识别可能的污染。

注意

  • 一般来说,为评估而选择的品系应是现有的最具体的品系,例如,评估鱼类数据时,应选择翼手目品系,而不是中生代品系。
  • 如果要评估大量的物种/品系/版本等,那么为了尽量缩短运行时间(以牺牲分辨率为代价),可以选择较少 BUSCO 的不太特定的品系集,例如,如果要评估 20 个鸟类基因组,每个基因组都有几个不同的组装版本,那么可以选择脊椎动物或后生动物metazoa ,而不是鸟类品系,至少在最初几轮评估中是这样。
  • 评估通常会产生多个文件夹,其中包含大量文件。这些文件是为您准备的,以便您可以更详细地检查个别案例和/或将数据用于下游分析。
  • 请花一些时间检查日志文件,这些文件是为您的利益准备的,以便突出显示 BUSCO 运行期间可能出现的潜在问题。
  • 将您的数据评估结果与其他密切相关物种的相应公开数据评估结果进行比较。这样,BUSCO 的结果就可以用来证明您的数据集与现有的类似物种公开数据集一样好,甚至更好。
  • 如果对注释基因集进行了人工整理,请报告整理前后的 BUSCO 结果,以量化改进情况。

BUSCO报告

  • 用简单的 BUSCO 符号报告结果:C:89.0%[S:85.8%,D:3.2%],F:6.9%,M:4.1%,n:3023
  • 使用 generate_plot.py(见下文)脚本为出版物的辅助在线信息生成简单的图表摘要(可轻松定制)。
  • 报告您使用的所有第三方组件的版本。我们强烈推荐使用 BUSCO 容器,其版本足以安全地重现运行。
  • 报告您用于评估的 BUSCO 数据集。请注明数据集的创建日期,而不仅仅是名称,例如 archaea_odb10 (2019-01-04)。
  • 报告您使用的 BUSCO 选项。
  • 报告您评估的基因组组装、注释基因组或转录组的版本

常用脚本

通过 scripts/generate_plot.py 脚本,用户可以在易于理解的条形图中快速查看 BUSCO 的汇总结果。脚本/generate_plot.py 使用 R (https://www.r-project.org/) 和 ggplot2 (http://ggplot2.org/) 对 BUSCO 运行结果进行汇总,以便进行并排比较。该脚本会生成一张 PNG 图像(如果 R 和 ggplot2 都可用),以及一个 R 源代码文件,该文件可用于在 R 和 ggplot2 都可用的不同机器上运行,也可对其进行编辑,以完全自定义所生成的条形图(颜色、标签、字体、坐标轴等)。

usage: python3 generate_plot.py -wd [WORKING_DIRECTORY] [OTHER OPTIONS]

BUSCO plot generation tool.
Place all BUSCO short summary files (short_summary.[generic|specific].dataset.label.txt) in a single folder. It will be your working directory, in which the generated plot files will be written
See also the user guide for additional information

required arguments:
  -wd PATH, --working_directory PATH
                        Define the location of your working directory

optional arguments:
  -rt RUN_TYPE, --run_type RUN_TYPE
                        type of summary to use, `generic` or `specific`
  --no_r                To avoid to run R. It will just create the R script file in the working directory
  -q, --quiet           Disable the info logs, displays only errors
  -h, --help            Show this help message and exit

要运行 scripts/generate_plot.py,首先要创建一个文件夹,例如 mkdir BUSCO_summaries,然后将要绘制的每个运行的 BUSCO 简摘要文件复制到该文件夹中。

cp XX1/short_summary.*.lineage_odb10.XX1.txt BUSCO_summaries/.
cp XX2/short_summary.*.lineage_odb10.XX2.txt BUSCO_summaries/.
cp XX3/short_summary.*.lineage_odb10.XX3.txt BUSCO_summaries/.

然后,只需运行脚本,并将您创建的包含要绘制的摘要的文件夹名称(或完整路径,如果不在同一工作目录下)作为参数。

python3 scripts/generate_plot.py –wd BUSCO_summaries
python3 scripts/generate_plot.py –wd /full/path/to/my/folder/BUSCO_summaries

生成的 PNG 图像和相应的 R 源代码文件将放在包含 BUSCO 摘要的同一文件夹中。默认情况下,运行名称被用作每个绘制结果的标签,而这是从简短摘要文件名中自动提取的:因此对于 short_summary.generic.lineage_odb10.XX1.txt,标签应为 XX1。您也可以编辑 R 源代码文件,更改任何绘制参数,然后在 R 环境中手动运行代码,绘制个性化条形图。

示例 scripts/generate_plot.py 条形图:

mkdir my_summaries
cp SPEC1/short_summary.generic.lineage1_odb10.SPEC1.txt my_summaries/.
cp SPEC2/short_summary.generic.lineage2_odb10.SPEC2.txt my_summaries/.
cp SPEC3/short_summary.specific.lineage2_odb10.SPEC3.txt my_summaries/.
cp SPEC4/short_summary.generic.lineage3_odb10.SPEC4.txt my_summaries/.
cp SPEC5/short_summary.generic.lineage4_odb10.SPEC5.txt my_summaries/.
python3 scripts/generate_plot.py –wd my_summaries

在这里插入图片描述

真核

(busco) [yut@node02 TestData]$ time  busco -i SX22-37_unicycler/assembly.fasta -c 8 -m geno -l eukaryota_odb10  -f  --out busco_out
# -i Input sequence file in FASTA format. Can be an assembled genome or transcriptome (DNA), or protein sequences from an annotated gene set. Also possible to use a path to a directory containing multiple input files.
 -m MODE, --mode MODE  Specify which BUSCO analysis mode to run.
                        There are three valid modes:
                        - geno or genome, for genome assemblies (DNA)
                        - tran or transcriptome, for transcriptome assemblies (DNA)
                        - prot or proteins, for annotated gene sets (protein)
-l LINEAGE, --lineage_dataset LINEAGE:bacteria_odb10,archaea_odb10,eukaryota_odb10,viruses
                        Specify the name of the BUSCO lineage to be used.
                        busco --list-datasets
-c N, --cpu N         Specify the number (N=integer) of threads/cores to use.
-f, --force           Force rewriting of existing files. Must be used when output files with the provided name already exist.


Ref

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/123558.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SOLIDWORKS 2024新产品发布会暨SOLIDWORKS 创新日活动-硕迪科技

“达索系统SOLIDWORKS 2024新产品发布会暨SOLIDWORKS创新日” 线下发布会即将登场!硕迪科技与达索系统携手为您奉上一场“云享未来,智协未来”的创新年度盛会,欢迎莅临! SOLIDWORKS 2024 以更加强大的姿态亮相,帮助您…

下载git步骤

文章目录 导文1.软件下载2.git安装3.测试git 导文 下载git的详细步骤 1.软件下载 可以自己去网上下载,根据自己电脑的系统类型是多少位的,去下载对应的安装包。 下载地址:Git - Downloads 根据自己的 操作系统进行选择,按需选择…

学习Nginx配置

1.下载地址 官网地址:NGINX - 免费试用、软件下载、产品定价 (nginx-cn.net) 我这边选择NGINX 开源版 nginx: download 2.nginx的基本配置 配置文件语法 配置文件组成:注释行,指令块配置项和一系列指令配置项组成。 单个指令组成&#x…

计算机丢失mfc100.dll如何恢复,详细解析mfc100.dll文件丢失解决方法

在计算机使用过程中,我们可能会遇到一些错误提示,比如“mfc100.dll丢失”。这是因为动态链接库(DLL)文件是Windows操作系统的重要组成部分,它们包含了许多程序运行所需的函数和数据。当这些DLL文件丢失或损坏时&#x…

可持久化01Trie

例题: 解释: 首先这里要求连续异或,所以存储前缀异或和数组。首先的话,我们只考虑前r个版本的Trie,所以以root[r]为根节点的Trie就是1到r位置数。但是,还有一个l左端点,所以我们对于每一个节点…

竞赛选题 深度学习机器视觉车道线识别与检测 -自动驾驶

文章目录 1 前言2 先上成果3 车道线4 问题抽象(建立模型)5 帧掩码(Frame Mask)6 车道检测的图像预处理7 图像阈值化8 霍夫线变换9 实现车道检测9.1 帧掩码创建9.2 图像预处理9.2.1 图像阈值化9.2.2 霍夫线变换 最后 1 前言 🔥 优质竞赛项目系列,今天要分…

OpenCV 输出文本

PutText() 输出文本 OpenCV5 将支持中文字符的输出, 当前版本OpenCV4原生不支持, 可以使用Contrib包FreeType方式实现, 不过比较麻烦.为了省事, 也可以通过将Mat转成bitmap,然后使用GDI方式输出中文字符. 示例代码 /// <summary>/// OpenCV暂时不能支持中文字符输出,显示…

Python爬虫入门教程之快速理解HTTP协议

文章目录 前言一、HTTP协议是什么&#xff1f;二、HTTP 请求三、请求行四、请求首部五、请求体六、HTTP 响应七、响应行八、响应首部九、响应体总结关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①…

计算机基础知识49

三板斧的使用(views.py) 三个方法&#xff1a;HttpResponse: 返回的是字符串render : 返回html文件redirect : 返回加载HTML页面的 def html(request):print(from html)# return HttpResponse(request) # 它返回的是字符串return render(request,html.html) # 返回html# ret…

跟着森老师学React Hooks(1)——使用Vite构建React项目

Vite是一款构建工具&#xff0c;对ts有很好的支持&#xff0c;最近也是在前端越来越流行。 以往的React项目的初始化方式大多是通过脚手架create-react-app(本质是webpack)&#xff0c;其实比起Vite来构建&#xff0c;启动会慢一些。 所以这次跟着B站的一个教程&#xff0c;使用…

对称二叉树(C++解法)

题目 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false C代码 #include <iostrea…

Blender做一个小凳子学习笔记

文章目录 创建椅座椅子腿靠背渲染 本文是这个B站视频的学习笔记&#xff1a;【Blender】爆肝两个月&#xff01;拜托三连了&#xff01;这绝对是全B站最用心的&#xff08;没有之一&#xff09;Blender 3D建模零基础入门 创建椅座 首先&#xff0c;需要了解其左上角和右上角的…

【教3妹学编程-算法题】 在树上执行操作以后得到的最大分数

3妹&#xff1a;2哥&#xff0c;今日都立冬了&#xff0c; 可是天气一点都不冷。 2哥 : 立冬了&#xff0c;晚上要不要一起出去吃饺子&#xff1f;&#x1f95f; 3妹&#xff1a;好呀好呀&#xff0c;2哥请吃饺子喽 2哥 : 歪歪&#xff0c;我说的是一起出去吃&#xff0c;没说我…

【Linux】了解文件的inode元信息,以及日志分析

目录 一、inode表结构&#xff0c;以及元信息 1、了解inode信息有哪些 2、关于inode表的说明 Linux中访问文件的过程&#xff1a; 3、硬连接与软连接的区别&#xff0c;&#xff08;请看前面&#xff0c;写过的&#xff09; 二、文件系统的备份与恢复 三、几种常见的日志…

node插件MongoDB(三)—— 库mongoose 的使用

前言 提示&#xff1a;使用mongoose 的前提是你安装了node和 MongoDB。 mongoose 官网文档&#xff1a;http://mongoosejs.net/docs/index.html 文章目录 前言一、安装二、基本使用1. 打开bin目录的mongod.exe文件2. 基本使用的代码&#xff08;连接mongodb 服务&#xff09;3.…

理解MySQL的日志 Redo、Undo

理解MySQL的Redo日志和Undo日志 1、MySQL 日志文件解决的问题2、redo 日志2.1、redo log 的组成2.2、redo log 刷盘策略2.3、MySQL 的 redo log解决了哪些问题 3、undo 日志3.1、undo 日志作用3.2、undo log 的类型3.3、undo log 的生命周期3.4、事务回滚相关的几个隐藏字段 1、…

JAVA安全之Log4j-Jndi注入原理以及利用方式

什么是JNDI&#xff1f; JDNI&#xff08;Java Naming and Directory Interface&#xff09;是Java命名和目录接口&#xff0c;它提供了统一的访问命名和目录服务的API。 JDNI主要通过JNDI SPI&#xff08;Service Provider Interface&#xff09;规范来实现&#xff0c;该规…

率能SS6216-单通道直流有刷电机驱动芯片

产品描述&#xff1a; SS6216是一款单通道直流有刷驱动芯片&#xff1b;工作电压为 2.0V&#xff5e;7.2V&#xff0c;每个通道的负载电流可达1.4A;峰值输出电流1.6A&#xff1b;低待机电流 (typ. 0.1uA&#xff09;低导通电阻0.6ohm(采用SOP8/SOT23-6两种封装)满足产品小型化…

字符编码转换时发生内存越界引发的摄像头切换失败问题的排查

目录 1、问题说明 2、初步分析 3、字符串字符编码说明 4、进一步分析 5、为啥在日常测试时没有遇到切换摄像头失败的问题呢&#xff1f; 6、华为MateBook笔记本使用高通的CPU 7、最后 VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更…

推荐大学生考研党都来使用的白板笔记软件!上岸卷王必备!

考研这条路&#xff0c;对于很多大学生来说&#xff0c;是一条漫漫长路。相信很多人都有这样的体会&#xff1a;看了大量的书籍&#xff0c;记了大量的笔记&#xff0c;但是到了临近考试的时候&#xff0c;却发现复习的内容和思路都不是很清晰&#xff0c;效率不高。 针对这个…