pySec2Pri 0.3.6 Documentation

pysec2pri maps secondary (retired/withdrawn) biological database identifiers and labels to primary (current) ones, with SSSOM output by default.

Supported databases

Database

source

Mapping sets

ChEBI

chebi

ids, labels

Ensembl

ensembl

ids, labels

HGNC

hgnc

ids, labels

HMDB Metabolites

hmdb_metabolites

ids

HMDB Proteins

hmdb_proteins

ids

NCBI Gene

ncbi

ids, labels

UniProt

uniprot

ids

VGNC

vgnc

ids, labels

Wikidata

wikidata

ids, labels

sources() returns this list at run time. To add another, see Adding a source: it takes a config and a parser.

Quick Start

Generate a mapping set (CLI):

pysec2pri hgnc ids
pysec2pri chebi labels

Update IDs or labels in a file (CLI):

pysec2pri update-ids data.tsv hgnc --at gene_id -o data_primary.tsv
pysec2pri update-labels data.tsv hgnc --at label
# reuse a saved mapping file
pysec2pri update-ids data.tsv hgnc --at gene_id --mapping hgnc_ids.sssom.tsv

Python API:

from pysec2pri import generate_ids, generate_labels, resolve_ids, resolve_labels
from pysec2pri import load_mapping, load_label_mapping, sources

sources()                                # every source

ms = generate_ids("hgnc")
resolve_ids("HGNC:131", ms)              # : "HGNC:145"
resolve_ids(["HGNC:131", "HGNC:2"], ms)  # : ["HGNC:145", ...]

lms = generate_labels("hgnc")
resolve_labels("BRCA1_OLD", lms)         # : "BRCA1"

# read back a saved SSSOM file
ms = load_mapping("hgnc_ids.sssom.tsv")
lms = load_label_mapping("hgnc_labels.sssom.tsv")

Extending

API Reference