单细胞BCR的分析Dandelion重注释的安装以及用法----11111

news2024/9/20 7:58:02

今天来学习下这个新的方法,主要是针对单细胞BCR

在这里插入图片描述

首先安装singularity

Singularity 是一种容器化技术,类似于 Docker,专为高性能计算(HPC)和科学研究领域的需求设计。它允许用户在不同环境中运行和移植应用程序,而无需担心底层系统的兼容性问题。Singularity 的核心目标是解决科学计算中的依赖和兼容性问题,使用户能够方便地在不同的系统(如 HPC 集群、云端、工作站等)上运行一致的工作环境。
安装singularity
在这里插入图片描述

sudo apt-get update && sudo apt-get install -y \
    build-essential \
    libssl-dev \
    uuid-dev \
    libgpgme11-dev \
    squashfs-tools \
    libseccomp-dev \
    pkg-config

当然yum的安装也是有的

sudo yum update -y && \
    sudo yum groupinstall -y 'Development Tools' && \
    sudo yum install -y \
    openssl-devel \
    libuuid-devel \
    libseccomp-devel \
    wget \
    squashfs-tools

然后安装GO

export VERSION=1.11 OS=linux ARCH=amd64 && \
    wget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz && \
    sudo tar -C /usr/local -xzvf go$VERSION.$OS-$ARCH.tar.gz && \
    rm go$VERSION.$OS-$ARCH.tar.gz

然后,为 Go 设置你的环境

echo 'export GOPATH=${HOME}/go' >> ~/.bashrc && \
    echo 'export PATH=/usr/local/go/bin:${PATH}:${GOPATH}/bin' >> ~/.bashrc && \
    source ~/.bashrc

在这里插入图片描述
要确保 Singularity 源代码下载到适当的目录,请使用这些命令。

go get -d github.com/sylabs/singularity
#现在检查您想要安装的 Singularity 版本。
export VERSION=v3.0.3 # or another tag or branch if you like && \
    cd $GOPATH/src/github.com/sylabs/singularity && \
    git fetch && \
    git checkout $VERSION # omit this command to install the latest bleeding edge code from master

到这里GO的配置和singularity都已经安装完成
回到我们的BCR 继续填坑满谷,测试singularity安装是否成功
在这里插入图片描述

如果你安装成功了,直接拉到最后 从 这句话开始看—有两种形式哈(上面奇点下载完成可以直接尝试,看看行不行,不行你就按照我的一步步来)—

如果不行你就回来按照下面一步步来把

#或许你看了下面的重注释的高级分析,我要告诉你的是有坑
在这里插入图片描述
顺着这个连教程你都搞不定
在这里插入图片描述

我出现了跟他一样的问题

Assigning genes :   0%|          | 0/1 [00:00<?, ?it/s]
USAGE
  igblastn [-h] [-help] [-import_search_strategy filename]
    [-export_search_strategy filename] [-germline_db_V germline_database_name]
    [-num_alignments_V int_value] [-germline_db_V_seqidlist filename]
    [-germline_db_D germline_database_name] [-num_alignments_D int_value]
    [-germline_db_D_seqidlist filename]
    [-germline_db_J germline_database_name] [-num_alignments_J int_value]
    [-germline_db_J_seqidlist filename] [-auxiliary_data filename]
    [-min_D_match min_D_match] [-D_penalty D_penalty] [-J_penalty J_penalty]
    [-num_clonotype num_clonotype] [-clonotype_out clonotype_out]
    [-allow_vdj_overlap] [-organism germline_origin]
    [-domain_system domain_system] [-ig_seqtype sequence_type]
    [-focus_on_V_segment] [-extend_align5end] [-min_V_length Min_V_Length]
    [-min_J_length Min_J_Length] [-show_translation] [-db database_name]
    [-dbsize num_letters] [-gilist filename] [-seqidlist filename]
    [-negative_gilist filename] [-negative_seqidlist filename]
    [-entrez_query entrez_query] [-db_soft_mask filtering_algorithm]
    [-db_hard_mask filtering_algorithm] [-subject subject_input_file]
    [-subject_loc range] [-query input_file] [-out output_file]
    [-evalue evalue] [-word_size int_value] [-gapopen open_penalty]
    [-gapextend extend_penalty] [-qcov_hsp_perc float_value]
    [-max_hsps int_value] [-xdrop_ungap float_value] [-xdrop_gap float_value]
    [-xdrop_gap_final float_value] [-searchsp int_value]
    [-sum_stats bool_value] [-penalty penalty] [-reward reward] [-no_greedy]
    [-ungapped] [-culling_limit int_value] [-best_hit_overhang float_value]
    [-best_hit_score_edge float_value] [-window_size int_value]
    [-off_diagonal_range int_value] [-lcase_masking] [-query_loc range]
    [-strand strand] [-parse_deflines] [-outfmt format] [-show_gis]
    [-num_descriptions int_value] [-num_alignments int_value]
    [-line_length line_length] [-max_target_seqs num_sequences]
    [-num_threads int_value] [-remote] [-version]

