Zea maize GO
1.涉及到新旧基因组的转化 B73v4_to_B73v5
(davidbioinformatics只支持新版基因组)
MaizeGDB Map文件下载https://download.maizegdb.org/Pan-genes/B73_gene_xref/
小处理脚本(制作map文件)
import pandas as pd# 读取CSV文件
f_standard = pd.read_csv(r"B73v4_to_B73v5.tsv")# 分割数据
f_standard = f_standard.iloc[:,0].str.split('\t', expand=True)# 添加列名
f_standard.columns = ['V4', 'V5'] # 直接给DataFrame添加列名# 保存为TSV文件
f_standard.to_csv(r"Map.tsv",sep='\t', # 使用tab作为分隔符index=False) # 不保存索引
脚本2(v4.0 2 V5.0)
import pandas as pd# 读取数据
input = pd.read_csv('input', header=None)
map_ = pd.read_csv("Map.tsv", sep='\t')input.columns = ['V4']# 合并数据框,指定用于合并的列名
new_ = pd.merge(input, map_,left_on='V4', # input数据框用于匹配的列right_on='V4', # map_数据框用于匹配的列how='left') # 保留input中的所有行new_.to_csv("MergedResult.csv", index=False)
可以直接复制V5列
打开
DAVID Functional Annotation Tools



选自己需要的 (如这里是三个GO途径)别的里面有Kegg
下载即可

————————————————————
2024年11月20日18:26:41
在原先的结果文件上补充一个气泡权重与富集基因数目的气泡图(常用)
R
# 加载必要的包
library(ggplot2)
library(dplyr)# 读取TSV文件
data <- read.delim("GO_P_re.tsv", header = TRUE, sep = "\t")
#data <- read.delim("test2.tsv", header = TRUE, sep = "\t")
# setwd("GOKEGG/GO")
# 数据处理 - 修改为需要的格式
go_data <- data.frame(category = case_when(grepl("BP", data$Category) ~ "BP",grepl("MF", data$Category) ~ "MF",grepl("CC", data$Category) ~ "CC"),ID = sub("GO:", "", sub("~.*", "", sub(".*GO:", "GO:", data$Term))), # 提取GO IDterm = sub(".*~", "", data$Term), # 提取描述pvalue = as.numeric(data$PValue), # P值count = as.numeric(data$Count), # 基因数量gene_ratio = as.numeric(data$Fold.Enrichment) # 使用Fold Enrichment作为基因比率
)# 创建气泡图
p <- ggplot(go_data,aes(x = gene_ratio,y = term)
) +geom_point(aes(size = count,color = pvalue)) +scale_color_gradient(low = "red",high = "blue") +scale_size_continuous(range = c(3, 12)) + # 增大气泡的最小和最大尺寸facet_grid(category ~ .,scales = "free_y",space = "free_y") +labs(x = "Gene Ratio",y = "GO term",title = "GO Enrichment",color = "PValue",size = "Count") +theme_bw() +theme(axis.text.y = element_text(size = 10,angle = 45,hjust = 1),axis.text.x = element_text(size = 8,angle = 45,hjust = 1),strip.text = element_text(size = 10),legend.title = element_text(size = 10),legend.text = element_text(size = 8),plot.title = element_text(size = 12, hjust = 0.5),panel.spacing = unit(0, "lines"),# 减少面板之间的间距plot.margin = margin(t = 20, r = 20, b = 30, l = 20, unit = "pt")#边距调整)print(p)# 保存图片
ggsave("GO__bubble.png", width = 12, height = 8) # 减小了高度,使图形更紧凑

相关文章:
Zea maize GO
1.涉及到新旧基因组的转化 B73v4_to_B73v5 (davidbioinformatics只支持新版基因组) MaizeGDB Map文件下载https://download.maizegdb.org/Pan-genes/B73_gene_xref/小处理脚本(制作map文件) import pandas as pd# 读取CSV文件 …...
Android开发实战班 - 数据持久化 - 数据加密与安全
在 Android 应用开发中,数据安全至关重要,尤其是在处理敏感信息(如用户密码、支付信息、个人隐私数据等)时。数据加密是保护数据安全的重要手段,可以有效防止数据泄露、篡改和未经授权的访问。本章节将介绍 Android 开…...
EDA实验设计-led灯管动态显示;VHDL;Quartus编程
EDA实验设计-led灯管动态显示;VHDL;Quartus编程 引脚配置实现代码RTL引脚展示现象记录效果展示 引脚配置 #------------------GLOBAL--------------------# set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED" set_…...
Eclipse 查找功能深度解析
Eclipse 查找功能深度解析 Eclipse 是一款广受欢迎的集成开发环境(IDE),它为各种编程语言提供了强大的开发工具。在本文中,我们将深入探讨 Eclipse 的查找功能,这是开发者日常工作中不可或缺的一部分。无论是查找代码中的特定字符串,还是进行更复杂的搜索,如正则表达式…...
第三百二十九节 Java网络教程 - Java网络UDP套接字
Java网络教程 - Java网络UDP套接字 TCP套接字是面向连接的,基于流。基于UDP的套接字是无连接的,基于数据报。 使用UDP发送的数据块称为数据报或UDP数据包。每个UDP分组具有数据,目的地IP地址和目的地端口号。 无连接套接字在通信之前不建立…...
Leetcode215. 数组中的第K个最大元素(HOT100)
链接 第一次: class Solution { public:int findKthLargest(vector<int>& nums, int k) {sort(nums.begin(),nums.end());int n nums.size();return nums[n-k];} }; 这显然不能出现在面试中,因为面试官考察的不是这个。 正确的代码&#…...
QT与嵌入式——搭建串口
1、源码 由于我需要不止一个串口来进行数据交互,所以简单的封装了一下 void Usb_Init(QString portName, QSerialPort *Port) {Port->setPortName(portName);Port->setBaudRate(QSerialPort::Baud115200); // 设置波特率,根据你的开发板配置修改…...
Shell编程-6
声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址:shell(6)if条件判断与for循环结构_哔哩哔哩_bilibili 一、if条件判断 在Shell脚本中,if语句用于基于条件的评估来执行不同的代码块。…...
使用 Postman 设置 Bearer Token 进行身份验证
学习笔记 1. 打开 Postman 并创建新请求 打开 Postman。 在左上角点击 按钮,创建一个新的请求。 2. 选择 HTTP 方法 在请求类型(默认为 GET)旁边的下拉菜单中,选择你需要的 HTTP 方法,如 POST、GET、PUT 等。 3…...
现在转前端怎么样?
互联网技术日新月异,软件开发者追逐技术浪潮的脚步从未停歇。在这个快速发展的行业中,如何规划自己的职业道路,选择合适的技术方向,成为了许多开发者面临的重要抉择。本文将围绕技术选择这个话题,分享一些深入的思考和…...
【算法一周目】滑动窗口(1)
目录 长度最小的子数组 解题思路 代码实现 无重复字符的最大字串 解题思路 代码实现 最大连续1的个数l l l 解题思路 代码实现 将x减到0的最小操作数 解题思路 代码实现 长度最小的子数组 题目链接:209. 长度最小的子数组题目描述: 给定一个…...
React Native 基础
React 的核心概念 定义函数式组件 import组件 要定义一个Cat组件,第一步要使用 import 语句来引入React以及React Native的 Text 组件: import React from react; import { Text } from react-native; 定义函数作为组件 const CatApp = () => {}; 渲染Text组件...
【C++笔记】list使用详解及模拟实现
前言 各位读者朋友们大家好!上期我们讲了vector的使用以及底层的模拟实现,这期我们来讲list。 目录 前言一. list的介绍及使用1.1 list的介绍1.2 list的使用1.2.1 list的构造1.2.2 list iterator的使用1.2.3 list capacity1.2.4 list element access1.…...
【机器学习】机器学习中用到的高等数学知识-7.信息论 (Information Theory)
熵 (Entropy):用于评估信息的随机性,常用于决策树和聚类算法。交叉熵 (Cross-Entropy):用于衡量两个概率分布之间的差异,在分类问题中常用。 信息论作为处理信息量和信息传输的数学理论,在机器学习中具有广泛的应用。…...
《现代制造技术与装备》是什么级别的期刊?是正规期刊吗?能评职称吗?
问题解答 问:《现代制造技术与装备》是不是核心期刊? 答:不是,是知网收录的第二批认定学术期刊。 问:《现代制造技术与装备》级别? 答:省级。主管单位:齐鲁工业大学࿰…...
09 - Clickhouse的SQL操作
目录 1、Insert 1.1、标准 1.2、从表到表的插入 2、Update和Delete 2.1、删除操作 2.2、修改操作 3、查询操作 3.1、with rollup:从右至左去掉维度进行小计 3.2、with cube : 从右至左去掉维度进行小计,再从左至右去掉维度进行小计 3.3、with …...
如何解决pdf.js跨域从url动态加载pdf文档
摘要 当我们想用PDF.js从URL加载文档时,将会因遇到跨域问题而中断,且是因为会触发了PDF.js和浏览器的双重CORS block,这篇文章将会介绍:①如何禁用pdf.js的跨域?②如何绕过浏览器的CORS加载URL文件?②如何使…...
深入理解TTY体系:设备节点与驱动程序框架详解
往期内容 本专栏往期内容:Uart子系统 UART串口硬件介绍 interrupt子系统专栏: 专栏地址:interrupt子系统Linux 链式与层级中断控制器讲解:原理与驱动开发 – 末片,有专栏内容观看顺序 pinctrl和gpio子系统专栏…...
库的操作(MySQL)
1.创建数据库 语法: CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name说明: 大写的表示关键字 [ ] 是可…...
在 for 循环中,JVM可能会将 arr.length 提升到循环外部,仅计算一次。可能会将如何解释 详解
在 Java 的 for 循环中,JVM 有能力进行优化,将 arr.length 的访问提升到循环外部,避免每次迭代都重新计算 arr.length。这种优化主要是由于 JVM 的 即时编译器(JIT) 和 逃逸分析(Escape Analysis࿰…...
Crystals Kyber算法实战:5分钟搞定密钥封装机制(KEM)配置
Crystals Kyber算法实战:5分钟搞定密钥封装机制(KEM)配置 在当今数字安全领域,后量子密码学正从理论走向工程实践。作为NIST后量子密码标准化项目的优胜算法,Kyber以其高效的格基加密机制,正在重构密钥分发…...
React篇——第一章 React的基础知识(上篇)
目录 1. React简介 1.1 什么是React 1.2 React的核心优势 组件化开发 虚拟DOM 丰富的生态系统 跨平台支持 1.3 React的市场地位 2. 开发环境搭建 2.1 使用create-react-app创建项目 2.2 其他创建React项目的方式 3. JSX基础 3.1 什么是JSX 3.2 JSX的优势 3.3 JS…...
Cursor Pro功能扩展工具:技术原理与开源解决方案
Cursor Pro功能扩展工具:技术原理与开源解决方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial re…...
基于FreeSWITCH ESL构建高并发智能客服系统的实战指南
在构建智能客服系统时,通信层的稳定与高效是基石。传统的WebSocket或直接SIP处理在高并发场景下,常常面临连接管理复杂、事件处理混乱、资源消耗大等问题。FreeSWITCH作为成熟的软交换平台,其ESL(Event Socket Library)…...
【Python 3.14 JIT性能跃迁指南】:实测提升327%吞吐量的7大调优指令与避坑清单
第一章:Python 3.14 JIT 编译器性能调优Python 3.14 引入了实验性内置 JIT(Just-In-Time)编译器,基于 LLVM 后端实现,旨在对热点函数进行动态编译优化。该 JIT 默认处于禁用状态,需通过环境变量或运行时 AP…...
税务季钓鱼攻击中合法远程管理工具的滥用机制与防御策略研究
摘要 随着数字化办公环境的普及,网络攻击手段正经历从传统恶意软件向“无文件”及“合法工具滥用”的深刻转型。2026年3月,微软威胁情报团队披露了一系列针对美国税务季的复杂网络钓鱼活动,这些活动不仅利用了社会工程学原理窃取凭证…...
基于模型预测控制(MPC)的二自由度机械臂控制仿真模型复现与验证:[文献复现]的实践与结果分析
基于模型预测MPC的二自由度机械臂控制仿真模型【复现】 [1]参考文献:《Model predictive control of a two-link robot arm 》 [2]仿真完全参考给的文献搭建,波形与文献的基本一致二自由度机械臂的MPC控制总带着点"用未来预测现在"的玄学色彩。…...
Qwen3-32B-Chat镜像深度优化:OpenClaw任务执行效率提升30%
Qwen3-32B-Chat镜像深度优化:OpenClaw任务执行效率提升30% 1. 为什么需要深度优化? 去年冬天,当我第一次在本地部署OpenClaw对接Qwen3-32B模型时,遇到了一个尴尬的问题:一个简单的"截图识别鼠标点击"任务链…...
ARM海思平台udev启动报错:深入剖析与实战解决
1. 问题现象与背景分析 最近在调试一块搭载海思HI3531D芯片的开发板时,遇到了一个让人头疼的问题:系统启动过程中频繁出现"random: udevd: uninitialized urandom read (16 bytes read)"的错误提示。这个错误看似无害,但实际上会导…...
终极指南:如何使用kohya_ss快速创建专属AI绘画模型
终极指南:如何使用kohya_ss快速创建专属AI绘画模型 【免费下载链接】kohya_ss 项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss 想要将你的创意想法转化为独特的AI艺术作品吗?kohya_ss作为当前最热门的Stable Diffusion模型训练工具…...
