def generate_solutions_tables(self): ''' code from Adam use rpy2 to execute rcode which reads out a solutions file to pandas ''' col_names = [ 'alpha', 'tau', 'AT', 'b', 'delta', 'LL', 'mode_curv', 'genome mass', 'sigma.h.hat', 'theta.z.hat', 'sigma.A.hat', 'theta.Q.hat', 'lambda.hat', 'theta.0', 'frac.het', 'SCNA_LL', 'entropy', 'Kar_LL', 'WGD', 'combined_LL', 'SSNV_LL', 'SCNA_Theta_integral', 'dens' ] # Build R function to be used as a python package load_RData_func_str = """ load_RData <- function(file_path) { load(file_path) head_name <- ls()[1] file_name <- names(`segobj.list`)[1] r_data <- `segobj.list`[[file_name]]$mode.res$mode.tab return(r_data) } """ # Pack the function above as a package r_pack = SignatureTranslatedAnonymousPackage(load_RData_func_str, "r_pack") print 'Generating absolute tables for ' + str(len( self.data_table)) + ' samples' pandas2ri.activate() for index, row in self.data_table.iterrows(): if np.mod(index, 100) == 0: print str(index) + '/' + str(len(self.data_table)) r_data = r_pack.load_RData(row['absolute_summary_data']) abs_table = pd.DataFrame(pandas2ri.ri2py(r_data), columns=col_names) self.pp_modes_tables[row['pair_id']] = abs_table pandas2ri.deactivate()
def convertRtoPandas(file_path): # Pack the function above as a package r_pack = SignatureTranslatedAnonymousPackage(load_RData_func_str, "r_pack") pandas2ri.activate() r_data = r_pack.load_RData(file_path) py_data = pd.DataFrame(pandas2ri.ri2py(r_data), columns=col_names) pandas2ri.deactivate() return py_data