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

跨物种筛选同源基因

工具:R:biomaRt

原始文件:human、mouse、macaque、marmoset四个物种的gene list,有些是用ensembl ID,有的是用gene name来表示。

目的:找到四个物种的gene list之间的1v1同源基因

1. 找到物种间的1v1同源基因

# 加载 biomaRt 包
library(biomaRt)
library(dplyr)
# 连接到 Ensembl 数据库
ensembl <- useMart("ensembl")# 使用read.csv来读取数据
hu <- read.csv(paste0(path,'hu_genelst.csv'), row.names = NULL)
mo <- read.csv(paste0(path,'mo_genelst.csv'), row.names = NULL)head(hu)
str(hu)

这里的hu是我需要筛选的human的基因,我先找到human的gene list对应的其它物种的同源基因。

datasets <- listDatasets(ensembl)
head(datasets)

这里有ensembl中包含的很多物种的dataset

可以用这个命令来筛选你想要的物种的dataset

datasets[grepl("musculus", datasets$dataset), ]

然后可以生成我需要的四个物种的 dataset

# 选择四个物种的数据集
ensembl_human <- useDataset("hsapiens_gene_ensembl", mart = ensembl)
ensembl_mouse <- useDataset("mmusculus_gene_ensembl", mart = ensembl)
ensembl_macaque <- useDataset("mmulatta_gene_ensembl", mart = ensembl)
ensembl_marmoset <- useDataset("cjacchus_gene_ensembl", mart = ensembl)
ensembl_human

ensembl_human这个dataset的attribute属性中会有很多相关的信息,比如human的ensembl_gene_id,以及基因名称等,甚至包括ensembl定义好的与其它物种的同源基因,如with_cjacchus_homolog,,这些信息很多可以根据关键词筛选:

filters = listFilters(ensembl_human) 
filters[grepl('ensembl_gene_id',filters$name),]
h_hom = filters[grepl('homolog',filters$name),]
h_hom[grepl('marmoset',h_hom$description),]
h_hom[grepl('macaque',h_hom$description),]

然后根据getBM函数获取想要的属性

hu_symbol = getBM(
attributes = c('ensembl_gene_id','hgnc_symbol','band'), ## 想要获取的属性
filters = 'ensembl_gene_id',  ## 根据哪个特征来获取这些属性
values = hu$ids[1:5],   ## 想要获取哪些基因的属性
mart = hu_ensembl  ## 从哪个dataset中获取
)
hu_symbol

2. 用getLDS函数进行同源基因 list的转换

 也就是用’ensembl_gene_id‘表示的h_genelist,将他从ensembl的human dataset中提取出来,然后对应到mouse dataset的相应信息,提取出mouse dataset中对应的‘ensembl_gene_id’,实现从ENSG00000078808 到 ENSMUSG00000002459 的转换,也就是同源基因的匹配。。(但是!!但是!! 我可能是网络连接错误,所以我无法进行这个转换!!!!!【只贴上代码】)

