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 asM1?/Met1?. -
missense(gene)→list[tuple[str, str, str]]Codon substitutions that change the encoded amino acid. Includes multi-base changes (reported asdelins). Same tuple format ascds(). -
codon_sub(gene)→list[str]All possible codon substitutions (silent + missense). Single-base changes useX>Ynotation; multi-base changes usedelins.
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 usec.*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 asM1?/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
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fcc8a3aacd1a2e56fb06a95c387a73c6a111f641a69fc42dbb72d0cebac1483
|
|
| MD5 |
56a3bd41e4beb070be67c06e7fedd5c3
|
|
| BLAKE2b-256 |
5991cebf39d06ec4dda8f53313a2176cbecb54870a76bd1d05f6e9e4dd63fcba
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1778aa7b4d8077fc533057e48fbfdb2a0dc842dcc7cebdd1f3d775498d5c0ff
|
|
| MD5 |
5d40cb6bad421d9bfff2071c820d5a59
|
|
| BLAKE2b-256 |
534374d21b64163a0f6c9be598a9cc0b023d57b96d9000ab5680d327575b9f5f
|