Skip to content

Add SDRF annotations for 19 heart-tissue proteomics datasets - #61

Open
enriquea wants to merge 2 commits into
bigbio:mainfrom
enriquea:annotation/heart-tissue-batch1
Open

Add SDRF annotations for 19 heart-tissue proteomics datasets#61
enriquea wants to merge 2 commits into
bigbio:mainfrom
enriquea:annotation/heart-tissue-batch1

Conversation

@enriquea

Copy link
Copy Markdown

Add SDRF annotations for 19 heart-tissue proteomics datasets

A coherent batch of cardiac annotations: human heart tissue across coronary/ischaemic,
congenital, valvular, cardiomyopathy and heart-failure phenotypes, plus four animal
cardiac-disease models. 916 sample rows, all passing parse_sdrf validate-sdrf.

Datasets

Accession Rows Disease focus Organism part Acquisition
PXD011349 56 Dilated cardiomyopathy, LV vs RV LV + RV myocardium DDA
PXD015497 8 Aortic stenosis, reverse remodelling LV myocardium DDA
PXD015498 8 Aortic stenosis, phosphoproteome LV myocardium DDA
PXD021990 21 Pediatric congenital aortic valve stenosis / AVI / normal Aortic valve DDA
PXD025002 89 Aortic valve degeneration (88 patients) Aortic valve DDA
PXD025096 27 Ischaemic mitral regurgitation Mitral valve DDA
PXD026582 16 Murine HFpEF (HFD + L-NAME) Heart (mouse) DDA
PXD031617 20 Murine pressure overload vs sham Heart (mouse) DDA
PXD039662 38 Aortic valve disease LV myocardium DIA
PXD045677 175 HFpEF, subcellular fractions RV septum DIA
PXD050610 25 Cardiac ageing (young vs old) Heart DIA
PXD051201 54 Aortic valve stenosis (50 valves) Aortic valve DIA
PXD052878 106 Diabetic ischaemic cardiomyopathy (5 groups) LV myocardium DIA
PXD060431 30 HFpEF vs HFrEF vs donor control RV septum DDA
PXD064045 20 Murine Chchd10 S55L mitochondrial cardiomyopathy Heart (mouse) DIA
PXD064057 30 Chchd10 S55L, solubility fractions Heart (mouse) DIA
PXD070758 38 Calcific aortic valve stenosis Aortic valve DIA
PXD073246 57 CAVD degradomics / collagen PTMs Aortic valve DDA
PXD079292 98 Hypertrophic cardiomyopathy Septal myectomy DIA

Templates: ms-proteomics v1.1.0 + human v1.1.0 (or vertebrates v1.1.0 for the
animal models), with clinical-metadata v1.0.0 and dia-acquisition v1.1.0 where used.

Validation

parse_sdrf validate-sdrf --sdrf_file datasets/<ACC>/<ACC>.sdrf.tsv --use_ols_cache_only
  • 19/19 pass with sdrf-pipelines built from GitHub main (0.1.6), run on these exact paths.
  • No invented file names. Every comment[data file] value was cross-checked against the
    live PRIDE file list (/projects/{acc}/files/all); 916/916 rows match a deposited run.
  • Ontology terms resolved through OLS4 before use, never from memory. This mattered:
    an exact search for coronary artery disease in MONDO returns a susceptibility locus
    rather than the disorder, and PRIDE's DIA term is PRIDE:0000450.
  • Rows equal deposited runs in every dataset. Two exceptions are deliberate: PXD011349 and
    PXD025096 deposit .mzXML/.mzML conversions alongside the .raw files, and only the
    .raw acquisitions are annotated.

Sample-metadata provenance

Per-sample assignments come from the deposited run names and, where available, from
open-access supplementary tables:

  • PXD021990 — Supplemental Table S5 of PMC8105334
    lists every valve by SKU, tissue type (Normal / pCAVS / AVI) and age. The 20 SKUs flagged for
    proteomics match the 20 donors in the run names exactly (DB17 is marked not-included and has
    no raw file). Ages are annotated per donor.
  • PXD060431 and PXD045677 — both belong to
    PMC12132713. DatasetS1 (DDA) is keyed on the
    exact IDs used in PXD060431's run names, and DatasetS13 (DIA) on the biopsy IDs embedded in
    PXD045677's run names, giving per-patient age, sex and ancestry. Note that "HFpEF" inside the
    PXD045677 mzML names is the study name, not the group — group comes from the biopsy-ID
    lookup, which is how the five non-failing DIA controls are correctly identified.

