def setUp(self): self.pair_matrix_fn = tmpname() self.pair_matrix = SimilarityMatrix(self.pair_matrix_fn, "a", driver="H5FD_CORE", driver_core_backing_store=0) labels = {"a": 0, "b": 1, "c": 2, "d": 3} similarities = [("a", "b", 0.9), ("a", "c", 0.5), ("b", "c", 0.6), ("d", "c", 0.7)] self.pair_matrix.update(similarities, labels) self.matrix_fn = tmpname() self.matrix = FrozenSimilarityMatrix(self.matrix_fn, "a", driver="H5FD_CORE", driver_core_backing_store=0)
def test_simmatrix_import_run_ignore_upper_triangle(): output_fn = tmpname() tsv = '''frag_id1 frag_id2 score 2mlm_2W7_frag1 2mlm_2W7_frag1 1.0000000000000000 2mlm_2W7_frag2 2mlm_2W7_frag2 1.0000000000000000 2mlm_2W7_frag1 2mlm_2W7_frag2 0.5877164873731594 2mlm_2W7_frag2 3wvm_STE_frag1 0.4633096818493935 2mlm_2W7_frag2 2mlm_2W7_frag1 0.5877164873731594 3wvm_STE_frag1 2mlm_2W7_frag2 0.4633096818493935 ''' inputfile = StringIO(tsv) try: script.simmatrix_import_run(inputfile=inputfile, format='tsv', simmatrixfn=output_fn, fragmentsdb='data/fragments.sqlite', nrrows=2, ignore_upper_triangle=True) simmatrix = SimilarityMatrix(output_fn) result = [r for r in simmatrix] simmatrix.close() print(result) expected = [('2mlm_2W7_frag1', '2mlm_2W7_frag2xx', 0.5877), ('2mlm_2W7_frag2', '3wvm_STE_frag1', 0.4633)] assert_array_almost_equal([r[2] for r in result], [r[2] for r in expected], 3) eq_([(r[0], r[1],) for r in result], [(r[0], r[1],) for r in result]) finally: if os.path.exists(output_fn): os.remove(output_fn)
def test_simmatrix_importfpneigh_run_ignore_upper_triangle(): output_fn = tmpname() tsv = '''Compounds similar to 2mlm_2W7_frag1: 2mlm_2W7_frag1 1.0000 2mlm_2W7_frag2 0.5877 Compounds similar to 2mlm_2W7_frag2: 2mlm_2W7_frag2 1.0000 2mlm_2W7_frag1 0.5877 3wvm_STE_frag1 0.4633 ''' inputfile = StringIO(tsv) try: script.simmatrix_importfpneigh_run(inputfile=inputfile, simmatrixfn=output_fn, fragmentsdb='data/fragments.sqlite', nrrows=3, ignore_upper_triangle=True) simmatrix = SimilarityMatrix(output_fn) rows = [r for r in simmatrix] simmatrix.close() expected = [(u'2mlm_2W7_frag1', u'2mlm_2W7_frag2', 0.5877), (u'2mlm_2W7_frag2', u'3wvm_STE_frag1', 0.4633)] eq_(rows, expected) finally: os.remove(output_fn)