DESCRIPTION
   Nucleotide-Nucleotide BLAST for immunoglobulin sequences 2.6.1+

Use '-help' to print detailed descriptions of command line arguments
========================================================================

Error: Unknown argument: "c_region_db"
Error:  (CArgException::eInvalidArg) Unknown argument: "c_region_db"
USAGE
  igblastn [-h] [-help] [-import_search_strategy filename]
    [-export_search_strategy filename] [-germline_db_V germline_database_name]
    [-num_alignments_V int_value] [-germline_db_V_seqidlist filename]
    [-germline_db_D germline_database_name] [-num_alignments_D int_value]
    [-germline_db_D_seqidlist filename]
    [-germline_db_J germline_database_name] [-num_alignments_J int_value]
    [-germline_db_J_seqidlist filename] [-auxiliary_data filename]
    [-min_D_match min_D_match] [-D_penalty D_penalty] [-J_penalty J_penalty]
    [-num_clonotype num_clonotype] [-clonotype_out clonotype_out]
    [-allow_vdj_overlap] [-organism germline_origin]
    [-domain_system domain_system] [-ig_seqtype sequence_type]
    [-focus_on_V_segment] [-extend_align5end] [-min_V_length Min_V_Length]
    [-min_J_length Min_J_Length] [-show_translation] [-db database_name]
    [-dbsize num_letters] [-gilist filename] [-seqidlist filename]
    [-negative_gilist filename] [-negative_seqidlist filename]
    [-entrez_query entrez_query] [-db_soft_mask filtering_algorithm]
    [-db_hard_mask filtering_algorithm] [-subject subject_input_file]
    [-subject_loc range] [-query input_file] [-out output_file]
    [-evalue evalue] [-word_size int_value] [-gapopen open_penalty]
    [-gapextend extend_penalty] [-qcov_hsp_perc float_value]
    [-max_hsps int_value] [-xdrop_ungap float_value] [-xdrop_gap float_value]
    [-xdrop_gap_final float_value] [-searchsp int_value]
    [-sum_stats bool_value] [-penalty penalty] [-reward reward] [-no_greedy]
    [-ungapped] [-culling_limit int_value] [-best_hit_overhang float_value]
    [-best_hit_score_edge float_value] [-window_size int_value]
    [-off_diagonal_range int_value] [-lcase_masking] [-query_loc range]
    [-strand strand] [-parse_deflines] [-outfmt format] [-show_gis]
    [-num_descriptions int_value] [-num_alignments int_value]
    [-line_length line_length] [-max_target_seqs num_sequences]
    [-num_threads int_value] [-remote] [-version]

DESCRIPTION
   Nucleotide-Nucleotide BLAST for immunoglobulin sequences 2.6.1+

Use '-help' to print detailed descriptions of command line arguments
========================================================================

Error: Unknown argument: "c_region_db"
Error:  (CArgException::eInvalidArg) Unknown argument: "c_region_db"
ERROR> Input 10kPBMC_CFCOV/dandelion/tmp/all_contig_igblast.fmt7 does not exist.

