python提取GFF3文件信息

从gff3文件获得fasta序列 get fasta sequence from gff3 chr1A NRGenome exon 1157233 1158291 100 + . ID=TRIAE_CS42_U_TGACv1_641506_AA2096860.1.mrna1.exon1;Name=TRIAE_CS42_U_TGACv1_641506_AA2096860.1;Parent=TRIAE_CS42_U_TGACv1_6 阅读详情
前言

因为最近使用REPET这个程序对基因组进行重复序列的注释,但是最后输出的结果是GFF3格式的文件,缺少统计信息。因此用python写了个脚本,对GFF3的信息进行提取并统计。

GFF3文件

想要从GFF3文件中提取的信息为重复序列的种类,数量,以及bp数。
GFF3文件分为9列,这次用到是第2、4、5、9列,分别代表来源,序列起始位置,结束位置,以及属性。
重复序列的种类可以从第9列属性中提取,bp数以(结束位置-起始位置+1)进行计算,数量则在过程中统计。

思路

按行读入GFF3文件,以”\t“符号分解。首先通过第2列,判断来源,有3种来源:
1. TEs
2. SSRs
3. blastx or tblasts

不同的来源,后缀不同,通过判断相应的字符串是否在第2列字符串中来判断是哪种来源。再通过第9列属性字符串,判断相应的分类代码字符串是否在其中,如果在其中,则将分类代码放入一个列表,然后以分类代码为键,bp数为值生成字典。
for循环不断读入,列表增长,字典合并,最后将列表唯一化,通过Counter类生成相应的字典,这个字典的值就是各分类的数量。

代码

生成字典是通过事先定义一个函数的方式实现的:

def return_TEs(lines):
    TEs=['RYX', 'RXX-LARD', 'RIX', 'RLX', 'RPX', 'RSX', 'RXX-TRIM', 'DYX', 'DHX',
    'DXX-MITE', 'DMX', 'DTX', 'RXX-chim', 'DXX-chim', 'noCat']
    (seqid, source, seqtype, start, end, score, strand, phase, attributes) =\
    lines.split('\t')
    te_len = int(end) - int(start) + 1
    for te in TEs:
        if te in attributes:
            return {te:te_len}

字典合并的函数:

#字典合并的函数,即相同的键的值进行相加
def union_dict
从gff3文件获取fasta序列 chr1A NRGenome gene 1157233 1158291 . + . ID=TRIAE_CS42_U_TGACv1_641506_AA2096860.1.path1;Name=TRIAE_CS42_U_TGACv1_641506_AA2096860.1 chr1A NRGenome mRNA 1157233 1158291 . + . 阅读详情

相关推荐

从gff3中获取fasta序列

#!/usr/bin/env python # -*- coding: utf-8 -*-from Bio import SeqIO record_dict = SeqIO.index(open('genome.fa', 'r'), "fasta") tmp = open('2.txt', 'w') gene = {} mRNA = {} exon = {} CDS = {} gene_sequen

xxxxx 2528

根据GFF3文件统计外显子大小和数量以及内含子大小

根据GFF3文件统计外显子大小和数量以及内含子大小#!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = "Sheng-Wei Ma" with open('TGACv1.cdna.gff3', 'r') as f: for line in f: lin = line.strip().split('\t')

xxxxx 1万+

基于GFF3文件提取基因的位置信息

GFF3文件是一种常用的基因组注释文件格式,用于描述生物基因组的结构和功能元素。GFF3是“General Feature Format Version 3”的缩写,它由一系列字段组成,每个字段描述基因组中的特定特征,如基因、转录本、外显子等。这些字段包括:序列名称、特征类型、起始位置、终止位置、分数、方向、相位、分组以及属性信息等。GFF3文件通常用于存储和交换生物信息学数据,在生物信息学研究中广泛应用于基因组注释、基因组比较和功能预测等领域。

沉香best的博客 985

1.gff3_read函数.py

把从ncbi上下载的gff3文件信息读取出来,放入列表中

genomeGTFtools:将各种功能转换为类似GFF的文件,以便在基因组浏览器中使用

