Skip to main content

Enumerate all possible SNVs for MANE transcripts using HGVS nomenclature.

Project description

DeepMutSim

Generate all possible single nucleotide variants (SNVs) for MANE transcripts using HGVS nomenclature. DeepMutSim queries NCBI Entrez to fetch the MANE Select / MANE Plus Clinical transcript for any human gene and enumerates every possible substitution — coding, UTR, splice sites, and protein-level.

Features

Function Output Description
cds(gene) list[tuple] All CDS SNVs with protein consequence (1-letter & 3-letter)
missense(gene) list[tuple] Missense variants (codon substitutions that change the amino acid)
codon_sub(gene) list[str] All codon substitutions (silent + missense, incl. multi-base delins)
aa_sub(gene) list[tuple] All single amino-acid substitutions
utr5(gene) list[str] All 5' UTR SNVs (negative HGVS numbering)
utr3(gene) list[str] All 3' UTR SNVs (c.* numbering)
splice_site(gene) list[str] Canonical splice donor/acceptor ±1, ±2 variants

Installation

pip install deepmutsim

DeepMutSim requires Python ≥3.8 and Biopython.

Configuration

Two environment variables are mandatory for NCBI Entrez access:

Variable Required Description
EMAIL Yes Your email address (NCBI policy)
API_KEY Recommended NCBI API key — raises the rate limit from 3 to 10 req/s

Obtain an API key from your NCBI account settings.

Linux / macOS:

export EMAIL="your.email@example.com"
export API_KEY="your_api_key_here"

Windows (PowerShell):

$env:EMAIL = "your.email@example.com"
$env:API_KEY = "your_api_key_here"

Quick start

import deepmutsim

# All CDS single-nucleotide variants
variants = deepmutsim.cds("INS")
# [('NM_000207.3:c.1A>G', 'NP_000198.1:p.(M1?)', 'NP_000198.1:p.(Met1?)'), ...]

# All missense variants
missense = deepmutsim.missense("TP53")

# All 5' UTR SNVs
utr5_vars = deepmutsim.utr5("BRCA1")

# All canonical splice site variants
splice = deepmutsim.splice_site("CFTR")

API reference

Query helpers

  • nm(gene) — Fetch the MANE nucleotide record (GenBank).
  • np(gene) — Fetch the MANE protein record (FASTA).
  • nc(gene) — Fetch the primary assembly RefSeq accession.

CDS variants

  • cds(gene)list[tuple[str, str, str]] Every possible single-nucleotide substitution across the coding sequence. Each entry is (c.HGVS, p.HGVS_1letter, p.HGVS_3letter). The initiator methionine is always reported as M1? / Met1?.

  • missense(gene)list[tuple[str, str, str]] Codon substitutions that change the encoded amino acid. Includes multi-base changes (reported as delins). Same tuple format as cds().

  • codon_sub(gene)list[str] All possible codon substitutions (silent + missense). Single-base changes use X>Y notation; multi-base changes use delins.

UTR variants

  • utr5(gene)list[str] All SNVs in the 5' untranslated region. Positions use negative HGVS numbering (c.-59, c.-58, …, c.-1).

  • utr3(gene)list[str] All SNVs in the 3' untranslated region. Positions use c.* numbering (c.*1, c.*2, …).

Splice site variants

  • splice_site(gene)list[str] Canonical donor (+1, +2) and acceptor (−2, −1) positions of every intron within the CDS boundaries. Prefixed with the genomic RefSeq accession.

Protein-level variants

  • aa_sub(gene)list[tuple[str, str]] All single amino-acid substitutions. Each entry is (p.HGVS_1letter, p.HGVS_3letter). The initiator methionine is reported as M1? / Met1?.

Development

# Editable install with test dependencies
pip install -e ".[test]"

# Run tests (no network required — 38 tests)
pytest tests/ -v

# Run tests with coverage
pytest --cov=deepmutsim --cov-report=term-missing

# Build a distribution
python -m build

License

MIT — see LICENSE.

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

deepmutsim-1.1.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deepmutsim-1.1.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file deepmutsim-1.1.0.tar.gz.

File metadata

  • Download URL: deepmutsim-1.1.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for deepmutsim-1.1.0.tar.gz
Algorithm Hash digest
SHA256 4fcc8a3aacd1a2e56fb06a95c387a73c6a111f641a69fc42dbb72d0cebac1483
MD5 56a3bd41e4beb070be67c06e7fedd5c3
BLAKE2b-256 5991cebf39d06ec4dda8f53313a2176cbecb54870a76bd1d05f6e9e4dd63fcba

See more details on using hashes here.

File details

Details for the file deepmutsim-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: deepmutsim-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for deepmutsim-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e1778aa7b4d8077fc533057e48fbfdb2a0dc842dcc7cebdd1f3d775498d5c0ff
MD5 5d40cb6bad421d9bfff2071c820d5a59
BLAKE2b-256 534374d21b64163a0f6c9be598a9cc0b023d57b96d9000ab5680d327575b9f5f

See more details on using hashes here.

Supported by

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