Example #1
0
    def test_write_json_no_info(self):
        """correctly writes an object with out an info attribute from json"""
        # create a mock object that pretends like it's been derived from
        # something
        with TemporaryDirectory(dir=".") as dirname:
            outdir = join(dirname, "delme")
            mock = patch("data.source", autospec=True)
            mock.to_rich_dict = DNA.to_rich_dict
            mock.source = join("blah", "delme.json")
            writer = io_app.write_json(outdir, create=True)
            _ = writer(mock)
            reader = io_app.load_json()
            got = reader(writer.data_store[0])
            self.assertEqual(got, DNA)

        # now with a zipped archive
        with TemporaryDirectory(dir=".") as dirname:
            outdir = join(dirname, "delme.zip")
            mock = patch("data.source", autospec=True)
            mock.to_rich_dict = DNA.to_rich_dict
            mock.source = join("blah", "delme.json")
            writer = io_app.write_json(outdir, create=True)
            identifier = writer(mock)
            reader = io_app.load_json()
            # checking loadable from a data store member too
            got = reader(writer.data_store[0])
            self.assertEqual(got, DNA)
            expect = join(outdir.replace(".zip", ""), "delme.json")
            if expect.startswith("." + os.sep):
                expect = expect[2:]
            self.assertEqual(identifier, expect)
Example #2
0
    def test_write_json_with_info(self):
        """correctly writes an object with info attribute from json"""
        # create a mock object that pretends like it's been derived from
        # something
        from cogent3.app.result import generic_result

        with TemporaryDirectory(dir=".") as dirname:
            outdir = join(dirname, "delme")

            obj = generic_result(source=join("blah", "delme.json"))
            obj["dna"] = DNA
            writer = io_app.write_json(outdir, create=True)
            _ = writer(obj)
            reader = io_app.load_json()
            got = reader(join(outdir, "delme.json"))
            got.deserialised_values()
            self.assertEqual(got["dna"], DNA)

        # now with a zipped archive
        with TemporaryDirectory(dir=".") as dirname:
            outdir = join(dirname, "delme.zip")
            obj = generic_result(source=join("blah", "delme.json"))
            obj["dna"] = DNA
            writer = io_app.write_json(outdir, create=True)
            identifier = writer(obj)
            reader = io_app.load_json()
            got = reader(writer.data_store[0])
            got.deserialised_values()
            self.assertEqual(got["dna"], DNA)
            expect = join(outdir.replace(".zip", ""), "delme.json")
            if expect.startswith("." + os.sep):
                expect = expect[2:]
            self.assertEqual(identifier, expect)
Example #3
0
    def test_write_json_with_info(self):
        """correctly writes an object with info attribute from json"""
        # create a mock object that pretends like it's been derived from
        # something
        from cogent3.util.union_dict import UnionDict

        with TemporaryDirectory(dir=".") as dirname:
            outdir = join(dirname, "delme")
            mock = Mock()
            mock.to_rich_dict = DNA.to_rich_dict
            mock.info = UnionDict(source=join("blah", "delme.json"))
            writer = io_app.write_json(outdir, create=True)
            _ = writer(mock)
            reader = io_app.load_json()
            got = reader(join(outdir, "delme.json"))
            self.assertEqual(got, DNA)

        # now with a zipped archive
        with TemporaryDirectory(dir=".") as dirname:
            outdir = join(dirname, "delme.zip")
            mock = Mock()
            mock.to_rich_dict = DNA.to_rich_dict
            mock.info = UnionDict(source=join("blah", "delme.json"))
            writer = io_app.write_json(outdir, create=True)
            identifier = writer(mock)
            reader = io_app.load_json()
            got = reader(writer.data_store[0])
            self.assertEqual(got, DNA)
            expect = join(outdir.replace(".zip", ""), "delme.json")
            if expect.startswith("." + os.sep):
                expect = expect[2:]
            self.assertEqual(identifier, expect)
Example #4
0
def _get_all_composables(tmp_dir_name):
    test_model1 = evo.model("HKY85")
    test_model2 = evo.model("GN")
    test_hyp = evo.hypothesis(test_model1, test_model2)
    test_num_reps = 100

    applications = [
        align.align_to_ref(),
        align.progressive_align(model="GY94"),
        evo.ancestral_states(),
        evo.bootstrap(hyp=test_hyp, num_reps=test_num_reps),
        evo.hypothesis(test_model1, test_model2),
        evo.model("GN"),
        evo.tabulate_stats(),
        sample.fixed_length(100),
        sample.min_length(100),
        io.write_db(tmp_dir_name, create=True),
        io.write_json(tmp_dir_name, create=True),
        io.write_seqs(tmp_dir_name, create=True),
        sample.omit_bad_seqs(),
        sample.omit_degenerates(),
        sample.omit_duplicated(),
        sample.take_codon_positions(1),
        sample.take_named_seqs(),
        sample.trim_stop_codons(gc=1),
        translate.select_translatable(),
        tree.quick_tree(),
        tree.scale_branches(),
        tree.uniformize_tree(),
    ]
    return applications
Example #5
0
 def test_write_json_no_info(self):
     """correctly writes an object with out an info attribute from json"""
     # create a mock object that pretends like it's been derived from
     # something
     with TemporaryDirectory(dir=".") as dirname:
         outdir = join(dirname, "delme")
         gr = _get_generic_result(join("blah", "delme.json"))
         writer = io_app.write_json(outdir, create=True)
         _ = writer(gr)
         reader = io_app.load_json()
         got = reader(writer.data_store[0])
         got.deserialised_values()
         self.assertEqual(got["dna"], DNA)
Example #6
0
    def test_write_json_with_info(self):
        """correctly writes an object with info attribute from json"""
        # create a mock object that pretends like it's been derived from
        # something
        from cogent3.app.result import generic_result

        with TemporaryDirectory(dir=".") as dirname:
            outdir = join(dirname, "delme")

            obj = generic_result(source=join("blah", "delme.json"))
            obj["dna"] = DNA
            writer = io_app.write_json(outdir, create=True)
            _ = writer(obj)
            reader = io_app.load_json()
            got = reader(join(outdir, "delme.json"))
            got.deserialised_values()
            self.assertEqual(got["dna"], DNA)