code: def build_tree_raxml(self,
                     new_path    = None,
                     seq_type    = 'nucl' or 'prot',
                     num_threads = None,
                     free_cores  = 2,
                     keep_dir    = False):
          
          # Check output #
          if new_path is None: new_path = self.prefix_path + '.tree'
          # What model to choose #
          if seq_type == 'nucl': model = "GTRGAMMA"
          if seq_type == 'prot': model = "PROTGAMMAJTTF"
          # Threads #
          if num_threads is None: num_threads = multiprocessing.cpu_count() - free_cores
          else:                   num_threads = int(num_threads) - free_cores
          num_threads = max(1, num_threads)
          # Run it #
          temp_dir = new_temp_dir()
          sh.raxml811('-m', model, "-T", num_threads, '-p', 1, '-s', self.path, '-n', 'tree', '-w', temp_dir, '-f', 'a', '-x', 1, '-N', 'autoMR')
          # Move into place #
          if keep_dir:
              shutil.rmtree(new_path)
              shutil.move(temp_dir, new_path)
          if not keep_dir:
              shutil.move(temp_dir + 'RAxML_bestTree.tree', new_path)
          # Return #
          return FilePath(new_path)
docs: Make a tree with RAxML.