code: def get_fastq_files(data):
      
      assert "files" in data, "Did not find `files` in input; nothing to process"
      ready_files = []
      should_gzip = True
  
      # Bowtie does not accept gzipped fastq
      if 'bowtie' in data['reference'].keys():
          should_gzip = False
      for fname in data["files"]:
          if fname.endswith(".bam"):
              if _pipeline_needs_fastq(data["config"], data):
                  ready_files = convert_bam_to_fastq(fname, data["dirs"]["work"],
                                                     data, data["dirs"], data["config"])
              else:
                  ready_files = [fname]
          elif objectstore.is_remote(fname):
              ready_files.append(fname)
          # Trimming does quality conversion, so if not doing that, do an explicit conversion
          elif not(dd.get_trim_reads(data)) and dd.get_quality_format(data) != "standard":
              out_dir = utils.safe_makedir(os.path.join(dd.get_work_dir(data), "fastq_convert"))
              ready_files.append(fastq.groom(fname, data, out_dir=out_dir))
          else:
              ready_files.append(fname)
      ready_files = [x for x in ready_files if x is not None]
      if should_gzip:
          out_dir = utils.safe_makedir(os.path.join(dd.get_work_dir(data), "fastq"))
          ready_files = [_gzip_fastq(x, out_dir) for x in ready_files]
      for in_file in ready_files:
          if not objectstore.is_remote(in_file):
              assert os.path.exists(in_file), "%s does not exist." % in_file
      return ready_files
docs: Retrieve fastq files for the given lane, ready to process.