def print_extended_help():
    """
    print a detailed help message
    :return:
    """
    w = textwrap.TextWrapper()
    w.expand_tabs = False
    w.width = 85
    w.initial_indent = '\t'
    w.subsequent_indent = '\t  '

    print('')
    print(textwrap.fill("<postanalyze> Complete parameter list:", initial_indent=''))
    print('')

    cmd = "--input : (required) csv file to split into training and test sets"
    print(w.fill(cmd))
    cmd = "\t\tColumns should be as follows:"
    print(w.fill(cmd))
    print('')
    cmd="\t\t    id, status, receptor_1, receptor_2, ..., receptor_N"
    print(w.fill(cmd))
    cmd="\t\t  CH44,      1,       -9.7,       -9.3, ...,      -10.2"
    print(w.fill(cmd))
    cmd="\t\t  ZN44,      0,       -6.6,       -6.1, ...,       -6.8"
    print(w.fill(cmd))
    print('')
    cmd="\t\tid is a unique molecular identifier"
    print(w.fill(cmd))
    cmd="\t\tstatus takes a value of '1' if the molecule is active and '0' otherwise."
    print(w.fill(cmd))
    cmd="\t\treceptor_1 through receptor_N are docking scores."
    print(w.fill(cmd))
    print('')

    outname = "--outname : (required) the prefix of the outputfiles."
    print(w.fill(outname))
    print('')

    ensemble_list = "--ensemble_list : (required) a list of csv files that contain the queries in\
	the ensemble. For example, 'Ensemble_1_queries.csv Ensemble_2_queries.csv\
	Ensemble_3_queries.csv ...'"
    print(w.fill(ensemble_list))
    print('')

    compare = "--compare : (optional) Compare the virtual screening results for the\
	ensembles specified after the '--ensemble_list' flag. No more than two ensembles\
	may be specified at once."
    print(w.fill(compare))
    print('')

    fpf = "--fpf : (optional) Evaluate ensemble performance at the set of specified FPF values. \
    By default, values of '0.0001', '0.001', '0.01', and '0.05' are considered, if they are defined."
    print(w.fill(fpf))
    print('')

    plot = "--plot : (optional) Generate ROC plots of the input ensembles and their\
	members."
    print(w.fill(plot))
    print('')

    roc_data = "--write_roc : (optional) if the '--write_roc' flag is set, a 'ROC_DATA' \
	directory will be created, & ROC data points will be written there for each\
	ensemble. The default is not to write ROC data points."
    print(w.fill(roc_data))
    print('')