news 2026/4/29 3:58:20

提供基因的物理区间或者ID进行批量注释

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
提供基因的物理区间或者ID进行批量注释

根据提供的基因ID,注释出该基因的染色体信息+物理位置信息+基因功能注释

创新点:

1、根据基因定位或者测序关联的选择信号区间,快速知道该区间内有多少个基因,基因的注释信息

2、只需要提供区间信息或者基因ID信息

3、适用于玉米第五代基因组(其他版本自行修改)

4、基于R语言实现

一、提供基因ID进行批量注释

# 1. 基础设置 setwd("F:/01.候选区间/王画图") getwd() library(rtracklayer) # 2. 读取GFF3文件 gff <- import.gff3("F:/00.参考基因组/Zm-B73-REFERENCE-NAM-5.0_Zm00001eb.1.gff3") # 3. 只保留基因(过滤mRNA、exon、CDS等) genes <- gff[gff$type == "gene"] # ====================== 核心:从文本文件读取基因ID ====================== # 【修改这里】改成你的基因ID文本文件路径(一行一个ID,无标题) gene_id_file <- "F:/00.参考基因组/gene_list.txt" # 读取文本文件(自动去空行、去空格) target_gene_ids <- readLines(gene_id_file) target_gene_ids <- target_gene_ids[target_gene_ids != ""] # 去掉空行 # ====================== 根据基因ID匹配筛选 ====================== gff_target_genes <- genes[genes$ID %in% target_gene_ids] # ====================== 输出结果(格式完全不变) ====================== result <- data.frame( Chr = seqnames(gff_target_genes), Start = start(gff_target_genes), end = end(gff_target_genes), GeneID = gff_target_genes$ID, UNIPROT_NAME = gff_target_genes$UNIPROT_NAME ) # 控制台查看 cat("===== 目标基因信息 =====\n") print(result) # 输出CSV结果文件 write.csv(result, "F:/00.参考基因组/Candidate.gene.csv", row.names = F)

二、根据目标区间位置提取候选基因ID和注释信息

# 1. 基础设置 setwd("F:/00.参考基因组") getwd() library(rtracklayer) # GFF文件路径】 gff <- import.gff3("Zm-B73-REFERENCE-NAM-5.0_Zm00001eb.1.gff3") # 只保留基因(过滤掉mRNA、exon、CDS等) genes <- gff[gff$type == "gene"] # 转换为data.frame便于ggplot2处理 #df_genes <- as.data.frame(genes) # 【你的目标区间】 chr_target <- "chr5" # 5号染色体 start_pos <- 13500000 # 区间起点 end_pos <- 14000000 # 区间终点 # ====================== 4. 筛选区间内基因 ====================== gff_in_region <- genes[ seqnames(genes) == chr_target & start(genes) >= start_pos & end(genes) <= end_pos ] # ====================== 5. 提取基因ID ====================== gene_ids <- gff_in_region$ID # ====================== 提取:ID + UNIPROT_NAME ====================== result <- data.frame( Chr = seqnames(gff_in_region), Start = start(gff_in_region), end = end(gff_in_region), GeneID = gff_in_region$ID, UNIPROT_NAME = gff_in_region$UNIPROT_NAME # 蛋白名称 ) # ====================== 6. 输出结果 ====================== cat("===== 玉米选定区间内所有基因ID =====\n") print(result) write.csv(result, "F:/00.参考基因组/Candidate.gene.csv", row.names = F)

结果展示:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 3:54:24

2026 网络安全态势深度解析:AI 驱动的高频攻击与主动防御实战

2026年4月17日凌晨3点&#xff0c;国内某头部云服务商的安全运营中心&#xff08;SOC&#xff09;警报突然集体拉响。监控大屏上&#xff0c;来自全球127个国家的2300多个IP同时发起攻击&#xff0c;流量峰值达到每秒1.2TB。但这不是传统的DDoS攻击——所有攻击流量都由AI智能体…

作者头像 李华
网站建设 2026/4/29 3:51:42

构建去中心化个人AI智能体:基于OpenClaw与Morpheus的本地化实践

1. 项目概述&#xff1a;构建一个真正属于你的个人AI智能体在AI工具日益普及的今天&#xff0c;我们似乎已经习惯了这样一种模式&#xff1a;注册一个账户&#xff0c;绑定一张信用卡&#xff0c;然后按月为API调用付费。你的每一次对话、每一次请求&#xff0c;都在为某个中心…

作者头像 李华
网站建设 2026/4/29 3:48:20

大型语言模型知识召回瓶颈解析与优化策略

1. 大型语言模型的事实性瓶颈&#xff1a;从编码饱和到召回不足在2026年谷歌研究团队发表的开创性论文《Empty Shelves or Lost Keys? Recall Is the Bottleneck for Parametric Factuality》中&#xff0c;研究者们揭示了一个颠覆传统认知的现象&#xff1a;当GPT-5和Gemini-…

作者头像 李华
网站建设 2026/4/29 3:47:23

Relic:基于纯文本的AI记忆系统,实现跨平台智能助手身份同步

1. 项目概述&#xff1a;为你的AI助手打造一个跨平台的“灵魂芯片”如果你和我一样&#xff0c;日常开发、写作、学习会同时用到多个AI工具——比如在OpenClaw里讨论架构&#xff0c;在Cursor里写代码&#xff0c;在Claude里润色文档——那你一定也经历过这种割裂感。每个工具里…

作者头像 李华
网站建设 2026/4/29 3:47:22

开源AI工作流编排平台OpenConductor:构建复杂多模态应用的自动化指挥家

1. 项目概述&#xff1a;一个面向AI工作流编排的开源“指挥家”最近在折腾AI应用落地的朋友&#xff0c;可能都遇到过类似的困境&#xff1a;想法很美好&#xff0c;但真要把大语言模型、图像生成、语音合成这些AI能力串成一个能稳定运行的自动化流程&#xff0c;中间的各种“坑…

作者头像 李华