Skip to main content

Library of Python utilities that I needed so many times

Project description

ddgen

Build Status PyPI version

Library of Python utilities that I needed so many times in the past

Select RefSeq transcript with the highest priority

RefSeq transcripts have following categories:

  • NM_, XM_, NR_, XR_

If we have transcripts from multiple sources, we want to select the one coming from the source with highest priority.

E.g. NM_ has higher priority than XM_.

If we have multiple transcripts from a single source, we want to select the one with smaller integer.

E.g. NM_123.4 has higher priority than NM_124.4.

from ddgen.utils import prioritize_refseq_transcripts

# tx will be `NM_123.4`
tx = prioritize_refseq_transcripts(['NM_123.4', 'NM_124.4', 'XM_100.1'])

Get priority for Jannovar variant effects

Jannovar assigns one or more effects to a variant. The effects look like

  • MISSENSE_VARIANT,
  • STOP_GAINED,
  • SPLICE_DONOR_VARIANT,
  • CODING_TRANSCRIPT_VARIANT, etc.

The effects are sorted in order of decreasing putative pathogenicity (i.e. CODING_TRANSCRIPT_VARIANT is likely to be less deleterious than STOP_GAINED in general).

If the variant affects multiple transcripts, it can have different effects on each of them. In some situations, it might be useful to select and evaluate only the most serious effect.

In order to make the selection, we work with concept of variant effect priority. The lower the number representing the priority, the higher the priority.

We can do it by comparing effect priorities:

from ddgen.utils import get_variant_effect_priority, VARIANT_EFFECT_PRIORITIES

# `p` is 21 
p = get_variant_effect_priority('MISSENSE_VARIANT')

# `u` is -1
u = get_variant_effect_priority('GIBBERISH')

# `p` is 21 again
p = VARIANT_EFFECT_PRIORITIES['MISSENSE_VARIANT']

Connect to H2 database

The H2 database is a pure Java SQL database, hence it is primarily meant to be used with Java. We can connect to the database from Python, if:

  • Java is installed on the local machine
  • the local machine runs UNIX-like OS (sorry, Windows users)

In that case:

from ddgen.db import H2DbManager

with H2DbManager("path/to/database.mv.db", 
                 user="sa", 
                 password="sa") as h2:
    with h2.get_connection() as conn:
        with conn.cursor() as cur:
            # do whatever you want with the connection/cursor
            cur.execute('SELECT * FROM DB.TABLE;')
            for i, x in zip(range(5), cur.fetchall()):
                # print first 5 lines 
                print(x)

Setup logging

Quick setup of Python built-in logging library:

from ddgen.utils import setup_logging
setup_logging()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ddgen-0.0.10.post1.tar.gz (4.4 MB view details)

Uploaded Source

Built Distributions

ddgen-0.0.10.post1-py3.6.egg (4.4 MB view details)

Uploaded Source

ddgen-0.0.10.post1-py3-none-any.whl (4.4 MB view details)

Uploaded Python 3

File details

Details for the file ddgen-0.0.10.post1.tar.gz.

File metadata

  • Download URL: ddgen-0.0.10.post1.tar.gz
  • Upload date:
  • Size: 4.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9

File hashes

Hashes for ddgen-0.0.10.post1.tar.gz
Algorithm Hash digest
SHA256 99d5031bc1e1f1ea4d52680be0d14f8cfd0a5152e2ff3655d19e107774bddd1e
MD5 9db96f87ed1bebfa4a108c666f1f2df9
BLAKE2b-256 5620bbfadeed61ad96ea2f43bcef8273fc2ad07c7d90ecc6c233c45df9f68b5c

See more details on using hashes here.

File details

Details for the file ddgen-0.0.10.post1-py3.6.egg.

File metadata

  • Download URL: ddgen-0.0.10.post1-py3.6.egg
  • Upload date:
  • Size: 4.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9

File hashes

Hashes for ddgen-0.0.10.post1-py3.6.egg
Algorithm Hash digest
SHA256 0f3396e7063c6bb9a95e0517d8356e342cac18b3544242f40bd450bc1f6301e2
MD5 1da6f592925749d30a67d274582f1ff7
BLAKE2b-256 bcc7b414533546420d6788a36bc4ec399a0e61faaf3d5b98b998f47e9212b15b

See more details on using hashes here.

File details

Details for the file ddgen-0.0.10.post1-py3-none-any.whl.

File metadata

  • Download URL: ddgen-0.0.10.post1-py3-none-any.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9

File hashes

Hashes for ddgen-0.0.10.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 6d38cca678597e4abdbdf8a05d882c227a126c9c49a8d6923431712877bc7dd2
MD5 7e07fae303339c0486a9cbf6653eea71
BLAKE2b-256 f75a5e563c40137945d21048ad5f2eca54b008f92ea45bcb80b8dba7edd92956

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page