Skip to content

Add standalone prediction ensemble reporting - #25

Merged
CedricHermansBIT merged 5 commits into
mainfrom
feature/prediction-ensemble-reporting
Oct 6, 2026
Merged

CedricHermansBIT merged 5 commits into
mainfrom
feature/prediction-ensemble-reporting

Conversation

@CedricHermansBIT

Copy link
Copy Markdown
Member

Follow-up to merged PR #23.

Adds a self-contained HTML research report for prediction ensembles:

  • ensemble overview metrics;
  • explicit interpretation warning that model spread is prediction uncertainty/heterogeneity, not experimental dynamics;
  • model-level provenance including source, input role, selected structure-model index and coordinate hashes;
  • duplicate display labels are handled positionally rather than joined by name;
  • the 25 largest local backbone-variability positions ranked by max circular SD(phi, psi);
  • full residue-level phi/psi, Rama8000 and pLDDT ensemble statistics;
  • analysis provenance and reference settings;
  • direct download from the Summary ensemble workflow.

Includes report-generation regression coverage and documentation.

This replaces the automatically closed stacked PR #24 after #23 was merged.

@CedricHermansBIT
CedricHermansBIT marked this pull request as ready for review October 6, 2026 18:37
Copilot AI balanced review requested due to automatic review settings October 6, 2026 18:37
@CedricHermansBIT
CedricHermansBIT merged commit 9bfa1ee into main Oct 6, 2026
9 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The report omits and truncates statistics despite promising a complete standalone research record.

Review effort: Balanced
Findings: 3 Medium severity · 1 Low severity

Open (4)
What changed in this PR

Adds downloadable standalone HTML reporting for prediction ensembles.

Changes:

  • Adds ensemble metrics, provenance, variability rankings, and residue statistics.
  • Integrates report download into the Summary workflow.
  • Adds regression coverage and documentation.
File Description
shinyRam/​R/​reports.R Generates the standalone ensemble report.
shinyRam/​app.R Adds the report download handler and button.
tests/​reports.R Tests report generation and content.
docs/​prediction-ensembles.md Documents the HTML report.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread shinyRam/R/reports.R
Comment on lines +216 to +219
if(!is.numeric(max_report_rows) || length(max_report_rows)!=1L ||
!is.finite(max_report_rows) || max_report_rows<1L)
stop("max_report_rows must be a positive finite number.")
max_report_rows <- as.integer(max_report_rows)
Comment thread shinyRam/R/reports.R
"psi_mean","psi_sd","rama8000_models","rama8000_mode",
"rama8000_consistency","rama8000_changes","plddt_models","plddt_mean",
"plddt_sd","plddt_min","plddt_max"),names(residues))
shown <- utils::head(residues[,all_fields,drop=FALSE],max_report_rows)
Comment thread shinyRam/R/reports.R
Comment on lines +261 to +269
all_fields <- intersect(c("chain","resi","insertion_code","resn",
"models_present","phi_models","psi_models","phi_mean","phi_sd",
"psi_mean","psi_sd","rama8000_models","rama8000_mode",
"rama8000_consistency","rama8000_changes","plddt_models","plddt_mean",
"plddt_sd","plddt_min","plddt_max"),names(residues))
shown <- utils::head(residues[,all_fields,drop=FALSE],max_report_rows)
numeric_fields <- c("phi_mean","phi_sd","psi_mean","psi_sd",
"rama8000_consistency","plddt_mean","plddt_sd","plddt_min","plddt_max",
"max_angular_sd")
Comment thread tests/reports.R
Comment on lines +73 to +74
grepl("aaa",ensemble_contents,fixed=TRUE),
grepl("bbb",ensemble_contents,fixed=TRUE),
@CedricHermansBIT
CedricHermansBIT deleted the feature/prediction-ensemble-reporting branch October 9, 2026 13:53
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.

2 participants