def create_fastq_line(read_id, sequence, q_values):
    """Create a fastq string from the necessary fields. Do not include newlines!

    :param read_id: unique identifier for read
    :param sequence: sequence of nucleotides
    :param q_values: quality score values associated with the sequence
    """
    assert read_id.find('\n') == -1, 'Remove newline characterss from read_id'
    assert sequence.find('\n') == -1, 'Remove newline characters from sequence'
    assert q_values.find('\n') == -1, 'Remove newline characters from q_values'
    assert len(sequence) == len(q_values
        ), 'sequence and q_values must to be the same size'
    if not read_id.startswith('@'):
        read_id = '@' + read_id
    line1 = read_id + '\n'
    line2 = sequence + '\n'
    line3 = '+\n'
    fastq = line1 + line2 + line3 + q_values
    return fastq
