def _check_fastq_read(read, read_index):
    """ This is a helper function for validing a single fastq read. It returns
        a list of all errors for this read. It is not intended for external use.
    """
    errors = []
    identifier_line_number = read_index * 4
    sequence_line_number = read_index * 4 + 1
    sequence_len = len(read[1])
    if sequence_len == 0:
        msg = (
            'ERROR on Line {}: Raw Sequence is shorter than the min read length: 0'
            .format(sequence_line_number))
        errors.append(msg)
    plus_line_number = read_index * 4 + 2
    quality_line_number = read_index * 4 + 3
    quality_len = len(read[2])
    if quality_len != sequence_len:
        msg = (
            'ERROR on Line {}: Quality string length ({}) does not equal raw sequence length ({})'
            .format(quality_line_number, quality_len, sequence_len))
        errors.append(msg)
    return errors
