Skip to main content

orfdata

An evidence layer over PyEnsembl for proteins beyond standard annotations. orfdata tells you which open reading frames (ORFs) have experimental support for producing peptides or proteins.

PyEnsembl supplies reference transcripts and annotated proteins. orfdata adds other ORFs, their sequences, and evidence to those same transcript objects. One RNA can have several ORFs, even when its annotation says it is noncoding. The original transcript's biotype and annotated protein stay intact.

Which ORFs?

The bundled catalogue includes:

  • Upstream ORFs (uORFs): before the main protein-coding region.
  • Overlapping ORFs: extending into or out of the main coding region.
  • Internal ORFs: alternative reading frames within the main coding region.
  • Downstream ORFs (dORFs): after the main coding region.
  • ORFs on noncoding RNAs: including long noncoding RNAs (lncRNAs) and processed transcripts without an annotated protein.

These are additional possible protein sources that standard transcript protein annotations may omit. The catalogue currently contains 7,264 human GRCh38 ORFs, of which 2,186 have reported supporting mass-spectrometry observations. It is a source-backed reference catalogue; it does not discover every possible ORF. Data sources and current limits.

What does the evidence mean?

Evidence What it supports
Ribosome profiling Translation of the ORF.
Protease-digest mass spectrometry (MS) Detection of peptides matching its protein sequence.
MHC/HLA peptidomics Detection of matching peptides presented by MHC molecules.

Peptide matches can be ambiguous, so orfdata keeps their source, mapping and quality information. These observations have different strengths: a translated ORF or detected peptide does not by itself establish a stable, functional protein. Missing evidence also does not establish that an ORF is never translated. Evidence interpretation.

Use with PyEnsembl

With the selected PyEnsembl annotation already downloaded and indexed:

from pyensembl import EnsemblRelease
from orfdata import load_catalog

genome = EnsemblRelease(95, species="human")
catalog = load_catalog()
transcript = genome.transcript_by_id("ENST00000304842")  # TPST1

for orf in catalog.for_transcript(transcript):
    print(orf.model.orf_id, orf.protein_sequence)
    print(orf.evidence.has_evidence("ms"))
    assert orf.transcript is transcript

The same call works for a noncoding parent, such as NUTM2B-AS1 (ENST00000483080). Each returned ReferenceORF keeps its model, evidence and original PyEnsembl transcript together, after checking its coordinates and sequence against that transcript.

Varcode describes changes to this reference ORF; Isovar connects it to observed RNA products. Reference evidence stays separate from evidence for a variant or fusion. See the API and integration guide.

The catalogue API supports other species, with explicit species and assembly checks. Bundled experimental evidence is currently human-only. Offline tests bind real human, mouse, dog and yeast reference slices; those fixtures are not new experimental ORF catalogues. Species and reference identity.

Install with pip install orfdata[pyensembl]. See the measurement API for native units, explicit samples and assays, and DataCache-managed downloads, and the quantitative, multispecies data roadmap for upcoming RNA abundance, ribosome occupancy and protein data releases.

Metadata

Release files for orfdata 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for orfdata 0.5.0
File Size Uploaded
orfdata-0.5.0.tar.gz 2.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for orfdata 0.5.0
File Interpreter ABI Platform
orfdata-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.9 MB

Release files / orfdata-0.5.0.tar.gz

Download URL orfdata-0.5.0.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
f0fda00c2b369fbc359b62e41bb8eaf5f1b495e22fd229f981ee9000e81ea5bb
BLAKE2b-256 checksum
How to use checksums
6c80911be3c6e97733b4e99708710ae1bdbabd3865c9ceba287f7b9e8e308d61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.6

Release files / orfdata-0.5.0-py3-none-any.whl

Download URL orfdata-0.5.0-py3-none-any.whl
Size 1.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
9849fdc61aa86418f25e7225d0391bf15860bcff5fd042e17923dfa32c96f095
BLAKE2b-256 checksum
How to use checksums
6152821f867398814c472b55662b890e9fd37bcc476bd505a8dcfd4223f3738d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.6

Release history Release notifications | RSS feed

0.27.1

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page