# 将鼠的基因转换为人的,人鼠同源基因-用人的进行表示
h_hvmo <- getLDS(attributes = c("ensembl_gene_id"),   ## 要检索的数据集的属性参数mart = mo_ensembl,    ## 需要查询的基因向量来自哪个mart对象filters = "ensembl_gene_id",   ## 使用哪个属性来查询values = mo$ids[1:3],   ## 需要查询的向量attributesL = c("ensembl_gene_id"),   ## 需要同源转换为人的这些属性的信息martL = hu_ensembl, uniqueRows = TRUE,verbose = TRUE)  # 启用详细的调试日志)# Error: biomaRt has encountered an unexpected server error.
# Consider trying one of the Ensembl mirrors (for more details look at ?useEnsembl)
# Traceback:
# 1. getLDS(attributes = c("ensembl_gene_id"), mart = mo_ensembl, filters = "ensembl_gene_id", values = mo$ids[1:3], attributesL = c("ensembl_gene_id"),martL = hu_ensembl, uniqueRows = TRUE, verbose = TRUE)
# 2. submitQueryXML(host = paste0(martHost(mart), sep), query = xmlQuery,httr_config = martHTTRConfig(mart))
# 3. stop(err_msg, call. = FALSE)

所以我直接尝试另一种方法,

3. 直接使用human dataset中的属性信息,

也就是网站提供的人的基因对应到其它物种上的信息,也就是这个human dataset中会有很多属性,包括ensembl_gene_id,以及从human基因出发与很多物种的同源基因信息,如mmusculus_homolog_ensembl_gene,可以直接提取出来

😊成功!!!

listAttributes(hu_ensembl)[grepl('cjacchus', listAttributes(hu_ensembl)$name), ]

homologs <- getBM(
attributes = c("ensembl_gene_id", "external_gene_name",
"cjacchus_homolog_ensembl_gene", "cjacchus_homolog_associated_gene_name",
'cjacchus_homolog_orthology_type',
"mmusculus_homolog_ensembl_gene",'mmusculus_homolog_associated_gene_name',
'mmusculus_homolog_orthology_type',
"mmulatta_homolog_ensembl_gene", "mmulatta_homolog_associated_gene_name",
'mmulatta_homolog_orthology_type'),
mart = hu_ensembl,
values = hu$ids[1:10],
filters = 'ensembl_gene_id'
)

然后去除为na或空格,以及orthology_type不为‘ortholog_one2one’的基因

# 检查是否存在空字符或 NA
sum(homologs$cjacchus_homolog_ensembl_gene == "")  # 空字符的数量
sum(is.na(homologs$cjacchus_homolog_ensembl_gene))  # NA的数量
sum(homologs$cjacchus_homolog_orthology_type == "ortholog_one2one") ## 1v1同源基因数目sum(homologs$mmusculus_homolog_ensembl_gene == "")  # 空字符的数量
sum(is.na(homologs$mmusculus_homolog_ensembl_gene))  # NA的数量
sum(homologs$mmusculus_homolog_orthology_type == "ortholog_one2one") ## 1v1同源基因数目sum(homologs$mmulatta_homolog_ensembl_gene == "")  # 空字符的数量
sum(is.na(homologs$mmulatta_homolog_ensembl_gene))  # NA的数量
sum(homologs$mmulatta_homolog_orthology_type == "ortholog_one2one") ## 1v1同源基因数目
# 过滤掉空字符和NA
filtered_homologs <- homologs[!(is.na(homologs$cjacchus_homolog_associated_gene_name) & homologs$cjacchus_homolog_associated_gene_name == "") &homologs$cjacchus_homolog_orthology_type == "ortholog_one2one" &!(is.na(homologs$mmusculus_homolog_associated_gene_name) & homologs$mmusculus_homolog_associated_gene_name == "") &homologs$mmusculus_homolog_orthology_type == "ortholog_one2one" &!(is.na(homologs$mmulatta_homolog_associated_gene_name) & homologs$mmulatta_homolog_associated_gene_name == "") &homologs$mmulatta_homolog_orthology_type == "ortholog_one2one", 
]# 查看过滤后的结果
filtered_homologs

🍎如果不筛选 ortholog_one2one 会存在一个人类基因   对应    某一个物种   有多个同源基因的情况,如
13971    ENSG00000280789    PAGR1    ENSCJAG00000007182    PAGR1    ENSMUSG00000030680    Pagr1a    ENSMMUG00000061749    PAGR1                 
13972    ENSG00000280789    PAGR1    ENSCJAG00000007182    PAGR1    ENSMUSG00000107068    Gm42742    ENSMMUG00000061749    PAGR1          

🍎因此需要筛选一下1v1同源基因

# 保存为 CSV 文件
write.csv(filtered_homologs, file = paste0(out_dir,'orthologs_1to1_human_mouse_macaque_marmoset_9086.csv'), row.names = FALSE)

 

相关文章:

跨物种筛选同源基因

工具&#xff1a;R&#xff1a;biomaRt 原始文件&#xff1a;human、mouse、macaque、marmoset四个物种的gene list&#xff0c;有些是用ensembl ID&#xff0c;有的是用gene name来表示。 目的&#xff1a;找到四个物种的gene list之间的1v1同源基因 1. 找到物种间的1v1同源…...

大模型数据采集和预处理:把所有数据格式,word、excel、ppt、jpg、pdf、表格等转为数据

大模型数据采集和预处理&#xff1a;把所有数据格式&#xff0c;word、excel、ppt、jpg、pdf、表格等转为数据 文本/图片/表格&#xff0c;分别提取处理工具选择不同格式文件&#xff0c;使用不同工具处理1. 确认目标2. 分析过程(目标-手段分析法)3. 实现步骤4. 代码封装效果展…...

k8s修改存储目录-介绍

k8s修改存储目录-介绍 文章目录 k8s修改存储目录-介绍总结&#xff1a;介绍指定 Docker 或 containerd 镜像和容器存储目录Docker 存储目录containerd 存储目录 指定 Kubelet 的存储目录指定 Pod 和容器存储目录 docker 运行时&#xff0c;迁移目录实操&#xff1a;https://blo…...

【电源专题】为什么测试电源的SW波形上冲振荡之前的0V电位要先来个小的下降

在同步电源的开关节点SW波形测试中,你可能会发现周期性的SW波形在上升前的一小段时间时间内会有一个小小的下跌,这个下跌会低于0V。那么这个下跌是怎么来的呢? 如下所示为某降压转换器的SW开关节点波形: 其展开后可以看到在上升之前有20ns左右的时间,SW电压是下跌…...

常见的反规范化技术

在数据库设计中&#xff0c;数据规范化和反规范化是两种重要的策略&#xff0c;它们在一定程度上存在权衡。规范化通过组织表结构&#xff0c;减少数据冗余&#xff0c;提高数据一致性和降低更新异常&#xff0c;使数据存储更加高效、可靠。然而&#xff0c;过度的规范化会导致…...

Linux中隐藏操作身法

从历史记录中删除指定的命令 假设历史记录中已经包含了一些你不希望记录的命令。这种情况下我们怎么办&#xff1f;很简单。通过下面的命令来删除&#xff1a; history | grep "keyword"例如:history | grep set o history 批量第二条和第四条删除&#xff1a; sed…...

Transformer知识梳理

Transformer知识梳理 文章目录 Transformer知识梳理什么是Transformer&#xff1f;语言模型迁移学习 Transformer结构注意力层原始结构 总结 什么是Transformer&#xff1f; 语言模型 Transformer模型本质上都是预训练语言模型&#xff0c;大部分采用自监督学习&#xff08;S…...

Nexus Message Transaction Services(MTS)

Nexus 系列交换机遇到以下情形时&#xff0c;可以尝试查看是否是 MTS 消息卡在缓冲区过多&#xff0c;因为 MTS 负责处理模块内以及跨模块&#xff08;包括跨管理引擎&#xff09;的各服务之间的消息路由和排队。 • CPU 高 • 命令行无响应、响应慢 • 控制平面中断 • 流量问…...

网络编程基础:连接Java的秘密网络

1 网络编程的重要性 网络编程允许Java应用程序与其他计算机或设备进行通信。这包括从简单的数据传输到复杂的分布式系统和Web服务。 2 Java网络编程的核心类 Java提供了多个类来支持网络编程&#xff1a; InetAddress&#xff1a;表示网络上的IP地址。 URL&#xff1a;表示统…...

uniapp中判断设备类型

全局变量&#xff1a; 在 UniApp 中&#xff0c;你可以通过 uni.getDeviceInfo 获取设备信息&#xff0c;并将设备类型全局存放。通常&#xff0c;这些信息可以存放在 app.vue 的全局变量中&#xff0c;以便在整个应用中访问。 以下是如何在 app.vue 中实现这一功能的完整代码…...

数据可视化分析详解

数据可视化分析是一种通过图形、表格、图标和其他视觉元素来呈现数据的方式&#xff0c;使得数据更易于理解和分析。以下是关于数据可视化分析的一些关键点&#xff1a; 一、定义与目的 数据可视化分析是指利用图形化手段&#xff0c;清晰地有效地传达与沟通信息。它将数据以…...

_使用CLion的Vcpkg安装SDL2,添加至CMakelists时报错,编译报错

语言&#xff1a;C20 编译器&#xff1a;gcc 14.2 摘要&#xff1a;初次使用Vcpkg添加SDL2&#xff0c;出现CMakelists找不到错误、编译缺失main错误、运行失败错误。 CMakelists缺失错误&#xff1a; 使用CLion的Vcpkg安装SDL2时&#xff0c;按照指示把对应代码添加至CMakel…...

QT中Qstring和QByteArray有什么区别?

数据存储内容方面 QString&#xff1a; 主要用于存储和处理Unicode编码的文本字符串。它能够很好地处理包含各种语言字符的文本信息&#xff0c;如中文、日文、韩文等多种语言文字。例如&#xff0c;QString str "你好&#xff0c;世界&#xff01;";可以方便地存储…...

Viggle AI:支持小孩或者卡通人物吗? [Viggle AI实战教程] – 第2篇

历史文章 Suno AI API接入 - 将AI音乐接入到自己的产品中&#xff0c;支持120并发任务 万物皆能舞&#xff0c;AI让你秒变“舞”林高手 – Viggle AI“舞”所不能 Viggle AI&#xff1a;打造爆款 AI 视频&#xff0c;让照片 “踢” 起足球 Viggle AI&#xff1a;开启3D动画…...

庐山派K230学习日记4 PWM控制

1 本节介绍​ &#x1f4dd;本节您将学习如何通过将K230开发板的GPIO引脚复用为PWM功能并输出PWM信号&#xff1b;实现输出PWM信号及控制板载无源蜂鸣器发出声音。 &#x1f3c6;学习目标 1️⃣如何将GPIO引脚配置为PWM模式&#xff0c;通过40Pin排针中的部分引脚来输出PWM信号…...

Android配件应用默认启动与USB权限申请区别

使用效果&#xff1a; USB配件授权演示 选择USB配件默认打开应用 申请USB配件使用权限...

【车载开发系列】GPIO模式分类

【车载开发系列】GPIO模式分类 这里写目录标题 【车载开发系列】GPIO模式分类一. GPIO概念二. GPIO的模式区分三. GPIO的八大模式1&#xff09;推挽输出&#xff08;Output push-pull&#xff09;2&#xff09;开漏输出&#xff08;Output open-drain&#xff09;3&#xff09;…...

uniapp--HBuilder开发

提示&#xff1a;本文为学习内容&#xff0c;若有错误&#xff0c;请联系作者&#xff0c;谦虚受教。 文章目录 前言一、下载HBuilder二、添加modbus相关库1.下载nodejs2.下载modbus库3.项目添加modbus库 三、HBuilder相关功能语句1.文件夹说明2.消息信息框3.开关按钮4.选中按钮…...

学习笔记|arduino uno r3|点亮|hello world|Atmega328P|开发板学习:概述

目录 arduino uno r3开发板学习开发板概述重要引脚介绍配置开发环境安装 Arduino IDE 编程环境介绍Arduino 介绍 实操连接选择程序程序代码编译和执行 总结课后练习 arduino uno r3开发板学习 开发板概述 Arduino UNO 是一款基于Atmega328P 的微控制器开发板。它有 14 个数字…...

Go语言的 的注解(Annotations)核心知识

Go语言的注解&#xff08;Annotations&#xff09;核心知识 Go语言是一种简洁且高效的编程语言&#xff0c;广泛应用于后端开发、云计算和微服务架构。在探索Go语言的特性时&#xff0c;我们不可忽视一个重要的概念&#xff1a;注解&#xff08;Annotations&#xff09;。虽然…...

WinRAR中“自动加密”如何使用?

WinRAR加密大家都不陌生&#xff0c;那么自动加密功能大家熟悉嘛&#xff1f;如何使用自动加密功能&#xff1f;今天介绍详细教程给大家。 打开WinRAR软件之后选择工具栏中的【选项】&#xff0c;点击设置 然后切换到【压缩】选项卡&#xff0c;点击【创建默认配置】&#xff…...

`http_port_t

http_port_t 是 SELinux&#xff08;Security-Enhanced Linux&#xff09;中的一种端口类型标签&#xff0c;用于标识哪些端口可以被 HTTP 和 HTTPS 服务使用。SELinux 是一种强制访问控制&#xff08;MAC&#xff09;安全模块&#xff0c;它通过定义安全策略来限制进程对系统资…...

C++编程等级认证学习计划

C编程等级认证学习计划 计划目标 在30天内系统学习并掌握C编程等级认证&#xff08;一至八级&#xff09;的知识点&#xff0c;为参加认证考试做好充分准备。 前期准备 学习资料收集 准备涵盖C编程一至八级知识点的专业教材&#xff0c;如《C Primer》等。收集相关的在线教…...

c和c++中为什么要防止头文件被重复包含!

在编程中&#xff0c;头文件就像一本工具书&#xff0c;它包含了函数、类、宏、全局变量等的定义和声明&#xff0c;供其他代码文件引用。想象一下&#xff0c;如果你在写一篇文章时&#xff0c;反复引用同一本工具书的内容&#xff0c;会发生什么情况呢&#xff1f; 1. 避免重…...

安的厦小程序开发日志

目录 背景名字由来架构文件目录app.jsonapp.wxsspackage.jsonproject.config.jsindex.wxmlindex.wxssindex.jsindex.jsondetail.wxmldetail.wxssdetail.jsdetail.json参考资料背景 我们正在经历一场价值观的变迁,过去的丈母娘和女朋友总是要求男方要买房,那是因为房子是当下…...

深度评测uni-app x:开启跨平台开发新篇章

文章目录 一、引言1.1 跨平台开发的崛起1.2 uni-app x 初印象 二、uni-app x 核心特性评测2.1 uts 语言&#xff1a;跨平台编程新利器2.2 uvue 渲染引擎&#xff1a;原生渲染新体验2.3 强大的组件和 API 支持2.4 插件生态&#xff1a;拓展无限可能 三、与 uni-app 对比&#xf…...

第06章 重定向与管道

一、概述 在企业生产环境中&#xff0c;如何记录一个程序运行的过程记录或者定时任务执行的结果呢&#xff1f;假设定时任务凌晨执行&#xff0c;我们在白天上班时需要查看执行是否成功要怎么办&#xff1f;就可以使用本章介绍的重定向和管道符号。 二、重定向 2.1 文件描述…...

python中的字典类型数据及其操作

1、字典的定义 映射是一种键&#xff08;索引&#xff09;和值&#xff08;数据&#xff09;的对应键值对&#xff1a;键是数据索引的扩展字典是键值对的集合&#xff0c;键值对之间无序字典采用大括号{}和dict()创建&#xff0c;键值对用冒号&#xff1a;表示&#xff0c;key…...

『SQLite』表达式操作

摘要&#xff1a;表达式是一个或多个值、运算符和计算值的 SQL 函数的组合。SQL 表达式与公式类似&#xff0c;都写在查询语言中。 基本语法 SELECT column1, column2, columnN FROM table_name WHERE [CONTION | EXPRESSION];布尔表达式 SQLite 的布尔表达式在匹配单个值的…...

PHP7和PHP8的最佳实践

php 7 和 php 8 的最佳实践包括&#xff1a;使用类型提示以避免运行时错误&#xff1b;利用命名空间组织代码并避免命名冲突&#xff1b;采用命名参数、联合类型等新特性增强可读性&#xff1b;用错误处理优雅地处理异常&#xff1b;关注性能优化&#xff0c;如避免全局变量和选…...

Python实现一个简单的 HTTP echo 服务器

一个用来做测试的简单的 HTTP echo 服务器。 from http.server import HTTPServer, BaseHTTPRequestHandler import jsonclass EchoHandler(BaseHTTPRequestHandler):def do_GET(self):# 构造响应数据response_data {path: self.path,method: GET,headers: dict(self.headers…...

字玩FontPlayer开发笔记4 性能优化 首屏加载时间优化

字玩FontPlayer开发笔记4 性能优化 首屏加载时间优化 字玩FontPlayer是笔者开源的一款字体设计工具&#xff0c;使用Vue3 ElementUI开发&#xff0c;源代码&#xff1a; github: https://github.com/HiToysMaker/fontplayer gitee: https://gitee.com/toysmaker/fontplayer …...

NeurIPS 2024 | SHMT:通过潜在扩散模型进行自监督分层化妆转移(阿里,武汉理工)

当前的妆容转移技术面临两个主要挑战&#xff1a; 缺乏成对数据&#xff0c;导致模型训练依赖于低质量的伪配对数据&#xff0c;从而影响妆容的真实感&#xff1b; 不同妆容风格对面部的影响各异&#xff0c;现有方法难以有效处理这种多样性。 今天给大家介绍的方法是由阿里联…...

“知识图谱AI教学辅助系统:点亮智慧学习的新灯塔

嘿&#xff0c;各位教育界的小伙伴们&#xff01;今天咱们来聊聊一个超级有料的话题——知识图谱AI教学辅助系统。想象一下&#xff0c;如果有一个智能导师能根据你的需求定制专属的学习路径&#xff0c;还能像百科全书一样随时解答疑问&#xff0c;是不是感觉学习变得更高效、…...

STM32-ADC模数转换

定义&#xff1a; ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC【表示转化的范围是0-2^12 - 1】&#xff0c;1us转换时间 输…...

Springboot整合MyBatis-Plus

1、整合MyBatis-Plus 1、导入依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.2.0</version></dependency>2、配置 1&#xff09;配置数据源&#xff0c;导…...

分类、聚类与回归的评价指标

在cross_validate或cross_val_score中&#xff0c;参数scoring&#xff0c;与分类、聚类和回归算法的评价指标有关。 3.4.3. The scoring parameter: defining model evaluation rules For the most common use cases, you can designate a scorer object with the scoring pa…...

Day28下 - 大模型微调:酒店评论情感分析

一、前置准备 1. 下载 LLaMA Factory https://github.com/hiyouga/LLaMA-Factory.git 搭建过程详见&#xff1a;https://blog.csdn.net/CSBLOG/article/details/144584581 2. 选择 预训练模型 和 prompt指令模型 预训练阶段在实际工作中&#xff0c;一般是用不上的&#xff…...

企业级Nosql数据库和Redis集群

一、关系数据库和Nosql数据库 关系数据库 定义&#xff1a;关系数据库是建立在关系模型基础上的数据库。它使用表格&#xff08;关系&#xff09;来存储数据&#xff0c;通过行和列的形式组织信息。例如&#xff0c;一个简单的学生信息表可能有 “学号”“姓名”“年龄”“班级…...

代码优化方案

① 引入清晰的中间变量 即如果判断条件很复杂的情况下&#xff0c;最好的方式是引入清晰的中间变量。 isValid val > someConstant; isAllowed condition2 || condition3; isSecure condition4 && !condition5;// 有了描述性变量&#xff0c;我们就不需要再记住…...

C++直接内存管理new和delete

0、前言 C语言定义了两个运算符来分配和释放动态内存。运算符new分配内存&#xff0c;delete释放new分配的内存。 1、new动态内存的分配 1.1、new动态分配和初始化对象 1&#xff09;、new内存分配 在自由的空间分配的内存是无名的&#xff0c;new无法为其分配的对象…...

CPU过剩是什么意思? 有什么对电脑的影响吗?如何确认CPU有没有过剩

CPU 过剩通常是指计算机系统中 CPU 的性能远远超出了当前运行任务的需求。以下从产生原因和对电脑的影响为你详细介绍&#xff1a; 产生原因 硬件升级与软件发展不同步&#xff1a;用户为追求高性能提前升级了 CPU&#xff0c;而当前的软件应用程序在算法和功能上没有太大突破&…...

Git的简单介绍与如何安装Git

文章目录 前言一、初始git1.git是什么2.为什么要使用git(出现的问题)3.git是如何解决问题的 二、git的安装与卸载1.centos系统2.ubuntu系统3.windows 三、搭建git本地环境1.创建git本地仓库2.配置用户信息 总结 前言 本文简单引入git的相关内容。 一、初始git 1.git是什么 g…...

Linux vi/vim 编辑器:功能强大的文本处理工具

Linux vi/vim 编辑器&#xff1a;功能强大的文本处理工具 引言 Linux 系统中的 vi/vim 是一种功能强大的文本编辑器&#xff0c;它广泛应用于程序员、系统管理员和其他需要处理文本文件的用户群体中。vi 是 visual interface 的缩写&#xff0c;而 vim 则是 vi improved 的缩…...

计算机毕业设计Python电商品推荐系统 商品比价系统 电商比价系统 商品可视化 商品爬虫 机器学习 深度学习 京东爬虫 国美爬虫 淘宝爬虫 大数据

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

正则表达式 - 使用总结

正则表达式 - 使用总结 正则表达式(Regular Expression,简称Regex)是一种强大的文本处理工具,它允许我们通过特定的模式(pattern)来搜索、匹配和操作字符串。在编程、数据分析和文本处理等领域,正则表达式发挥着非常重要的作用。本文将总结正则表达式的基本概念、使用方…...

性能测试04|JMeter:连接数据库、逻辑控制器、定时器

目录 一、连接数据库 1、使用场景 2、直连数据库的关键配置 3、案例 ​编辑 二、逻辑控制器 1、if控制器 2、循环控制器 3、ForEach控制器 三、定时器 1、同步定时器 2、常数吞吐量定时器&#xff08;用的少&#xff0c;了解即可&#xff09; 3、固定定时器 一、连…...

力扣刷题:二叉树OJ篇(上)

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 目录 1.单值二叉树&#xff08;1&#xff09;题目描…...

【跨域】解决SpringBoot和openresty跨域问题

平时后端只需要写一个配置类就可以解决跨域但是最近的新项目死活不行 先说结论 项目中的权限校验(也可以是其他的)拦截器优先级高于跨域拦截器导致跨域处理失效 解决办法 1.在addCorsMappings上增加 Order(value -100)// 跨域优先级最高 2.nginx放行OPTIONS请求 SpringBo…...

下载ffmpeg执行文件

打开网址&#xff1a;Download FFmpeg 按下面步骤操作 解压文件就可以看到ffmpeg的执行文件了&#xff0c;需要通过命令行进行使用&#xff1a; ffmpeg命令行使用参考&#xff1a; ffmpeg 常用命令-CSDN博客...