def run(self, input_sequence_file, input_sequence_type, daa_file_basename=None):
cmd_list = ["<STR_LIT>"]<EOL>if input_sequence_type == UnpackRawReads.PROTEIN_SEQUENCE_TYPE:<EOL><INDENT>cmd_list.append('<STR_LIT>')<EOL><DEDENT>elif input_sequence_type == UnpackRawReads.NUCLEOTIDE_SEQUENCE_TYPE:<EOL><INDENT>cmd_list.append('<STR_LIT>')<EOL><DEDENT>else:<EOL><INDENT>raise Exception("<STR_LIT>")<EOL><DEDENT>basename = daa_file_basename<EOL>if basename is None:<EOL><INDENT>with tempfile.NamedTemporaryFile(prefix='<STR_LIT>') as t:<EOL><INDENT>basename = t.name<EOL><DEDENT><DEDENT>for c in ['<STR_LIT>',<EOL>"<STR_LIT>",<EOL>self._database,<EOL>"<STR_LIT>",<EOL>"<STR_LIT:%s>" % input_sequence_file,<EOL>"<STR_LIT>",<EOL>basename]:<EOL><INDENT>cmd_list.append(c)<EOL><DEDENT>if self._threads:<EOL><INDENT>cmd_list.append("<STR_LIT>")<EOL>cmd_list.append(str(self._threads))<EOL><DEDENT>if self._evalue:<EOL><INDENT>cmd_list.append("<STR_LIT>")<EOL>cmd_list.append(str(self._evalue))<EOL><DEDENT>cmd = '<STR_LIT:U+0020>'.join(cmd_list)<EOL>extern.run(cmd)<EOL>daa_name = "<STR_LIT>" % basename<EOL>res = DiamondSearchResult.import_from_daa_file(daa_name)<EOL>if daa_file_basename is None:<EOL><INDENT>os.remove(daa_name)<EOL><DEDENT>return res<EOL>
Run input sequences in either blastp or blastx mode against the
        database specified in __init__.

        Parameters
        ----------
        input_sequence_file: str
            path to query sequences
        input_sequence_type: either 'nucleotide' or 'protein'
            the input_sequences are this kind of sequence

        Returns
        -------
        DiamondSearchResult