# How we generated our prediction for subchallenge 3

#### Il-Youp Kwak and Wuming Gong

#### 2023-09-14

This vignettes illustrate how our team prepared a submission for subchallenge 3.

## Data processing

The 'csv_file' is a file path of evaluation for subchallenge 3 given from the competition. Change the like with the one you would like to predict.

    csv_file <- 'Data/subC3/SubC3_10K_0001_mutation_table.csv'
    \dontrun{x <- read.table(csv_file, header = T, sep = ',', colClasses = "character")}

Initical state is '0', interval dropout is '-', point dropout is '' (point dropout was '' from the file, but we will replace it with ''), and mutational outcome states are 'A' to 'Z'.

    \dontrun{states <- c('0', '-', '*', LETTERS)}

Read file and save it as 'phyDat' object.

    \dontrun{tip_names <- x[, 1]}
    \dontrun{x <- x[,-1]}
    \dontrun{rownames(x) <- tip_names}
    \dontrun{x[ x == '' ] = '*'  ## specified * as point dropout (point missing)}
    \dontrun{x = as.matrix(x)}
    \dontrun{x <- x %>% phyDat(type = 'USER', levels = states)}

    \dontrun{states2num = 1:length(states)}
    \dontrun{names(states2num) = states}

## Weight parameters for the prediction

We tried weighted hamming I and II with large number of parameter combinations, and found weighted hamming I with weight below worked fairly well.

    InfoW = 1:5
    InfoW[1] = 1  ## Score
    InfoW[2] = .9
    InfoW[3] = .4
    InfoW[4:26] = 3

## Generating final submission file for subchallenge 3

    \dontrun{aTree2 <- x %>% dist_weighted_hamming(InfoW, FALSE) %>% fastme.ols()}
    \dontrun{write.tree(aTree2, "Kwak_Gongsub3_submission.nw")}

Thanks!