docs: def multiple_outputs_from_file(cls, filename, keep_sub_files=True):
          """
              Parses a QChem output file with multiple calculations
              1.) Seperates the output into sub-files
                  e.g. qcout -> qcout.0, qcout.1, qcout.2 ... qcout.N
                  a.) Find delimeter for multiple calcualtions
                  b.) Make seperate output sub-files
              2.) Creates seperate QCCalcs for each one from the sub-files
          """
          to_return = []
          with zopen(filename, 'rt') as f:
              text = re.split(r'\s*(?:Running\s+)*Job\s+\d+\s+of\s+\d+\s+',
                              f.read())
          if text[0] == '':
              text = text[1:]
          for i, sub_text in enumerate(text):
              temp = open(filename + '.' + str(i), 'w')
              temp.write(sub_text)
              temp.close()
              tempOutput = cls(filename + '.' + str(i))
              to_return.append(tempOutput)
              if not keep_sub_files:
                  os.remove(filename + '.' + str(i))
          return to_return