def fastqIterator(fn, verbose=False, allowNameMissmatch=False):
it = fastqIteratorSimple(fn, verbose=verbose,<EOL>allowNameMissmatch=allowNameMissmatch)<EOL>for s in it:<EOL><INDENT>yield s<EOL><DEDENT>
A generator function which yields FastqSequence objects read from a file or
stream. This is a general function which wraps fastqIteratorSimple. In
future releases, we may allow dynamic switching of which base iterator is
used.

:param fn:                 A file-like stream or a string; if this is a
                           string, it's treated as a filename specifying
                           the location of an input fastq file, else it's
                           treated as a file-like object, which must have a
                           readline() method.
:param useMustableString:  if True, construct sequences from lists of
                           chars, rather than python string objects, to
                           allow more efficient editing. Use with caution.
:param verbose:            if True, print messages on progress to stderr.
:param debug:              if True, print debugging messages to stderr.
:param sanger:             if True, assume quality scores are in sanger
                           format. Otherwise, assume they're in Illumina
                           format.
:param allowNameMissmatch: don't throw error if name in sequence data and
                           quality data parts of a read don't match. Newer
                           version of CASVA seem to output data like this,
                           probably to save space.