diff --git a/backend/metagenedb/common/utils/parsers/eggnog.py b/backend/metagenedb/common/utils/parsers/eggnog.py index 51fdf35017c89528acfe5ed34a7012af141a4cf1..70b8aeb5993df653e16533e47d678e40068879ca 100644 --- a/backend/metagenedb/common/utils/parsers/eggnog.py +++ b/backend/metagenedb/common/utils/parsers/eggnog.py @@ -15,7 +15,7 @@ class EggNogAnnotationLineParser(object): return { 'functional_category': elements[2], 'function_id': elements[1], - 'name': elements[3], + 'name': elements[3].rstrip(), } except Exception: _LOGGER.error(f"Could not parse: {line.rstrip()}. Are you sure it comes from eggnog annotations.tsv?") diff --git a/backend/metagenedb/common/utils/parsers/test_eggnog.py b/backend/metagenedb/common/utils/parsers/test_eggnog.py index 5ffe229595a5e1b8fab690ab93345609c37a9d0d..ab22354d8ad18bde9420114c9b8fc1ccf9076245 100644 --- a/backend/metagenedb/common/utils/parsers/test_eggnog.py +++ b/backend/metagenedb/common/utils/parsers/test_eggnog.py @@ -5,8 +5,8 @@ from metagenedb.common.utils.parsers import EggNogAnnotationLineParser class TestEggNogAnnotationLineParser(TestCase): - def test_ko_list(self): - ko_line = "1\t28H54\tK\ttranslational termination" + def test_get_dict(self): + ko_line = "1\t28H54\tK\ttranslational termination\n" expected_dict = { 'function_id': "28H54", 'name': "translational termination", @@ -15,7 +15,17 @@ class TestEggNogAnnotationLineParser(TestCase): test_dict = EggNogAnnotationLineParser.get_dict(ko_line) self.assertDictEqual(test_dict, expected_dict) - def test_ko_list_wrong_format(self): + def test_get_dict_no_name(self): + ko_line = "1\t28H50\tS\t\n" + expected_dict = { + 'function_id': "28H50", + 'name': "", + 'functional_category': "S" + } + test_dict = EggNogAnnotationLineParser.get_dict(ko_line) + self.assertDictEqual(test_dict, expected_dict) + + def test_get_dict_wrong_format(self): ko_line = "This is a wrong line format, with; information and tab" with self.assertRaises(Exception) as context: # noqa EggNogAnnotationLineParser.get_dict(ko_line)