from scry_blast.config import DATABASES

SPECIAL_OPTIONS = {'db'                     : DATABASES,
                   'program'                : ['blastn','blastp','blastx','tblastn','tblastx']}

ALLOWED_OPTIONS = {'best_hit_overhang'      : True ,
                   'best_hit_score_edge'    : True ,
                   'comp_based_stats'       : True ,
                   'culling_limit'          : True ,
                   'db_gencode'             : True ,
                   'db_hard_mask'           : False,
                   'db_soft_mask'           : False,
                   'dbsize'                 : False,
                   'dust'                   : True ,
                   'entrez_query'           : False,
                   'evalue'                 : True ,
                   'export_search_strategy' : False,
                   'filtering_db'           : False,
                   'gapextend'              : True ,
                   'gapopen'                : True ,
                   'gilist'                 : False,
                   'import_search_strategy' : False,
                   'in_pssm'                : False,
                   'index_name'             : False,
                   'matrix'                 : True ,
                   'max_hsps'               : True ,
                   'max_intron_length'      : True ,
                   'max_target_seqs'        : True ,
                   'min_raw_gapped_score'   : True ,
                   'negative_gilist'        : False,
                   'num_alignments'         : True ,
                   'num_descriptions'       : True ,
                   'num_threads'            : False,
                   'off_diagonal_range'     : True ,
                   'out'                    : False,
                   'outfmt'                 : False,
                   'penalty'                : True ,
                   'query'                  : False,
                   'query_gencode'          : True ,
                   'query_loc'              : True ,
                   'reward'                 : True ,
                   'searchsp'               : True ,
                   'seg'                    : True ,
                   'seqidlist'              : False,
                   'show_gis'               : False,
                   'soft_masking'           : False,
                   'strand'                 : True ,
                   'subject'                : False,
                   'subject_loc'            : False,
                   'task'                   : False,
                   'template_length'        : False,
                   'template_type'          : False,
                   'threshold'              : True ,
                   'use_index'              : False,
                   'windows_masker_db'      : False,
                   'window_masker_taxid'    : False,
                   'window_size'            : True ,
                   'word_size'              : True ,
                   'xdrop_gap'              : True ,
                   'xdrop_gap_final'        : True ,
                   'xdrop_ungap'            : True }

ALLOWED_FLAGS   = {'h'                      : False,
                   'help'                   : False,
                   'html'                   : False,
                   'lcase_masking'          : True ,
                   'no_greedy'              : True ,
                   'parse_deflines'         : False,
                   'remote'                 : False,
                   'show_gis'               : False,
                   'sum_statistics'         : True ,
                   'ungapped'               : True ,
                   'use_sw_tback'           : True ,
                   'version'                : False}