ERROR> Input 10kPBMC_CFCOV/dandelion/tmp/all_contig_igblast.fmt7 does not exist.

**BLAST Database error: Error: Not a valid version 4 database.**
**BLAST Database error: Error: Not a valid version 4 database.**
Assigning genes : 100%|██████████| 1/1 [00:17<00:00, 17.14s/it]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "~/miniconda3/envs/dandelion/lib/python3.10/site-packages/sc_dandelion-0.3.9.dev4+g3faaadd-py3.10.egg/dandelion/preprocessing/_preprocessing.py", line 1150, in reannotate_genes
    rename_dandelion(
  File "~/miniconda3/envs/dandelion/lib/python3.10/site-packages/sc_dandelion-0.3.9.dev4+g3faaadd-py3.10.egg/dandelion/utilities/_io.py", line 1016, in rename_dandelion
    fp = filePath.parent / filePath.name.rsplit(ends_with)[0]
AttributeError: 'NoneType' object has no attribute 'parent'

OS information
Linux

Version information
dandelion==0.3.9.dev4 pandas==2.2.2 numpy==1.26.4 matplotlib==3.9.2 networkx==2.7 scipy==1.14.1

Additional context
I have retried in a new window, and now instead of the errors with asterisks above, I got current error. Seems like a blast and igblast confusion?

BLAST Database error: No alias or index file found for nucleotide database [home/dandelion/Github/dandelion/container/database/igblast/database/imgt_human_tr_j] in search path [home/dandelion:home/dandelion/Github/dandelion/container/database/blast:]
BLAST Database error: No alias or index file found for nucleotide database [home/dandelion/Github/dandelion/container/database/igblast/database/imgt_human_tr_d] in search path [home/dandelion:home/dandelion/Github/dandelion/container/database/blast:]

接着我就要告诉你还需要安装blast+ and igblast.
在这里插入图片描述
作者回复也是让你安装最新的版本
在这里插入图片描述
最后结果新的问题来了

I have upgraded both, the error above got solved, but now getting errors as below:

Assigning genes : 0%| | 0/1 [00:00<?, ?it/s]
BLAST query/options error: Germline annotation database human/human_TR_V could not be found in [internal_data] directory
Please refer to the BLAST+ user manual.
BLAST query/options error: Germline annotation database human/human_TR_V could not be found in [internal_data] directory
Please refer to the BLAST+ user manual.
ERROR> Input 10kPBMC_CFCOV/dandelion/tmp/all_contig_igblast.fmt7 does not exist.

ERROR> Input 10kPBMC_CFCOV/dandelion/tmp/all_contig_igblast.fmt7 does not exist.

BLAST Database error: Database memory map file error
BLAST Database error: Database memory map file error
Assigning genes : 100%|██████████| 1/1 [00:09<00:00, 9.30s/it]
Traceback (most recent call last):
File "", line 1, in
File "home/miniconda3/envs/dandelion/lib/python3.10/site-packages/sc_dandelion-0.3.9.dev4+g3faaadd-py3.10.egg/dandelion/preprocessing/_preprocessing.py", line 1150, in reannotate_genes
rename_dandelion(
File "home/miniconda3/envs/dandelion/lib/python3.10/site-packages/sc_dandelion-0.3.9.dev4+g3faaadd-py3.10.egg/dandelion/utilities/_io.py", line 1016, in rename_dandelion
fp = filePath.parent / filePath.name.rsplit(ends_with)[0]
AttributeError: 'NoneType' object has no attribute 'parent'

I have noticed similar issues mentioned in tracer repo and recently in #382. I tried to specify igblast_db parameter either as internal_data in the container folder or home/miniconda3/pkgs/igblast-1.22.0-h6a68c12_1/bin, but it did not work. Can you provide detailed guidance on how to solve this problem? Thanks.

最后如何解决的呢
在这里插入图片描述
问题的链接你们可以自己看最后解决的方式

我的策略安装了最新的 igblast 和 blast ,然后按照运行奇点容器,所有这些都将变得简单 - 它不需要 anndata 进行预处理
当然我也附上安装的代码

wget -c https://ftp.ncbi.nih.gov/blast/executables/igblast/release/LATEST/ncbi-igblast-1.22.0-x64-linux.tar.gz
tar -xvf ncbi-igblast-1.22.0-x64-linux.tar.gz
nano ~/.bashrc
export PATH=$PATH:/home/sayhello/ncbi-igblast-1.22.0/bin
#然后ctrl+o 写入 然后回车 最后ctrl+x 退出
source ~/.bashrc
 #blast 操作根上面一样 
 wget -c https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.16.0+-x64-linux.tar.gz
 #我给了网址后面的操作跟igblast 一样

接着我们下载依赖的数据集,作者已经整理好了,建议先下载后执行shell

# bash/shell
echo "export GERMLINE=$HOME/Documents/Github/dandelion/container/database/germlines/" >> ~/.bash_profile
echo "export IGDATA=$HOME/Documents/Github/dandelion/container/database/igblast/" >> ~/.bash_profile
echo "export BLASTDB=$HOME/Documents/Github/dandelion/container/database/blast/" >> ~/.bash_profile
# reload
source ~/.bash_profile

实际上你可以下载
https://github.com/zktuong/dandelion/tree/master/container/database
在这里插入图片描述
这个是上面的shell对应的文件库,你可以按照shell对应的路径,然后下载到对于的路径然后配置即可

我们还没开始安装包作后续的分析

conda create -n VDJ_BCR python=3.10
conda activate VDJ_BCR
conda install -c conda-forge scanpy python-igraph leidenalg
pip install scanpy
conda install -c conda-forge graph-tool
pip install sc-dandelion

一定要先安装scanpy,看见新的安装了方式了,可以尝试下
在这里插入图片描述

随后在这个VDJ_BCR的环境中装个R,装以下的R包,这个装包是玄学,报错就是缺依赖,依赖下载不下来,可以根据下载失败的链接直接网页下载后,本地安装,重复安装就可以

install.packages(c("optparse", "airr", "shazam", "alakazam", "tigger"))

最后终于可以重新注释了,这个包有点麻烦,我是把所有的坑都踩完了,我感觉直接singularity也会成功,但是我没有尝试

singularity pull library://kt16/default/sc-dandelion:latest
singularity shell --writable-tmpfs -B $PWD sc-dandelion_latest.sif

本地会有一个sif的文件
在这里插入图片描述

把你的单细胞bcr的数据安装我的形式放在一个目录下

在这里插入图片描述

有两种形式哈(上面奇点下载完成可以直接尝试,看看行不行,不行你就按照我的一步步来)

我们先讲第一种

在这里插入图片描述

就是每个文件里面都是all_contig_annotations.csv和all_contig.fasta

最重要的看看原始的前处理脚本

我直接把参数的含义说明

parse_args() 函数的目的是通过命令行解析参数,允许用户灵活配置脚本的运行方式。该函数使用 argparse.ArgumentParser() 来定义各种选项,并将命令行参数转换为程序中的变量。以下是对每个参数的详细解释:

--meta:

类型: 字符串 (文件路径)
说明: 可选的元数据 CSV 文件。文件的第一列应该包含样本 ID,且这些 ID 应与当前工作目录下的文件夹名匹配。可选的 "prefix""suffix" 列可用于修改条形码,还有一个 "individual" 列用于分组样本。如果没有提供此文件,程序将假定所有样本都将被一起分析。
用途: 用于指定每个样本的相关信息,如条形码前缀或后缀,以及是否对样本进行分组。
--chain:

类型: 字符串,默认值为 "IG"
说明: 数据类型,接受两种类型 "IG"(免疫球蛋白链)或 "TR"(T 细胞受体链)。两者的处理管道不同。默认是 "IG"。
用途: 确定所处理的链类型,从而选择相应的预处理和重注释步骤。
--org:

类型: 字符串,默认值为 "human"
说明: 生物体类型,接受 "human""mouse"。指定后可以根据物种选择正确的基因注释。
用途: 决定重注释步骤时使用的人类或小鼠的基因库。
--file_prefix:

类型: 字符串,默认值为 "all"
说明: 指定 contig 文件的前缀,用于确定要处理的文件(如 "PREFIX_contig_annotations.csv""PREFIX_contig.fasta")。
用途: 用于选择不同文件的前缀,以处理特定的数据子集。
--db:

类型: 字符串,默认值为 "imgt"
说明: 数据库类型,接受 "imgt""ogrdb"。指定数据库用于基因重注释。
用途: 决定重注释时使用哪个基因数据库。
--strain:

类型: 字符串,默认值为 None
说明: 指定用于重注释的小鼠品系(仅用于 "ogrdb" 数据库)。如果不指定,默认会使用所有小鼠品系。
用途: 用于小鼠数据的品系特定重注释。
--sep:

类型: 字符串,默认值为 "_"
说明: 设置条形码和前缀/后缀之间的分隔符。如果没有元数据文件,将使用样本名称作为前缀。
用途: 决定条形码和前缀/后缀的格式。
--flavour:

类型: 字符串,默认值为 "strict"
说明: 设置 igblastn 重注释的风格。"strict" 模式会强制执行更严格的 e 值和惩罚阈值,而 "original" 则不会。
用途: 选择基因注释时的严格程度。
--filter_to_high_confidence:

类型: 布尔值,默认未设置
说明: 如果指定,仅保留在 contig 注释中被标记为 "高置信度" 的 contig。
用途: 过滤掉低置信度的数据。
--keep_trailing_hyphen_number:

类型: 布尔值,默认 True
说明: 如果指定,保留条形码末尾的 "-1" 等后缀。
用途: 控制是否保留条形码的尾号。
--skip_format_header:

类型: 布尔值,默认 False
说明: 如果指定,跳过 contig 文件头的格式化步骤。
用途: 控制是否需要格式化 contig 的头信息。
--skip_tigger:

类型: 布尔值,默认 False
说明: 如果指定,跳过 TIgGER 的等位基因重新分配步骤。
用途: 控制是否运行 TIgGER 分析。
--skip_reassign_dj:

类型: 布尔值,默认 True
说明: 如果指定,跳过使用 blastn 重新分配 D 和 J 片段的步骤(仅当风格为 "strict" 时)。
用途: 控制是否在严格模式下重新分配 D 和 J 片段。
--skip_correct_c:

类型: 布尔值,默认 True
说明: 如果指定,跳过在 isotype 分配阶段修正 C 片段的步骤(仅当链类型为 IG 时)。
用途: 控制是否修正 C 片段注释。
--clean_output:

类型: 布尔值,默认 False
说明: 如果指定,移除运行结果中的中间文件,仅保留主要输出文件。
用途: 控制是否清理中间输出文件。
逻辑部分:
args.chain = args.chain.lower(): 将 chain 参数转化为小写,以便于后续处理。
if args.chain not in ["tr", "ig"]: 如果用户输入的 chain 参数既不是 "tr" 也不是 "ig",则抛出错误。
最终返回:
该函数返回 args,其中包含用户通过命令行传入的所有参数。

那么碰到上面的文件我们如何设置参数呢

首先必须在这个目录下

在这里插入图片描述
如果研究的是小鼠加上–org=“mouse” ,研究人就删除,好好看我上面对所有参数的描述,然后加上出

sayhello@xuguangji:~/Biosoft/VDJ_test$ singularity run -B $PWD sc-dandelion_latest.sif dandelion-preprocess --meta meta1.csv --org="mouse"

至于我的meta1.csv 也给你看看
在这里插入图片描述

然后我们讲另外一种输入文件

比如在s10ug_07D的文件夹下是这三种文件,其余的准备文件都不变
在这里插入图片描述
代码我们加上了–file_prefix filtered
–file_prefix:

类型: 字符串,默认值为 “all”
说明: 指定 contig 文件的前缀,用于确定要处理的文件(如 “PREFIX_contig_annotations.csv” 和 “PREFIX_contig.fasta”)。
用途: 用于选择不同文件的前缀,以处理特定的数据子集。

singularity run -B $PWD sc-dandelion_latest.sif dandelion-preprocess --meta meta1.csv --file_prefix filtered --org="mouse"

最后还是多看看我上面写的对参数的说明,然后对应自己的数据改参数

后续分析完成更新Dandelion后续操作

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Canvas与诗词】《登科后》唐.孟郊

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>昔日龌龊不足夸</title><style type"text/css"&g…

线程 - 线程优缺点、线程自有和共享的数据、多线程使用公共空间、线程分离、线程库对线程的管理

文章目录 一、线程的优点1. 创建的代价2. 切换的代价缓存和进程/线程切换3. 占用的资源4. 效率二、线程的缺点1. 性能损失2. 健壮性降低3. 缺乏访问控制4. 编程难度高三、线程分离1. 线程分离2. pthread_detach ()① 函数细节② 函数使用四、线程自有和共享的数据1. 线程自有的…

[数据集][目标检测]无人机飞鸟检测数据集VOC+YOLO格式6647张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6647 标注数量(xml文件个数)&#xff1a;6647 标注数量(txt文件个数)&#xff1a;6647 标注…

酒店布草洗涤-酒店分层管理编程实现--———未来之窗行业应用跨平台架构

一、添加楼层代码 未来之窗_人工智能_传送阵(添加楼层,客户信息,300,200) CyberWin_Dialog.layer(未来之窗传送,{type:"url",title:title,move:true,width:阵眼宽度"px",height:阵眼高度"px",id:未来之窗app_通用ID,mask:false,align:59,hidecl…

css 样式简单学习(一)

目录 1. css 介绍 1.1 css 样式 1.2 css代码风格 1.2.1 书写格式 1.2.2 样式大小写​编辑 1.2.3 空格规范 2. 基础选择器 2.1 选择器的作用​编辑 2.2 选择器的分类 2.3 基础选择器 2.3.1 标签选择器​编辑 2.3.2 类选择器​编辑 2.3.3 类选择器-多类名​编辑 2.…

Linux硬连接、软连接和复制的区别

‌硬连接、软连接和复制在Linux系统中的主要区别体现在以下三点&#xff1a; 文件链接的方式文件独立性文件系统的操作上。‌ 一、硬连接 1. 硬连接是通过ln命令创建的&#xff0c;它为文件创建别名&#xff0c;与源文件共享同一inode号码&#xff0c;因此硬连接和源文件实际…

松散绑定是什么?

概念 比如我的yml中写的last-name,这个和lastName是一样的&#xff0c;-后面跟着的字母默认是大写的&#xff0c;这就是松散绑定 示例 类代码&#xff1a; public class Person {private String lastName;private Integer age;private Boolean happy;private Date birth;pr…

c++与cmake:完整的C++项目构建注意事项

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 最近常常使用cmake构建c项目有感,从创建项目到打包发布总结一下需要注意的事情. 项目组织方式 具体的项目组织方式因人而异,这里推荐一种,在src目录中创建模块目录,再在include目录中常见对应的同名目录包含头文件,…

【Binlog实战】:基于Spring监听Binlog日志

【Binlog实战】&#xff1a;基于Spring监听Binlog日志 binlog的三种模式 MySQL 的二进制日志&#xff08;binlog&#xff09;有三种不同的格式&#xff0c;通常被称为 binlog 模式。这三种模式分别是 Statement 模式、Row 模式和Mixed 模式。 Statement 模式&#xff1a; 在 …

Redis存储原理

前言 我们从redis服务谈起&#xff0c;redis是单reactor&#xff0c;命令在redis-server线程处理。还有若干读写IO线程负责IO操作&#xff08;redis6.0之后&#xff0c;Redis之pipeline与事务&#xff09;。此外还有一个内存池线程负责内存管理、一个后台文件线程负责大文件的关…

信息安全数学基础(17)Wilson定理

前言 Wilson定理&#xff08;Wilsons Theorem&#xff09;是数论中的一个基本定理&#xff0c;它揭示了素数与其阶乘之间的一个重要关系。 一、表述 对于任意素数p&#xff0c;有(p−1)!≡−1(modp)&#xff0c;其中(p−1)!表示p−1的阶乘&#xff0c;即123⋯(p−1)。 这个定理…

C++STL~~priority_queue

文章目录 容器适配器一、priority_queue的概念二、priority_queue的使用三、priority_queue的练习四、仿函数五、总结 容器适配器 什么是适配器 适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结)&#xff0c;该种模式是将…

python画图|3D bar进阶探索

前述学习过程只能怪&#xff0c;已经探究了3D直方图的基础教程&#xff0c;详见下述链接&#xff1a; python画图|3D直方图基础教程-CSDN博客 实际上&#xff0c;基础文章直接进入了堆叠教程&#xff0c;相对来说基础的程度不够&#xff0c;因此有必要再次探索。 【1】官网教…

spug项目实现代码本地启动步骤

一、spug代码仓库地址: spug: 开源运维平台&#xff1a;面向中小型企业设计的无 Agent的自动化运维平台&#xff0c;整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布、任务计划、配置中心、监控、报警等一系列功能。 - Gitee.com 注意&#xff1a;如…

【制作100个unity游戏之32】unity开发属于自己的一个2d/3d桌面宠物,可以实时计算已经获取的工资

最终效果 文章目录 最终效果一、实现Windows消息弹窗二、将窗口扩展到工作区三、穿透能点击到其他区域四、模型交互1、我们可以新增ObjectDrag 代码控制人物拖拖动2、实现模型交互五、最终代码六、其他七、游玩地址使用Live2D实现桌宠七、源码参考完结一、实现Windows消息弹窗 …

jetson nano开发板安装todesk远程乌班图aarch版本

打开todesk官网&#xff0c;并打开Linux系统的一栏&#xff1a;ToDesk远程桌面软件-免费安全流畅的远程连接电脑手机 我这里选择deb安装包&#xff0c;然后安装依赖 sudo apt-get install libappindicator3-1 由于我下载上传到了根目录&#xff0c;所以直接在终端运行安装命令…

Golang | Leetcode Golang题解之第415题字符串相加

题目&#xff1a; 题解&#xff1a; func addStrings(num1 string, num2 string) string {add : 0ans : ""for i, j : len(num1) - 1, len(num2) - 1; i > 0 || j > 0 || add ! 0; i, j i - 1, j - 1 {var x, y intif i > 0 {x int(num1[i] - 0)}if j &g…

nonlocal本质讲解(前篇)——从滤波到Nonlocal均值滤波

线性滤波 → \rightarrow →高斯滤波 → \rightarrow →高斯滤波 → \rightarrow →双边滤波 → \rightarrow →Nonlocal均值滤波 平均 高斯 双边 Nonlocal 目录 线性滤波高斯滤波双边滤波Nonlocal均值滤波 滤波最初是频域的概念&#xff0c;由于频域乘积对应空域卷积&am…

Qwen2-VL环境搭建推理测试

引子 2024年8月30号&#xff0c;阿里推出Qwen2-VL&#xff0c;开源了2B/7B模型&#xff0c;处理任意分辨率图像无需分割成块。之前写了一篇Qwen-VL的博客&#xff0c;感兴趣的童鞋请移步&#xff08;Qwen-VL环境搭建&推理测试-CSDN博客&#xff09;&#xff0c;这么小的模…

Spring Cloud Alibaba-(1)搭建项目环境

1.Spring Cloud Alibaba&#xff08;官网&#xff1a;https://sca.aliyun.com/&#xff09; Spring Cloud Alibaba 是阿里巴巴结合自身丰富的微服务实践而推出的微服务开发的一站式解决方案&#xff0c;是 Spring Cloud 第二代实现的主要组成部分。吸收了 Spring Cloud Netflix…