code: def _set_default_versions(self, config):
          
          out = []
          for name in ["gatk", "gatk4", "picard", "mutect"]:
              v = tz.get_in(["resources", name, "version"], config)
              if not v:
                  try:
                      v = programs.get_version(name, config=config)
                  except KeyError:
                      v = None
              out.append(v)
          self._gatk_version, self._gatk4_version, self._picard_version, self._mutect_version = out
docs: Retrieve pre-computed version information for expensive to retrieve versions.
          Starting up GATK takes a lot of resources so we do it once at start of analysis.