# Example 1: Processing HI titer data (similarities)
antigen_data <- data.frame(
virus = c("A/H1N1/2009", "A/H1N1/2010", "A/H1N1/2011", "A/H1N1/2009", "A/H1N1/2010"),
serum = c("anti-2009", "anti-2009", "anti-2009", "anti-2010", "anti-2010"),
titer = c(1280, 640, "<40", 2560, 1280), # Some below detection limit
cluster = c("A", "A", "B", "A", "A"),
color = c("red", "red", "blue", "red", "red")
)
# Process HI titer data (similarities -> distances)
results <- process_antigenic_data(
data = antigen_data,
antigen_col = "virus",
serum_col = "serum",
value_col = "titer",
is_similarity = TRUE, # Titers are similarities
metadata_cols = c("cluster", "color"),
scale_factor = 10 # Base dilution factor
)
# View the long format data
print(results$long)
# View the distance matrix
print(results$matrix)
# Example 2: Processing IC50 data (already dissimilarities)
ic50_data <- data.frame(
virus = c("HIV-1", "HIV-2", "HIV-3"),
antibody = c("mAb1", "mAb1", "mAb2"),
ic50 = c(0.05, ">10", 0.2)
)
results_ic50 <- process_antigenic_data(
data = ic50_data,
antigen_col = "virus",
serum_col = "antibody",
value_col = "ic50",
is_similarity = FALSE # IC50 values are dissimilarities
)
Run the code above in your browser using DataLab