def get_params():
    """Parse and analyse command line parameters."""
    import argparse
    parser_usage = """
Provide an input file generated using mmseqs2 and converted into BLASTP compatible tab-separated format.
Outputs a file of ortholog and paralogs that can be processed by InParanoid.
"""
    parser = argparse.ArgumentParser(description='mmseqs2 parser 0.1',
        usage=parser_usage)
    parser.add_argument('-i', '--input', type=str, required=True, help=
        """Tab-separated alignment file generated using mmseqs2 and converted in BLASTP tab-separated format.
NOTE: for details on the fields contained in the output refer to function inparanoid_like_parser"""
        , default=None)
    parser.add_argument('-q', '--query', type=str, required=True, help=
        'FASTA file with the query proteins.', default=None)
    parser.add_argument('-t', '--db', type=str, required=True, help=
        'FASTA file with the target proteins.', default=None)
    parser.add_argument('-o', '--output', type=str, required=True, help=
        'File in which the output will be stored.', default=None)
    parser.add_argument('-r', '--run-dir', type=str, required=False, help=
        'Directory in which the files with sequence lengths are stored.',
        default=None)
    parser.add_argument('-c', '--cutoff', type=int, required=False, help=
        'Cutoff score (sum of hsp bitscores for each hit) for alignments.',
        default=40)
    parser.add_argument('-d', '--debug', required=False, help=
        """Output debug information.
NOTE: this is not used when the input is STDIN."""
        , default=False, action='store_true')
    args = parser.parse_args()
    return args, parser
