RosettaCommons/PISCES-CulledPDB
PISCES-CulledPDB database as of January 2026 Recurated on Hugging Face on March 5th 2026 The PISCES dataset provides curated sets of protein sequences from the Protein Data Bank (PDB) based on sequence identity and structural quality criteria. PISCES yields non-redundant subsets of protein chains by applying filters such as sequence identity, experimental resolution, R-factor, chain length, and experimental method (e.g., X-ray, NMR, cryo-EM). The goal is to maximize structural… See the full description on the dataset page: https://huggingface.co/datasets/RosettaCommons/PISCES-CulledPDB.
PISCES-CulledPDB database as of January 2026
Recurated on Hugging Face on March 5th 2026
The PISCES dataset provides curated sets of protein sequences from the Protein Data Bank (PDB) based on sequence identity and structural quality criteria. PISCES yields non-redundant subsets of protein chains by applying filters such as sequence identity, experimental resolution, R-factor, chain length, and experimental method (e.g., X-ray, NMR, cryo-EM). The goal is to maximize structural reliability while minimizing sequence redundancy. Unlike culling tools that rely on BLAST or global alignments, PISCES uses PSI-BLAST for position-specific scoring matrices, improving detection of homologs below 40% sequence identity.
Dataset sources
- Server: PISCES
- Reference: Wang, G., & Dunbrack, R. L. Jr. (2003). Bioinformatics 19(12), 1589–1591.
Quickstart Usage
Install HuggingFace Datasets package
Each subset can be loaded into python using the Huggingface datasets library. First, from the command line install the datasets library
$ pip install datasets
then, from within python load the datasets library
>> import datasets
Load Dataset
Load PISCES-CulledPDB dataset.
>> piscesculledpdb = datasets.loaddataset('RosettaCommons/PISCES-CulledPDB')
Downloading readme: 4.02kB [00:00, 1.08MB/s] Downloading data: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████| 69.3M/69.3M [00:13<00:00, 5.10MB/s] Generating train split: 100%|██████████████████████████████████████████████████████████████████████████| 3632659/3632659 [00:02<00:00, 1637871.99 examples/s]
and the dataset is loaded as a datasets.arrow_dataset.Dataset
>> pisces_culledpdb
DatasetDict({ train: Dataset({ features: ['pdbchain', 'clusterid', 'split'], num_rows: 3632659 }) })
which is a column oriented format that can be accessed directly, converted in to a pandas.DataFrame, or parquet format, e.g.
>> piscesculledpdb.data.column('pdbchain') >> piscesculledpdb.topandas() >> piscesculledpdb.toparquet("dataset.parquet")
Uses
- Non-redundant protein chain datasets for ML and statistical analysis
- Benchmarking protein structure prediction or homology modeling
- Studying evolutionary relationships at chosen sequence identity thresholds
- High-quality training sets filtered by resolution and R-factor
- Structure-based ML datasets for protein modeling
Dataset structure
Subset paths: curated_csv/dataset_metadata.json (keys data_paths, subset_paths).
Columns (chain CSVs)
Usage
from huggingface_hub import hf_hub_download
import pandas as pd
path = hf_hub_download(
repo_id="RosettaCommons/PISCES-CulledPDB",
filename="curated_csv/cullpdb_combined_chains.csv",
repo_type="dataset"
)
df = pd.read_csv(path)File naming convention
Subset filenames follow:
cullpdb_pc{pc}_res{res_min}-{res_max}[_noBrks]_len40-10000_R{R}_{methods}_d2026_01_26_chains{N}.csv
License
Apache-2.0
Citation
@article{wang2003pisces,
title={PISCES: a protein sequence culling server},
author={Wang, Guoying and Dunbrack, Roland L. Jr.},
journal={Bioinformatics},
volume={19},
number={12},
pages={1589--1591},
year={2003},
publisher={Oxford University Press}
}Recurated for Hugging Face by Akshaya Narayanasamy akshayanarayanasamy[at]gmail.com.
