Skip to contents

Predicts diagnoses for cases with unknown diagnoses based on IHC marker expression patterns, using a trained reference model.

Predicts diagnoses for cases with unknown diagnoses based on IHC marker expression patterns, using a trained reference model from previously analyzed cases with known diagnoses.

Usage

ihcpredict(
  data,
  useStoredModel = "stored",
  trainingFile = "",
  trainingDiagnosis = "Diagnosis",
  catVars = NULL,
  contVars = NULL,
  caseId = NULL,
  predictionMethod = "hybrid",
  confidenceThreshold = 0.5,
  highConfidenceThreshold = 0.75,
  lowConfidenceThreshold = 0.25,
  panelWeight = 0.5,
  distanceWeight = 0.3,
  silhouetteWeight = 0.2,
  showAlternatives = TRUE,
  nAlternatives = 3,
  showEvidence = TRUE,
  flagLowConfidence = TRUE,
  showMarkerComparison = TRUE,
  validateMarkers = TRUE,
  requireAllMarkers = TRUE,
  scaleContVars = TRUE,
  handleMissing = "pairwise",
  exportPredictions = FALSE,
  predictionVarName = "Predicted_Diagnosis",
  confidenceVarName = "Prediction_Confidence",
  showPredictionPlot = TRUE,
  showConfidencePlot = TRUE,
  colorPalette = "colorblind",
  fontSize = "medium",
  plotContrast = FALSE
)

ihcpredict(
  data,
  useStoredModel = "stored",
  trainingFile = "",
  trainingDiagnosis = "Diagnosis",
  catVars = NULL,
  contVars = NULL,
  caseId = NULL,
  predictionMethod = "hybrid",
  confidenceThreshold = 0.5,
  highConfidenceThreshold = 0.75,
  lowConfidenceThreshold = 0.25,
  panelWeight = 0.5,
  distanceWeight = 0.3,
  silhouetteWeight = 0.2,
  showAlternatives = TRUE,
  nAlternatives = 3,
  showEvidence = TRUE,
  flagLowConfidence = TRUE,
  showMarkerComparison = TRUE,
  validateMarkers = TRUE,
  requireAllMarkers = TRUE,
  scaleContVars = TRUE,
  handleMissing = "pairwise",
  exportPredictions = FALSE,
  predictionVarName = "Predicted_Diagnosis",
  confidenceVarName = "Prediction_Confidence",
  showPredictionPlot = TRUE,
  showConfidencePlot = TRUE,
  colorPalette = "colorblind",
  fontSize = "medium",
  plotContrast = FALSE
)

Arguments

data

The query data as a data frame (cases with unknown diagnoses).

useStoredModel

Source of the trained reference model

trainingFile

Path to CSV file with training cases (must include Diagnosis column)

trainingDiagnosis

Name of the diagnosis variable in training dataset

catVars

Binary (pos/neg) or ordinal (0/1/2/3) stain results - must match training markers

contVars

H-scores (0-300), \ training markers

caseId

Case identifier for tracking predictions

predictionMethod

Algorithm for predicting diagnoses

confidenceThreshold

Minimum confidence score to accept prediction (0-1)

highConfidenceThreshold

Threshold for "High Confidence" classification

lowConfidenceThreshold

Threshold below which cases are flagged as very low confidence

panelWeight

Weight for rule-based panel matches (hybrid method only)

distanceWeight

Weight for distance to centroid (hybrid method only)

silhouetteWeight

Weight for silhouette score (hybrid method only)

showAlternatives

Display differential diagnosis with top 3 alternatives

nAlternatives

Number of alternative diagnoses to report

showEvidence

Display detailed evidence supporting each prediction

flagLowConfidence

Create separate table for cases requiring review

showMarkerComparison

Compare query case markers to cluster centroids

validateMarkers

Check that query markers match training markers

requireAllMarkers

Error if any training markers are missing from query data

scaleContVars

Z-score continuous markers using training set parameters

handleMissing

How to handle missing marker values in query data

exportPredictions

Save predicted diagnoses and confidence scores to dataset

predictionVarName

Name for exported prediction variable

confidenceVarName

Name for exported confidence score variable

showPredictionPlot

Display PCA/MCA plot with query cases and training clusters

showConfidencePlot

Display histogram of prediction confidence scores

colorPalette

Color palette for plots

fontSize

Base font size for all text elements

plotContrast

Enable high contrast mode for better visibility

Value

A results object containing prediction tables and plots

A results object containing:

results$instructionsa html
results$modelSummarya html
results$validationResultsa table
results$predictionsa table
results$alternativeDiagnosesa table
results$predictionEvidencea table
results$lowConfidenceCasesa table
results$markerComparisona table
results$predictionSummarya table
results$confidenceByDiagnosisa table
results$predictionPlotan image
results$confidencePlotan image
results$markerHeatmapan image
results$clinicalGuidancea html
results$technicalDetailsa html
results$exportSummarya preformatted

Tables can be converted to data frames with asDF or as.data.frame. For example:

results$validationResults$asDF

as.data.frame(results$validationResults)

Details

Requirements:

  • Training dataset analyzed with ihccluster (with known diagnoses)

  • Query dataset with same IHC markers (unknown diagnoses to predict)

  • Marker names and data types must match between datasets

Output:

  • Predicted diagnosis per case with confidence level

  • Alternative diagnoses (differential)

  • Evidence supporting each prediction

  • Flags for atypical/low-confidence cases