# RubberDandelionOmics public expression matrices — reviewer package

Release: TK1151_UNIFORM_V4_20261003. Reviewer package: v1, 2026-10-12.
Reference: TK1151 / GWHBCHF00000000. Fixed model: 98,473 reconstructed loci,
257,009 fixed transcripts; 109 public RNA-seq runs from 12 projects.

## Download and verify

Unpack TK1151_uniform_v4_reviewer_package.zip into an empty directory.
Run `python verify_matrices.py --directory .` with Python 3.
Only the Python standard library is required. Keep reviewer_manifest.json with
the three matrix files. The verifier accepts .tsv or .tsv.gz files and checks
the SHA-256 of every uncompressed byte, all rows, all numeric cells, common
gene/sample order, and TPM column totals. SHA256SUMS additionally fingerprints
each distributed resource as stored.

The plain complete matrices are also independently downloadable at:
http://www.rubberdandelionomics.com/rubber/tk1151-assembly/merged/coverage
http://www.rubberdandelionomics.com/rubber/tk1151-assembly/merged/fpkm
http://www.rubberdandelionomics.com/rubber/tk1151-assembly/merged/tpm

Each matrix contains 98,473 data rows and 109 sample columns. Each row starts
with uniform_gene_id. TKU identifiers describe fixed reconstruction loci;
they are not equivalent to every annotated protein-coding reference gene.
Use gene_identity_map.tsv and reference_mapping_review.tsv for coordinates
and reference relations. Ambiguous relations must not be collapsed blindly.

## Units and matrix definitions

Coverage, FPKM and TPM are separate StringTie-derived metrics. Gene FPKM and
TPM are deterministic sums of all fixed-transcript output values, using
math.fsum and the original release's .10g formatting. Coverage retains the
StringTie -A gene Coverage value. Only a validated zeroed, unknown-strand,
single-transcript, single-exon case is repaired using that transcript's cov;
nonzero values and multi-isoform Coverage values are preserved. Coverage is
not reconstructed by generally summing transcript coverages. See
rebuild_matrices.py and computational_acceptance.json.

These matrices contain no new raw-read counts or CPM. They must not be used
as DESeq2/edgeR count input. Studies have different experimental designs;
consult the original study metadata before differential or pooled analysis.

## Samples and public sources

sample_metadata.tsv lists the recorded tissue, treatment, time, genotype and
replicate values. Missing/unverified source metadata are not inferred.
sample_order.tsv specifies the exact matrix column order; sample_metadata.tsv
may have a different row order. raw_data_sources.tsv gives public run and
project accessions and repository landing links. Dataset groups can overlap
in biological treatment; the 109 columns count runs, not independent
biological replicates. No new license for third-party raw reads is asserted;
respect the originating repositories' and datasets' terms.

## Reconstruct the matrices from StringTie outputs

The exact frozen model is included as TK1151_uniform_20260930.gtf.gz; its
uncompressed SHA-256 is recorded in reviewer_manifest.json. Download/read the
public raw runs using raw_data_sources.tsv, and use the same TK1151 genome
and fixed-model identifiers. The retained pipeline used:

Paired reads:
hisat2 -p 2 --mm --dta -x TK1151_INDEX -1 RUN_1.fastq.gz -2 RUN_2.fastq.gz | samtools sort -@ 1 -m 512M -o RUN.sorted.bam -

Single reads:
hisat2 -p 2 --mm --dta -x TK1151_INDEX -U RUN.fastq.gz | samtools sort -@ 1 -m 512M -o RUN.sorted.bam -

samtools quickcheck RUN.sorted.bam
stringtie RUN.sorted.bam -p 2 -e -G TK1151_uniform_20260930.gtf -o gtf/RUN.gtf -A abundance/RUN.gene_abundance.tsv

StringTie 3.0.3 is identified in the retained quantification implementation.
Do not infer library strandedness: the retained commands use HISAT2 defaults.
Historical HISAT2/samtools version provenance and exact reference-index build
records have not been independently revalidated for this reviewer package.

Prepare gtf/ and abundance/ containing outputs for each run in sample_order.tsv.
Then run:
python rebuild_matrices.py --inputs OUTPUT_ROOT --model TK1151_uniform_20260930.gtf.gz --gene-map gene_identity_map.tsv --sample-order sample_order.tsv --output-dir rebuilt_matrices

The script is adapted from the accepted release's matrix_correction_v4.py,
with only local path/state handling made portable. It never changes original
per-run outputs. source_output_fingerprints.tsv allows comparison with the
retained output hashes. A raw-read end-to-end rerun was not performed for this
package: matching the archived per-run outputs and original software/reference
environment is required before claiming byte-identical raw-read reproduction.
The portable aggregation was checked against one real retained run and all
published matrix bytes/cells were independently rechecked for download.

## Persistent reference

This package uses the website URL and explicit release/checksum identifiers.
It is not a DOI or a newly assigned public-repository accession. No permanent
repository deposit or journal-wide submission readiness is claimed here.
