예제 #1
0
    def test_write_csv(self):
        ratios = dm.DataMatrix(2, 2, ['Gene 1', 'Gene 2'], ['Cond 1', 'Cond 2'],
                                np.array([[1, 2], [3, 4]]))
        ratios.write_tsv_file('/tmp/simple_ratios.tsv', compressed=False)

        # check the written file
        ratios = dm.create_from_csv('/tmp/simple_ratios.tsv')
        self.assertEquals(ratios.row_names, ['Gene 1', 'Gene 2'])
        self.assertEquals(ratios.column_names, ['Cond 1', 'Cond 2'])
        self.assertAlmostEquals(ratios.values[0][0], 1.0)
예제 #2
0
def read_ratios(params, args_in):
    """reading ratios matrix"""
    if params['normalize_ratios']:
        if test_data_change(params, args_in) == True:
            #Turn off the nochange_filter if you're resuming a run an have changed the data matrix
            ratio_filters = [dm.center_scale_filter]
        else :
            ratio_filters = [dm.nochange_filter, dm.center_scale_filter]
    else:
        ratio_filters = []

    matrix_filename = args_in.ratios

    case_sensitive = params['case_sensitive'] or args_in.case_sensitive
    return dm.create_from_csv(matrix_filename, filters=ratio_filters, case_sensitive=case_sensitive)
예제 #3
0
 def setUp(self):  # pylint; disable-msg=C0103
     """test fixture"""
     self.search_distances = {'upstream': (-20, 150)}
     self.scan_distances = {'upstream': (-30, 250)}
     self.ratio_matrix = dm.create_from_csv('example_data/hal/halo_ratios5.tsv',
                                            filters=[dm.nochange_filter, dm.center_scale_filter])
     self.organism = testutil.make_halo(self.search_distances, self.scan_distances,
                                        self.ratio_matrix)
     self.config_params = {'memb.min_cluster_rows_allowed': 3,
                           'memb.max_cluster_rows_allowed': 70,
                           'multiprocessing': False,
                           'memb.clusters_per_row': 2,
                           'memb.clusters_per_col': int(round(43 * 2.0 / 3.0)),
                           'num_clusters': 43,
                           'num_iterations': 2000}
     self.membership = self.__read_members()  # relies on config_params
     self.iteration_result = { 'iteration': 51 }
예제 #4
0
    def setUp(self):
        with open('testdata/hsa_mir_thesaurus.json') as infile:
            self.synonyms = json.load(infile)
        self.ratios = dm.create_from_csv('testdata/acc_rnaseq.tsv.gz', sep='\t')
        self.input_genes = self.ratios.row_names
        self.config_params = {'SetEnrichment': {'set_types': 'tfbs'},
                              'SetEnrichment-tfbs': {'set_file': 'testdata/test_sets.json', 'weight': 1.0} }
        self.set_types = se.read_set_types(self.config_params, self.synonyms, self.input_genes)
        self.canonical_rownames = set(map(lambda n: self.synonyms[n] if n in self.synonyms else n,
                                              self.ratios.row_names))

        self.canonical_row_indexes = {}
        for index, row in enumerate(self.ratios.row_names):
            if row in self.synonyms:
                self.canonical_row_indexes[self.synonyms[row]] = index
            else:
                self.canonical_row_indexes[row] = index
예제 #5
0
    def setUp(self):  # pylint; disable-msg=C0103
        """test fixture"""
        self.search_distances = {'upstream': (-20, 150)}
        self.scan_distances = {'upstream': (-30, 250)}

        self.ratio_matrix = dm.create_from_csv('example_data/hal/halo_ratios5.tsv',
                                               filters=[dm.nochange_filter, dm.center_scale_filter])
        self.ratios = self.ratio_matrix
        self.organism = testutil.make_halo(self.search_distances, self.scan_distances,
                                           self.ratio_matrix)
        self.config_params = {'memb.min_cluster_rows_allowed': 3,
                              'memb.max_cluster_rows_allowed': 70,
                              'multiprocessing': False,
                              'num_cores': None,
                              'memb.clusters_per_row': 2,
                              'memb.clusters_per_col': int(round(43 * 2.0 / 3.0)),
                              'num_clusters': 43,
                              'output_dir': 'out',
                              'remap_network_nodes': False,
                              'use_BSCM': False,
                              'num_iterations': 2000,
                              'debug': {},
                              'search_distances': {'upstream': (-20, 150)},
                              'Columns': {'schedule': lambda i: True },
                              'Rows': {'schedule': lambda i: True, 'scaling': ('scaling_const', 6.0) },
                              'Motifs': {'schedule': lambda i: True,
                                         'scaling': ('scaling_rvec', 'seq(0, 1, length=num_iterations*3/4)')},
                              'MEME': {'version': '4.3.0',
                                       'global_background': False,
                                       'schedule': lambda i: True,
                                       'nmotifs_rvec': 'c(rep(1, num_iterations/3), rep(2, num_iterations/3))',
                                       'max_width': 24, 'arg_mod': 'zoops',
                                       'background_order': 3, 'use_revcomp': 'True'},
                              'Networks': {'schedule': lambda i: True, 'scaling': ('scaling_rvec', 'seq(1e-5, 0.5, length=num_iterations*3/4)')}}
        self.membership = self.__read_members()  # relies on config_params
        self.iteration_result = { 'iteration': 51, 'score_means': {} }
예제 #6
0
def read_matrix(filename):
    """reads a matrix file"""
    return dm.create_from_csv(filename, filters=[])
예제 #7
0
 def __read_colscores_refresult(self):
     return dm.create_from_csv('testdata/column_scores_refresult.tsv', filters=[], case_sensitive=True)
예제 #8
0
 def __read_ratios(self):
     return dm.create_from_csv('testdata/row_scores_testratios.tsv', filters=[], case_sensitive=True)
예제 #9
0
 def test_read_csv_numeric_rownames(self):
     ratios = dm.create_from_csv('testdata/simple_ratios_numeric_rownames.tsv')
     self.assertEquals(['12231245', '12344542'], ratios.row_names)
     self.assertEquals(['Cond 1', 'Cond 2'], ratios.column_names)
     print(ratios.row_names)
     self.assertAlmostEquals(ratios.values[0][0], 54.1)
예제 #10
0
 def test_read_csv(self):
     ratios = dm.create_from_csv('testdata/simple_ratios.tsv')
     self.assertEquals(ratios.row_names, ['Gene 1', 'Gene 2'])
     self.assertEquals(ratios.column_names, ['Cond 1', 'Cond 2'])
     self.assertAlmostEquals(ratios.values[0][0], 23.1)
예제 #11
0
def read_matrix(filename):
    """reads a matrix file"""
    return dm.create_from_csv(filename, filters=[])
예제 #12
0
def read_matrix(filename):
    """reads a matrix file"""
    return dm.create_from_csv(filename, filters=[]).sorted_by_row_name()