def constructor(self, params, recalculate = False, to_pickle = False, to_filelize = False, always_recalculate = False):
        pdb_names = self.get_param(params, 'pdb_names')
        chain_letters = self.get_param(params, 'chain_letters')
        for i in range(len(pdb_names)):

            pdb_name = pdb_names[i]
            chain_letter = chain_letters[i]
            self.set_param(params, 'pdb_name', pdb_name)
            self.set_param(params, 'chain_letter', chain_letter)

            the_folder = constants.BIN_FOLDER + pdb_name + '/'

            if not os.path.exists(the_folder):
                os.makedirs(the_folder)
            pdb.set_trace()
            node_features = self.get_var_or_file(objects.bmW, params, False, False, False)
            transposed_node_features = helper.get_transpose(node_features)
            pdb.set_trace()
            helper.write_mat(transposed_node_features, the_folder + 'Xnode.csv')
            pdb.set_trace()
            edge_features = self.get_var_or_file(objects.bnW, params, False, False, False)
            edge_features_transposed = helper.get_transpose(edge_features)
            helper.write_mat(edge_features_transposed, the_folder + 'Xedge.csv')

            true_states = self.get_var_or_file(objects.oW, params, False, False, False)
            true_states = [true_states[i]+1 for i in range(len(true_states))]
            helper.write_vect(true_states, the_folder + 'true_y.csv')

            edge_list = self.get_var_or_file(objects.iW, params, False, False, False)
            helper.write_mat(edge_list, the_folder + 'edge_list.csv')

            num_nodes = len(node_features)
            adj_mat = [ [0 for i in range(num_nodes)] for j in range(num_nodes)]
            for i in range(len(edge_list)):
                n1 = edge_list[i][0]
                n2 = edge_list[i][1]
                adj_mat[n1][n2] = 1
                adj_mat[n2][n1] = 1
            helper.write_mat(adj_mat, the_folder + 'adj_mat.csv')

            info = [str(len(node_features)), str(len(edge_features)), str(2), str(len(node_features[0])), str(len(edge_features[0]))]
            helper.write_vect(info, the_folder + 'info.txt', the_sep = ' ')
            
            
        return None
Example #2
0
    def constructor(self, params, recalculate, to_pickle = True, to_filelize = True, always_recalculate = False, olb_obj = None):

        # get the model
        pdb.set_trace()
        model = self.get_var_or_file(asW, params, recalculate, True, False, False)
        all_features, all_classes = self.get_var_or_file(objects.arW, params, recalculate, True, True, False)
        X = numpy.array(all_features)
        y = numpy.array(all_classes)
        which_fold = self.get_param(params,'wfld')
        cv = list(enumerate(StratifiedKFold(y, k = self.get_param(params,'nfld'))))
        test_idx = cv[which_fold][1][1]
        model = self.get_var_or_file(asW, params, recalculate, True, False, False)
        probs = model.predict_proba(X[test_idx])[:,1]

        pdb.set_trace()
        # convert probs, true_classes back to regular lists so i can pass to
        y_test = y[test_idx]
        score = model.score(X[test_idx],y_test)
        self.set_param(params, 'obj_val', score)
        y_list = y_test.tolist()
        probs_list = probs.tolist()
#        pdb.set_trace()
        return helper.get_transpose([y_list, probs_list])