Include MutSiteFind.R and improved installing dependencies

unparalogMutations checks & installs dependencies only when it is sourced, and not everytime the function was called (as previously).
This commit is contained in:
Deepankar Chakroborty 2020-07-29 14:39:44 +03:00
parent a044ac9f09
commit 99a6589b9b
2 changed files with 38 additions and 7 deletions

31
MutSiteFind.R Normal file
View file

@ -0,0 +1,31 @@
# #<---------------------------->
# # Please include this section when distributing and/or using this code.
# # Please read and abide by the terms of the included LICENSE
# #
# # Author : Deepankar Chakroborty (https://gitlab.utu.fi/deecha)
# # Report issues: https://gitlab.utu.fi/deecha/shared_scripts/-/issues
# # License: https://gitlab.utu.fi/deecha/shared_scripts/-/blob/master/LICENSE
# #
# # PURPOSE:
# # For a given vector of amino acid changes like A123T, V256F, E746_A750del
# # this function returns c(123, 256, 746) as amino acid positions of
# # the mutated residue.
# # In case of indels, it doesn't return the range!! (returns only the start position)
# #
# #<---------------------------->
dependencies <- c("stringi")
missing_packages <- dependencies[!(dependencies %in% installed.packages()[, "Package"])]
if(length(missing_packages)) install.packages(missing_packages)
## ----- Legacy version relying on r::base --------
MutSiteFind.legacy=function(MutationColumn){
MutationSite=c()
for(i in seq(1:length(MutationColumn))){
Site=regmatches(MutationColumn[i], gregexpr("[[:digit:]]+",MutationColumn[i]))[[1]][1]
MutationSite=c(MutationSite,Site)
}
return(MutationSite)
}