## ----eval=TRUE, warning=FALSE, message=FALSE----------------------------------
# Import required packages
library(shazam)

# Load example data
data(ExampleDb, package="alakazam")

# Subset to IGHG for faster usage demonstration
db <- subset(ExampleDb, c_call == "IGHG")

## ----eval=FALSE---------------------------------------------------------------
# # Create substitution model using silent mutations
# sub_model <- createSubstitutionMatrix(db, model="s",
#                                       sequenceColumn="sequence_alignment",
#                                       germlineColumn="germline_alignment_d_mask",
#                                       vCallColumn="v_call")

## ----eval=FALSE---------------------------------------------------------------
# # Create mutability model using silent mutations
# mut_model <- createMutabilityMatrix(db, sub_model, model="s",
#                                     sequenceColumn="sequence_alignment",
#                                     germlineColumn="germline_alignment_d_mask",
#                                     vCallColumn="v_call")

## ----eval=FALSE---------------------------------------------------------------
# # Number of silent mutations used for estimating 5-mer mutabilities
# mut_model@numMutS
# # Number of replacement mutations used for estimating 5-mer mutabilities
# mut_model@numMutR
# # Mutability and source as a data.frame
# head(as.data.frame(mut_model))

## ----eval=FALSE---------------------------------------------------------------
# # Extend models to include ambiguous 5-mers
# sub_model <- extendSubstitutionMatrix(sub_model)
# mut_model <- extendMutabilityMatrix(mut_model)

## ----eval=FALSE---------------------------------------------------------------
# # Create targeting model matrix from substitution and mutability models
# tar_matrix <- createTargetingMatrix(sub_model, mut_model)

## ----eval=TRUE, warning=FALSE-------------------------------------------------
# Collapse sequences into clonal consensus
clone_db <- collapseClones(db, cloneColumn="clone_id", 
                           sequenceColumn="sequence_alignment",
                           germlineColumn="germline_alignment_d_mask",
                           nproc=1)
# Create targeting model in one step using only silent mutations
# Use consensus sequence input and germline columns
model <- createTargetingModel(clone_db, model="s", sequenceColumn="clonal_sequence", 
                              germlineColumn="clonal_germline", vCallColumn="v_call")

## ----eval=TRUE, warning=FALSE, fig.width=7, fig.height=7.5--------------------
# Generate hedgehog plot of mutability model
plotMutability(model, nucleotides="A", style="hedgehog")
plotMutability(model, nucleotides="C", style="hedgehog")

## ----eval=TRUE, warning=FALSE, fig.width=7, fig.height=4.5--------------------
# Generate bar plot of mutability model
plotMutability(model, nucleotides="G", style="bar")
plotMutability(model, nucleotides="T", style="bar")

## ----eval=TRUE, warning=FALSE-------------------------------------------------
# Calculate distance matrix
dist <- calcTargetingDistance(model)

