栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

利用Python解决生物问题:批量对应转录本-基因名

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

利用Python解决生物问题:批量对应转录本-基因名

前言

大部分分析我们需要明确转录本和基因的一一对应关系
如果是如下这种规范格式的,那么这种对应关系是好找的

如果是这样的呢?没有肉眼可见的关系,

准备文件
  • ensemble官网下载的pep序列文件
实现效果
  • 每个物种的一一对应文本文件
  • 所有物种一一对应合并文件

Python脚本
#转录本id-基因id转化
from pathlib import Path

p = Path('H:\ensemble下载')

def transcript2gene(infile,outfile):
    change_list = []
    with open(infile,'rt') as f1:
        for eachline in f1:
            if eachline[0] == '>':
                transcript_name = eachline.split(' ')[0].lstrip('>')
                gene_name = eachline.split(' ')[3].split('=')[1]
                change_list.append(transcript_name + 't' + gene_name + 'n')
                
    with open(outfile,'wt') as f2:
        for i in change_list:
            f2.write(i)

def search_fa():
    for infile in p.iterdir():
        if infile.suffix == '.fa':
            outfile = p / (infile.stem + "T2G.txt")
            transcript2gene(infile,outfile)
search_fa()

#####合并多个txt转换文件
def merge():
    mergefile = open(p / 'transcript2geneall.txt',"wt")
    info = []
    for each in p.iterdir():
        if each.suffix == '.txt':
            with open(each,'rt') as eachfile:
                for n in eachfile:
                    info.append(n)
    for m in info:
        mergefile.write(m)
    mergefile.close()

merge()
               
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021945.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号