diff options
author | Alexander Kabui | 2022-01-13 15:21:19 +0300 |
---|---|---|
committer | BonfaceKilz | 2022-01-22 09:23:14 +0300 |
commit | db4cb5b9fa4e574e0c78a8443f9ddf8859b1205b (patch) | |
tree | 721ccdb9dc215f43365ac265b10948b8eec089c9 /scripts | |
parent | b6bd968702b21f2cd8ed72be686d77a8666e2877 (diff) | |
download | genenetwork3-db4cb5b9fa4e574e0c78a8443f9ddf8859b1205b.tar.gz |
fixes for ctl script:generate ctl ctl_significant json
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/ctl_analysis.R | 51 |
1 files changed, 33 insertions, 18 deletions
diff --git a/scripts/ctl_analysis.R b/scripts/ctl_analysis.R index 8c831ad..91fa746 100644 --- a/scripts/ctl_analysis.R +++ b/scripts/ctl_analysis.R @@ -1,3 +1,4 @@ + library(ctl) library(stringi); library(rjson) @@ -21,29 +22,35 @@ json_file_path # add validation for the files input <- fromJSON(file = json_file_path) -genoData <- input$geno -phenoData <- input$pheno +cat("The input data is \n") + + + +genoData <- input$genoData +phenoData <- input$phenoData -formData <- input$form +# formData <- input$form # create the matixes -genoData + +# genotypes Matrix of genotypes. (individuals x markers) +# phenotypes Matrix of phenotypes. (individuals x phenotypes) + geno_matrix = t(matrix(unlist(genoData$genotypes), nrow=length(genoData$markernames), ncol=length(genoData$individuals), dimnames=list(genoData$markernames, genoData$individuals), byrow=TRUE)) + pheno_matrix = t(matrix(as.numeric(unlist(phenoData$traits)), nrow=length(phenoData$trait_db_list), ncol=length( phenoData$individuals), dimnames= list(phenoData$trait_db_list, phenoData$individuals), byrow=TRUE)) -# Use a data frame to store the objects -pheno = data.frame(pheno_matrix, check.names=FALSE) -geno = data.frame(geno_matrix, check.names=FALSE) +# # Use a data frame to store the objects +ctls <- CTLscan(geno_matrix,pheno_matrix,nperm=input$nperm,strategy=input$strategy,parametric=TRUE,nthreads=3,verbose=TRUE) -ctls <- CTLscan(geno,pheno,verbose=TRUE) -# same function used in a different script:refactor +# # same function used in a different script:refactor genImageRandStr <- function(prefix){ randStr <- paste(prefix,stri_rand_strings(1, 9, pattern = "[A-Za-z0-9]"),sep="_") @@ -52,16 +59,24 @@ genImageRandStr <- function(prefix){ } -#output matrix significant CTL interactions with 4 columns: trait, marker, trait, lod -sign <- CTLsignificant(ctls,significance = formData$significance) + +# #output matrix significant CTL interactions with 4 columns: trait, marker, trait, lod +ctl_significant <- CTLsignificant(ctls,significance = 0.05) -# Create the lineplot -imageLoc = file.path(imgDir,genImageRandStr("CTLline")) +# # Create the lineplot +# imageLoc = file.path(imgDir,genImageRandStr("CTLline")) + +# png(imageLoc,width=1000,height=600,type='cairo-png') + +# ctl.lineplot(ctls, significance=formData$significance) + + +# rename coz of duplicate key names +colnames(sign) = c("trait","marker","trait_2","LOD","dcor") + +json_data <- list(significance_table = ctl_significant) -png(imageLoc,width=1000,height=600,type='cairo-png') -ctl.lineplot(ctls, significance=formData$significance) +json_data <- toJSON(json_data) -json_data <- list(significance=sign, - images=list("image_1"=imageLoc), - network_figure_location="/location")
\ No newline at end of file +write(json_data,file= json_file_path)
\ No newline at end of file |