diff --git a/scripts/importer/validateData.py b/scripts/importer/validateData.py index cceb2222..4c926653 100755 --- a/scripts/importer/validateData.py +++ b/scripts/importer/validateData.py @@ -3217,8 +3217,9 @@ def checkNCBIbuild(ncbi_build): def checkSVstatus(sv_status): """ Allowed values for SV_Status column are SOMATIC and GERMLINE """ if sv_status is None: - self.logger.warning('No value in SV_Status, assuming the variant is SOMATIC', - extra={'line_number': self.line_number}) + self.logger.error('Invalid SV_Status value: possible values are [SOMATIC, GERMLINE]', + extra={'line_number': self.line_number, + 'cause': sv_status}) elif sv_status.lower() == 'germline': self.logger.warning('GERMLINE variant identified from the SV_Status value. If this variant is not meant for public release, please remove it.', extra={'line_number': self.line_number, diff --git a/tests/unit_tests_validate_data.py b/tests/unit_tests_validate_data.py index 11c77303..b6633371 100755 --- a/tests/unit_tests_validate_data.py +++ b/tests/unit_tests_validate_data.py @@ -2023,9 +2023,15 @@ def test_missing_values(self): self.logger.setLevel(logging.ERROR) record_list = self.validate('data_structural_variants_missing_values.txt', validateData.StructuralVariantValidator) - self.assertEqual(2, len(record_list)) + self.assertEqual(3, len(record_list)) record_iterator = iter(record_list) + # Expected first error due to a SV_Status being empty + record = next(record_iterator) + self.assertEqual(logging.ERROR, record.levelno) + self.assertEqual(3, record.line_number) + self.assertIn("Invalid SV_Status value: possible values are [SOMATIC, GERMLINE]", record.message) + # Expected ERROR message due to missing Entrez gene id and/or gene symbol at site 1 and site 2 record = next(record_iterator) self.assertEqual(logging.ERROR, record.levelno)