Where a grouping variable was not recoverable it was left out rather than guessed, and each
case is documented in the file header notes:

  • PXD025002 — every subject had aortic valve replacement for valve degeneration, so
    aortic valve disorder is assigned to all rows; the bicuspid/tricuspid split is not in the
    file names.
  • PXD039662 — whole cohort had aortic valve surgery; the stenosis/regurgitation split is not recoverable.
  • PXD051201 — the paper's central variable is patient sex, which the file names do not encode, so
    characteristics[sex] is not available.
  • PXD045677 — biopsies 1060, 1110 and 1705 are absent from DatasetS13; those rows carry
    not available for disease rather than an inferred group.

Points for reviewer confirmation

  1. PXD025096CMV* in the run names is read as control mitral valve, based on the exact
    20 + 7 = 27 split matching the stated n=27 and the diseased-vs-control design. Worth a check
    against the source publication.
  2. Instrument conflicts between PRIDE's declared field and the submitter's own protocol text.
    The explicit protocol statement was used and the conflict noted in each file's header:
    PXD039662 (PRIDE "Q Exactive HF" vs protocol "Exploris 480") and PXD079292 (PRIDE
    "Q Exactive HF" vs protocol "timsTOF HT" with DIA-NN).
  3. PXD060431 acquisition mode. The study ran both DDA and DIA arms; the 10/10/10 file layout
    matches the DDA arm most closely and DDA is annotated, but the run names do not state the mode.
  4. PXD015497/PXD015498 carry Phospho (S/T/Y) as a variable modification on both the proteome
    and phosphoproteome accessions, because the submitter's data-processing protocol declares it for
    both. Annotated as declared rather than second-guessed.

Annotation method

Produced with sdrf-skills (agent-assisted), then
validated with sdrf-pipelines. Candidate selection swept 1,379 PRIDE cardiac projects and
excluded datasets that fail the "heart tissue" criterion on inspection — iPSC-CM cultures,
plasma/serum cohorts, epicardial adipose tissue and pericardial fluid — as well as TMT
experiments deposited without a channel-to-sample key.

Two data-quality observations for the maintainers, unrelated to these files:

  • PXD041192 is registered in PRIDE as
    Homo sapiens, but its data-processing protocol searches a mouse database and the description
    says "murine heart". Excluded here for that reason.
  • python -m tools check in sdrf-skills reports valid accessions as hallucinated — it flags
    NT=Homo sapiens;AC=NCBITaxon:9606 while the same repo's python -m tools verify NCBITaxon:9606
    resolves it correctly.

Human cardiac tissue and cardiac-disease datasets from PRIDE Archive,
covering coronary/ischaemic disease, congenital heart disease, valvular
disease, cardiomyopathy, heart failure (HFpEF/HFrEF) and cardiac ageing,
plus four animal cardiac-disease models.

916 sample rows total. Every row maps to a raw file that exists in the
corresponding PRIDE deposit; all ontology terms resolved against OLS4.
All files pass `parse_sdrf validate-sdrf --use_ols_cache_only`.

Annotated with sdrf-skills (github.com/bigbio/sdrf-skills).
@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (19)
  • datasets/PXD011349/PXD011349.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD015497/PXD015497.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD015498/PXD015498.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD021990/PXD021990.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD025002/PXD025002.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD025096/PXD025096.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD026582/PXD026582.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD031617/PXD031617.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD039662/PXD039662.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD045677/PXD045677.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD050610/PXD050610.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD051201/PXD051201.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD052878/PXD052878.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD060431/PXD060431.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD064045/PXD064045.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD064057/PXD064057.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD070758/PXD070758.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD073246/PXD073246.sdrf.tsv is excluded by !**/*.tsv
  • datasets/PXD079292/PXD079292.sdrf.tsv is excluded by !**/*.tsv

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 0349de5b-e1f2-4440-b148-a389156a74e2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

The review gate flagged 10 collisions. The deposited pooled runs are two
distinct preparations that were wrongly merged under one source name:
unfractionated repeat injections (Pooled_1_SHALLOW, Pooled_2..9) and
offline high-pH RP fractions (Frac1..16, four re-injected).

Split into Pooled_reference_unfractionated (fraction 1, technical
replicates 1-9) and Pooled_reference_hpH_RP (fraction N, technical
replicate 1-2), so every row has a unique
(source name, fraction identifier, technical replicate) coordinate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant