CoolFace
Datasetpublic

Synthyra/SwissProt-Annotation-Vocabulary

Swiss-Prot Annotation Vocabulary 2026_02 This release converts a pinned Swiss-Prot snapshot into a versioned protein annotation vocabulary. Stable, namespaced term identifiers are the biological identity. Integer tokens are specific to this vocabulary and grammar version. Release summary Field Value Vocabulary version 2026_02-support10-v1 Grammar version 1 Swiss-Prot release 2026_02 Swiss-Prot release date 2026-06-10 Build date 2026-08-26… See the full description on the dataset page: https://huggingface.co/datasets/Synthyra/SwissProt-Annotation-Vocabulary.

sourceHugging Faceotherupdated 28d agoView on Hugging Face
1likes277downloads
README.md301 linesDownload Raw Back to root
1---2pretty_name: "Swiss-Prot Annotation Vocabulary 2026_02"3license: other4task_categories:5- feature-extraction6tags:7- biology8- protein9- uniprot10- annotation-vocabulary11configs:12- config_name: "clusters"13  data_files:14  - split: "clusters"15    path: "clusters/cluster_assignments.parquet"16- config_name: "excluded"17  data_files:18  - split: "excluded"19    path: "terms/excluded_terms.parquet"20- config_name: "migration"21  data_files:22  - split: "migration"23    path: "migrations/legacy_to_current.parquet"24- config_name: "minimal"25  data_files:26  - split: "train"27    path: "views/sequence_annotations/train-*.parquet"28  - split: "validation"29    path: "views/sequence_annotations/validation-*.parquet"30  - split: "test"31    path: "views/sequence_annotations/test-*.parquet"32- config_name: "rich"33  default: true34  data_files:35  - split: "train"36    path: "data/train-*.parquet"37  - split: "validation"38    path: "data/validation-*.parquet"39  - split: "test"40    path: "data/test-*.parquet"41- config_name: "terms"42  data_files:43  - split: "terms"44    path: "terms/term_dictionary.parquet"45---46 47# Swiss-Prot Annotation Vocabulary 2026_0248 49This release converts a pinned Swiss-Prot snapshot into a versioned protein annotation vocabulary. Stable, namespaced term identifiers are the biological identity. Integer tokens are specific to this vocabulary and grammar version.50 51## Release summary52 53| Field | Value |54|---|---:|55| Vocabulary version | `2026_02-support10-v1` |56| Grammar version | `1` |57| Swiss-Prot release | `2026_02` |58| Swiss-Prot release date | 2026-06-10 |59| Build date | 2026-08-26 |60| Proteins | 575,503 |61| Retained terms | 66,967 |62| Terms below support threshold | 108,484 |63| Local annotation intervals or points | 10,259,463 |64| Minimum protein support | 10 |65 66## Load the data67 68Each table is a named Hugging Face configuration:69 70```python71from datasets import load_dataset72 73clusters = load_dataset("Synthyra/SwissProt-Annotation-Vocabulary", "clusters")74excluded = load_dataset("Synthyra/SwissProt-Annotation-Vocabulary", "excluded")75migration = load_dataset("Synthyra/SwissProt-Annotation-Vocabulary", "migration")76minimal = load_dataset("Synthyra/SwissProt-Annotation-Vocabulary", "minimal")77rich = load_dataset("Synthyra/SwissProt-Annotation-Vocabulary", "rich")78terms = load_dataset("Synthyra/SwissProt-Annotation-Vocabulary", "terms")79```80 81Pin a Hub commit revision for reproducible downstream work.82 83## Dataset configurations84 85| Configuration | Purpose | Split paths |86|---|---|---|87| `clusters` | Whole-cluster split assignments. | `clusters`: `clusters/cluster_assignments.parquet` |88| `excluded` | Observed terms below the configured support threshold. | `excluded`: `terms/excluded_terms.parquet` |89| `migration` | Audited legacy raw-token migration outcomes. | `migration`: `migrations/legacy_to_current.parquet` |90| `minimal` | Sequence and annotation-token view. | `train`: `views/sequence_annotations/train-*.parquet`; `validation`: `views/sequence_annotations/validation-*.parquet`; `test`: `views/sequence_annotations/test-*.parquet` |91| `rich` | Full protein records and provenance. | `train`: `data/train-*.parquet`; `validation`: `data/validation-*.parquet`; `test`: `data/test-*.parquet` |92| `terms` | Retained token and stable-identifier dictionary. | `terms`: `terms/term_dictionary.parquet` |93 94## Tables and columns95 96The `rich` protein table contains the full release record. Its main fields are:97 98| Column | Type | Meaning |99|---|---|---|100| `accession` | string | Swiss-Prot primary accession. |101| `sequence` | string | Protein sequence. |102| `vocabulary_version` | string | Version that defines the biological token mapping. |103| `grammar_version` | string | Version of the aspect and identifier ordering rules. |104| `source_releases` | list[struct] | Pinned source-field and release pairs used by this build. |105| `annotations` | list[int32] | Sorted unique union of retained global and local biological tokens. |106| `global_term_ids` | list[string] | Stable namespaced identifiers for global terms. |107| `global_tokens` | list[int32] | Version-specific tokens for the global terms. |108| `global_labels` | list[list[string]] | Source labels for each global term. |109| `global_evidence` | list[list[string]] | Evidence identifiers for each global term. |110| `global_raw_values` | list[list[string]] | Source assertions exposed by the source adapters for each global term. |111| `global_relations` | list[list[string]] | Source relations for each global term. |112| `global_source_references` | list[list[string]] | Source references for each global term. |113| `local_stable_term_ids` | list[string] | Stable identifiers for coordinate-bearing terms. |114| `local_term_ids` | list[int32] | Version-specific local-term tokens. |115| `local_starts`, `local_ends` | list[int32] | Parallel 1-based inclusive coordinates. |116| `local_feature_types` | list[string] | UniProt feature keys such as `ACT_SITE`, `BINDING`, and `DOMAIN`. |117| `local_evidence` | list[list[string]] | Source evidence identifiers, when supplied. |118| `taxon_id`, `lineage_taxon_ids` | int64, list[int64] | NCBI taxonomy identifiers. |119| `cluster_id` | string | MMseqs2 cluster identifier. |120| `split` | string | Cluster-disjoint split assignment. |121 122All `global_*` arrays are parallel at the outer level; each inner provenance list contains the sorted unique values exposed by the source adapters for that term. All `local_*` arrays are parallel and have equal length within a row. The table also retains local source labels, descriptions, feature identifiers, coordinate modifiers, ligand identifiers, relations, and source references.123 124Taxonomy is rich protein metadata, not an annotation-vocabulary aspect. `taxon_id`, `lineage_taxon_ids`, and `lineage_names` are retained from the pinned NCBI taxonomy enrichment for stratification and confound control. Taxonomy does not receive biological tokens and is absent from `global_term_ids`, `global_tokens`, `annotations`, the term tables, and migration targets.125 126InterPro remains in the target vocabulary. Gene3D removal is a measured recipe decision, not a missing parser path: in the completed V1 coverage audit, only 468 of 574,627 Swiss-Prot proteins would lose their sole domain-level annotation when Gene3D was removed and InterPro retained. Raw Gene3D observations are used only for that separately recorded review. Gene3D is absent from global term and token arrays, minimal annotations, retained and excluded term tables, released per-aspect statistics, and migration targets.127 128The `minimal` table contains only `sequence` and `annotations`. The `terms` table maps every retained integer token to stable identity, label, description, locality, support, deterministic grammar-key material, observed evidence codes, relations, source references, hierarchy or replacement identifiers when supplied, source-pin fields, vocabulary version, and the primary source-specific release. `sort_aspect_rank` is the configured aspect-grammar rank. `sort_identifier_key` is compact JSON containing the remainder of the canonical term sort key: naturalized accession components, case-folded source database, and canonical term ID. Evidence codes, relations, and source references are sorted unique unions over all non-negated observations of the term. `source_provenance` names the pinned input fields that define or observe the term, while `source_release` is the primary source-specific release for that aspect.129 130`parent_ids` contains direct, canonical, source-prefixed parent term IDs exposed by the selected ontology adapter; a parent need not pass this vocabulary's support threshold. `replacement_ids` contains only canonical, source-prefixed automatic replacement IDs backed by an explicit source assertion such as Gene Ontology `replaced_by`. Gene Ontology `consider` suggestions are excluded from automatic replacements and remain migration manual-review candidates. Either array is empty when no selected source adapter exposes the assertion. The separate `migration` table is authoritative for old-token translation because multiple historical tokens can resolve to one current term.131 132## Clustering and splits133 134Sequences were clustered with MMseqs2 `eec9c354be4276d2373996af2e50808b1390d527` at 30% sequence identity and 50% alignment coverage. Coverage mode 0 requires the query and target to each meet the threshold. Equivalently, the minimum of query coverage and target coverage must be at least 50%.135 136Whole clusters were assigned with seed `42` toward 90% train, 5% validation, and 5% test by protein count. A cluster occurs in exactly one split.137 138| Split | Target | Proteins | Actual | Clusters |139|---|---:|---:|---:|---:|140| train | 90% | 517,953 | 90.00% | 53,857 |141| validation | 5% | 28,775 | 5.00% | 2,993 |142| test | 5% | 28,775 | 5.00% | 2,993 |143 144## Vocabulary identity and grammar145 146Canonical identifiers use `av::aspect::source_database::stable_accession`. Terms are ordered first by the explicit aspect grammar and then by natural stable-accession order. Biological tokens start at zero. Special tokens are appended after all biological tokens, so they cannot collide with biological token zero.147 148Terms observed in fewer than 10 distinct Swiss-Prot proteins are excluded from the integer vocabulary. Their measured counts remain in the release artifacts so another threshold can be applied without treating absence as nonexistence.149 150| Aspect | Retained terms |151|---|---:|152| `cofactor` | 76 |153| `disease` | 108 |154| `ec` | 2,125 |155| `go_bp` | 9,106 |156| `go_cc` | 1,801 |157| `go_mf` | 4,407 |158| `interpro` | 17,829 |159| `keyword` | 1,084 |160| `local_active_site` | 1 |161| `local_binding` | 1 |162| `local_chain` | 1 |163| `local_coiled_coil` | 1 |164| `local_compositional_bias` | 1 |165| `local_crosslink` | 1 |166| `local_disulfide` | 1 |167| `local_dna_binding` | 1 |168| `local_domain` | 1 |169| `local_glycosylation` | 1 |170| `local_helix` | 1 |171| `local_interpro` | 17,924 |172| `local_intramembrane` | 1 |173| `local_lipidation` | 1 |174| `local_modified_residue` | 1 |175| `local_motif` | 1 |176| `local_peptide` | 1 |177| `local_propeptide` | 1 |178| `local_region` | 1 |179| `local_repeat` | 1 |180| `local_signal_peptide` | 1 |181| `local_site` | 1 |182| `local_strand` | 1 |183| `local_topological_domain` | 1 |184| `local_transit_peptide` | 1 |185| `local_transmembrane` | 1 |186| `local_turn` | 1 |187| `local_zinc_finger` | 1 |188| `membrane_orientation` | 8 |189| `membrane_topology` | 10 |190| `pfam` | 7,659 |191| `rhea` | 4,426 |192| `subcellular_location` | 377 |193 194## Local annotation coordinates195 196Local starts and ends are 1-based and inclusive, matching the normalized release convention. For a Python string, use `sequence[start - 1:end]`. Point features have `start == end`. Paired features, such as disulfide bonds, use `local_pair_members` to preserve endpoint membership.197 198Fuzzy, unknown, or out-of-range source coordinates are not converted into exact spans. Their exclusions and counts belong in the build manifest. A local term reports a source annotation at that position; it does not establish that every residue inside a broad region has the same function.199 200## Migration from older raw tokens201 202Migration follows four explicit steps: old raw token to the old token dictionary, old label to a stable biological identifier, official replacement or obsolete-term mapping when available, and stable identifier to the new token dictionary. It never assumes that an integer has the same meaning across vocabulary versions.203 204Each migration row reports one of the API statuses: `exact`, `replaced`, `current_but_filtered`, `current_not_observed`, `ambiguous`, `obsolete`, `removed/unmapped`, `unknown_old_token`, or `invalid_legacy_label`. `current_but_filtered` means the term is current and observed in this Swiss-Prot release, but measured protein support is below the vocabulary threshold; its canonical candidate is retained with a null token and no automatic token is assigned. `current_not_observed` means a source-backed current or canonical candidate is absent from this pinned Swiss-Prot release; the candidate is retained with a null token and no automatic token is assigned. `ambiguous` includes every Gene Ontology `consider` suggestion, even a single suggestion, and records `manual_review_candidates` separately. Outcomes other than exact or replaced require review. Legacy token zero is also reported explicitly because the historical Translator vocabulary used zero for both a biological term and padding in different contexts. Callers must state whether input tokens are biological annotations or model-sequence tokens.205 206Legacy `_threed` labels retain their parsed Gene3D identity for audit but always report `removed/unmapped` with `exclusion_reason=aspect_excluded_from_target_recipe`. They have no candidate, new term, or new token, even if a caller supplies a replacement bridge.207 208## Sources and licenses209 210This card uses `license: other` because the release combines records derived from multiple upstream resources. No new license grant is asserted here. Users must follow the terms named by each source and verify them for their intended use.211 212| Source | Release | URL | License | Source SHA-256 |213|---|---|---|---|---|214| [Gene Ontology Basic](https://purl.obolibrary.org/obo/go/go-basic.obo) | releases/2026-07-26 | https://purl.obolibrary.org/obo/go/go-basic.obo | [CC BY 4.0](https://geneontology.org/docs/go-citation-policy/) | `b08d45b268b8c24ccb2513dbbbc7d4df9f6521c099b413f79eb31e06e0fa3bcc` |215| [InterPro protein coordinates](https://ftp.ebi.ac.uk/pub/databases/interpro/releases/109.0/protein2ipr.dat.gz) | 109.0 | https://ftp.ebi.ac.uk/pub/databases/interpro/releases/109.0/protein2ipr.dat.gz | [CC0 1.0](https://www.ebi.ac.uk/interpro/about/license/) | `b4f50cb086299854ed1f6a47eea92b72213fd030c88a03a22212646c3d219efe` |216| [NCBI Taxonomy](https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/taxdump.tar.gz) | retrieved-2026-08-26 | https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/taxdump.tar.gz | [NCBI data usage policy](https://www.ncbi.nlm.nih.gov/home/about/policies/) | `bec88639770804dc166e99b37dacc514de38841be5aee15ee3ad849d6b3b277d` |217| [UniProt disease vocabulary](https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/docs/humdisease.txt) | 2026_02 | https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/docs/humdisease.txt | [CC BY 4.0](https://www.uniprot.org/help/license) | `bb42e9b1e7a85b1d9867e3996f90e6e3aca6caef4cae904012fdd84bb2ed9e22` |218| [UniProt keyword vocabulary](https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/docs/keywlist.txt) | 2026_02 | https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/docs/keywlist.txt | [CC BY 4.0](https://www.uniprot.org/help/license) | `090f1b8625ef483db4d010185c1f038084847cd982ae9a9cc1e3edd11304d59d` |219| [UniProt subcellular-location vocabulary](https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/docs/subcell.txt) | 2026_02 | https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/docs/subcell.txt | [CC BY 4.0](https://www.uniprot.org/help/license) | `78989ca7bfa17138a537d30817230620cb399e6fdb968effbd44e9f2feaa5257` |220| [UniProtKB release metadata](https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/reldate.txt) | 2026_02 | https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/reldate.txt | [CC BY 4.0](https://www.uniprot.org/help/license) | `7ef2a745c849694a02dce241741f02491248424481219d36284cb9fdca198ce1` |221| [UniProtKB/Swiss-Prot DAT](https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.dat.gz) | 2026_02 | https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.dat.gz | [CC BY 4.0](https://www.uniprot.org/help/license) | `741bcb144f98b8d10f0369b145d562b6751bfd17c285e936553aeb9cb54ab592` |222| [UniProtKB/Swiss-Prot FASTA](https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.fasta.gz) | 2026_02 | https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.fasta.gz | [CC BY 4.0](https://www.uniprot.org/help/license) | `b774748a050fd3de0bf2ad49b359ed59a2c2b02c89df3fe0679fafa446751794` |223 224## Artifact integrity225 226The release manifest fixes artifact paths, byte sizes, row counts where applicable, and SHA-256 digests. Verify the digest after downloading an artifact and pin the exact Hub revision used by an experiment.227 228| Path | Rows | Bytes | SHA-256 |229|---|---:|---:|---|230| `.gitattributes` |  | 46 | `30129f61f2a1b984b358279fb24769ff73836dc7f839a765b67775ae2af04a13` |231| `clusters/cluster_assignments.parquet` |  | 2,189,703 | `a04da313f28d9a5a148cf0dec8e1920d1c5d98cbe830a93977ca8eb50e7c4e30` |232| `clusters/mmseqs_memberships.tsv` |  | 8,105,806 | `bb7d5f36e991ba8be0b3c236f4408d69fca214f65ab27ba7cfabce424730afba` |233| `data/test-00000-of-00001.parquet` |  | 19,980,440 | `d2d84c78e1ee737103816cf03757848f8704e65af37ff2d666a247d29c44e8eb` |234| `data/train-00000-of-00011.parquet` |  | 43,698,534 | `ce44ee828717dafb94523fd0117f314d490b84a7a0db493e924f154cd96823a8` |235| `data/train-00001-of-00011.parquet` |  | 40,517,142 | `b3b2ce9f818a22a437716f44ce0a52c7be1967b52cbf473085a37c319baf06b5` |236| `data/train-00002-of-00011.parquet` |  | 36,225,780 | `412b5483e00409684843590368fc9ba12176f9dbf7cdbd4ccb22716e23ce3ad2` |237| `data/train-00003-of-00011.parquet` |  | 55,083,306 | `1e8d9e99592f1196457e7b25af94493c142acad8714c2401d69f7ac0d63afa77` |238| `data/train-00004-of-00011.parquet` |  | 56,681,270 | `93f178980662be456c4dbcb6ec0b81b4988bd861e9bf05bf8672458311d7669c` |239| `data/train-00005-of-00011.parquet` |  | 47,541,302 | `7bb7802cf1acd714526bc4372fe580ed5589f26e9094975d70363423735878ae` |240| `data/train-00006-of-00011.parquet` |  | 46,209,837 | `98db8e73bad750ed186adbac6c04a9b52020aa2707bb64ac29015fc1eb50a50f` |241| `data/train-00007-of-00011.parquet` |  | 53,536,151 | `0209d51103fe65c8e3f85243c2a1eb7f52097a2845f55a5b07f83ac71da956b1` |242| `data/train-00008-of-00011.parquet` |  | 50,954,194 | `c2b2c44f93552335e2bc88de3e69ed886f73092b8e5f6d8add1e196a3952a69a` |243| `data/train-00009-of-00011.parquet` |  | 59,631,604 | `b4e751001c359b1e591ad051bb5717e7b162b2c0da6c99d586ed71fa68b61c3d` |244| `data/train-00010-of-00011.parquet` |  | 22,851,808 | `a87010c71badea1436dad3fc0f2ef9b389feb8d42f8a0a0c19c75d94fecc44f2` |245| `data/validation-00000-of-00001.parquet` |  | 20,711,059 | `336fd02dc61ab46da5e3ca307f084ccecaba97f5852ff19f998bfe01a3e17333` |246| `manifests/build.json` |  | 175,287 | `5adb57dd09a878de309c3299dbf1a5636c9e1dfb45af339e62f5e94a63d1c12f` |247| `manifests/clustering.json` |  | 2,430 | `1e83b8a07a69cd3079ecfc841aef27f8205e83d0a63181a802f0ce12dacd7e3a` |248| `manifests/mmseqs_run_manifest.json` |  | 2,404 | `9c64b27b8f252afb1922b4e6feb405f80edb3337a8b4013b44eda525986cded3` |249| `manifests/software.json` |  | 15,592 | `a0f22ae7d3f931ee0596409081bbfda5e5294a72bfe60a1fea4d83ef0e42e1dd` |250| `manifests/source_pins.json` |  | 3,335 | `743d4022ce44906d2b33df488a3b183c4062c85bb4526ce70651c826cd3541a3` |251| `manifests/sources.json` |  | 6,329 | `aa6aaf5b2406ebda86c5f298c8f04787a4c5028aa98348388758b2ce1c0dd01c` |252| `migrations/legacy_release.json` |  | 97,903,985 | `a803561b938b59a5d83ccd0e67a949adae967d29ad6a034327b77a3a15eada61` |253| `migrations/legacy_to_current.parquet` |  | 3,508,117 | `d6b76d39d25124027e5dacdf24abb3d5ccd0c9b28e4b3a5af793038fbbd8c9b4` |254| `migrations/legacy_vocabulary.json` |  | 6,079,624 | `e2f98fc8d1ce7c12d29a4add3ac093d04834529ea84c1606719bf425f27b5f61` |255| `migrations/legacy_vocabulary.parquet` |  | 1,097,964 | `58cd14c2b3b2edac3657e77190d9476b94c86aa4b7f7cd324b0a63e49855e2f7` |256| `migrations/replacement_rule_audit.json` |  | 1,557 | `62994c8d1071cd7b1971774edc481c78c87a600de5c42ac9e1c29c8288ee1536` |257| `software/requirements-analysis-py312-cu128.lock.txt` |  | 3,216 | `11c3ced98a8d7c16d7884961c8246671b3faebd66e9925029a246fcfbdfd8fe1` |258| `software/source_snapshot.tar.gz` |  | 214,525 | `46be750e5f4a41a64ba0a0a7fc7599dedfc131d3dfff0e3f867c997321de694d` |259| `terms/excluded_terms.parquet` |  | 3,805,978 | `363eee8f185aa77fcec2ea151f78f1a74a075acf10d6ade448f37421d81b7e5e` |260| `terms/term_dictionary.parquet` |  | 3,997,855 | `daa646fa4e7563b4df65ce389483368c1711180864f48b1ccb5a4fe840291e41` |261| `views/sequence_annotations/test-00000-of-00001.parquet` |  | 4,639,417 | `ea4dafb9e1e4d34c12712f4ebb46b5dccdb7127e849dd5a0bcc855d721dbf45a` |262| `views/sequence_annotations/train-00000-of-00011.parquet` |  | 9,756,186 | `766847e06c1a5680c81d5934c3365b12b98849506858f0ba9a137b32f8f5f19b` |263| `views/sequence_annotations/train-00001-of-00011.parquet` |  | 9,033,779 | `d282b9422126cd27ec1a67513bd61600719d64ce88a6d855d041f92ee9fe6f48` |264| `views/sequence_annotations/train-00002-of-00011.parquet` |  | 7,290,984 | `6a4b80a822d101c34be189ae1666f03af912412e3c76c80ccc9c6192d3a28cae` |265| `views/sequence_annotations/train-00003-of-00011.parquet` |  | 10,875,412 | `db4dcbb8935ee36ba565dc82152fd179c1116babb489db759de49289d242f111` |266| `views/sequence_annotations/train-00004-of-00011.parquet` |  | 10,204,023 | `87c10064de051dd75eb751605373c5e224b792f2a7bd2b16befcd105b1220c2a` |267| `views/sequence_annotations/train-00005-of-00011.parquet` |  | 8,963,883 | `90c0660c7f2028847dfcf7ab5afdf6e9be603b72413d36ce0a24f00ea946b8bd` |268| `views/sequence_annotations/train-00006-of-00011.parquet` |  | 9,536,259 | `cbb2f3b2c64a30c50f5afda5b5392ed5663df50a28912f52a2f628e37fb16051` |269| `views/sequence_annotations/train-00007-of-00011.parquet` |  | 11,765,154 | `38bd9f626e93487fcce54d7c29d8e4c27d2f1b4948a64ed037f4b225e4e3e88e` |270| `views/sequence_annotations/train-00008-of-00011.parquet` |  | 10,864,914 | `f4100ca144629aea6f79d2bbbed142f4a41cdf92799ee43c39c9610883f9a11f` |271| `views/sequence_annotations/train-00009-of-00011.parquet` |  | 12,342,961 | `98135c8422f11b69f02e3a8958745c9dd38741e1d825324d82c3ff4da6e5698c` |272| `views/sequence_annotations/train-00010-of-00011.parquet` |  | 4,986,846 | `f2b5b88e9fd4119ae30e70cf6e77a08f0d850547c4e722f4cdb63a491f03a649` |273| `views/sequence_annotations/validation-00000-of-00001.parquet` |  | 4,704,576 | `ce980714c60b49cd71ca4baafd12847987f0cf83a4625558efaf87c7b31bfd7d` |274 275## Caveats276 277- Swiss-Prot annotations are curated but incomplete and concentrated in well-studied proteins and taxa.278- The support filter removes rare terms from integer labels, not from biological reality.279- Sequence length and annotation count are correlated in Swiss-Prot. Naive pooled association or prediction can exploit annotation density and the number of opportunities for a model feature to activate. Use cluster-disjoint evaluation and control both quantities.280- Taxonomy can act as a shortcut in predictive models. Evaluate results with taxonomy and sequence length controlled when they can confound the question.281- MMseqs2 cluster-disjoint splits limit leakage under the stated sequence thresholds. They do not exclude every remote evolutionary, structural, or functional relationship.282- Database annotations, migration matches, and model associations are evidence-bearing records. They are not experimental confirmation of a protein function or residue mechanism.283- Rich provenance is lossless for values exposed by the selected source adapters, not necessarily for every raw source line. Biopython's Swiss-Prot parser normalizes keyword fields and does not expose raw keyword ECO blocks. A full scan found no evidence-bearing keyword lines in the pinned 2026_02 DAT; future source releases must repeat this audit.284- Exact build exclusions, parser decisions, source checksums, and validation results are defined by the pinned manifests, not by mutable upstream URLs.285 286## Citation287 288Cite the exact Hugging Face commit revision loaded by the experiment and the upstream resources listed in this card.289 290```bibtex291@dataset{annotation_vocabulary_2026_02,292  author = {Annotation Vocabulary contributors},293  title = {Swiss-Prot Annotation Vocabulary 2026_02},294  year = {2026},295  version = {2026_02-support10-v1},296  publisher = {Hugging Face},297  url = {https://huggingface.co/datasets/Synthyra/SwissProt-Annotation-Vocabulary},298  note = {Pin the immutable Hub commit revision used by the experiment}299}300```301