LiteFold/UniProtKB
UniProtKB Processed The aim of the UniProt Knowledgebase (UniProtKB; https://www.uniprot.org/) is to provide users with a comprehensive, high-quality and freely accessible set of protein sequences annotated with functional information. In this publication, we describe ongoing changes to our production pipeline to limit the sequences available in UniProtKB to high-quality, non-redundant reference proteomes. We continue to manually curate the scientific literature to add the… See the full description on the dataset page: https://huggingface.co/datasets/LiteFold/UniProtKB.
UniProtKB Processed
The aim of the UniProt Knowledgebase (UniProtKB; https://www.uniprot.org/) is to provide users with a comprehensive, high-quality and freely accessible set of protein sequences annotated with functional information. In this publication, we describe ongoing changes to our production pipeline to limit the sequences available in UniProtKB to high-quality, non-redundant reference proteomes. We continue to manually curate the scientific literature to add the latest functional data and use machine learning techniques. We also encourage community curation to ensure key publications are not missed. We provide an update on the automatic annotation methods used by UniProtKB to predict information for unreviewed entries describing unstudied proteins. Finally, updates to the UniProt website are described, including a new tab linking protein to genomic information. In recognition of its value to the scientific community, the UniProt database has been awarded Global Core Biodata Resource status.
Dataset Summary
Additional source totals:
Default Index Splits
The default Dataset Viewer index is split deterministically by sha256(file_id) % 10: bucket 0 is test, and buckets 1 through 9 are train.
Protein-Entry Splits
The full protein-entry tables use deterministic exact-sequence hash splits. Exact duplicate amino-acid sequences are kept in the same split.
These are exact-sequence splits, not homology-cluster splits. For strict homology-aware model evaluation, create an additional split using UniRef, MMseqs, or another sequence-clustering method.
Loading With datasets
Load the default file/table index:
from datasets import load_dataset
index = load_dataset("LiteFold/UniProtKB")
print(index)
print(index["train"][0])Load Swiss-Prot reviewed protein entries:
from datasets import load_dataset
sprot = load_dataset("LiteFold/UniProtKB", "sprot")
train = sprot["train"]
valid = sprot["validation"]
test = sprot["test"]Load Swiss-Prot alternative isoform entries:
from datasets import load_dataset
isoforms = load_dataset("LiteFold/UniProtKB", "sprot_varsplic")Stream TrEMBL entries:
from datasets import load_dataset
rows = load_dataset("LiteFold/UniProtKB", "trembl", split="train", streaming=True)
for row in rows:
print(row["accession"], row["protein_name"])
breakUse the default index to discover table shards:
from datasets import load_dataset
index = load_dataset("LiteFold/UniProtKB", split="train")
trembl_train_shards = index.filter(
lambda row: row["role"] == "protein_entry_table_shard"
and row["source_set"] == "trembl"
and row["table_split"] == "train"
)
print(trembl_train_shards[0]["path"])Default Columns
Files
data/*.jsonl.gz: default file/table index for Dataset Viewer.tables/source_set=*/split=*/*.jsonl.gz: full parsed protein-entry tables.sequences/*/*.fasta.zst: compressed source sequence shards.metadata/*.records.jsonl: source metadata records._MANIFEST.json: source sequence manifest._POSTPROCESS_MANIFEST.json: table-generation manifest.dataset_summary.json: summary of the default index build.scripts/prepare_uniprotkb_dataset.py: script used to generate the default index.
License
CC BY 4.0.
Citation
@article{uniprot2025,
title = {{UniProt}: the {Universal Protein Knowledgebase} in 2025},
author = {{The UniProt Consortium}},
journal = {Nucleic Acids Research},
volume = {53},
number = {D1},
pages = {D609--D617},
year = {2025},
publisher = {Oxford University Press},
doi = {10.1093/nar/gkae1010}
}