nodes: 0, module; 1, function_definition; 2, function_name:uclust_cluster_from_sorted_fasta_filepath; 3, parameters; 4, block; 5, identifier:fasta_filepath; 6, default_parameter; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, default_parameter; 11, default_parameter; 12, default_parameter; 13, default_parameter; 14, default_parameter; 15, default_parameter; 16, default_parameter; 17, default_parameter; 18, default_parameter; 19, default_parameter; 20, default_parameter; 21, expression_statement; 22, expression_statement; 23, if_statement; 24, expression_statement; 25, expression_statement; 26, comment:# Set any additional parameters specified by the user; 27, if_statement; 28, if_statement; 29, if_statement; 30, if_statement; 31, if_statement; 32, if_statement; 33, if_statement; 34, expression_statement; 35, return_statement; 36, identifier:uc_save_filepath; 37, None; 38, identifier:percent_ID; 39, float:0.97; 40, identifier:max_accepts; 41, integer:1; 42, identifier:max_rejects; 43, integer:8; 44, identifier:stepwords; 45, integer:8; 46, identifier:word_length; 47, integer:8; 48, identifier:optimal; 49, False; 50, identifier:exact; 51, False; 52, identifier:suppress_sort; 53, False; 54, identifier:enable_rev_strand_matching; 55, False; 56, identifier:subject_fasta_filepath; 57, None; 58, identifier:suppress_new_clusters; 59, False; 60, identifier:stable_sort; 61, False; 62, identifier:tmp_dir; 63, call; 64, identifier:HALT_EXEC; 65, False; 66, comment:""" Returns clustered uclust file from sorted fasta"""; 67, assignment; 68, not_operator; 69, block; 70, assignment; 71, assignment; 72, identifier:enable_rev_strand_matching; 73, block; 74, identifier:optimal; 75, block; 76, identifier:exact; 77, block; 78, identifier:suppress_sort; 79, block; 80, identifier:subject_fasta_filepath; 81, block; 82, identifier:suppress_new_clusters; 83, block; 84, identifier:stable_sort; 85, block; 86, assignment; 87, identifier:app_result; 88, identifier:gettempdir; 89, argument_list; 90, identifier:output_filepath; 91, identifier:uc_save_filepath; 92, identifier:output_filepath; 93, expression_statement; 94, identifier:params; 95, dictionary; 96, identifier:app; 97, call; 98, expression_statement; 99, expression_statement; 100, expression_statement; 101, expression_statement; 102, expression_statement; 103, expression_statement; 104, expression_statement; 105, identifier:app_result; 106, call; 107, assignment; 108, pair; 109, pair; 110, pair; 111, pair; 112, pair; 113, pair; 114, identifier:Uclust; 115, argument_list; 116, call; 117, call; 118, call; 119, call; 120, call; 121, call; 122, call; 123, identifier:app; 124, argument_list; 125, pattern_list; 126, call; 127, string; 128, identifier:percent_ID; 129, string; 130, identifier:max_accepts; 131, string; 132, identifier:max_rejects; 133, string; 134, identifier:stepwords; 135, string; 136, identifier:word_length; 137, string; 138, identifier:tmp_dir; 139, identifier:params; 140, keyword_argument; 141, keyword_argument; 142, attribute; 143, argument_list; 144, attribute; 145, argument_list; 146, attribute; 147, argument_list; 148, attribute; 149, argument_list; 150, attribute; 151, argument_list; 152, attribute; 153, argument_list; 154, attribute; 155, argument_list; 156, dictionary; 157, identifier:_; 158, identifier:output_filepath; 159, identifier:mkstemp; 160, argument_list; 161, string_content:--id; 162, string_content:--maxaccepts; 163, string_content:--maxrejects; 164, string_content:--stepwords; 165, string_content:--w; 166, string_content:--tmpdir; 167, identifier:TmpDir; 168, identifier:tmp_dir; 169, identifier:HALT_EXEC; 170, identifier:HALT_EXEC; 171, subscript; 172, identifier:on; 173, subscript; 174, identifier:on; 175, subscript; 176, identifier:on; 177, subscript; 178, identifier:on; 179, subscript; 180, identifier:on; 181, identifier:subject_fasta_filepath; 182, subscript; 183, identifier:on; 184, subscript; 185, identifier:on; 186, pair; 187, pair; 188, keyword_argument; 189, keyword_argument; 190, keyword_argument; 191, attribute; 192, string; 193, attribute; 194, string; 195, attribute; 196, string; 197, attribute; 198, string; 199, attribute; 200, string; 201, attribute; 202, string; 203, attribute; 204, string; 205, string; 206, identifier:fasta_filepath; 207, string; 208, identifier:output_filepath; 209, identifier:dir; 210, identifier:tmp_dir; 211, identifier:prefix; 212, string; 213, identifier:suffix; 214, string; 215, identifier:app; 216, identifier:Parameters; 217, string_content:--rev; 218, identifier:app; 219, identifier:Parameters; 220, string_content:--optimal; 221, identifier:app; 222, identifier:Parameters; 223, string_content:--exact; 224, identifier:app; 225, identifier:Parameters; 226, string_content:--usersort; 227, identifier:app; 228, identifier:Parameters; 229, string_content:--lib; 230, identifier:app; 231, identifier:Parameters; 232, string_content:--libonly; 233, identifier:app; 234, identifier:Parameters; 235, string_content:--stable_sort; 236, string_content:--input; 237, string_content:--uc; 238, string_content:uclust_clusters; 239, string_content:.uc
code: def uclust_cluster_from_sorted_fasta_filepath(
          fasta_filepath,
          uc_save_filepath=None,
          percent_ID=0.97,
          max_accepts=1,
          max_rejects=8,
          stepwords=8,
          word_length=8,
          optimal=False,
          exact=False,
          suppress_sort=False,
          enable_rev_strand_matching=False,
          subject_fasta_filepath=None,
          suppress_new_clusters=False,
          stable_sort=False,
          tmp_dir=gettempdir(),
          HALT_EXEC=False):
      """ Returns clustered uclust file from sorted fasta"""
      output_filepath = uc_save_filepath
      if not output_filepath:
          _, output_filepath = mkstemp(dir=tmp_dir, prefix='uclust_clusters',
                                       suffix='.uc')
  
      params = {'--id': percent_ID,
                '--maxaccepts': max_accepts,
                '--maxrejects': max_rejects,
                '--stepwords': stepwords,
                '--w': word_length,
                '--tmpdir': tmp_dir}
      app = Uclust(params,
                   TmpDir=tmp_dir, HALT_EXEC=HALT_EXEC)
  
      # Set any additional parameters specified by the user
      if enable_rev_strand_matching:
          app.Parameters['--rev'].on()
      if optimal:
          app.Parameters['--optimal'].on()
      if exact:
          app.Parameters['--exact'].on()
      if suppress_sort:
          app.Parameters['--usersort'].on()
      if subject_fasta_filepath:
          app.Parameters['--lib'].on(subject_fasta_filepath)
      if suppress_new_clusters:
          app.Parameters['--libonly'].on()
      if stable_sort:
          app.Parameters['--stable_sort'].on()
  
      app_result = app({'--input': fasta_filepath, '--uc': output_filepath})
      return app_result