SCL2205: Sub-cellular Localisation Dataset
An installable dataset package for subcellular localisation prediction modelling.
It is suitable for clustering, classification, and generative protein language machine learning, and comprises dataset tracks for the train-valid-test and cross-validation-test (k = 5) model development approaches.
Preprocessing is already done, including homology reduction within and across corresponding splits.
Motivated by the F.A.I.R principle.
Interface: Python package with CLI
Installation:
Package manager: pip install p-scldata. Available as scldata after installation
Example usage:
# Python
>>> import scldata.loader as sdl # load pkg
>>> data_struct = sdl.load() # default, the full dataset structure
>>> df_train = sdl.load("train") # returns the training split
>>> fasta_file = sdl.load('test', fasta=True) # returns a StringIO handle
# CLI
$ scldata # default, returns the help page
$ scldata --split train # return training split in deafault .tsv format
$ scldata --split train --format fasta # returns the full training split in FASTA
$ scldata --info struct # overview of the dataset
$ scldata --help # for other options
Description: This dataset comprises 19074 protein sequences (col 1) and corresponding subcellular localisation labels (col 2), covering 13 classes (nine single-location and four multi-location classes). col 1 serves as the predictor (input), while col 2 is the target (output)
Structure: unarchived and decompressed folder layout
scldata
└── data
├── entries.json # contains the UniProtKB unique "entry" identifier index
├── labels.json # contains the mined UniProtKB "cellular component" location bi-directional index: 13 locations; 9 single and 4 multi
├── scl2205.csv # contains the full dataset in comma-separated-values (.csv) format
└── splits.json # contains the partitioning of the full dataset as index lists of records constituting each partition
Components:
- entries.json:
key=valuepairs;keyis integer index,valueis UniProtKB unique identifier. - labels.json: nested
key=valuepairs;keyis integer index,valueis subcellular location for theindex_to_labelkey-index, and vice versa for thelabel_to_indexkey-index. - scl2205.csv:
- Column 0: Table index; name,
entry; typestr - Column 1: Protein sequence (X variable); name,
seq; typestr - Column 2: Subcellular location (Y variable); name
scl; typestr
- Column 0: Table index; name,
- splits.json
- Abbreviations
cv: cross-validation (the 5-fold cross-validation dataset)fk: foldk; ranges from zero to fourtrn: training splittst: theheldoutevaluation setvld: validation split (for monitoring training) akadevelopmentordiscovery[<int index>, ...]: list of integer indices representing partition members
- Abbreviations
- Classes:
- Cytoplasm (
CYT) - Plastid (
PLA) - Secreted (
SEC) - Mitochondrion (
MIT) - Membrane (
MEM) - Peroxisome (
PER) - Nucleus (
NUC) - Cell projection (
CEP) - ER (
ER) - Cytoplasm;Nucleus (
CYT;NUC) - Centrosome;Cytoplasm;Cytoskeleton;Microtubule organizing center (
CEN;CYT;CYTS;MTOC) - Cytoplasm;Membrane (
CYT;MEM) - Cytoplasm;Cytoskeleton (
CYT;CYTS)
- Cytoplasm (
splits
├── cv
│ ├── f0
│ │ ├── trn = [<int index>, ...] # counts: 15187
│ │ └── vld = [<int index>, ...] # counts: 1256
│ ├── f1
│ │ ├── trn = [<int index>, ...] # counts: 15203
│ │ └── vld = [<int index>, ...] # counts: 1240
│ ├── f2
│ │ ├── trn = [<int index>, ...] # counts: 15185
│ │ └── vld = [<int index>, ...] # counts: 1258
│ ├── f3
│ │ ├── trn = [<int index>, ...] # counts: 15210
│ │ └── vld = [<int index>, ...] # counts: 1233
│ └── f4
│ ├── trn = [<int index>, ...] # counts: 15265
│ └── vld = [<int index>, ...] # counts: 1178
├── vld = [<int index>, ...] # counts: 15183
├── trn = [<int index>, ...] # counts: 1260
└── tst = [<int index>, ...] # counts: 2631
Notes:
- No missing values
Code/software
An open-source Python package for the data, p-scldata, is available on the official Python Package Index (PyPI). Upon installation, the dataset is automatically downloaded, and users can preview the data or load specific partitions programmatically (in the command line or as an import). The package is under active development, with additional features planned for future releases.
Other raw data access information
Other publicly accessible locations of the raw data:
Data was derived from the following sources:
- UniProtKB (release 2022_05; 20230124): https://www.uniprot.org/
Changelog
See CHANGELOG.md for version history.
Metadata
Release files for p-scldata 2026.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| p_scldata-2026.2.0.tar.gz | 6.2 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| p_scldata-2026.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.2 MB
Release files / p_scldata-2026.2.0.tar.gz
| Download URL | p_scldata-2026.2.0.tar.gz |
|---|---|
| Size | 6.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2e7c8a3991b9aea334ac583c36e6610f8a41324d9a5ecc5a10415b9591d743e4
|
|
BLAKE2b-256 checksum How to use checksums |
b472b1c8399768cc263d4432abe6727c47a51c96f5aa3b500a9db25fb42c8a4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 12, 2026.
Transparency logRelease files / p_scldata-2026.2.0-py3-none-any.whl
| Download URL | p_scldata-2026.2.0-py3-none-any.whl |
|---|---|
| Size | 4.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c7537ab2aa0dd61bbeaf1a3110caeee7598a895b75cdee62588af402d68a89c8
|
|
BLAKE2b-256 checksum How to use checksums |
fa2faea209afa76915ec1d05badd5ca41b36cc9885d62691060e634d7e4c1244
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 12, 2026.
Transparency logSecurity for p-scldata 2026.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for p_scldata-2026.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 12, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.