def run(self, key, value, num_alts):
        """Check value in INFO[key] of record

        Currently, only checks for consistent counts are implemented

        :param str key: key of INFO entry to check
        :param value: value to check
        :param int alts: list of alternative alleles, for length
        """
        field_info = self.header.get_info_field_info(key)
        if not isinstance(value, list):
            return
        TABLE = {
            ".": len(value),
            "A": num_alts,
            "R": num_alts + 1,
            "G": binomial(num_alts + 1, 2),  # diploid only at the moment
        }
        expected = TABLE.get(field_info.number, field_info.number)
        if len(value) != expected:
            tpl = "Number of elements for INFO field {} is {} instead of {}"
            warnings.warn(
                tpl.format(key, len(value), field_info.number), exceptions.IncorrectListLength
            )