Skip to content

Curate CALLA2026_OSHV: a screened study backlog and the first raw-reanalysis registration - #4

Merged
sr320 merged 2 commits into
mainfrom
curate-oshv-tolerance-lineages
Aug 28, 2026
Merged

sr320 merged 2 commits into
mainfrom
curate-oshv-tolerance-lineages

Conversation

@sr320

@sr320 sr320 commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Two commits: a screened backlog of real public datasets, and the registration of the first one.

1. A screened curation backlog

docs/candidate_studies.md — ten candidate M. gigas datasets, verified against NCBI BioProject and the ENA read-run API. Accessions, run counts, and group structures come from deposited metadata, not from recall or paper text.

It corrects the selection criterion I had been working from. "Does the source publish full statistics" is the wrong primary filter: a significance-filtered table carrying only adjusted p-values is the normal format in this literature, not bad luck, so screening on it mostly reproduces the HESSER2024_VCOR dead end. The reliable route to poolable evidence is raw reads in SRA, because AREE's own DESeq2 run then emits lfcSE by construction.

The page also records a rejected candidate in detail. PRJNA623063 looked ideal from its title — C. gigas larvae, Vibrio challenge, nearly the same phenotype as the study already registered — but all 12 runs share one sample_alias across 12 timepoints. Unreplicated time course, no valid DE contrast, and invisible from the abstract.

Two findings worth knowing: hypoxia has no usable public dataset despite being in the phenotype ontology, and GEO holds only 10 oyster expression series, so a GEO-only search misses the corpus entirely.

2. CALLA2026_OSHV — registered, not harmonized

PRJNA1329250: 42 paired-end NovaSeq libraries, oyster spat from two hatchery populations challenged with three OsHV-1 microvariant isolates. Calla, Thompson & Burge 2026, Fish & Shellfish Immunology (10.1016/j.fsi.2026.111154).

Control Australia France USA
Midori 6 5 5 5
Miyagi 6 5 5 5

Nothing has been harmonized. The design, sample sheet, FASTQ manifest, run config, and reference context are complete and verified; the pipeline run has not been executed (226 GB of reads). The study contributes zero evidence records and analysis_status is not_started.

New: aree fetch-samplesheet

Reads ENA's run report and BioSample attribute blocks; emits a design sheet, a FASTQ manifest carrying ENA's own MD5 per file, and checksummed provenance. The design above was derived this way rather than transcribed from the paper — which matters twice here, because the paper is paywalled, and because reading the archive is what catches an unreplicated design before someone downloads hundreds of gigabytes.

It warns when the smallest group has n<3, and validate-study now cross-checks a study's declared BioProject against the sheet it was generated from.

Curation judgements, each with a test

This is not registered as resilience evidence, and that contradicts what I said when proposing it. I described this study as one whose "contrast is a resilience phenotype, not an exposure," on the strength of the BioProject title ("Evaluating Pacific oyster lineages for tolerance to Ostreid herpesvirus"). Curating it showed otherwise: there is no survival, mortality, or viral-load measurement for these animals in the deposited metadata or the abstract, and the paper frames its results as groundwork for future tolerance breeding. Registered as disease_susceptibility, flagged ambiguous_phenotype_definition.

The correction is written onto the backlog page rather than quietly edited out, because the lesson generalizes: judge on whether a phenotype was measured, not on how the title is worded.

Also:

  • Exposure dose, route, duration, and timing are null, not guessed — absent from deposited metadata, paper not open access. A test asserts they stay null. Effect sizes are not dose-comparable to another pathogen-challenge study until someone reads the methods.
  • The three viral isolates stay separate comparisons. The authors report no marked difference between the USA and Australian responses; merging arms on that basis is a meta-analysis decision with heterogeneity reported, not a curation shortcut.
  • Reanalysis targets GCF_963853765.1 / RS_2024_06, the annotation the crosswalk is built from, so unlike HESSER2024_VCOR this study carries no assembly crossing.
  • Deposited records spell the second population Myagi; the paper spells it Miyagi. Deposited spelling preserved verbatim, discrepancy recorded.

An error caught before commit

An early draft of the study YAML carried sra: SRP617521. I wrote that from assumption rather than looking it up, and it is wrong. The verified value from the ENA run report is SRP620802. Flagging it here because a well-formed but fabricated accession is the kind of thing that survives review.

Verification

Lint clean · 146 tests (was 132) · all studies validate · demo pipeline green · real-study path green. Confirmed that CALLA2026_OSHV produces 0 evidence records, as it should until the reanalysis runs.

