Fast GTF parser
Project description
***************************************
Overview
***************************************
We want an extremely fast, lightweight way to access gene data stored in GTF format.
The parsed data is held in an intuitive
Gene
-> transcript
-> transcript
with exons being stored as intervals
Our aim is to
* cache data in binary format, which can be
* re-read in < 10s for even the largest genomes
Currently initial parsing Ensembl Homo sapiens release 56 takes around 4.5 minutes.
The binary data can be reloaded in < 10s.
This contains *all* of the data structure in the original GTF file
Note that we sacrifice memory usage for speed. This is seldom a problem for modern computers
and genome sizes (There are around ~400,000 exons but there are stored as intervals / int pairs)
***************************************
A Simple example
***************************************
::
gene_structures = t_parse_gtf("Mus musculus")
#
# used cached data for speed
#
ignore_cache = False
#
# get all protein coding genes only
#
genes_by_type = gene_structures.get_genes(gtf_file, logger, ["protein_coding"], ignore_cache = ignore_cache)
#
# print out gene counts
#
t_parse_gtf.log_gene_types (logger, genes_by_type)
return genes_by_type
Overview
***************************************
We want an extremely fast, lightweight way to access gene data stored in GTF format.
The parsed data is held in an intuitive
Gene
-> transcript
-> transcript
with exons being stored as intervals
Our aim is to
* cache data in binary format, which can be
* re-read in < 10s for even the largest genomes
Currently initial parsing Ensembl Homo sapiens release 56 takes around 4.5 minutes.
The binary data can be reloaded in < 10s.
This contains *all* of the data structure in the original GTF file
Note that we sacrifice memory usage for speed. This is seldom a problem for modern computers
and genome sizes (There are around ~400,000 exons but there are stored as intervals / int pairs)
***************************************
A Simple example
***************************************
::
gene_structures = t_parse_gtf("Mus musculus")
#
# used cached data for speed
#
ignore_cache = False
#
# get all protein coding genes only
#
genes_by_type = gene_structures.get_genes(gtf_file, logger, ["protein_coding"], ignore_cache = ignore_cache)
#
# print out gene counts
#
t_parse_gtf.log_gene_types (logger, genes_by_type)
return genes_by_type
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gtf_to_genes-1.40.tar.gz
(35.6 kB
view details)
File details
Details for the file gtf_to_genes-1.40.tar.gz
.
File metadata
- Download URL: gtf_to_genes-1.40.tar.gz
- Upload date:
- Size: 35.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2b74884aebfcd58d786e5c6af9af19723a1864b2ac2544bf8d008aac31d96b8 |
|
MD5 | 15dea634078a0fc1367c7adb8c13c280 |
|
BLAKE2b-256 | 351deb9f5d711ee1b9717f8cfc41eadd0086066a08b99e35da95a0a42a1ae266 |