Skip to main content

Library of Python utilities that I needed so many times

Project description

ddgen

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 _txs

# tx will be `NM_123.4`
tx = _txs.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
            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.7.dev0.tar.gz (4.3 MB view details)

Uploaded Source

Built Distributions

ddgen-0.0.7.dev0-py3.6.egg (4.3 MB view details)

Uploaded Source

ddgen-0.0.7.dev0-py3-none-any.whl (4.3 MB view details)

Uploaded Python 3

File details

Details for the file ddgen-0.0.7.dev0.tar.gz.

File metadata

  • Download URL: ddgen-0.0.7.dev0.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0.post20200309 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for ddgen-0.0.7.dev0.tar.gz
Algorithm Hash digest
SHA256 f8cbe587b1d60008f971e1c9185d847158cfe5ad10ddd0fc5af730a5ba5c3090
MD5 58096f82bd6d4ca646d685a2ee7e54b9
BLAKE2b-256 9f0753fa9715c78ca6f2c2cf4767b9f0c6d520cc4f8c154697cdf40c21fce7e9

See more details on using hashes here.

File details

Details for the file ddgen-0.0.7.dev0-py3.6.egg.

File metadata

  • Download URL: ddgen-0.0.7.dev0-py3.6.egg
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0.post20200309 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for ddgen-0.0.7.dev0-py3.6.egg
Algorithm Hash digest
SHA256 5399871f3c2f3f13ebbb524e13b174b06bc8b21c568ba451490a097c1eb73604
MD5 cc26542b47cde3005dbf4b642956108b
BLAKE2b-256 8927608d50aa2e77ce48671cb6b1fc58d21eb906cf68f03d27e2532a2c275090

See more details on using hashes here.

File details

Details for the file ddgen-0.0.7.dev0-py3-none-any.whl.

File metadata

  • Download URL: ddgen-0.0.7.dev0-py3-none-any.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0.post20200309 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for ddgen-0.0.7.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc91671cdbfd0574d43e55b98fa4fbb50c0c1325531013bea0bfe81f8ee61ac1
MD5 08e7132ba72b18d0b67cd28f927ee757
BLAKE2b-256 821aae932d2dc50668c69944c2db93afd3c8e7177416f3b483d4e4d4b2e1d859

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