Skip to contents

Introduction

The ihcstats function in ClinicoPath provides comprehensive immunohistochemical (IHC) expression analysis implementing methodologies from landmark research papers:

  1. Matsuoka et al. (2011) - Ward’s hierarchical clustering for colorectal cancer prognosis
  2. Carvalho et al. (2011) - Iterative marker selection for renal oncocytoma diagnosis
  3. Olsen et al. (2006) - Differential diagnosis clustering for sarcomas
  4. Sterlacci et al. (2019) - TIL signature analysis for NSCLC

Setup

library(ClinicoPath)
library(dplyr)
library(ggplot2)
library(knitr)

# Load available dataset
data("ihc_test_data")

# Check available variables
cat("Available variables in ihc_test_data:\n")
#> Available variables in ihc_test_data:
print(names(ihc_test_data))
#> [1] "SampleID" "ER"       "PR"       "HER2"     "Ki67"     "p53"      "CD3"     
#> [8] "CD20"     "CD45"

Core Functionality Overview

Clustering Methods Available

cat("IHC Clustering Methods:\n")
#> IHC Clustering Methods:
cat("1. Hierarchical clustering with multiple distance metrics\n")
#> 1. Hierarchical clustering with multiple distance metrics
cat("2. PAM (Partitioning Around Medoids) clustering\n")
#> 2. PAM (Partitioning Around Medoids) clustering
cat("3. K-means clustering\n")
#> 3. K-means clustering
cat("4. Fuzzy clustering\n\n")
#> 4. Fuzzy clustering

cat("Distance Metrics:\n")
#> Distance Metrics:
cat("- Gower: Mixed data types (categorical + continuous)\n")
#> - Gower: Mixed data types (categorical + continuous)
cat("- Jaccard: Binary/categorical data\n")
#> - Jaccard: Binary/categorical data
cat("- Euclidean: Continuous data\n")
#> - Euclidean: Continuous data
cat("- Manhattan: Robust to outliers\n\n")
#> - Manhattan: Robust to outliers

Methodology Implementation

Matsuoka 2011 Methodology

cat("Matsuoka 2011 Features:\n")
#> Matsuoka 2011 Features:
cat("- Ward's hierarchical clustering (ward.D2)\n")
#> - Ward's hierarchical clustering (ward.D2)
cat("- 3-tier scoring system (0, 1, 2)\n")
#> - 3-tier scoring system (0, 1, 2)
cat("- Prognostic clustering with survival analysis\n")
#> - Prognostic clustering with survival analysis
cat("- Multi-region tumor analysis (central vs invasive)\n")
#> - Multi-region tumor analysis (central vs invasive)
cat("- Cox regression for prognostic groups\n\n")
#> - Cox regression for prognostic groups

cat("Target: Colorectal cancer prognosis\n")
#> Target: Colorectal cancer prognosis
cat("Key markers: p53, Ki67, VEGF, COX2\n")
#> Key markers: p53, Ki67, VEGF, COX2

Carvalho 2011 Methodology

cat("Carvalho 2011 Features:\n")
#> Carvalho 2011 Features:
cat("- Iterative marker selection algorithm\n")
#> - Iterative marker selection algorithm
cat("- Binary scoring system for specific markers\n")
#> - Binary scoring system for specific markers
cat("- Renal tumor differential diagnosis\n")
#> - Renal tumor differential diagnosis
cat("- Automatic marker importance ranking\n")
#> - Automatic marker importance ranking
cat("- Diagnostic accuracy optimization\n\n")
#> - Diagnostic accuracy optimization

cat("Target: Renal oncocytoma vs chromophobe RCC\n")
#> Target: Renal oncocytoma vs chromophobe RCC
cat("Key markers: CK7, CD117, E-cadherin, Claudin-7\n")
#> Key markers: CK7, CD117, E-cadherin, Claudin-7

Olsen 2006 Methodology

cat("Olsen 2006 Features:\n")
#> Olsen 2006 Features:
cat("- Hierarchical clustering for sarcoma classification\n")
#> - Hierarchical clustering for sarcoma classification
cat("- Standard IHC scoring scale integration\n")
#> - Standard IHC scoring scale integration
cat("- Differential diagnosis clustering\n")
#> - Differential diagnosis clustering
cat("- Subtype-specific marker panels\n")
#> - Subtype-specific marker panels
cat("- Morphology correlation analysis\n\n")
#> - Morphology correlation analysis

cat("Target: Sarcoma differential diagnosis\n")
#> Target: Sarcoma differential diagnosis
cat("Key markers: Vimentin, SMA, Desmin, S100, CD34\n")
#> Key markers: Vimentin, SMA, Desmin, S100, CD34

Sterlacci 2019 Methodology

cat("Sterlacci 2019 Features:\n")
#> Sterlacci 2019 Features:
cat("- TIL (Tumor-Infiltrating Lymphocytes) signature analysis\n")
#> - TIL (Tumor-Infiltrating Lymphocytes) signature analysis
cat("- CD3, CD8, CD20, PD-L1 integration\n")
#> - CD3, CD8, CD20, PD-L1 integration
cat("- Immune microenvironment clustering\n")
#> - Immune microenvironment clustering
cat("- NSCLC histotype correlation\n")
#> - NSCLC histotype correlation
cat("- Prognostic immune signatures\n\n")
#> - Prognostic immune signatures

cat("Target: NSCLC immune microenvironment\n")
#> Target: NSCLC immune microenvironment
cat("Key markers: CD3, CD8, CD20, PD-L1, FOXP3\n")
#> Key markers: CD3, CD8, CD20, PD-L1, FOXP3

