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)
}

View file

@ -1,6 +1,6 @@
# #<----------------------------> # #<---------------------------->
# # Please include this when distributing and/or using this code. # # Please include this section when distributing and/or using this code.
# # I hope you will read and respect the terms of the included LICENSE # # Please read and abide by the terms of the included LICENSE
# # # #
# # Author : Deepankar Chakroborty (https://gitlab.utu.fi/deecha) # # Author : Deepankar Chakroborty (https://gitlab.utu.fi/deecha)
# # Report issues: https://gitlab.utu.fi/deecha/shared_scripts/-/issues # # Report issues: https://gitlab.utu.fi/deecha/shared_scripts/-/issues
@ -29,12 +29,12 @@
# <---------------> # <--------------->
# Installing missing dependencies
dependencies <- c("stringi", "progress")
missing_packages <- dependencies[!(dependencies %in% installed.packages()[, "Package"])]
if(length(missing_packages)) install.packages(missing_packages)
unparalog <- function(DATA, paralog_separator = ";", annotation_separator = ",", GeneColName , AnnotationColName ){ unparalog <- function(DATA, paralog_separator = ";", annotation_separator = ",", GeneColName , AnnotationColName ){
# Installing missing dependencies
dependencies <- c("stringi", "progress")
missing_packages <- dependencies[!(dependencies %in% installed.packages()[, "Package"])]
if(length(missing_packages)) install.packages(missing_packages)
# Sanity checks # Sanity checks
check_paralog_sep <- !any(stringi::stri_detect_fixed(str = DATA$Gene.refGene,pattern = paralog_separator)) check_paralog_sep <- !any(stringi::stri_detect_fixed(str = DATA$Gene.refGene,pattern = paralog_separator))
check_annotation_sep <- !any(stringi::stri_detect_fixed(str = DATA$AAChange.refGene, pattern = annotation_separator)) check_annotation_sep <- !any(stringi::stri_detect_fixed(str = DATA$AAChange.refGene, pattern = annotation_separator))