CN110060742B - 一种gtf文件解析方法及工具 - Google Patents
一种gtf文件解析方法及工具 Download PDFInfo
- Publication number
- CN110060742B CN110060742B CN201910198991.1A CN201910198991A CN110060742B CN 110060742 B CN110060742 B CN 110060742B CN 201910198991 A CN201910198991 A CN 201910198991A CN 110060742 B CN110060742 B CN 110060742B
- Authority
- CN
- China
- Prior art keywords
- transcript
- gene
- basic structure
- gtf
- module
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
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格式的文件,该文件用于记录基因结构信息。文件每一行记录一个结构(如基因,转录本,外显子,内含子,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文件解析方法所涉及的gtf文件解析工具,其特征在于,包括查询模块、过滤模块、补充模块、总结模块:
所述的查询模块是:根据一个或多个gene/transcript的id/name对gtf文件进行查询,返回相应gtf行;
所述的过滤模块是:根据序列名,来源,结构类型,起始位点,终止位点,分数,方向,相位,属性,子结构数目等方面进行筛选;
所述的补充模块是:判断是否gtf文件缺乏结构类型为”gene”或“transcript”的行,若判断为是,则根据基本结构的信息将这两种行补充齐全;
所述的总结模块是:对gtf文件基因数目,转录本数目,外显子数目,每基因平均转录本数目,每转录本平均外显子数目,序列名,来源,结构类型,方向,属性的各键所占分布比例进行统计。
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 CN110060742A (zh) | 2019-07-26 |
CN110060742B true 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) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021983B (zh) * | 2016-05-13 | 2018-07-24 | 万康源(天津)基因科技有限公司 | 一种dna及蛋白质水平突变分析方法 |
FI4075438T3 (fi) * | 2016-10-11 | 2024-03-14 | Genomsys Sa | Tehokkaat datarakenteet bioinformatiikkainformaation esittämistä varten |
CN111863128B (zh) * | 2020-06-23 | 2023-09-22 | 深圳大学 | 一种基因可变剪切分析方法 |
-
2019
- 2019-03-15 CN CN201910198991.1A patent/CN110060742B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110060742A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Meuleman et al. | Index and biological spectrum of human DNase I hypersensitive sites | |
Mengjun | TCseq: Time course sequencing data analysis | |
CN102314460B (zh) | 数据分析方法、系统及服务器 | |
CN110292775B (zh) | 获取差异数据的方法及装置 | |
CN101206639B (zh) | 一种基于pdf的复杂版面的标引方法 | |
CN107609347A (zh) | 一种基于高通量测序技术的宏转录组数据分析方法 | |
Laurin et al. | Developmental characters in phylogenetic inference and their absolute timing information | |
CN110021352B (zh) | 一种基于miRBase数据库的植物有参的miRNA数据分析方法 | |
JP2004265179A (ja) | 情報関連性表示方法、プログラム、記憶媒体及び装置 | |
CN106021985A (zh) | 一种基因组数据压缩方法 | |
US20130290836A1 (en) | Methods and apparatus for copying text format pattern | |
CN102200968A (zh) | 一种excel表格数据排重的方法和装置 | |
CN109683881B (zh) | 一种代码格式调整方法及装置 | |
EP2377948B1 (en) | Error correcting method of test sequence, corresponding system and gene assembly equipment | |
Wang et al. | Graph-based pan-genomes: increased opportunities in plant genomics | |
CN108073562A (zh) | 基于云平台的出版物处理方法及装置 | |
CN101976394A (zh) | 数据采集和统计系统及方法 | |
CN107679038B (zh) | 一种文本段落的抽取方法及装置 | |
Ghahfarokhi et al. | A python tool for object-centric process mining comparison | |
CN115312129A (zh) | 高通量测序背景下的基因数据压缩方法、装置及相关设备 | |
CN110060742B (zh) | 一种gtf文件解析方法及工具 | |
AU2021346093A1 (en) | Method and system for subsampling of cells from single-cell genomics dataset | |
CN109582292B (zh) | 一种基于基因组学以及生物信息学的在线交互云平台 | |
US10671644B1 (en) | Adaptive column set composition | |
CN110321535B (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 |