Proteomics analysis and missing-value sensitivity

Practical 18: Genomics, systems biology and multi-omics

Learning objectives

Inspect protein missingness; calculate a log2 abundance contrast with stated denominators; compare complete observations with an unjustified imputation.

Biological question and data

How does treating a missing protein measurement as zero change a group comparison?

The supplied values are fictional log2 protein abundances, not raw peptide spectra. Missingness was inserted into the fixture. The contrast is descriptive and does not implement peptide identification, protein inference or a calibrated differential-abundance pipeline.

No biological download is required. Numerical inputs are hypothetical, not observed animal data. The runnable examples use base R. Count and abundance units are specified where used.

1. Count observed measurements

Calculate group-specific observation counts before group means.

Show R code
helper_dir <- if (dir.exists("R")) "R" else "../R"
stopifnot(file.exists(file.path(helper_dir,"teaching_data.R")))
source(file.path(helper_dir,"teaching_data.R"))
d <- teaching_data()
P <- d$protein_missing; diet <- d$metadata$diet
y <- P[1,]
observed <- tapply(!is.na(y),diet,sum)
means <- tapply(y,diet,mean,na.rm=TRUE)
data.frame(group=names(means),observed=as.vector(observed),mean_log2=as.vector(means))
       group observed mean_log2
1    control       23  7.042704
2 supplement       22  7.036245
Show R code
stopifnot(sum(observed)==45)

The first protein has three missing values. Reporting group means without observation counts hides the change in comparison population.

2. Translate the contrast correctly

The difference in log2 means corresponds to a ratio of geometric means on the original scale.

Show R code
delta <- unname(means["supplement"]-means["control"])
c(log2_difference=delta,geometric_mean_ratio=2^delta)
     log2_difference geometric_mean_ratio 
         -0.00645844           0.99553336 
Show R code
original <- 2^y
geo <- tapply(original,diet,function(z) exp(mean(log(z),na.rm=TRUE)))
stopifnot(abs(geo["supplement"]/geo["control"]-2^delta)<1e-10)

This is not the ratio of arithmetic mean abundance. The calculation concerns the observed values only.

3. Demonstrate an unjustified replacement

Replace NA by zero solely to expose the consequence, then compare the group differences.

Show R code
bad <- y;bad[is.na(bad)] <- 0
bad_means <- tapply(bad,diet,mean)
c(observed_value_difference=delta,
 zero_imputed_difference=unname(bad_means["supplement"]-bad_means["control"]))
observed_value_difference   zero_imputed_difference 
              -0.00645844               -0.29936623 
Show R code
boxplot(y~diet,xlab="Diet",ylab="Observed log2 abundance",col="#E5A66B")

Zero on the log2 scale means original-scale abundance one. It does not represent a valid generic non-observation rule.

4. Model abundance-dependent observation

Use a hypothetical censoring mechanism to see why the mean of observed values can differ from the full-population mean.

Show R code
set.seed(1803)
complete_values <- rnorm(500,8,1)
detected <- complete_values;detected[detected<7.5] <- NA
c(full_mean=mean(complete_values),detected_mean=mean(detected,na.rm=TRUE),
 observation_rate=mean(!is.na(detected)))
       full_mean    detected_mean observation_rate 
        8.038074         8.523285         0.702000 

5. Explain the protein-level claim

In an actual assay, missingness can also reflect interference, preparation or identification failure. This construction demonstrates one mechanism and does not justify applying a censoring model to all missing values.

For a protein comparison, report the observation count in each group, abundance scale, peptide-to-protein assignment and missingness policy. A protein group supported by shared peptides does not provide independent evidence for every member. Identification uncertainty and differential-abundance uncertainty are separate.

Interpretation challenge

Why can both complete-case means and low-value imputation be misleading?

The observed subset can be selected by abundance, while imputation can manufacture group differences and understate uncertainty. Use assay evidence, a justified missingness model and sensitivity analysis.

Interpretation and limits

Different missing mechanisms require different strategies and sensitivity analyses. Selected complete observations may be biased if detection depends on abundance. Batch adjustment, identification uncertainty, multiple testing and validation are needed for real protein analyses.

Exercises

  1. Why does replacing NA by zero change the contrast?
  2. What if one group has no observed values?
  3. Does a geometric-mean ratio imply a causal diet effect?
  1. It introduces low observed values where the assay supplied none, potentially unequally across groups.
  2. The observed comparison is not estimable; report this instead of inventing a mean.
  3. No; design, confounding, model uncertainty and sampling determine causal interpretation.

Continue learning

B08 Proteomics and B02 Design.

Continue with multi-omics QC and integration. Return to the practical index or the unified map.