粳稻参考基因组日本晴主要常用的有两个版本,分别为The Rice Annotation Project (RAP)(https://rapdb.dna.affrc.go.jp/index.html)和Rice Genome Annotation Project (RGAP7,MSU)(http://rice.plantbiology.msu.edu/index.shtml)。分别由两个团队进行维护,因此其注释基因数量和基因登录号也不相同。
RAP格式为“Os-Chr-g-number”,MSU格式为“LOC_Os-Chr-g-number”。
日常分析数据过程中会遇到两种格式ID相互转换的问题。PlantGSEA(http://structuralbiology.cau.edu.cn/PlantGSEA/)提供了非常方便的在线ID转换工具。本文也提供一个脚本来供研究者在无法登陆PlantGSEA网站时方便地完成ID转换。
STEP1:下载文件
ID对应文件下载自RAP网站,请点击以下链接下载:
https://rapdb.dna.affrc.go.jp/download/archive/RAP-MSU_2018-03-29.txt.gz
如果你对Python脚本使用有一些熟悉,那么,请使用以下示例脚本完成转换,如果你有更好的方法或者对脚本有意见,请留言交流。
脚本示例:MSU to RAP
relation={}
for i in open("RAP-MSU_2018-03-29.txt"):
rap=str(i.split()[0])
msu=str(i.split()[1])
if msu!="None":
if "," in msu:
for a in msu.split(","):
relation[a[0:-2]] = rap
else:
relation[msu[0:-2]] = rap
for j in open("your-id-list-one-gene-per-line.txt"):
id=j.strip()
if id in relation.keys():
print(id,relation[id],sep="\t")
else:
print(id,"None",sep="\t")
脚本示例:RAP to MSU
relation={}
for i in open("RAP-MSU_2018-03-29.txt"):
rap=str(i.split()[0])
msu=str(i.split()[1])
if rap!="None":
relation[rap]=msu
for j in open("your-id-list-one-gene-per-line.txt"):
id=j.strip()
if id in relation.keys():
if "," in relation[id]:
s=relation[id].split(",")
for a in s:
print(id,a,sep="\t")
else:
print(id,relation[id],sep="\t")
else:
print(id,"None",sep="\t")
STEP2:配置环境
如果你未看明白以上说的是啥,你还想根据我的方法完成ID转换,请按照以下步骤完成环境配置:
正确安装Python3并配置好环境变量。Python3下载地址为:
https://www.python.org/downloads/
以上示例脚本及示例文件下载链接:https://pan.baidu.com/s/1nv-xGmHinUk3OvWG-xJEiA 密码:4gl7
STEP3:转换
示例脚本及文件下载好示例脚本及文件后,将你想要转换的ID列表(单列)粘贴至your-id-list-one-gene-per-line.txt文件中,接着使用cmd+R调出WIN命令行,轻松完成转换。
# 转换到你的工作目录
cd C:\YourPATH\MSU-RAP
# 或者你想转换到其它分区
cd D:
cd D:\YourPATH\MSU-RAP
# 运行你想转换的类型、
# MSU转换到RAP,运行以下命令即可
python msu2rap-converter.py > result.xls
# RAP转换到MSU,运行以下命令即可
python rap2msu-converter.py > result.xls
MSU to RAP 结果示例
网友评论
https://github.com/yuhang5783/MSU_RAP_ID_Converter