Honest state after this

The RNA-seq Nextflow workflow is still a scaffold that has never run against real FASTQ. This PR does not change that — it queues a real, fully specified job, and the first attempt should be expected to surface bugs in the workflow. Random-effects pooling on real data remains unexercised. All of that is stated in docs/first_raw_reanalysis.md and the status table.

🤖 Generated with Claude Code

sr320 and others added 2 commits August 28, 2026 12:57
Ten candidate studies, verified against NCBI BioProject and the ENA read-run
API rather than recalled: accessions, run counts, and group structures come
from deposited metadata.

Corrects the selection criterion I had been using. "Does the source publish
full statistics" is the wrong primary filter — a significance-filtered table
carrying only adjusted p-values is the normal format in this literature, not
bad luck, so screening on it mostly reproduces the HESSER2024_VCOR dead end.
The reliable route to poolable evidence is raw reads in SRA, because AREE's own
DESeq2 run then produces lfcSE by construction regardless of what the authors
published.

Records one rejected candidate in detail. PRJNA623063 looked like the ideal
second study from its title — C. gigas larvae, Vibrio challenge, same phenotype
as the study already registered — but all 12 runs share one sample_alias across
12 timepoints. It is an unreplicated time course with no valid DE contrast, and
that is invisible from the abstract.

Also notes that hypoxia has no usable public dataset despite being in the
phenotype ontology, and that GEO holds only 10 oyster expression series so a
GEO-only search will miss the corpus.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ed metadata

Second real study in AREE and the first in raw_reanalysis mode: PRJNA1329250,
42 paired-end NovaSeq libraries of Pacific oyster spat from two hatchery
populations challenged with three OsHV-1 microvariant isolates. Published as
Calla, Thompson & Burge 2026, Fish & Shellfish Immunology 171:111154.

Registered, NOT harmonized. The design, sample sheet, FASTQ manifest, run
config, and reference context are complete and verified; the pipeline run that
would produce result tables has not been executed (226 GB of reads). The study
contributes zero evidence records, and analysis_status says not_started.

Why raw data. HESSER2024_VCOR showed that harmonizing a published table leaves
a study unpoolable when the source reports no standard error, which is the
normal format for supplementary DE tables. Reanalyzing raw reads makes AREE's
own DESeq2 emit lfcSE by construction, so poolability stops depending on what
the authors chose to publish.

Adds `aree fetch-samplesheet`, which reads ENA's run report and BioSample
attribute blocks and emits a design sheet, a FASTQ manifest carrying ENA's own
MD5 per file, and checksummed provenance. The design here was derived that way
rather than transcribed from the paper, which is paywalled. Reading the archive
instead of the methods section is what catches an unreplicated design before
anyone downloads hundreds of gigabytes — the failure mode already documented
for PRJNA623063. The command warns when the smallest group has n<3, and
`validate-study` now cross-checks a study's declared BioProject against the one
its sample sheet came from.

Curation judgements, all of which are tested:

* Not registered as resilience evidence. The BioProject is titled "Evaluating
  Pacific oyster lineages for tolerance to Ostreid herpesvirus", but no
  survival, mortality, or viral-load measurement exists for these animals in
  the deposited metadata or the abstract, and the paper frames its results as
  groundwork for future tolerance breeding. Registered as
  disease_susceptibility, flagged ambiguous_phenotype_definition. This also
  corrects docs/candidate_studies.md, which had promised a resilience phenotype
  on the strength of that title; the correction is recorded on the page rather
  than quietly edited out.
* Exposure dose, route, duration, and timing are absent from the deposited
  metadata and the paper is not open access, so they are null, not guessed, and
  a test asserts they stay null. Effect sizes are not dose-comparable until
  someone reads the methods.
* The three viral isolates stay separate comparisons. The authors report no
  marked difference between the USA and Australian responses; merging arms on
  that basis is a meta-analysis decision with heterogeneity reported, not a
  curation shortcut.
* Reanalysis targets GCF_963853765.1 / RS_2024_06, the annotation the crosswalk
  is built from, so this study carries no assembly crossing.

One accession in an early draft of the study YAML (sra: SRP617521) was wrong —
written from assumption rather than looked up. The verified value is SRP620802,
from the ENA run report.

Tests: 132 -> 146.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@sr320
sr320 merged commit 05d06e7 into main Aug 28, 2026
4 checks passed
@sr320
sr320 deleted the curate-oshv-tolerance-lineages branch August 28, 2026 20:09
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