ChrisHayduk/nanofold-public
NanoFold Public NanoFold Public is the public train/validation portion of the nanoFold protein-folding benchmark. It packages a compact, fixed, auditable subset of OpenProteinSet/OpenFold-derived protein structure training data for fast iteration on data-efficient folding models. The dataset has 10000 train chains and 1000 public validation chains. Each row is one protein chain. The original processed .npz tensors are unrolled into Hugging Face Dataset columns so users can load… See the full description on the dataset page: https://huggingface.co/datasets/ChrisHayduk/nanofold-public.
NanoFold Public
NanoFold Public is the public train/validation portion of the nanoFold protein-folding benchmark. It packages a compact, fixed, auditable subset of OpenProteinSet/OpenFold-derived protein structure training data for fast iteration on data-efficient folding models.
The dataset has 10000 train chains and 1000 public validation chains. Each row is one protein chain. The original processed .npz tensors are unrolled into Hugging Face Dataset columns so users can load the data with datasets.load_dataset and work directly with typed arrays/lists.
Why This Dataset Exists
OpenProteinSet was created to provide a large, openly available AlphaFold-style corpus of MSAs, structural template hits, and structure-related assets. NanoFold uses that ecosystem as a reproducible foundation, then deliberately samples a much smaller fixed benchmark so researchers can study protein folding under data scarcity and compute constraints.
This matters because many protein-folding ideas are hard to evaluate when every experiment requires massive data pipelines, large models, and long training runs. NanoFold is designed for smaller models, ablations, objectives, curricula, and optimization experiments where iteration speed is part of the scientific value.
Source And Sampling
The public NanoFold data was built from the OpenFold/OpenProteinSet PDB-chain data foundation plus RCSB mmCIF coordinate files. OpenProteinSet provides precomputed MSA assets and OpenFold-compatible source metadata; RCSB mmCIF files provide the experimental atom coordinates used to build C-alpha and atom14 labels.
The candidate pool was filtered to keep the benchmark small, clean, and learnable:
- single-chain monomer examples
- standard amino-acid sequences
- chain length between 40 and 256 residues
- resolution at or below 3.0 Angstrom when known
- required OpenProteinSet/OpenFold MSA assets available
- processable coordinate projection into NanoFold's atom14 label schema
The split was then sampled with leakage controls and structural stratification. Chains were grouped to keep PDB entries and coarse sequence clusters disjoint across splits. The public train/validation allocation was balanced across broad structural and quality metadata, including secondary-structure class, domain-architecture class, length bin, and resolution bin. These fields are derived from OpenFold/OpenProteinSet chain metadata together with structural classification sources used by NanoFold's manifest builder.
The goal is not to mirror the full PDB distribution perfectly. The goal is a representative, fixed, tractable slice of protein fold space that rewards models that learn useful geometry from limited biological data.
MSA Row Filtering
This release applies held-out-target MSA row filtering to remove non-query MSA rows homologous to public-validation and sealed hidden-validation targets before publishing the public train/validation features. The split-aligned filter threshold is 30% sequence identity with 80% coverage; query rows are preserved. Per-row metadata for the recorded feature-filtering pass is exposed as msa_row_filter_sha256, msa_rows_before_filter, and msa_rows_removed_by_filter; the public-safe source lock records the aggregate multi-pass filtering summary.
- MSA row filter SHA256:
4ed7c529992bb658ebe6031c842db5ca3719125c3ae64322a0f63a0587929ed1 - public-safe source lock SHA256:
c5a8dc1b4be8213ed7619607cc78ce0830c78b3aa04e0d96c30502ac0956d7cc - excluded MSA-row sequence hashes:
1406324 - cumulative MSA rows removed across filtering passes:
1411879
Splits
Column Schema
Shape notation:
Lis the chain length.Nis the retained MSA depth.Tis the number of templates. Official public NanoFold features useT=0; template columns are present for schema consistency.- Atom14 slot order follows the AlphaFold-style atom14 convention used by NanoFold: slots 0-3 are
N,CA,C,O, followed by residue-specific side-chain atoms.
Loading
from datasets import load_dataset
ds = load_dataset("ChrisHayduk/nanofold-public")
train = ds["train"]
example = train[0]
print(example["chain_id"], example["length"], example["msa_depth"])
print(len(example["aatype"]))
print(len(example["msa"]), len(example["msa"][0]))For PyTorch:
torch_ds = ds.with_format("torch")
example = torch_ds["train"][0]
atom14 = example["atom14_positions"] # (L, 14, 3)
atom14_mask = example["atom14_mask"] # (L, 14)msa, deletions, and template columns are stored as nested list features because their first two dimensions are dynamic across chains. With with_format("torch"), non-empty per-row nested lists are converted to tensors by Hugging Face Datasets.
Integrity
The public manifest SHA256 hashes are:
- train manifest:
d36d1f77ba43b7c4509a6e9dfd3f9414e1ce60f8364b24e0086c1734ba6aef6d - validation manifest:
d4a0265bcd0a021e116c0c889f21e86bc24006460bcc42dec2f9a80b70c8812b
The processed public tensor fingerprints for the Hugging Face release are:
- feature files fingerprint, after the recorded public MSA row filtering:
5f24f0f9f0fdf3fb829d93d95f8499fc865aba6aa5112f52bb5138eab145a141 - label files fingerprint:
a2c0fcba726628ee04beb4a6955aecd0baac7a103e0ddc1e3a863c4cce17e5f8
This feature fingerprint is intentionally specific to the sanitized Hugging Face public feature tensors and can differ from the default local official feature-root fingerprint. The dataset repository also includes the public NanoFold manifest/fingerprint metadata files used to audit this release.
Intended Use
NanoFold Public is intended for:
- training and evaluating smaller protein-folding models
- testing data-efficient architectures and objectives
- prototyping AlphaFold-style geometry learning without full-scale data requirements
- teaching and reproducible benchmarking around protein-structure prediction
It is not intended to replace full-scale OpenProteinSet/OpenFold training data. It is a deliberately constrained benchmark slice.
Data Policy
This public dataset includes only NanoFold train and public validation examples. It does not include hidden validation chains, hidden labels, private salts, private manifests, model checkpoints, or external template lookup results.
Official NanoFold competition runs should not add external structures, pretrained weights, external MSA retrieval, template lookup, network access, or hidden-label exposure unless a track explicitly allows those resources.
Upstream References
- OpenProteinSet: Training data for structural biology at scale, arXiv:2308.05326.
- OpenFold: a trainable open-source reproduction of AlphaFold-style protein-structure prediction.
- RCSB Protein Data Bank mmCIF coordinate archive.
OpenProteinSet is distributed under CC BY 4.0. RCSB PDB archive data files are available under CC0 1.0; users are encouraged to attribute original PDB structure depositors where possible.