基因组GTF工具 概述 这些是一些脚本,用于将各种功能和注释转换为类似GFF的文件,以供基因组浏览器使用。 还有用于基因组注释的通用工具。 GFF(通用特征格式)是一种格式,用于注释基因组,由8个明确定义的列和第9个自由文本列(包含一些“准则”)组成。 固定GFF的大多数工作都涉及固定最后一列。 尽管这不是一个很好的格式,但是由于某种原因或其他原因而不够用。 最终,最好是某些字段是显式的,例如ID(机器可理解的唯一标识符,可以是登录号,等等),Parent(任何其他ID)和Name(例如基因名称)。 这还将允许按ID,Parent或Name进行快速索引或排序,这也将使其更易于图形的。 柱子 名称 描述 1个 顺序 序列ID,通常是重叠群,支架或染色体(例如ctg0123 , scaffold_99 , chrX ),而不是基因或特征的名称(在第9列中列出) 2个 来源 通常是生成数据

SPEI计算避坑指南:gma中Distribution和FitMethod参数怎么选?

本文深入探讨了在SPEI计算中如何科学选择gma库中的Distribution和FitMethod参数,帮助研究者避开常见陷阱。详细分析了LogLogistic、Gamma和Pearson3三种分布的适用场景,以及LMoment与MLE拟合方法的优缺点,为气象干旱研究提供实用指南。

weixin_30308101的博客 250

基于51单片机的简易计算器设计(原理图+仿真+源代码+参考论文)

本设计以51单片机为核心,矩阵键盘输入数字,通过1602显示屏显示计算结果,能够实现整数的加、减、乘、除四则运算,具备清除功能。

u012759563的博客 7698

手把手教你用ObjectCRX进行Caxa二次开发:从零开始的环境搭建教程

本文是一份面向零基础初学者的Caxa二次开发实战指南,重点讲解如何使用ObjectCRX框架从零开始搭建开发环境。内容涵盖Visual Studio 2015版本锁定、ObjectCRX向导集成、项目创建、典型错误解决,并最终实现一个可在Caxa中运行的HelloWorld程序,帮助开发者快速入门并避开常见陷阱。

w3x4y的博客 512

声音事件检测metric:PSDS

这项工作为多声道声音事件检测(SED)系统的性能评估定义了一个新的框架,它克服了传统的collar-based事件决定、事件F-cores和事件错误率的限制。拟议的框架引入了对事件检测的定义,该定义对标签的主观性更为稳健。它还采用了多声道接收器操作特性(ROC)曲线,以提供比F1分数更全面的系统性能洞察力,并建议将这些曲线简化为单一的多声道声音检测分数(PSDS),这允许系统独立于操作点(OPs)进行比较。所提出的方法还能更好地了解不同声音类别的数据偏差和分类稳定性。

Maestro_T的博客 2730

Windows 10下Carla 0.9.15安装避坑指南:从下载到运行的全流程解析

本文详细解析了在Windows 10系统上安装和运行Carla 0.9.15自动驾驶仿真平台的全流程。内容涵盖从系统环境准备、资源下载、Python依赖安装,到首次启动验证及常见错误(如DLL缺失、显卡驱动问题)的深度解决方案,旨在帮助用户快速搭建稳定的开发环境,并运行第一个自动驾驶Python脚本。

alice7model的博客 546

如何用DETR(detection transformer)训练自己的数据集

DETR(detection transformer)简介 DETR是Facebook AI的研究者提出的Transformer的视觉版本,是CNN和transformer的融合,实现了端到端的预测,主要用于目标检测和全景分割。 DETR的Github地址:link

weixin_50233398的博客 3万+

携程机票数据爬取实战:使用 Python 获取携程网机票信息

通过本篇博客,我们详细介绍了如何使用 Python 爬取携程网的机票信息,涉及了静态网页爬取(使用 Requests 和 BeautifulSoup)和动态网页爬取(使用 Selenium)两种方法。通过获取的数据,我们不仅能够进行票价分析,还可以构建更为复杂的预测模型或趋势分析工具。爬虫技术不仅能够帮助我们收集有价值的数据,还能够为商业决策提供数据支持。在实际应用中,我们可以结合更多的分析方法,如自然语言处理、图像处理等,进一步提升数据的价值。

2201_76125261的博客 1657

如何解决群晖Docker注册表查询失败/无法拉取镜像等问题

如何解决群晖Docker注册表查询失败/无法拉取镜像等问题

XiaoqiangClub的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

下一篇: win下安装Scrapy最新版
星轨无尽
博客等级 码龄10年 39粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值