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.3.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.3.0
File Size Uploaded
orfdata-0.3.0.tar.gz 2.0 MB Details

Built distribution (wheel)

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

Total release size: 3.9 MB

Release files / orfdata-0.3.0.tar.gz

Download URL orfdata-0.3.0.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
bb76c2c1a974c1caffc62008700cc58267faa35e0c9a6dfbb176de2c43487331
BLAKE2b-256 checksum
How to use checksums
f3e356626b35edc8e86411519c54f4e2553ecb90a9efb2b59d3a05b61edcac4a
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.3.0-py3-none-any.whl

Download URL orfdata-0.3.0-py3-none-any.whl
Size 1.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
db83077fa4776a0b7ddf534534273385f0a2a5cfe14cae0d0e5f6482c832a762
BLAKE2b-256 checksum
How to use checksums
f2f36f85510de22a7a5dccf0a3e3e785945061e24c89c512549b507976a4f945
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

0.5.0

2 release files

0.4.0

2 release files

This release

0.3.0 This release

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