python与go数据分析_【数据处理】python将GO注释结果整理为WEGO文件

这篇博客介绍了如何使用Python处理从NR库比对得到的一对一GO注释数据,将其整理成WEGO格式文件,以支持一对多的基因-GO关系展示。主要内容包括解析输入的注释文件,通过脚本生成满足WEGO格式要求的输出文件。
摘要由CSDN通过智能技术生成

通常,比对NR库后为m8格式,通过NR和GO数据库对应关系文件,写代码整理为Gene——>GO文件,如下:

eff9f9b1f26b

image.png

这里是一对一的关系,要转换为WEGO格式文件,即一对多关系,如下:

eff9f9b1f26b

image.png

用python脚本处理代码示例如下:

#! /usr/bin/env python

import optargs

import os

import sys

usage='''

tidy go annotation file to wego file

'''

option = optparse.OptionParser(usage)

option.add_option('','--infile',help='* annot file',default='')

option.add_option('','--outfile',help='* outfile',default='')

(opts,args) = option.parse_args()

infile = opts.infile

outfile = opts.outfile

def main():

acc2go = {}

res = open(outfile,'w')

for line in open(infile,'r'):

line = line.strip().split('\t')

if len(line) < 2: continue

accession = line[0]

go = line[1]

acc2go.setdefault(accession, set()).add(go)

for acc,goi in acc2go.items():

res.write("%s\t%s\n"%(acc, "\t".join(goi)))

res.close()

if __name__ == '__main__':

if len(sys.argv) < 2:

os.system("python %s -h"%(sys.args[0]))

sys.exit(1)

else:

main()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值