Exemple #1
0
    def test_check_outfile_exist(self):
        """
        check if ./MetaSim finished running, should produce 2 output files
        only pass if both exist
        TODO: need to check -d outfile_dir. MetaSim automatically change the filename name
        """
        model_infile_var = "ErrorModelSolexa36bp.mconf"
        taxon_infile_var = "MetaSim_bint.mprf"
        outfile_var = "MetaSim_bint-454.20e39f4c.fna"

        metasim = RunMetaSim(model_file=model_infile_var, no_reads=100,
            taxon_infile=taxon_infile_var, pdir=self.data_dir, wdir=self.working_dir,
            filename=outfile_var, check_exist=True)
        metasim.run()
        self.assertTrue(metasim.is_file_exist(self.working_dir + "MetaSim_bint-Empirical.fna"))


        # test for an additional run: able to append subsequent versions?
        metasim.run()
        self.assertTrue(metasim.is_file_exist(self.working_dir + "MetaSim_bint-Empirical.1.fna"))

        metasim.run()
        self.assertTrue(metasim.is_file_exist(self.working_dir + "MetaSim_bint-Empirical.2.fna"))

        os.remove(self.working_dir + "MetaSim_bint-Empirical.fna")
        os.remove(self.working_dir + "MetaSim_bint-Empirical.1.fna")
        os.remove(self.working_dir + "MetaSim_bint-Empirical.2.fna")
Exemple #2
0
    def test_no_reads_value(self):
        model_infile_var = "ErrorModelSolexa36bp.mconf"
        taxon_infile_var = "MetaSim_bint.mprf"
        outfile_var = "wdir_all_reads_out.fasta"

        metasim = RunMetaSim(model_file=model_infile_var, no_reads=100,
            taxon_infile=taxon_infile_var, pdir=self.data_dir, wdir=self.working_dir,
            filename=outfile_var, check_exist=True)
        self.assertRaises(ValueError, metasim.set_number_of_reads, 1.9)
        self.assertRaises(ValueError, metasim.set_number_of_reads, -1)
        self.assertRaises(ValueError, metasim.set_number_of_reads, -2.5)
        self.assertRaises(ValueError, metasim.set_number_of_reads, "string")
        self.assertRaises(ValueError, metasim.set_number_of_reads, "3.6")
#        self.assertRaises(TypeError, metasim.set_number_of_reads, "3")
        metasim.set_number_of_reads("3")
        self.assertEqual(metasim.get_all_switches()[run_MetaSim.NO_READS_POSITION - 1], "-r3")
Exemple #3
0
    def test_init(self):
        model_infile_var = "ErrorModelSolexa36bp.mconf"
        taxon_infile_var = "MetaSim_bint.mprf"
        outfile_var = "wdir_all_reads_out.fasta"
        no_reads_var = 100

        metasim = RunMetaSim(model_file=model_infile_var, no_reads=no_reads_var,
            taxon_infile=taxon_infile_var, pdir=self.data_dir, wdir=self.working_dir,
            filename=outfile_var, check_exist=True)

        expected_model_infile = "-mg%s%s" % (self.working_dir, model_infile_var)
        expected_taxon_infile = self.working_dir + taxon_infile_var
        expected_no_reads = "-r%s" % no_reads_var
        expected_directory = "-d%s" % self.working_dir
        expected = ["cmd", expected_model_infile, expected_no_reads, expected_directory, expected_taxon_infile]
#
        self.assertEqual(metasim.get_all_switches(), expected)
Exemple #4
0
    def test_read_outfile(self):
        """
        check if it can "read" .fna
        TODO: have check what happen in the file format is invalid,
        assuming its the correct fasta now
        """
        model_infile_var = "ErrorModelSolexa36bp.mconf"
        taxon_infile_var = "MetaSim_bint.mprf"
        outfile_var = "MetaSim_bint-Empirical.fna"
        metasim = RunMetaSim(model_file=model_infile_var, no_reads=100,
            taxon_infile=taxon_infile_var, pdir=self.data_dir, wdir=self.working_dir,
            filename=outfile_var, check_exist=True)
        metasim.run()
        result = metasim.read_outfile()
        self.assertEqual(len(result), 2)
        self.assertEqual(result.keys(), ["1", "2"])

        expected = [170, 60]
        for i, key in enumerate(result):
        #            print key, i, type(result[key]), result[key]
            self.assertEqual(len(result[key]), expected[i])
Exemple #5
0
    def test_RunMetaSim_run(self):
        model_infile_var = "ErrorModelSolexa36bp.mconf"
        taxon_infile_var = "MetaSim_bint.mprf"
        outfile_var = "MetaSim_bint-Empirical"
        metasim = RunMetaSim(model_file=model_infile_var, no_reads=100,
                             taxon_infile=taxon_infile_var, pdir=self.data_dir,
                             wdir=self.working_dir, filename=outfile_var, check_exist=True)
        self.assertFalse(metasim.is_file_exist(self.working_dir + "test_outfile.fasta", False))
        metasim.run(debug=True)
#        print "7777777", self.working_dir,outfile_var
        self.assertTrue(metasim.check_outfiles_with_filetag_exist(self.working_dir + outfile_var))
        self.assertTrue(metasim.is_file_exist(self.working_dir + outfile_var + ".fna", True))
        os.remove(self.working_dir + outfile_var + ".fna")
Exemple #6
0
    def test_set_outfile_directory(self):
        model_infile_var = "ErrorModelSolexa36bp.mconf"
        taxon_infile_var = "MetaSim_bint.mprf"
        outfile_var = "wdir_all_reads_out.fasta"

        metasim = RunMetaSim(model_file=model_infile_var, no_reads=100,
            taxon_infile=taxon_infile_var, pdir=self.data_dir, wdir=self.working_dir,
            filename=outfile_var, check_exist=True)

        self.assertEqual(metasim.get_all_switches()[3], "-d%s" % self.working_dir)

        dir_var = self.data_dir
        metasim = RunMetaSim(model_file=model_infile_var, no_reads=100,
            taxon_infile=taxon_infile_var, pdir=self.data_dir, wdir=dir_var,
            filename=outfile_var, check_exist=False)
        metasim.set_outfile_directory()
        self.assertEqual(metasim.get_all_switches()[3], "-d%s" % self.data_dir)