diff options
Diffstat (limited to 'wqflask')
-rw-r--r-- | wqflask/wqflask/templates/wgcna_results.html | 2 | ||||
-rw-r--r-- | wqflask/wqflask/wgcna/wgcna_analysis.py | 27 |
2 files changed, 21 insertions, 8 deletions
diff --git a/wqflask/wqflask/templates/wgcna_results.html b/wqflask/wqflask/templates/wgcna_results.html index 5d654e94..77de3604 100644 --- a/wqflask/wqflask/templates/wgcna_results.html +++ b/wqflask/wqflask/templates/wgcna_results.html @@ -4,7 +4,7 @@ {% block content %} <!-- Start of body --> <div> <h1>WGCNA Results</h1> - {{result}} + Phenotypes used as input: {% for k in result %} {{k[0].name}} {% endfor %} </div> {% endblock %} diff --git a/wqflask/wqflask/wgcna/wgcna_analysis.py b/wqflask/wqflask/wgcna/wgcna_analysis.py index 5b6c1c1b..c9709781 100644 --- a/wqflask/wqflask/wgcna/wgcna_analysis.py +++ b/wqflask/wqflask/wgcna/wgcna_analysis.py @@ -8,6 +8,8 @@ import scipy as sp # SciPy import rpy2.robjects as ro # R Objects import pandas.rpy.common as com # R common functions +from utility import helper_functions + from rpy2.robjects.packages import importr utils = importr("utils") @@ -34,21 +36,32 @@ class WGCNA(object): r_library("WGCNA") # Load WGCNA - Should only be done once, since it is quite expensive r_options(stringsAsFactors = False) print("Initialization of WGCNA done, package loaded in R session") - r_enableWGCNAThreads = ro.r["enableWGCNAThreads"] # Map the enableWGCNAThreads function - r_pickSoftThreshold = ro.r["pickSoftThreshold"] # Map the pickSoftThreshold function - r_blockwiseModules = ro.r["blockwiseModules"] # Map the blockwiseModules function - r_labels2colors = ro.r["labels2colors"] # Map the labels2colors function - r_plotDendroAndColors = ro.r["plotDendroAndColors"] # Map the plotDendroAndColors function + self.r_enableWGCNAThreads = ro.r["enableWGCNAThreads"] # Map the enableWGCNAThreads function + self.r_pickSoftThreshold = ro.r["pickSoftThreshold"] # Map the pickSoftThreshold function + self.r_blockwiseModules = ro.r["blockwiseModules"] # Map the blockwiseModules function + self.r_labels2colors = ro.r["labels2colors"] # Map the labels2colors function + self.r_plotDendroAndColors = ro.r["plotDendroAndColors"] # Map the plotDendroAndColors function print("Obtained pointers to WGCNA functions") def run_analysis(self, requestform): print("Starting WGCNA analysis on dataset") - results = {} + self.r_enableWGCNAThreads() # Enable multi threading + self.trait_db_list = [trait.strip() for trait in requestform['trait_list'].split(',')] + print("Retrieved phenotype data from database", requestform['trait_list']) + helper_functions.get_trait_db_obs(self, self.trait_db_list) + self.results = {} + for t in self.trait_list: + strains = [] + for s in t[0].data: + strains.append(s) + self.results[t] = strains + + print("Retrieved phenotype data from database") def process_results(self, results): print("Processing WGCNA output") template_vars = {} - template_vars["result"] = "OK" + template_vars["result"] = self.results #r_sink(type = "message") # This restores R output to the stdout/stderr #r_sink() # We should end the Rpy session more or less return(dict(template_vars)) |