Advanced Features

H-Score Calculation

cat("H-Score Calculation:\n")
#> H-Score Calculation:
cat("- Automated H-Score computation from IHC data\n")
#> - Automated H-Score computation from IHC data
cat("- Integration with clustering results\n")
#> - Integration with clustering results
cat("- Intensity and percentage scoring\n")
#> - Intensity and percentage scoring
cat("- Quality control and validation metrics\n\n")
#> - Quality control and validation metrics

Prognostic Analysis

cat("Prognostic Analysis Features:\n")
#> Prognostic Analysis Features:
cat("- Survival time and event integration\n")
#> - Survival time and event integration
cat("- Cox proportional hazards modeling\n")
#> - Cox proportional hazards modeling
cat("- Kaplan-Meier survival curves\n")
#> - Kaplan-Meier survival curves
cat("- Log-rank test for cluster comparison\n")
#> - Log-rank test for cluster comparison
cat("- Hazard ratio calculation with confidence intervals\n\n")
#> - Hazard ratio calculation with confidence intervals

Visualization Options

cat("Visualization Components:\n")
#> Visualization Components:
cat("- Hierarchical clustering dendrograms\n")
#> - Hierarchical clustering dendrograms
cat("- IHC expression heatmaps\n")
#> - IHC expression heatmaps
cat("- Cluster assignment plots\n")
#> - Cluster assignment plots
cat("- Survival curves by cluster\n")
#> - Survival curves by cluster
cat("- Marker importance rankings\n")
#> - Marker importance rankings
cat("- Correlation matrices\n\n")
#> - Correlation matrices

Clinical Applications

Diagnostic Workflows

cat("Diagnostic Applications:\n")
#> Diagnostic Applications:
cat("1. Sarcoma subtype classification\n")
#> 1. Sarcoma subtype classification
cat("2. Renal tumor differential diagnosis\n")
#> 2. Renal tumor differential diagnosis
cat("3. Colorectal cancer prognostic grouping\n")
#> 3. Colorectal cancer prognostic grouping
cat("4. NSCLC immune profiling\n")
#> 4. NSCLC immune profiling
cat("5. Custom marker panel optimization\n\n")
#> 5. Custom marker panel optimization

Research Applications

cat("Research Applications:\n")
#> Research Applications:
cat("1. Biomarker discovery and validation\n")
#> 1. Biomarker discovery and validation
cat("2. Tumor heterogeneity analysis\n")
#> 2. Tumor heterogeneity analysis
cat("3. Immune microenvironment characterization\n")
#> 3. Immune microenvironment characterization
cat("4. Multi-region tumor analysis\n")
#> 4. Multi-region tumor analysis
cat("5. Prognostic signature development\n\n")
#> 5. Prognostic signature development

Data Requirements

Input Data Format

cat("Required Data Structure:\n")
#> Required Data Structure:
cat("- Patient/case identifier column\n")
#> - Patient/case identifier column
cat("- IHC marker expression variables\n")
#> - IHC marker expression variables
cat("- Optional: Survival time and event variables\n")
#> - Optional: Survival time and event variables
cat("- Optional: Clinical and pathological variables\n")
#> - Optional: Clinical and pathological variables
cat("- Optional: Multi-region scoring variables\n\n")
#> - Optional: Multi-region scoring variables

cat("Scoring Systems Supported:\n")
#> Scoring Systems Supported:
cat("- Binary (0/1, negative/positive)\n")
#> - Binary (0/1, negative/positive)
cat("- 3-tier (0/1/2, negative/weak/strong)\n")
#> - 3-tier (0/1/2, negative/weak/strong)
cat("- 4-tier (0/1/2/3)\n")
#> - 4-tier (0/1/2/3)
cat("- H-Score (0-300)\n")
#> - H-Score (0-300)
cat("- Percentage (0-100)\n")
#> - Percentage (0-100)

Implementation in jamovi

All IHC analysis functions are available in jamovi:

  1. IHC Stats: Exploration > Specialized Analyses > IHC Statistical Analysis
  2. Data Input: Direct import of IHC scoring spreadsheets
  3. Interactive Parameters: Point-and-click parameter selection
  4. Visual Output: Integrated plots and tables in jamovi results

Best Practices

Data Preparation

  1. Standardize Scoring: Use consistent scoring systems across observers
  2. Quality Control: Implement inter-observer agreement assessment
  3. Missing Data: Handle missing scores appropriately
  4. Validation: Cross-validate results with independent datasets

Analysis Strategy

  1. Method Selection: Choose methodology based on clinical question
  2. Parameter Optimization: Test different clustering parameters
  3. Validation: Validate clusters with clinical outcomes
  4. Interpretation: Consider biological plausibility of results

Reporting Guidelines

  1. Methodology: Report complete analysis methodology
  2. Parameters: Document all analysis parameters used
  3. Validation: Include validation metrics and statistics
  4. Clinical Relevance: Discuss clinical implications of findings

Further Resources

  • Individual Function Vignettes: For detailed parameter usage
  • Clinical Workflow Guide: For integrated analysis pipelines
  • Getting Started Guide: For basic ClinicoPath functionality
  • Visualization Gallery: For advanced plot customization

Conclusion

The ihcstats function provides a comprehensive platform for IHC analysis implementing proven methodologies from the literature. The integration with jamovi makes these advanced techniques accessible to clinical researchers and pathologists without programming experience.

For specific use cases and detailed examples, consult the individual function vignettes and clinical workflow guides.