docs: def _read_fastq_files(f, args):
      """ read fasta files of each sample and generate a seq_obj
      with the information of each unique sequence in each sample
  
      :param f: file containing the path for each fasta file and
      the name of the sample. Two column format with `tab` as field
      separator
  
      :returns: * :code:`seq_l`: is a list of seq_obj objects, containing
                 the information of each sequence
               * :code:`sample_l`: is a list with the name of the samples
                 (column two of the config file)
      """
      seq_l = {}
      sample_l = []
      idx = 1
      p = re.compile("^[ATCGNU]+$")
      with open(op.join(args.out, "stats_prepare.tsv"), 'w') as out_handle:
          for line1 in f:
              line1 = line1.strip()
              cols = line1.split("\t")
              # if not is_fastq(cols[0]):
              #    raise ValueError("file is not fastq: %s" % cols[0])
              with open_fastq(cols[0]) as handle:
                  sample_l.append(cols[1])
                  total = added = 0
                  for line in handle:
                      if line.startswith("@") or line.startswith(">"):
                          seq = handle.next().strip()
                          if not p.match(seq):
                              continue
                          idx += 1
                          total += 1
                          keep = {}
                          counts = int(re.search("x([0-9]+)", line.strip()).group(1))
                          if is_fastq(cols[0]):
                              handle.next().strip()
                              qual = handle.next().strip()
                          else:
                              qual = "I" * len(seq)
                          qual = qual[0:int(args.maxl)] if len(qual) > int(args.maxl) else qual
                          seq = seq[0:int(args.maxl)] if len(seq) > int(args.maxl) else seq
                          if counts > int(args.minc) and len(seq) > int(args.minl):
                              added += 1
                              if seq in keep:
                                  keep[seq].update(qual)
                              else:
                                  keep[seq] = quality(qual)
                              if seq not in seq_l:
                                  seq_l[seq] = sequence_unique(idx, seq)
                              seq_l[seq].add_exp(cols[1], counts)
                              seq_l[seq].quality = keep[seq].get()
                  print("total\t%s\t%s" % (idx, cols[1]), file=out_handle, end="")
                  print("added\t%s\t%s" % (len(seq_l), cols[1]), file=out_handle, end="")
                  logger.info("%s: Total read %s ; Total added %s" % (cols[1], idx, len(seq_l)))
      return seq_l, sample_l