rows { options { physical_type: PHYSICAL_STREAM_TYPE_QUADS max_name_table_size: 128 max_prefix_table_size: 16 max_datatype_table_size: 16 logical_type: LOGICAL_STREAM_TYPE_DATASETS version: 2 } } rows { prefix { value: "https://w3id.org/np/" } } rows { name { value: "RA6ybgDshSUfsdNR6NqNuwKHseUV-MP1Fd6A1FzxepgTY" } } rows { namespace { name: "this" value { prefix_id: 1 } } } rows { prefix { value: "https://w3id.org/np/RA6ybgDshSUfsdNR6NqNuwKHseUV-MP1Fd6A1FzxepgTY/" } } rows { name { } } rows { namespace { name: "sub" value { prefix_id: 2 } } } rows { prefix { value: "http://www.nanopub.org/nschema#" } } rows { namespace { name: "np" value { prefix_id: 3 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } } rows { namespace { name: "rdf" value { prefix_id: 4 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/ns/prov#" } } rows { namespace { name: "prov" value { prefix_id: 5 name_id: 2 } } } rows { prefix { value: "http://purl.org/nanopub/x/" } } rows { namespace { name: "npx" value { prefix_id: 6 name_id: 2 } } } rows { prefix { value: "http://purl.org/dc/terms/" } } rows { namespace { name: "dc" value { prefix_id: 7 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/2001/XMLSchema#" } } rows { namespace { name: "xsd" value { prefix_id: 8 name_id: 2 } } } rows { name { value: "hasAssertion" } } rows { name { value: "assertion" } } rows { name { value: "Head" } } rows { quad { s_iri { prefix_id: 1 name_id: 1 } p_iri { prefix_id: 3 name_id: 3 } o_iri { prefix_id: 2 } g_iri { } } } rows { name { value: "hasProvenance" } } rows { name { value: "provenance" } } rows { quad { p_iri { prefix_id: 3 } o_iri { prefix_id: 2 } } } rows { name { value: "hasPublicationInfo" } } rows { name { value: "pubinfo" } } rows { quad { p_iri { prefix_id: 3 } o_iri { prefix_id: 2 } } } rows { name { value: "type" } } rows { name { value: "Nanopublication" } } rows { quad { p_iri { prefix_id: 4 } o_iri { prefix_id: 3 } } } rows { prefix { value: "https://w3id.org/delphi/resource/assessment/" } } rows { name { value: "buehler-2008-hbond-confinement-04--claim-test" } } rows { name { value: "description" } } rows { quad { s_iri { prefix_id: 9 } p_iri { prefix_id: 7 } o_literal { lex: "A script (analysis.py in this directory) downloads the cluster file, selects representatives, queries the PDBe secondary_structure endpoint for each selected entry, extracts strand lengths for the representative chain, builds the histogram and computes (A)-(D). All raw per-chain strand lengths are written to strand_lengths.csv; the histogram to histogram.json. Every HTTP request carries the User-Agent \'delphisci-claim-test/1.0 (https://delphibio.org)\' and no personal identifier." } g_iri { prefix_id: 2 name_id: 4 } } } rows { prefix { value: "https://w3id.org/delphi/ontology/" } } rows { name { value: "Assessment" } } rows { quad { p_iri { prefix_id: 4 name_id: 10 } o_iri { prefix_id: 10 name_id: 14 } } } rows { prefix { value: "http://www.w3.org/2000/01/rdf-schema#" } } rows { name { value: "comment" } } rows { quad { p_iri { prefix_id: 11 } o_literal { lex: "Measured: undefined undefined. Interpretation: " } } } rows { name { value: "label" } } rows { quad { p_iri { } o_literal { lex: "Claim test of buehler-2008-hbond-confinement-04: supports, confidence 0.9" } } } rows { name { value: "seeAlso" } } rows { prefix { value: "https://github.com/fractastical/delphisci/blob/bf2af6ee0a84e23ffa6414ad7a0a50a8c276506e/test-data/claim-tests/buehler-protein-materials/buehler-2008-hbond-confinement-04/" } } rows { name { value: "result.json" } } rows { quad { p_iri { } o_iri { prefix_id: 12 } } } rows { name { value: "wasAttributedTo" } } rows { prefix { value: "https://w3id.org/delphi/resource/agent/" } } rows { name { value: "delphisci-claim-tester-inherit" } } rows { quad { p_iri { prefix_id: 5 } o_iri { prefix_id: 13 } } } rows { name { value: "admissibleDatasets" } } rows { quad { p_iri { prefix_id: 10 } o_literal { lex: "Planned datasets: RCSB PDB 30%-sequence-identity cluster file (https://cdn.rcsb.org/resources/sequence/clusters/clusters-by-entity-30.txt); one representative polymer entity per cluster, the first listed, PDBe API secondary structure per entry (https://www.ebi.ac.uk/pdbe/api/pdb/entry/secondary_structure/{pdb_id}); strands per chain with start and end residue numbers, RCSB search API (https://search.rcsb.org/rcsbsearch/v2/query) or PDBe summary API to restrict to X-ray entries with resolution <= 2.5 A and polymer entity type protein" } } } rows { name { value: "assessmentType" } } rows { quad { p_iri { } o_literal { lex: "claim-test/0.1.0" } } } rows { name { value: "dataKind" } } rows { quad { p_iri { } o_literal { lex: "physical" } } } rows { name { value: "disconfirmingObservation" } } rows { quad { p_iri { } o_literal { lex: "Refutes if the mode is >= 8 residues or <= 2 residues, or if more than 30% of strands are longer than 10 residues. Any other failure of (A)-(D) -> mixed. If fewer than 2,000 representative chains with at least one strand can be retrieved, -> inconclusive." } } } rows { name { value: "evidenceAgainst" } } rows { quad { p_iri { } o_literal { lex: "All four pre-registered criteria pass on 60,263 strands from 5,000 representative chains, so the verdict is \'supports\' for the distributional reading only; the causal reading was pre-registered as not testable here. The verdict depends on the pre-registered rule that excludes strand segments shorter than 2 residues: PDBe returns 17,577 one-residue strand segments among 77,840 raw segments (22.6%), and had they been kept the mode would be 1 residue, which the fail criterion labels \'refutes\'. One-residue segments are most plausibly isolated beta-bridges rather than strands, which is why the exclusion was pre-registered, but a reader who regards them as strands should read the result as \'refutes\'. Criterion (A) is passed narrowly: length 5 has 9,555 strands and length 4 has 9,404 (1.6% apart), with length 6 at 8,666 and lengths 2 and 3 at 8,327 and 8,016; the distribution is a broad plateau over 2 to 6 residues rather than a sharp peak, so the mode is in [3, 6] but would be fragile to a different assignment method. Strand assignments are PDBe\'s as served by the secondary_structure endpoint. The PDBe API documentation (openapi.json, retrieved 2026-11-08) describes them only as \'residue ranges of regular secondary structures (alpha helices and beta strands)\' and does not name the method; whether they are the depositors\' mmCIF struct_sheet_range records or a DSSP-style recomputation is not stated there and was not verified. Lengths use PDBe\'s mmCIF residue_number, so author numbering gaps do not affect them. Lengths are in residues, mapped to the model\'s 3-4 hydrogen bonds by the pre-registered assumption (band [3, 6] residues); no hydrogen bonds were measured. Sampling biases: the PDB over-represents crystallisable, well-folded proteins and the filter keeps only X-ray entries at or better than 2.5 A; the representative is the first entity of each cluster in file order (an arbitrary, not a quality-based, choice) and the first chain listed for that entity; clusters are at 30% sequence identity at the entity level, so fold-level redundancy remains; the 15,500 representatives screened are the first 5.7% of the 272,527 clusters, and the cluster file is sorted by cluster size, so the sample is drawn from the largest families; 631 chains with no strand of at least 2 residues were excluded by design, so the distribution is conditional on a chain having a strand; the exptl.method exact match on \'X-RAY DIFFRACTION\' also admits hybrid X-ray entries. Eight filtered entries returned HTTP 404 from the secondary_structure endpoint and were skipped." } } } rows { name { value: "expectedObservation" } } rows { quad { p_iri { } o_literal { lex: "All of: (A) the mode of the strand-length histogram over the filtered set lies in [3, 6] residues; (B) the median strand length is <= 7 residues; (C) fewer than 15% of strands are longer than 10 residues; (D) the histogram is unimodal in the sense that counts decrease monotonically from the mode up to length 12 (ties allowed). -> supports (distributional reading only)." } } } rows { name { value: "failCriterion" } } rows { quad { p_iri { } o_literal { lex: "Refutes if the mode is >= 8 residues or <= 2 residues, or if more than 30% of strands are longer than 10 residues. Any other failure of (A)-(D) -> mixed. If fewer than 2,000 representative chains with at least one strand can be retrieved, -> inconclusive." } } } rows { name { value: "hasConfidence" } } rows { datatype { value: "http://www.w3.org/2001/XMLSchema#double" } } rows { quad { p_iri { } o_literal { lex: "0.9" datatype: 1 } } } rows { name { value: "hasEvidence" } } rows { prefix { value: "https://w3id.org/delphi/resource/evidence/" } } rows { name { value: "buehler-2008-hbond-confinement-04--claim-test--dataset-1" } } rows { quad { p_iri { } o_iri { prefix_id: 14 } } } rows { name { value: "buehler-2008-hbond-confinement-04--claim-test--dataset-2" } } rows { quad { o_iri { } } } rows { name { value: "buehler-2008-hbond-confinement-04--claim-test--dataset-3" } } rows { quad { o_iri { } } } rows { name { value: "hasVerdict" } } rows { quad { p_iri { prefix_id: 10 } o_literal { lex: "supports" } } } rows { name { value: "hypothesis" } } rows { quad { p_iri { } o_literal { lex: "Across a non-redundant set of experimentally determined protein structures, the distribution of beta-strand lengths is concentrated at short strands, with its mode in the range that corresponds to the 3-4 hydrogen-bond cluster the Keten & Buehler (2008) model identifies as the shear-strength optimum, and long strands are rare." } } } rows { name { value: "inferenceMethod" } } rows { quad { p_iri { } o_literal { lex: "A script (analysis.py in this directory) downloads the cluster file, selects representatives, queries the PDBe secondary_structure endpoint for each selected entry, extracts strand lengths for the representative chain, builds the histogram and computes (A)-(D). All raw per-chain strand lengths are written to strand_lengths.csv; the histogram to histogram.json. Every HTTP request carries the User-Agent \'delphisci-claim-test/1.0 (https://delphibio.org)\' and no personal identifier." } } } rows { name { value: "passCriterion" } } rows { quad { p_iri { } o_literal { lex: "All of: (A) the mode of the strand-length histogram over the filtered set lies in [3, 6] residues; (B) the median strand length is <= 7 residues; (C) fewer than 15% of strands are longer than 10 residues; (D) the histogram is unimodal in the sense that counts decrease monotonically from the mode up to length 12 (ties allowed). -> supports (distributional reading only)." } } } rows { name { value: "preregistered" } } rows { datatype { value: "http://www.w3.org/2001/XMLSchema#boolean" } } rows { quad { p_iri { } o_literal { lex: "false" datatype: 2 } } } rows { prefix { value: "https://w3id.org/delphi/resource/claim/" } } rows { name { value: "buehler-2008-hbond-confinement-04" } } rows { name { value: "hasAssessment" } } rows { quad { s_iri { prefix_id: 15 } p_iri { prefix_id: 10 } o_iri { prefix_id: 9 name_id: 12 } } } rows { quad { s_iri { prefix_id: 14 name_id: 30 } p_iri { prefix_id: 7 name_id: 13 } o_literal { } } } rows { name { value: "license" } } rows { quad { p_iri { name_id: 40 } o_literal { lex: "RCSB PDB data, free to use (https://www.rcsb.org/pages/usage-policy)" } } } rows { name { value: "EvidenceItem" } } rows { quad { p_iri { prefix_id: 4 name_id: 10 } o_iri { prefix_id: 10 name_id: 41 } } } rows { quad { p_iri { prefix_id: 11 name_id: 16 } o_literal { lex: "Dataset: RCSB PDB sequence clusters at 30% identity, entity level (one line per cluster, members as PDBID_ENTITY)" } } } rows { name { value: "atLocation" } } rows { prefix { value: "https://cdn.rcsb.org/resources/sequence/clusters/" } } rows { name { value: "clusters-by-entity-30.txt" } } rows { quad { p_iri { prefix_id: 5 name_id: 42 } o_iri { prefix_id: 16 } } } rows { name { value: "wasDerivedFrom" } } rows { prefix { id: 6 value: "https://www.rcsb.org/docs/programmatic-access/file-download-services#" } } rows { name { value: "sequence-clusters-data" } } rows { quad { p_iri { prefix_id: 5 } o_iri { prefix_id: 6 } } } rows { name { value: "hasChecksum" } } rows { quad { p_iri { prefix_id: 10 } o_literal { lex: "sha256:60834fc4894a96f95e42efd647e26ce91adec7db1822d35ef2832c6f81711224" } } } rows { quad { s_iri { prefix_id: 14 name_id: 31 } p_iri { prefix_id: 7 name_id: 13 } o_literal { } } } rows { quad { p_iri { name_id: 40 } o_literal { lex: "RCSB PDB data, free to use" } } } rows { quad { p_iri { prefix_id: 4 name_id: 10 } o_iri { prefix_id: 10 name_id: 41 } } } rows { quad { p_iri { prefix_id: 11 name_id: 15 } o_literal { lex: "Location (not a URL): https://search.rcsb.org/rcsbsearch/v2/query (POST, 31 batches of up to 500 entity ids)" } } } rows { quad { p_iri { } o_literal { lex: "Dataset: RCSB Search API v2: entity ids in batch AND exptl.method = X-RAY DIFFRACTION AND rcsb_entry_info.resolution_combined <= 2.5 AND entity_poly.rcsb_entity_polymer_type = Protein; return_type polymer_entity" } } } rows { prefix { id: 8 value: "https://search.rcsb.org/" } } rows { quad { p_iri { prefix_id: 5 name_id: 44 } o_iri { prefix_id: 8 name_id: 2 } } } rows { quad { s_iri { prefix_id: 14 name_id: 32 } p_iri { prefix_id: 7 name_id: 13 } o_literal { } } } rows { quad { p_iri { name_id: 40 } o_literal { lex: "PDBe data, CC0 (https://www.ebi.ac.uk/pdbe/about/terms)" } } } rows { quad { p_iri { prefix_id: 4 name_id: 10 } o_iri { prefix_id: 10 name_id: 41 } } } rows { quad { p_iri { prefix_id: 11 name_id: 15 } o_literal { lex: "Location (not a URL): https://www.ebi.ac.uk/pdbe/api/pdb/entry/secondary_structure/{pdb_id} (GET, one per filtered representative entry, gzip transfer)" } } } rows { quad { p_iri { } o_literal { lex: "Dataset: PDBe API secondary_structure per entry: helix and strand residue ranges per chain, mmCIF residue_number used" } } } rows { prefix { id: 1 value: "https://www.ebi.ac.uk/pdbe/api/doc/" } } rows { name { value: "pdb.html" } } rows { quad { p_iri { prefix_id: 5 name_id: 44 } o_iri { prefix_id: 1 name_id: 47 } } } rows { name { value: "SoftwareAgent" } } rows { quad { s_iri { prefix_id: 13 name_id: 20 } p_iri { prefix_id: 4 name_id: 10 } o_iri { prefix_id: 5 name_id: 48 } g_iri { prefix_id: 2 name_id: 7 } } } rows { quad { p_iri { prefix_id: 11 name_id: 16 } o_literal { lex: "delphisci claim tester (inherit; cursor/buehler-hbond-confinement-04-run-3cf4)" } } } rows { name { value: "actedOnBehalfOf" } } rows { prefix { id: 3 value: "https://orcid.org/" } } rows { name { value: "0009-0007-4948-9192" } } rows { quad { p_iri { prefix_id: 5 name_id: 49 } o_iri { prefix_id: 3 } } } rows { name { value: "usesModel" } } rows { prefix { id: 12 value: "https://w3id.org/delphi/resource/model/" } } rows { name { value: "inherit" } } rows { quad { p_iri { prefix_id: 10 } o_iri { prefix_id: 12 } } } rows { name { value: "identifier" } } rows { quad { s_iri { name_id: 52 } p_iri { prefix_id: 7 } o_literal { lex: "inherit" } } } rows { name { value: "LanguageModel" } } rows { quad { p_iri { prefix_id: 4 name_id: 10 } o_iri { prefix_id: 10 name_id: 54 } } } rows { quad { s_iri { prefix_id: 2 name_id: 4 } p_iri { prefix_id: 5 name_id: 19 } o_iri { prefix_id: 13 } } } rows { prefix { id: 15 value: "https://github.com/fractastical/delphisci/blob/bf2af6ee0a84e23ffa6414ad7a0a50a8c276506e/test-data/claim-tests/buehler-protein-materials/buehler-2008-hbond-confinement-04/" } } rows { quad { p_iri { prefix_id: 5 name_id: 44 } o_iri { prefix_id: 15 name_id: 18 } } } rows { name { value: "wasGeneratedBy" } } rows { name { value: "test" } } rows { quad { p_iri { prefix_id: 5 name_id: 55 } o_iri { prefix_id: 2 } } } rows { name { value: "plan" } } rows { name { value: "hadPlan" } } rows { prefix { id: 9 value: "https://github.com/fractastical/delphisci/blob/bf2af6ee0a84e23ffa6414ad7a0a50a8c276506e/test-data/claim-tests/" } } rows { name { value: "README.md" } } rows { quad { s_iri { } p_iri { prefix_id: 5 } o_iri { prefix_id: 9 } } } rows { name { value: "Activity" } } rows { quad { s_iri { prefix_id: 2 name_id: 56 } p_iri { prefix_id: 4 name_id: 10 } o_iri { prefix_id: 5 name_id: 60 } } } rows { name { value: "qualifiedAssociation" } } rows { quad { p_iri { } o_iri { prefix_id: 2 name_id: 57 } } } rows { name { value: "wasAssociatedWith" } } rows { quad { p_iri { prefix_id: 5 name_id: 62 } o_iri { prefix_id: 13 name_id: 20 } } } rows { prefix { id: 16 value: "https://w3id.org/np/" } } rows { name { value: "created" } } rows { datatype { value: "http://www.w3.org/2001/XMLSchema#dateTime" } } rows { quad { s_iri { prefix_id: 16 name_id: 1 } p_iri { prefix_id: 7 name_id: 63 } o_literal { lex: "2026-11-08T16:24:31.803Z" datatype: 3 } g_iri { prefix_id: 2 name_id: 9 } } } rows { name { value: "creator" } } rows { quad { p_iri { prefix_id: 7 name_id: 64 } o_iri { prefix_id: 3 name_id: 50 } } } rows { prefix { id: 6 value: "https://creativecommons.org/licenses/by/4.0/" } } rows { quad { p_iri { prefix_id: 7 name_id: 40 } o_iri { prefix_id: 6 name_id: 2 } } } rows { prefix { id: 8 value: "http://purl.org/nanopub/x/" } } rows { name { value: "hasNanopubType" } } rows { quad { p_iri { prefix_id: 8 name_id: 65 } o_iri { prefix_id: 10 name_id: 14 } } } rows { name { value: "introduces" } } rows { prefix { id: 14 value: "https://w3id.org/delphi/resource/assessment/" } } rows { quad { p_iri { prefix_id: 8 name_id: 66 } o_iri { prefix_id: 14 name_id: 12 } } } rows { quad { p_iri { prefix_id: 11 name_id: 16 } o_literal { lex: "Claim test of buehler-2008-hbond-confinement-04: supports, confidence 0.9" } } } rows { name { value: "domain" } } rows { prefix { id: 1 value: "https://w3id.org/delphi/resource/domain/" } } rows { name { value: "buehler-protein-materials" } } rows { quad { p_iri { prefix_id: 10 name_id: 67 } o_iri { prefix_id: 1 } } } rows { name { value: "sig" } } rows { name { value: "hasAlgorithm" } } rows { quad { s_iri { prefix_id: 2 } p_iri { prefix_id: 8 } o_literal { lex: "RSA" } } } rows { name { value: "hasPublicKey" } } rows { quad { p_iri { } o_literal { lex: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyFHtPB6p0mCjDozxlOY9CmO3nBm7Te3jFbXyLmM+G1tGe47Da0jYIbhkl9Oo1ZjxmCa3LCwlEqK8gj6hEIcL4ahW30JXh9HycfKVk1bugkzMEV15tJdTzAU3sGMFnbNsn43xY2LFLy45tApkRm5byEiM7oRRrooIdwoQKnP4Wzq/bfAoJ9qvW+MGkelyOTd1jbSt+KfmT7xKmDfWzAHddUlWwMX2QJOLxDaffOteTop6ZRgPiNmPJKA/S62Gac9XtSYT3oDkZ6/nr5cxxNLpOyxTf5FPISiCe11xYO/unYjY+mwnOfA8yhJIyx1l0O9I0vpOpn+E5TvyHJV+oSTrvwIDAQAB" } } } rows { name { value: "hasSignature" } } rows { quad { p_iri { } o_literal { lex: "KLIoDZKyhzT1Gh//qX7FFeFOw/Rg8wk8MOVrCo7nzlpd/KH/SrOF0F0ziQ2V9PXKkBWW0hMR47+fnAQ28b/KMuwRYbxmSV8BuPhRbTpIMgYsiQDdlZ+hv0l79xlARpjvoWuuRCS5ZG9eajTBDh/ukAJpxu71sxYDt3ZaYh7RbSprXlXAHX01ciElFHb5VR4NJQL+gU6k3xkL/J3LvYVeLjmzh8NIDVqXXNrvIXmBvcHiReZoJYM/wl4dDKraM4+VYF+KR5Y+JHj6wmDNRnfks1bm1PaTTm9KtEOgJrE9tjt8OcegYint4xJdcquI+oyLT6lhy7xaJMDOvBYRYz3qIA==" } } } rows { name { value: "hasSignatureTarget" } } rows { quad { p_iri { } o_iri { prefix_id: 16 name_id: 1 } } } rows { name { value: "signedBy" } } rows { quad { p_iri { prefix_id: 8 name_id: 74 } o_iri { prefix_id: 3 name_id: 50 } } }