def test_mutations(self):
        """ to check if mutations are correctly retrieved """

        self.init_test(self.current_func_name)
        abs_sa_db = self.__create_db_instance()
        test_file = os.path.join(self.data_dir, self.current_func_name + ".tab.csv")
        sa_db = SummarizeAnnovarDB()
        sa_db.open_db(test_file)
        abs_sa_db.add_connector(sa_db)
        mutations = abs_sa_db.mutations
        # *************** test keys ******************
        self.assertEqual(len(mutations.keys()), 9, "Incorrect number of mutation keys")
        self.assertTrue("18|12702705|G|C" in mutations, "Incorrect mutation key")
        self.assertTrue("18|12697298|G|T" in mutations, "Incorrect mutation key")
        self.assertTrue("18|12702536|T|G" not in mutations, "Incorrect mutation key")
        # *************** test contents ******************
        test_mutation = mutations["18|12702537|T|G"]
        self.assertEqual(len(mutations), 9, "Incorrect number of mutations")
        self.assertEqual(test_mutation.func, "exonic", 'Incorrect Annovar content at "Func" column')
        self.assertEqual(test_mutation.gene, "CEP76", 'Incorrect Annovar content at "Gene" column')
        self.assertEqual(
            test_mutation.exonic_func, "synonymous SNV", 'Incorrect Annovar content at "ExonicFunc" column'
        )
        self.assertEqual(test_mutation.dbsnp137, "rs146647843", 'Incorrect Annovar content at "dbSNP137" column')
        self.assertEqual(test_mutation.avsift, "0.45", 'Incorrect Annovar content at "AVSIFT" column')
        self.assertEqual(test_mutation.ljb_phylop, "0.994193", 'Incorrect Annovar content at "LJB_PhyloP" column')
        self.assertEqual(test_mutation.ljb_sift_pred, "D", 'Incorrect Annovar content at "LJB_SIFT_Pred" column')
        self.assertEqual(test_mutation.ljb_polyphen2, "0.966", 'Incorrect Annovar content at "LJB_PolyPhen2" column')
        self.assertEqual(test_mutation.ljb_lrt_pred, "D", 'Incorrect Annovar content at "LJB_LRT_Pred" column')
        self.assertEqual(test_mutation.ljb_gerp, "4.62", 'Incorrect Annovar content at "LJB_GERP++" column')
 def __connect_summarize_annovar_db(self, csv_file, delimiter="\t"):
     self.info("creating summarize-annovar db connection to " + csv_file)
     sa_db = SummarizeAnnovarDB()
     sa_db.open_db(csv_file, delimiter)
     self.__abs_sa_db.add_connector(sa_db)