Update SDRF annotation for PXD006675 (region- and cell-type-resolved human heart atlas) - #62
Conversation
Region- and cell-type-resolve the annotation of the Doll/Mann heart atlas. Same 594 rows and same 594 raw files; sample metadata corrected. - organism part: all rows were "heart"; now 16 UBERON-coded anatomical regions for the 441 atlas runs (region + donor are encoded in the run names), plus the true tissue of origin for the isolated cell cultures. - atrial fibrillation arm was attached to the wrong runs. Supplementary Table 3 names A3689/A2719/A2725; the file instead labelled nine adipose-fibroblast (AF) culture runs as AFib and called the real patients "trauma victims". - removed six individuals that do not exist (A3690, A3691, A2720, A2721, A2726, A2727) - these were technical replicates of the three patients. - disease "trauma victims" -> normal (PATO:0000461); autopsy provenance moved to characteristics[phenotype]. - donor demographics from Supplementary Table 1 propagated to all runs. - cell types resolved to CL with correct origin tissue. - added Lys-C, dissociation method, collision energy and fractionation method from the Methods; Acetyl corrected to Protein N-term per the deposit's own MaxQuant summary.txt. - fraction identifiers taken from the submitter's ExperimentalDesignHeartAtlas.txt inside search.zip. LH/CP are annotated as left/right coronary artery by inference; the derivation and a fallback are documented in the PR description.
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Some comments @enriquea: Normally; we use the label style for sample metadata instead of the full term; like: NT=mitral valve;AC=UBERON:0002135 -> mitral valve For the samples we use PX{}-Sample{index} instead of Donor8 -> PXD006675-Sample-{index} For the individual, we do use another notation, like accession, which enable to know samples that comes from the same patient/individual. |
…ssions Applies the review feedback from @ypriverol on bigbio#62 to this batch. 1. characteristics[*] now carry the bare ontology label (NT=mitral valve;AC=UBERON:0002135 -> mitral valve). comment[*] keep the NT=..;AC=.. form, matching the corpus: of 220 datasets sampled on main, comment[instrument] is NT=..;AC=.. in 209 and comment[cleavage agent details] in 212, while characteristics[*] are predominantly bare labels. 2. source name is now <ACCESSION>-Sample-<n>, assigned per sample so fractions and technical replicates of one sample keep sharing an identifier. 3. characteristics[individual] is now <ACCESSION>-Individual-<n>, assigned per distinct individual so samples from the same donor stay linkable. The original donor/patient codes from each paper are recorded in the PR description so the mapping stays traceable. 19/19 validate; no coordinate collisions introduced.
…ssions Applies @ypriverol's review feedback on this PR. 1. characteristics[*] now carry the bare ontology label (NT=mitral valve;AC=UBERON:0002135 -> mitral valve). comment[*] keep the NT=..;AC=.. form, matching the corpus on main. 2. source name is now PXD006675-Sample-<n> (160 samples), replacing the descriptive names such as Donor8_LV. 3. characteristics[individual] is now PXD006675-Individual-<n>, replacing the paper's donor codes (A3689, A2719, A2725, ...). The mapping is recorded in the PR description so the link to Supplementary Table 3 stays traceable. 594/594 rows validate; no coordinate collisions introduced.
Applies @ypriverol's review feedback from bigbio#62 to this batch. 1. characteristics[*] now carry the bare ontology label throughout (organism, disease). organism part was already bare here. comment[*] keep the NT=..;AC=.. form, matching the corpus on main. 2. source name was already <ACCESSION>-Sample-<n>; unchanged. 3. characteristics[individual] is now <ACCESSION>-Individual-<n>, replacing the descriptive per-animal labels such as WT_rep1. 14/14 validate; no coordinate collisions introduced.
|
All three applied here and to #61 and #63, since the same conventions were wrong across all of them. 1. Bare labels. 2. Sample accessions. 3. Individual. This is the one I had to interpret, so flagging it explicitly: One consequence worth surfacing: for this dataset the individual column held real donor codes tied to Supplementary Table 3 of the paper, so replacing them loses that link. Recording the mapping here to keep it traceable:
Individuals 4–6 are the atrial fibrillation patients; 1–3 are the healthy multi-region donors. If you'd rather keep the published codes visible, an alternative is All three PRs revalidate clean after the change (19/19, 594/594 rows, 14/14) with no coordinate collisions introduced. Two things unrelated to your comment that need a maintainer decision:
|
* Add SDRF annotations for 16 mouse cardiac proteomics datasets
Mouse heart datasets from PRIDE, scoped as one organism per PR.
549 sample rows, all passing parse_sdrf validate-sdrf.
Covers TAC/pressure-overload, myocardial infarction, ischaemia-
reperfusion, diabetic (db/db) and obese hearts, propionic acidemia
cardiomyopathy, Alpk3 gene therapy, a chamber x age regional atlas,
and cardiac differentiation timepoints.
Conventions adopted per maintainer request:
- characteristics[organism part] carries the bare ontology label
("heart") rather than NT=..;AC=..; every label verified to be an
exact UBERON label.
- source name is <ACCESSION>-Sample-<n>, assigned per sample so
fractions and technical replicates share an identifier.
Every row maps to a run that exists in the PRIDE deposit and every
deposited acquisition is annotated. Nine screened candidates were
refused rather than guessed: five were not cardiac material (kidney,
aorta, MEFs, recombinant protein, multi-organ survey), three were
multiplexed with no channel-to-sample key, one did not complete.
* Remove two mixed-organism datasets from the mouse batch
Self-review found both were labelled Mus musculus on every row while
actually containing human material:
- PXD014317: 8 of 10 runs are human iPSC-derived cardiomyocytes; only
2 are mouse heart. Its organism part was also "heart" for cultured
cells, inconsistent with PXD007684 in the same batch.
- PXD077620: 8 of 38 runs are human cardiac organoids (TTNtv model).
PRIDE lists only Mus musculus for this project; the human organoid
arm is visible in the run names and the study design.
Both need a per-group organism, which the builder does not model, and
neither belongs in a mouse-scoped PR. Deferred to a mixed/organoid
batch. The builder now refuses any multi-organism dataset outright so
this cannot recur silently.
* Fill developmental stage, age, sex and strain where the record states them
PXD043384 and PXD054672 are the only two datasets in this batch whose
per-sample metadata is recoverable without going back to the papers:
PXD043384 adult / 8W / female
PRIDE description: "Ventricular tissue of 8 week female PA
mice and their female wild-type littermates". Strain of the
PA model is not stated anywhere in the record, so it stays
"not available".
PXD054672 adult / 12W / male, per-group strain
PRIDE sample protocol names both Envigo strains explicitly
(B6.V-Lepob/OlaHsd for ob/ob, C57BL/6JOlaHsd for WT). Sex is
not in the PRIDE record; confirmed male from the linked paper
(Guedouari et al. 2025, PMC12148419: "12-week old male ...
ob/ob mice").
The remaining 12 datasets in this batch do not state strain, sex or age
in their PRIDE records and would need a full-text pass.
* Adopt maintainer conventions: bare labels and individual accessions
Applies @ypriverol's review feedback from #62 to this batch.
1. characteristics[*] now carry the bare ontology label throughout
(organism, disease). organism part was already bare here. comment[*]
keep the NT=..;AC=.. form, matching the corpus on main.
2. source name was already <ACCESSION>-Sample-<n>; unchanged.
3. characteristics[individual] is now <ACCESSION>-Individual-<n>,
replacing the descriptive per-animal labels such as WT_rep1.
14/14 validate; no coordinate collisions introduced.
* Add SDRF annotations for 19 heart-tissue proteomics datasets 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). * Fix coordinate collisions in PXD052878 pooled reference rows 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. * Adopt maintainer conventions: bare labels, sample and individual accessions Applies the review feedback from @ypriverol on #62 to this batch. 1. characteristics[*] now carry the bare ontology label (NT=mitral valve;AC=UBERON:0002135 -> mitral valve). comment[*] keep the NT=..;AC=.. form, matching the corpus: of 220 datasets sampled on main, comment[instrument] is NT=..;AC=.. in 209 and comment[cleavage agent details] in 212, while characteristics[*] are predominantly bare labels. 2. source name is now <ACCESSION>-Sample-<n>, assigned per sample so fractions and technical replicates of one sample keep sharing an identifier. 3. characteristics[individual] is now <ACCESSION>-Individual-<n>, assigned per distinct individual so samples from the same donor stay linkable. The original donor/patient codes from each paper are recorded in the PR description so the mapping stays traceable. 19/19 validate; no coordinate collisions introduced. * Fix pediatric developmental stage and age format in PXD021990 Addresses @Copilot's review comment on this PR. This is a pediatric aortic valve cohort (donors aged ~2 weeks to 17 years, per Supplemental Table S5), but every row asserted characteristics[developmental stage] = adult. Two problems, one of which the validator did not catch: 1. developmental stage was wrong for all 20 donors. EFO has no 'child' or 'adolescent' term - the only accurate terms under EFO:0000399 are neonate (EFO:0001372, 0-28 days) and infant (EFO:0001355, under 1 year). Donors under 1Y now carry those; donors aged 2-17Y carry 'not available' rather than a false 'adult'. The real information is in characteristics[age], which is populated per donor. 2. six ages were decimal years (0.04Y, 0.15Y, 0.17Y, 0.58Y, 0.66Y, 0.75Y), which violate the age pattern in the human v1.1.0 template (whole numbers only, Y>M>W>D). parse_sdrf reports these as valid, so this passed CI. Most were clean twelfths and are now months (0.17Y->2M, 0.58Y->7M, 0.66Y->8M, 0.75Y->9M); the other two are weeks (0.04Y->2W, 0.15Y->8W). No other dataset in this batch is affected: the only other age/stage mismatches flagged were 8-week and 12-week mice in #63, which are adults.
Update SDRF annotation for PXD006675 (Doll et al., human heart atlas)
PXD006675 — Region and
cell-type resolved quantitative proteomic map of the human heart, Doll, Dreßen, Geyer,
… Krane, Mann, Nat Commun 2017, doi:10.1038/s41467-017-01747-2
(PMC5684139, open access).
Same 594 rows and the same 594 raw files as the current annotation — no runs added or
dropped. The changes are to the sample metadata.
Why this update
The dataset's defining axis is anatomical region, but every row currently reads
characteristics[organism part] = heart. The region was present only as a bare code incharacteristics[phenotype], and the atrial-fibrillation arm was attached to the wrongruns.
organism partvaluesorganism partdiseasefactor value[…]columnsCorrections
1. Region resolved (441 atlas runs). The 16 regions are recoverable from the run
names, where the trailing digit is the donor (3, 4, 8):
Each is now a UBERON term in
organism part, e.g.NT=interventricular septum;AC=UBERON:0002094. Structure checks out: 16 regions × 3 donors × ~9 fractions =441 runs.
2. The atrial-fibrillation arm was on the wrong runs. Supplementary Table 3 names
exactly three AFib patients — A3689 (F, 76, persistent), A2719 (M, 78, permanent),
A2725 (F, 74, persistent) — and Fig. 6a states their LA tissue was run as technical
triplicates. The deposit contains exactly three runs for each of those IDs.
The current file instead labels nine
AF_Easy12_14_DMSO_A####runs as atrialfibrillation, and labels the three real patients
trauma victims. ThoseAF_…runscarry donor IDs that appear nowhere in Supplementary Table 3;
AFin this deposit isadipose fibroblast (Methods: AFs isolated from subcutaneous fat, frozen in DMSO),
which collides with the paper's use of "AFib" for the disease. They are now annotated as
AF cell cultures with
disease = not available, and the AFib label moved to A3689 /A2719 / A2725 with their published age, sex and AF type.
3. Six individuals that do not exist have been removed. Each AFib patient's technical
replicates had been given incremented IDs —
A3689 → A3690, A3691,A2719 → A2720, A2721,A2725 → A2726, A2727. Those are the same three patients, now annotated ascomment[technical replicate]1–3.4.
disease = "trauma victims"→normal(PATO:0000461). Supplementary Table 1records heart morphology "no abnormality detected" for all three donors, and the Methods
state the hearts "did not present any relevant injury or signs of cardiac malfunction and
were therefore defined as healthy". The autopsy provenance is preserved in
characteristics[phenotype]instead of being written into the disease column.5. Donor demographics propagated. Run-name donor 3/4/8 → Supplementary Table 1
subjects 1/2/3 (male 22 y, male 21 y, male 47 y). The existing file already carried these
ages on 27 runs each, consistently; they now apply to all runs of each donor.
6. Cell types resolved to CL with their true tissue of origin, which is not the heart
for two of them: EC →
cardiac endothelial cell(CL:0010008, atrium), CF →fibroblast of cardiac tissue(CL:0002548, atrium), AF →fibroblast(CL:0000057,subcutaneous adipose tissue), SMC →
smooth muscle cell of the internal thoracic artery(CL:0002593, internal thoracic artery).7. Technical metadata completed from the Methods. Added
Lys-Calongside trypsin(digestion was Lys-C + trypsin, 1:50 overnight then 1:100 for 3 h), plus dissociation
method, collision energy (27% NCE) and high-pH reversed-phase fractionation.
Acetylchanged fromPP=Any N-termtoPP=Protein N-term, matching MaxQuant's ownsummary.txtin the deposit (Oxidation (M);Acetyl (Protein N-term)). Carbamidomethyl,Oxidation and the tolerances were already correct and are unchanged.
8. Fraction identifiers now come from the submitter.
ExperimentalDesignHeartAtlas.txtinside the deposit's
search.zipgives the per-run fraction; MaxQuant's100(meaningunfractionated) is mapped to fraction identifier 1. This covers 564 of 594 runs; the rest
keep the fraction parsed from the run name.
LHandCP— the one inference in this PRThese are the study's two coronary arteries (the paper lists LCA and RCA among its 16
regions, and after mapping the other 14 tokens these are the only ones left), but the
strings
LHandCPappear nowhere in the paper or its supplementary material.They are annotated
LH = left coronary artery(UBERON:0001626) andCP = right coronary artery(UBERON:0001625) on two independent grounds that agree:x-axis all list the regions in the same non-alphabetical order
Ao AV RCA LA LCA LV MV PA PV PVe RA RV SepA SepV TV IVC. That is exactly thecase-insensitive alphabetical sort of the internal run tokens
{Ao AV CP LA LH LV MV PA PV PVe RA RV SepA SepV TV Vcavainf}underLH→LCA, CP→RCA.The opposite assignment reproduces none of those orderings.
proteinGroups.txtinside the deposit'ssearch.zipcarries per-donor intensities under
LH3/LH4/LH8andCP3/CP4/CP8. Correlatingper-region medians against the published LCA/RCA copy-number columns of Supplementary
Data 3 gives the same assignment, with the other 14 regions as a positive control.
This is the main thing to check. If a reviewer with knowledge of the original sample
naming disagrees, the fix is two lines, and the conservative fallback is the unsided
parent
coronary artery(UBERON:0001621) for both.Other things a reviewer may want to weigh in on
singleShot,BoxCar,urea,test,misslabeled, …) are annotated with the region where the run name states one andnot availableotherwise, withphenotype = method-development / pilot run. Analternative would be to drop them from the SDRF.
AF_Easy12_14_DMSO_A####is read as adipose-fibroblast cultures from six cell donors.The reasoning is above;
diseaseis leftnot availablerather than asserting a state.Validation
parse_sdrf validate-sdrf --sdrf_file datasets/PXD006675/PXD006675.sdrf.tsv --use_ols_cache_only # Everything seems to be fine. Well done.sdrf-pipelinesfrom GitHubmain.comment[data file]value is unchanged from the current annotation and matchesthe PRIDE deposit; 594 rows, 594 unique files, no duplicates.
(source name, fraction identifier, technical replicate, label)collisions.pass; all CL/UBERON terms confirmed non-obsolete via the OLS term endpoint.
Annotated with sdrf-skills.