Skip to content

Visualizations and analysis - #8

Open
Houinni wants to merge 8 commits into
mainfrom
visualizations-and-analysis
Open

Visualizations and analysis#8
Houinni wants to merge 8 commits into
mainfrom
visualizations-and-analysis

Conversation

@Houinni

@Houinni Houinni commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds TCGA-OV clinical/follow-up.csv and regenerated mRNA subtype clinical tables.
  • Adds k=5 miRNA NMF outputs, marker heatmaps, bootstrap-Jaccard stability results, concordance analysis, and survival visualizations.
  • Reorganizes miRNA outputs so data lives under data/mirna_data/, miRNA plots under miRNA_clusters/mirna_plots/, and mRNA KM plots under mRNA_clusters/mrna_plots/.
  • Updates miRNA survival analysis so the KM curve uses a survival-only cohort while Cox models keep complete clinical covariates.

Validation

  • Ran the k=5 bootstrap-Jaccard stability script with 100 resamples.
  • Regenerated miRNA KM curve with df_km: 412 cases, 254 events.
  • Checked R script parsing for new scripts.
  • Verified duplicate files were removed after folder cleanup.

Notes

  • data/tcga-ov-metadata/ is ignored locally to avoid committing the large metadata JSON.

Houinni added 8 commits July 8, 2026 15:12
Vendor the GDC clinical.cart.2025-04-08 clinical.tsv and follow_up.tsv
used by the mRNA subtype/clinical harmonization step. follow_up.tsv
provides the per-visit days_to_follow_up needed to recover last-contact
times for living patients.
Last-contact time was read only from diagnoses.days_to_last_follow_up,
a field GDC rarely populates, so every living patient had NA follow-up
time and thus no censoring time for survival analysis. Read
follow_up.tsv, take the latest days_to_follow_up per case, and combine
it with the diagnosis-level field via a row-wise max.
Re-run of combine-subtypes.R after the follow-up fix. The sample- and
case-level clinical tables now carry days_to_last_follow_up for living
patients (163/164). Also refreshes the low-QC list, duplicate-case
tables, and subtype confusion matrices/long tables.
Drive the final-fit rank and every output filename off a single nmf_k
variable so k=4, k=5, etc. are each reproducible without overwriting one
another (outputs suffixed _k<k>).
Final NMF fit at k=5 (seed 123, brunet, nrun=50): per-sample cluster
assignments (sizes 29/84/219/64/100), the fitted model, consensus and
per-cluster count diagnostic plots, and a k=5 harmonized labels table.
The labels table reuses the existing sample->case mapping with the k5
cluster swapped in, since the file->case link is independent of k.
Kaplan-Meier overall-survival curves plus a log-rank summary for each
mRNA subtyping method (consensusOV, Konecny, Helland, Verhaak, Bentink),
derived from the sample-level subtype/clinical table.
Keep miRNA data outputs under data/mirna_data, miRNA plots under miRNA_clusters/mirna_plots, and mRNA survival plots under mRNA_clusters/mrna_plots. Add the k5 marker, stability, concordance, and survival artifacts, and remove older duplicate root-level miRNA notebooks, data, and plot copies.
Split the miRNA survival analysis into a KM cohort requiring only time, event, and cluster, while keeping the complete-case clinical covariate filter for Cox models.
@Houinni
Houinni requested a review from rando2 July 9, 2026 20:59
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