docs: def nhmmer(self, output_path, unpack, threads, evalue):
          '''
          nhmmer - Search input path using nhmmer
  
          Parameters
          ----------
          output_path : str
              A string containing the path to the input sequences
          unpack : obj
              UnpackRawReads object, returns string command that will output
              sequences to stdout when called on command line
              (use: unpack.command_line())
          threads : str
              Number of threads to run. For compiling command line.
          evalue : str
              evalue to use. For compiling commmand line.
  
          Returns
          -------
          output_table_list : array
              Includes the name of the output domtblout table given by hmmer
          '''
          logging.debug("Using %i HMMs to search" % (len(self.search_hmm)))
          output_table_list = []
          if len(self.search_hmm) > 1:
              for hmm in self.search_hmm:
                  out = os.path.join(os.path.split(output_path)[0], os.path.basename(hmm).split('.')[0] + '_' + os.path.split(output_path)[1])
                  output_table_list.append(out)
          elif len(self.search_hmm) == 1:
              output_table_list.append(output_path)
          else:
              raise Exception("Programming error: Expected 1 or more HMMs")
          input_pipe = unpack.command_line()
  
          searcher = NhmmerSearcher(threads, extra_args='--incE %s -E %s' % (evalue, evalue))
          searcher.hmmsearch(input_pipe, self.search_hmm, output_table_list)
  
          hmmtables = [HMMSearchResult.import_from_nhmmer_table(x) for x in output_table_list]
  
          return hmmtables, output_table_list