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 dump_object(self, obj):
     write_vect(obj, self.get_holding_location())