CN110060742A - 一种gtf文件解析方法及工具 - Google Patents

一种gtf文件解析方法及工具 Download PDF

Info

Publication number
CN110060742A
CN110060742A CN201910198991.1A CN201910198991A CN110060742A CN 110060742 A CN110060742 A CN 110060742A CN 201910198991 A CN201910198991 A CN 201910198991A CN 110060742 A CN110060742 A CN 110060742A
Authority
CN
China
Prior art keywords
transcript
gene
gtf
basic structure
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910198991.1A
Other languages
English (en)
Other versions
CN110060742B (zh
Inventor
简洁
王智健
姜丽荣
孙子奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Parsono Gene Technology Co Ltd
Original Assignee
Nanjing Parsono Gene Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Parsono Gene Technology Co Ltd filed Critical Nanjing Parsono Gene Technology Co Ltd
Priority to CN201910198991.1A priority Critical patent/CN110060742B/zh
Publication of CN110060742A publication Critical patent/CN110060742A/zh
Application granted granted Critical
Publication of CN110060742B publication Critical patent/CN110060742B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种gtf文件解析方法,其特征在于,包括如下步骤:初始化步骤,基因/转录本/基本结构读取步骤,基因/转录本分解步骤,基因/转录本/基本结构解析步骤。本发明还公开了一种gtf文件解析工具。本发明的有益效果在于:以基因或转录本为单位:本模块可以以基因或转录本为单位对gtf文件进行解析,将基因或转录本的子结构添加到解析结果的子节点中,使用者能对整个基因或转录本进行操作,更能满足生物信息分析的需求。占用内存少:先读取完一个基因/转录本所有行再解析,处理完这个基因/转录本后相应的内存就会被释放,不需要占用很多内存空间。功能丰富:可根据基因/转录本ID或name进行查找,多条件筛选基因/转录本/基本结构,根据子结构获得基因所在位置,获得基因外显子覆盖长度等功能。

Description

一种gtf文件解析方法及工具
技术领域
本发明涉及生物信息领域,具体涉及一种gtf文件解析方法及工具。
背景技术
生物信息分析中常会用到一种gtf格式的文件,该文件用于记录基因结构信息。文件每一行记录一个结构(如基因,转录本,外显子,内含子,5‘UTR,3’UTR,mRNA,CDS等)的信息。一行分为九列,分别代表了结构的序列名(sequence name),来源(source),结构类型(type),起始位点(start site),终止位点(end site),分数(score),方向(strand),相位(frame),属性(attribute)。属性是多个以key"value";形式组成的键值对,所有行的属性中必须包含“gene_id”和“gene_name”键,除类型为基因以外的行的属性中必须包含“transcript_id”和“transcript_name”键。
Gtf文件常被用于进行与基因结构相关的分析,如基因/转录本表达量计算,新转录本的发现,可变剪切分析,基因结构优化等,是生物信息分析最常用的文件格式之一。
本模块和工具用于解析gtf文件,并提供一些处理gtf文件的方法。
而现有的gtf解析工具和模块存在以下几点缺陷:
(1)以基本结构为单位:现在的gtf文件解析工具大都以行为单位进行解析,如perl模块Bio::GFF3::LowLevel和Bio::FeatureIO。但一行中只包含一个结构的信息,而生物信息分析往往需要以一个完整的基因或转录本为单位,使用者还需要额外对解析结果进行筛选和提取信息,或者重新组织其结构。
(2)占用内存大:想获取一个基因/转录本的所有子结构可能需要将整个文件读取完之后才能提取到,而一个gtf文件可能达到几G的大小,读取并解析一个gtf文件所需的内存空间可能会非常大,造成内存溢出的情况。
(3)功能单一:现在的gtf文件解析工具往往只有写gtf文件和取结构信息的功能,不能满足分析需求。如果需要对gtf文件进行一些常见处理,使用者需要另外写脚本。
发明内容
为了克服现有技术所存在的上述缺陷,本发明的目的之一在于提供一种gtf文件解析方法。
本发明的目的之二在于提供一种gtf文件解析工具。
为了实现本发明的目的之一,所采用的技术方案是:
一种gtf文件解析方法,包括如下步骤:
初始化步骤:从参数中获取gtf文件或句柄,并初始化一个gtf_parser对象。
基因/转录本/基本结构读取步骤:针对基因/转录本/基本结构采用不同的读取方法。如果是基因,则按行读取一个基因的所有行,若当前读取行与当前解析的基因的“gene_id”不同时,则回退一行;如果是转录本,则按行读取一个转录本的所有行,当当前读取行与当前解析的转录本的“transcript_id”不同时,则回退一行;如果是基本结构,则读取一行。
基因/转录本分解步骤:如果是基因,则将除结构类型为“gene”以外的的所有行按不同的转录本进行分解,然后再将每个转录本的所有行按基本结构进行分解;如果是转录本,则将除结构类型为“transcript”以外的所有行按基本结构进行分解。
基因/转录本/基本结构解析步骤:如果是基因,则对基因的每个转录本的每个基本结构进行解析,获取其信息,并添加到相应的转录本子节点中,再将转录本添加到基因的子节点中,返回基因对象;如果是转录本,则对转录本的每个基本结构进行解析,获取其信息,并添加到转录本的子节点中,返回转录本对象;如果是基本结构,则直接解析,返回基本结构对象。
为了实现本发明的目的之二,所采用的技术方案是:一种gtf文件解析工具,包括查询模块、过滤模块、补充模块、总结模块。
所述的查询模块是:根据一个或多个gene/transcript的id/name对gtf文件进行查询,返回相应gtf行。
所述的过滤模块是:根据序列名,来源,结构类型,起始位点,终止位点,分数,方向,相位,属性,子结构数目等方面进行筛选。
所述的补充模块是:判断是否gtf文件缺乏结构类型为”gene”或“transcript”的行,若判断为是,则根据基本结构的信息将这两种行补充齐全。
所述的总结模块是:对gtf文件基因数目,转录本数目,外显子数目,每基因平均转录本数目,每转录本平均外显子数目,序列名,来源,结构类型,方向,属性的各键所占分布比例进行统计。
本发明的主要创新点在于:
以基因或转录本为单位:本模块可以以基因或转录本为单位对gtf文件进行解析,将基因或转录本的子结构添加到解析结果的子节点中,使用者能对整个基因或转录本进行操作,更能满足生物信息分析的需求。
占用内存小:本发明的实现方式是先读取完一个基因/转录本所有行再解析,处理完这个基因/转录本后相应的内存就会被释放,不需要占用很多内存空间。
功能丰富:可根据基因/转录本ID或name进行查找,多条件筛选基因/转录本/基本结构,根据子结构获得基因所在位置,获得基因外显子覆盖长度等功能。
附图说明
图1为本发明的流程示意图。
具体实施方式
以下通过实施例对本发明作进一步的说明,但这些实施例不得用于解释对本发明的限制。
实施例为使用本发明筛选参考基因组结构注释gtf文件中1号染色体上,来源为havana数据库,转录本数目小于3的基因。
在初始化步骤中,接收用户输入的gtf文件,初始化一个gtf_parser对象。
在基因/转录本/基本结构读取步骤中,在本发明实施例中,采用按基因读取的方式,按行读取一个基因的所有行,当前读取行与当前解析的基因的“gene_id”不同时,则回退一行。
在基因/转录本分解步骤中,在本发明实施例中,将除结构类型为“gene”以外的的所有行按不同的转录本进行分解,然后再将每个转录本的所有行按基本结构进行分解。
在基因/转录本/基本结构解析步骤中,在本发明实施例中,对基因的每个转录本的每个基本结构进行解析,获取其信息,并添加到相应的转录本子节点中,再将转录本添加到基因的子节点中,返回基因对象。
在基本筛选步骤中,在本发明实施例中,调用基本筛选功能对基因对象进行判断,如果基因对象的序列名为1号染色体,并且来源为havana数据库,则进入下一步,否则进入下一个基因的读取步骤。
在高级筛选步骤中,在本发明实施例中,调用高级筛选功能对基因对象进行判断,通过length函数计算基因对象的子节点列表中的转录本数目,如果转录本的数目小于3,则返回该基因对象,否则进入下一个基因的读取步骤。
在打印步骤中,如果获取到返回的基因对象,则打印该基因的gtf内容。

Claims (2)

1.一种gtf文件解析方法,其特征在于,包括如下步骤:
初始化步骤:从参数中获取gtf文件或句柄,并初始化一个gtf_parser对象;
基因/转录本/基本结构读取步骤:针对基因/转录本/基本结构采用不同的读取方法,如果是基因,则按行读取一个基因的所有行,若当前读取行与当前解析的基因的“gene_id”不同时,则回退一行;如果是转录本,则按行读取一个转录本的所有行,当当前读取行与当前解析的转录本的“transcript_id”不同时,则回退一行;如果是基本结构,则读取一行;
基因/转录本分解步骤:如果是基因,则将除结构类型为“gene”以外的的所有行按不同的转录本进行分解,然后再将每个转录本的所有行按基本结构进行分解;如果是转录本,则将除结构类型为“transcript”以外的所有行按基本结构进行分解;
基因/转录本/基本结构解析步骤:如果是基因,则对基因的每个转录本的每个基本结构进行解析,获取其信息,并添加到相应的转录本子节点中,再将转录本添加到基因的子节点中,返回基因对象;如果是转录本,则对转录本的每个基本结构进行解析,获取其信息,并添加到转录本的子节点中,返回转录本对象;如果是基本结构,则直接解析,返回基本结构对象。
2.如权利要求1所述的一种gtf文件解析工具,其特征在于,包括查询模块、过滤模块、补充模块、总结模块:
所述的查询模块是:根据一个或多个gene/transcript的id/name对gtf文件进行查询,返回相应gtf行;
所述的过滤模块是:根据序列名,来源,结构类型,起始位点,终止位点,分数,方向,相位,属性,子结构数目等方面进行筛选;
所述的补充模块是:判断是否gtf文件缺乏结构类型为”gene”或“transcript”的行,若判断为是,则根据基本结构的信息将这两种行补充齐全;
所述的总结模块是:对gtf文件基因数目,转录本数目,外显子数目,每基因平均转录本数目,每转录本平均外显子数目,序列名,来源,结构类型,方向,属性的各键所占分布比例进行统计。
CN201910198991.1A 2019-03-15 2019-03-15 一种gtf文件解析方法及工具 Active CN110060742B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910198991.1A CN110060742B (zh) 2019-03-15 2019-03-15 一种gtf文件解析方法及工具

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910198991.1A CN110060742B (zh) 2019-03-15 2019-03-15 一种gtf文件解析方法及工具

Publications (2)

Publication Number Publication Date
CN110060742A true CN110060742A (zh) 2019-07-26
CN110060742B CN110060742B (zh) 2023-07-25

Family

ID=67316059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910198991.1A Active CN110060742B (zh) 2019-03-15 2019-03-15 一种gtf文件解析方法及工具

Country Status (1)

Country Link
CN (1) CN110060742B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021983A (zh) * 2016-05-13 2016-10-12 万康源(天津)基因科技有限公司 一种dna及蛋白质水平突变分析方法
CN110088839A (zh) * 2016-10-11 2019-08-02 耶诺姆希斯股份公司 用于生物信息学信息表示的有效数据结构
CN111863128A (zh) * 2020-06-23 2020-10-30 深圳大学 一种基因可变剪切分析方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021983A (zh) * 2016-05-13 2016-10-12 万康源(天津)基因科技有限公司 一种dna及蛋白质水平突变分析方法
CN110088839A (zh) * 2016-10-11 2019-08-02 耶诺姆希斯股份公司 用于生物信息学信息表示的有效数据结构
CN111863128A (zh) * 2020-06-23 2020-10-30 深圳大学 一种基因可变剪切分析方法

Also Published As

Publication number Publication date
CN110060742B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
Mengjun TCseq: Time course sequencing data analysis
US8977606B2 (en) Method and apparatus for generating extended page snippet of search result
CN110021347B (zh) 一种基于miRBase数据库的动物有参的miRNA数据分析方法
CN102117289B (zh) 一种从网页中抽取评论内容的方法和装置
CN103699591A (zh) 一种基于示例页面的网页正文提取方法
CN110516221A (zh) 提取pdf文档中图表数据的方法、设备和存储介质
KR20140053888A (ko) 판식 파일중 구조화 정보 획득방법 및 장치
CN109859797A (zh) 一种基于miRBase数据库的无参的miRNA数据分析方法
CN112861489A (zh) 一种对word文档进行处理的方法和装置
CN103077192A (zh) 一种数据处理方法及其系统
CN107832584B (zh) 宏基因组的基因分析方法、装置、设备及存储介质
KR102345410B1 (ko) 빅데이터 지능형 수집 방법 및 장치
CN116805511A (zh) 一种单细胞转录组细胞碎片和多细胞过滤方法、介质和设备
CN110060742A (zh) 一种gtf文件解析方法及工具
CN105373526B (zh) 一种电子文档中的空白区域处理方法和系统
CN110534157A (zh) 一种批量提取基因组基因信息并翻译比对分析序列的方法
CN111695330B (zh) 生成表格的方法、装置、电子设备及计算机可读存储介质
JP6719862B2 (ja) Pdfデータ取り出しシステム及びpdfデータ取り出しシステム用プログラム
CN105916508A (zh) 核酸重复序列计数的自动调用方法
CN102799584A (zh) 一种针对检测仪器输出数据筛选提取的处理方法
CN116525010A (zh) 一种单细胞转录组双源多细胞过滤方法、介质和设备
CN109241501A (zh) 文件解析方法和装置
JP2006155344A (ja) データ分析装置、データ分析プログラム及びデータ分析方法
CN115796146A (zh) 一种文件对比方法及装置
CN109815473A (zh) 一种文档编辑辅助方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant