Transcripts for HGVS libraries
Project description
cdot
cdot provides transcripts for the 2 most popular Python HGVS libraries.
It works by:
- Converting RefSeq/Ensembl GTFs to JSON
- Providing loaders for the HGVS libraries, via JSON.gz files, or REST API via cdot_rest)
We currently support ~905k transcripts (vs ~141k in UTA v.20210129)
New
See changelog
2023-07-05:
- BioCommons HGVS DataProvider fixes
- Support for mouse transcripts (Mus Musculus GRCm38 and GRCm39)
2023-04-03:
- #41 - Support for T2T CHM13v2.0 example code
Install
pip install cdot
Examples
Biocommons HGVS example:
import hgvs
from hgvs.assemblymapper import AssemblyMapper
from cdot.hgvs.dataproviders import JSONDataProvider, RESTDataProvider
hdp = RESTDataProvider() # Uses API server at cdot.cc
# hdp = JSONDataProvider(["./cdot-0.2.14.refseq.grch37.json.gz"]) # Uses local JSON file
am = AssemblyMapper(hdp,
assembly_name='GRCh37',
alt_aln_method='splign', replace_reference=True)
hp = hgvs.parser.Parser()
var_c = hp.parse_hgvs_variant('NM_001637.3:c.1582G>A')
am.c_to_g(var_c)
PyHGVS example:
import pyhgvs
from pysam.libcfaidx import FastaFile
from cdot.pyhgvs.pyhgvs_transcript import JSONPyHGVSTranscriptFactory, RESTPyHGVSTranscriptFactory
genome = FastaFile("/data/annotation/fasta/GCF_000001405.25_GRCh37.p13_genomic.fna.gz")
factory = RESTPyHGVSTranscriptFactory()
# factory = JSONPyHGVSTranscriptFactory(["./cdot-0.2.14.refseq.grch37.json.gz"]) # Uses local JSON file
pyhgvs.parse_hgvs_name('NM_001637.3:c.1582G>A', genome, get_transcript=factory.get_transcript_grch37)
Q. What's the performance like?
- UTA public DB: 1-1.5 seconds / transcript
- cdot REST service: 10/second
- cdot JSON.gz: 500-1k/second
Q. Where can I download the JSON.gz files?
Download from GitHub releases - RefSeq (37/38) - 72M, Ensembl (37/38) 61M
Details on what the files contain here
Q. How does this compare to Universal Transcript Archive?
Both projects have similar goals of providing transcripts for loading HGVS, but they approach it from different ways
- UTA aligns sequences, then stores coordinates in an SQL database.
- cdot convert existing Ensembl/RefSeq GTFs into JSON
Q. How do you store transcripts in JSON?
See wiki page for the format.
We think a standard for JSON gene/transcript information would be a great thing, and am keen to collaborate to make it happen!
Q. What does cdot stand for?
cdot, pronounced "see dot" stands for Complete Dict of Transcripts
This was developed for the Australian Genomics Shariant project, due to the need to load historical HGVS from lab archives.
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
Built Distribution
File details
Details for the file cdot-0.2.26.tar.gz
.
File metadata
- Download URL: cdot-0.2.26.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f9b9fb4076722f5d92d189fa4ef5a7e2af1cdd4f790068bb7d9a5d3ba73921b |
|
MD5 | 835e424070d449dd4e1ebf4a80919706 |
|
BLAKE2b-256 | f062f63febd29ad39c56d3616244d01f308f703b6901f6245fd8e1ac8c5221ed |
File details
Details for the file cdot-0.2.26-py3-none-any.whl
.
File metadata
- Download URL: cdot-0.2.26-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9f6c3dbdb9dffda3779e77d9acef33ae3111c11a4de18fba5ff1d77cbc83c00 |
|
MD5 | 60cf6fa5afd2e587d892bdb5c980e6fe |
|
BLAKE2b-256 | 66ab90cf9f3011a1018e874e86001c20a0d26f7004ac5c19697b8fbf62dec9b8 |