CoolFace
Datasetpublic

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.

sourceHugging Facecc-by-4.0updated 6mo agoView on Hugging Face
0likes137downloads
Dataset Card

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

ItemDescription
Main CSVcurated_csv/cullpdb_combined_chains.csv — full chain table
Subsetscurated_csv/subsets/*.csv — 242 files (same columns)
Indexcurated_csv/cullpdb_list_fasta_index.csv

Subset paths: curated_csv/dataset_metadata.json (keys data_paths, subset_paths).

Columns (chain CSVs)

ColumnDescription
pdb_chainPDB chain ID (e.g. 1ABC_A)
pdbPDB ID (first 4 chars)
chainChain ID
sequenceAmino acid sequence (one-letter)
lenSequence length
methodExperimental method (e.g. XRAY, NMR)
resolutionResolution in Å
rfacR-factor
freerfacFree R-factor
pcSequence identity cutoff % for this subset
no_breaksWhether chain has no breaks (yes/no)
RR-factor cutoff for this subset
source_listSubset list basename (curation parameters)

Usage

python
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

ParameterMeaning
pcPercent sequence identity cutoff (15, 20, …, 95)
resResolution range in Å (e.g. 0.0-1.0, 0.0-2.5)
noBrksOptional: exclude chains with breaks
RR-factor cutoff (0.2, 0.25, 0.3, 1.0)
methodsXray, Xray+EM, or Xray+Nmr+EM
NNumber of chains in the list

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.