Source code for VAPr.tests.test_annovar_running

# standard libraries
import os
import unittest

# project-specific libraries
import VAPr.annovar_running as ns_test


[docs]class TestAnnovarWrapper(unittest.TestCase):
[docs] @classmethod def setUpClass(cls): cls._base_dir = os.getcwd() cls._annovar_install_path = os.path.join(cls._base_dir, 'test_files/annovar_dir') cls._genome_build_version = "hg19"
# region _get_annovar_dbs_to_use_for_build_version tests
[docs] def test__get_annovar_dbs_to_use_for_build_version_hg19(self): dbs_ordered_dict = ns_test.AnnovarWrapper._get_annovar_dbs_to_use_for_build_version("hg19") self.assertDictEqual(ns_test.AnnovarWrapper.hg_19_databases, dbs_ordered_dict)
[docs] def test__get_annovar_dbs_to_use_for_build_version_hg38(self): dbs_ordered_dict = ns_test.AnnovarWrapper._get_annovar_dbs_to_use_for_build_version("hg38") self.assertDictEqual(ns_test.AnnovarWrapper.hg_19_databases, dbs_ordered_dict)
[docs] def test__get_annovar_dbs_to_use_for_build_version_error(self): with self.assertRaises(ValueError): ns_test.AnnovarWrapper._get_annovar_dbs_to_use_for_build_version("hg08")
# endregion
[docs] def test__build_table_annovar_command_str(self): expected_output = ('perl {0}/table_annovar.pl /my/vcf/dir/X45.raw.22.vcf {0}/humandb/ --buildver hg19 ' '-out /my/output/dir -remove -protocol knownGene,1000g2015aug_all -operation g,f ' '-nastring . -otherinfo -vcfinput'.format(self._annovar_install_path)) wrapper = ns_test.AnnovarWrapper(self._annovar_install_path, self._genome_build_version) real_output = wrapper._build_table_annovar_command_str("/my/vcf/dir/X45.raw.22.vcf", "/my/output/dir") self.maxDiff = None self.assertEqual(expected_output, real_output)
[docs] def test__build_annovar_database_download_command_str(self): expected_output = ["perl {0}/annotate_variation.pl -build hg19 -downdb -webfrom annovar knownGene " "{0}/humandb/".format(self._annovar_install_path)] wrapper = ns_test.AnnovarWrapper(self._annovar_install_path, self._genome_build_version, ['knownGene']) real_output = wrapper._build_annovar_database_download_command_str() self.assertListEqual(expected_output, real_output)