def merge_comodules_task( exp, block, cs_1, cs_2, cs_1_name, cs_2_name, base_filename, ): if settings.CELERY_DEBUG: import sys sys.path.append( '/Migration/skola/phd/projects/miXGENE/mixgene_project/wrappers/pycharm-debug.egg' ) import pydevd pydevd.settrace('localhost', port=6901, stdoutToServer=True, stderrToServer=True) CS1 = cs_1.load_set() CS2 = cs_2.load_set() df = merge(CS1, CS2, left_index=True, right_index=True, how='outer') df.columns = [cs_1_name, cs_2_name] # df = CS1.join(CS2) # df = pd.DataFrame({'genes':CS1.values, 'miRNAs':CS2.values}, index=CS1.index) print(df.info()) cs = ComoduleSet(exp.get_data_folder(), base_filename) cs.store_set(df) return [cs], {}
def threshold_task(exp, block, es, T, base_filename, ): # def removeTemporaryNegativeFeatures(S, indicator_string = 'negative_feature___'): # """Remove elements starting with the indicator_string and remove possible duplicates.""" # return S.apply(lambda list_element: set([s.replace(indicator_string, '') for s in list_element])) """Computes co-comodules from matrix H by given threshold T.""" if settings.CELERY_DEBUG: import sys sys.path.append('/Migration/skola/phd/projects/miXGENE/mixgene_project/wrappers/pycharm-debug.egg') import pydevd pydevd.settrace('localhost', port=6901, stdoutToServer=True, stderrToServer=True) H = es.get_assay_data_frame() print(H) # mu = np.mean(H, axis = 1) # sigma = np.std(H, axis = 1) # Z = H.apply(lambda z: (z-mu)/sigma, axis = 0) # S = [] # S.append(removeTemporaryNegativeFeatures(Z.apply(lambda x: Z.columns[x >= T].tolist(), axis = 1))) # S = pd.DataFrame(S) # S = S.apply(lambda x: set.union(*x)) # result = pd.DataFrame(S) from wrappers.snmnmf.evaluation import EnrichmentInGeneSets z = 1 x = EnrichmentInGeneSets(z) result = x.getGeneSet(H, T) cs = ComoduleSet(exp.get_data_folder(), base_filename) cs.store_set(result) return [cs], {}
def merge_comodules_task(exp, block, cs_1, cs_2, cs_1_name, cs_2_name, base_filename, ): if settings.CELERY_DEBUG: import sys sys.path.append('/Migration/skola/phd/projects/miXGENE/mixgene_project/wrappers/pycharm-debug.egg') import pydevd pydevd.settrace('localhost', port=6901, stdoutToServer=True, stderrToServer=True) CS1 = cs_1.load_set() CS2 = cs_2.load_set() df = merge(CS1, CS2, left_index=True, right_index=True, how='outer') df.columns = [cs_1_name, cs_2_name] # df = CS1.join(CS2) # df = pd.DataFrame({'genes':CS1.values, 'miRNAs':CS2.values}, index=CS1.index) print(df.info()) cs = ComoduleSet(exp.get_data_folder(), base_filename) cs.store_set(df) return [cs], {}
def pattern_filter_task(exp, block, m_rna_es, mi_rna_es, comodule_set, metric, n_best, base_filename): """ @type m_rna_es: ExpressionSet @type mi_rna_es: ExpressionSet @type comodule_set: ComoduleSet @type metric: metric @type n_best: int """ if settings.CELERY_DEBUG: import sys sys.path.append('/Migration/skola/phd/projects/miXGENE/mixgene_project/wrappers/pycharm-debug.egg') import pydevd pydevd.settrace('localhost', port=6901, stdoutToServer=True, stderrToServer=True) mData = m_rna_es.get_assay_data_frame() pheno = m_rna_es.get_pheno_data_frame() classes = pheno['User_class'].values data = mData data.set_index(data.columns[0], inplace=True, drop=True) # data = zscore(data) com_set = comodule_set.load_set() result = pattern_filter(com_set.values(), data, classes, n_best, metric) result = {key: value for key, value in enumerate(result)} cs = ComoduleSet(exp.get_data_folder(), base_filename) cs.store_set(result) return [cs], {}
def pattern_search(exp, block, m_rna_es, mi_rna_es, gene2gene, miRNA2gene, # gene_platform, # miRNA_platform, radius, min_imp, metric, base_filename): """ @type m_rna_es: ExpressionSet @type mi_rna_es: ExpressionSet @type gene2gene: BinaryInteraction @type miRNA2gene: BinaryInteraction @type radius: int @type min_imp: double """ if settings.CELERY_DEBUG: import sys sys.path.append('/Migration/skola/phd/projects/miXGENE/mixgene_project/wrappers/pycharm-debug.egg') import pydevd pydevd.settrace('localhost', port=6901, stdoutToServer=True, stderrToServer=True) AllUpdated( exp.pk, comment=u"Initializing data...", silent=False, mode=NotifyMode.INFO ).send() exp.log(block.uuid, "Initializing data...") mData = m_rna_es.get_assay_data_frame() gene_platform = list(mData.columns) AllUpdated( exp.pk, comment=u"Transforming interaction matrix", silent=False, mode=NotifyMode.INFO ).send() gene2gene = gene2gene.get_matrix_for_platform(exp, gene_platform) AllUpdated( exp.pk, comment=u"Transforming interaction matrix done", silent=False, mode=NotifyMode.INFO ).send() # TODO fix pattern search # if miRNA2gene is not None: # miRNA2gene = miRNA2gene.load_matrix().T # miRNA2gene = sp.coo_matrix(miRNA2gene.values) # if mi_rna_es is not None: # miData = mi_rna_es.get_assay_data_frame() # mir2gene = miRNA2gene # mir2gene = sp.coo_matrix(mir2gene.values).T # nw = mergeNetworks(gene2gene, mir2gene) # else: nw = gene2gene # data = mData.ix[1:] data = mData data.set_index(data.columns[0], inplace=True, drop=True) data = zscore(data) pheno = m_rna_es.get_pheno_data_frame() classes = pheno['User_class'].values exp.log(block.uuid, "Data ready. Running Pattern Search") # inicializace objektu metric=metric, searcher = DifferentialPatternSearcher(nw, radius=radius, min_improve=min_imp, base_dir="orig_interactions/", verbose=True) #vlastni search res = searcher.search(data, classes) exp.log(block.uuid, "Pattern search finished.") # res ... list patternu, # tj. pro nase potreby: comodule_set = map(lambda pattern: [gene_platform[gene] for gene in pattern.genes], res) cs = ComoduleSet(exp.get_data_folder(), base_filename) result = {key: value for key, value in enumerate(comodule_set)} cs.store_set(result) exp.log(block.uuid, "ComoduleSet stored.") return [cs], {}