knitr::opts_chunk$set(echo = TRUE) library(aaSEA) library(plotly) library(networkD3) library(knitr)
The aaSEA package provides an unique and comprehensive tool kit for analyzing amino acid substitutions and consequences on physico chemical property changes. The amino acid properties included are extensively used in protein engineering.
The typical work flow begins with "fasta"" formatted multiple sequence alignment (MSA). For convenience an example alignment file is provided and it can be read into R environment as follows.
myMSA <- system.file("extdata", "linB_Prot_ali.fasta", package = "aaSEA") myMSA
The alignment file location should be passed to "getAASub" function. This function will compute sites with single substitutions and multiple substitutions and returns a list of three data frames namely "SingleSub", "multiSub" and "All"
sub <- getAASub(myMSA) str(sub)
"singleSub" file is a data frame with sites where single amino acid substitutions occurred. This file has four columns namely "substitution", "wt", "mu" and "site"
head(sub$singleSub)
"multiSub" file is a data frame with sites where more than one amino acid substitutions occurred. This file has four columns namely "substitution", "wt", "mu" and "site"
head(sub$multiSub)
Now calculate desired property changes. To compute the changes in desired properties, aaSEA offers three groups of physico checmial properties namely "Cruciani", "Fasgai", "Kidera" or all the properties listed in "AAindex". Once the property is decided we use "getPropChange"" function. this function takes one of the two (single or multi) substitution files obtained, property data frame i.e. Cruciani/Fasgai/Kidera/AAindex and the row number of the property in the data frame.
Cruciani data frame has :
Fasgai data frame has :
Kidera data frame has :
AAIndex data frame has standard 544 AAindex entries.
propChanges <- getPropChange(subFile = sub$singleSub, propertyDF = "Cruciani", propertyIndex = 1) head(propChanges)
These property changes could be visualized as sorted bar graphs using "plotSingleSubChange"
plotSingleSubChange(singleSubChangeDF = propChanges)
Similarly we can compute property changes for each of individual substitutions where there are multiple substitutions are reported. a Heat map will be of great tool to visualize these results.
multiPropChange <- getPropChange(subFile = sub$multiSub, propertyDF = "cruciani", propertyIndex = 2) plotMultiSubChange(multiSubChange = multiPropChange)
in aaSEA Correlated mutations could be computed by any of the four methods viz. MIP, McBASC, ELSC and OMES. Default method is McBASC.
corSites <- getCorSites(fileLoc = myMSA, corMethod = "mcbasc") # can use any of the "omes", "elsc", "mip" dim(corSites)
At this step we have scanned through our multiple sequence alignment matrix and picked the sites that are having co-evolving sites as per the method of choice. Now from this selected columns we must get the wild type residue, residue position and substitution. this can be achieved by using "getTopSub"" function as shown below
corPairs <- getTopSub(corSites) head(corPairs)
Now these co-evolving Pairs can be visualized by using simple network graph using "plotCorNet" function
plotCorNet(corPairs)
Using these pairs, we could compute the property change at individual site of co-evolving pairs upon substitution. This will help us to find the magnitude and direction of change between co-evolving sites.
coPropChanges = getCorPropChange( corSubFile = corPairs, propertyDF = "Cruciani", propertyIndex = 1) head(coPropChanges)
Alternatively, we could find correlated substitutions pairs for a given property.
propCor <- getPropCorr(selMat = corSites, propertyDF = "curciani",propertyIndex = 1) head(propCor) plotCorSubChanges(propCor)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.