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

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) # 减小了高度,使图形更紧凑

http://www.lryc.cn/news/488128.html

相关文章:

  • Android开发实战班 - 数据持久化 - 数据加密与安全
  • EDA实验设计-led灯管动态显示;VHDL;Quartus编程
  • Eclipse 查找功能深度解析
  • 第三百二十九节 Java网络教程 - Java网络UDP套接字
  • Leetcode215. 数组中的第K个最大元素(HOT100)
  • QT与嵌入式——搭建串口
  • Shell编程-6
  • 使用 Postman 设置 Bearer Token 进行身份验证
  • 现在转前端怎么样?
  • 【算法一周目】滑动窗口(1)
  • React Native 基础
  • 【C++笔记】list使用详解及模拟实现
  • 【机器学习】机器学习中用到的高等数学知识-7.信息论 (Information Theory)
  • 《现代制造技术与装备》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • 09 - Clickhouse的SQL操作
  • 如何解决pdf.js跨域从url动态加载pdf文档
  • 深入理解TTY体系:设备节点与驱动程序框架详解
  • 库的操作(MySQL)
  • 在 for 循环中,JVM可能会将 arr.length 提升到循环外部,仅计算一次。可能会将如何解释 详解
  • 回溯--数据在内存中的存储:整数、大小端和浮点数的深度解析
  • 第二十二章 Spring之假如让你来写AOP——Target Object(目标对象)篇
  • 探索设计模式:原型模式
  • NLP论文速读(EMNLP 2023)|工具增强的思维链推理
  • JVM垃圾回收详解.②
  • 什么是事务,事务有什么特性?
  • 深入解析:如何使用 PyTorch 的 SummaryWriter 进行深度学习训练数据的详细记录与可视化
  • 企业微信中设置回调接口url以及验证 spring boot项目实现
  • 电脑超频是什么意思?超频的好处和坏处
  • 在 AMD GPU 上构建深度学习推荐模型
  • 阿里云IIS虚拟主机部署ssl证书