def cluster(self, input_fasta_list, reverse_pipe):
output_fasta_list = []<EOL>for input_fasta in input_fasta_list:<EOL><INDENT>output_path  = input_fasta.replace('<STR_LIT>', '<STR_LIT>')<EOL>cluster_dict = {}<EOL>logging.debug('<STR_LIT>')<EOL>if os.path.exists(input_fasta):<EOL><INDENT>reads=self.seqio.read_fasta_file(input_fasta) <EOL>logging.debug('<STR_LIT>' % len(reads)) <EOL>clusters=self.clust.deduplicate(reads) <EOL>logging.debug('<STR_LIT>' % len(clusters)) <EOL>logging.debug('<STR_LIT>' % output_path) <EOL><DEDENT>else:<EOL><INDENT>logging.debug("<STR_LIT>")<EOL>clusters = []<EOL><DEDENT>self.seqio.write_fasta_file(<EOL>[x[<NUM_LIT:0>] for x in clusters],<EOL>output_path<EOL>) <EOL>for cluster in clusters:<EOL><INDENT>cluster_dict[cluster[<NUM_LIT:0>].name]=cluster <EOL><DEDENT>self.seq_library[output_path]= cluster_dict<EOL>output_fasta_list.append(output_path)<EOL><DEDENT>return output_fasta_list<EOL>
cluster - Clusters reads at 100% identity level and  writes them to
file. Resets the input_fasta variable as the FASTA file containing the
clusters.

Parameters
----------
input_fasta_list : list
    list of strings, each a path to input fasta files to be clustered.
reverse_pipe : bool
    True/False, whether the reverse reads pipeline is being followed.
Returns
-------
output_fasta_list : list
    list of strings, each a path to the output fasta file to which
    clusters were written to.