schrodinger.active_learning.al_report module¶
- schrodinger.active_learning.al_report.get_ligand_ml_metric(ligand_ml_model_file)¶
Extract the test set metrics, test set labels and predictions from ligand_ml model file.
- Parameters
ligand_ml_model_file (str) – ligand_ml .qzip model file.
- Returns
r2, mae, rmse, labels and prediction of the test set
- Return type
float, float, float, 1d numpy array, 2d numpy array
- schrodinger.active_learning.al_report.make_train_report(ligand_ml_model_file, report_path, iter_num)¶
Generate a pdf file that records the test set metrics of the ligand_ml model.
- Parameters
ligand_ml_model_file (str) – ligand_ml .qzip model file.
report_path (str) – path of the pdf report
iter_num (int) – current iteration number
- schrodinger.active_learning.al_report.make_score_hist_plot(name_to_scores, x_label, plot_path)¶
Generate a bar-type histogram plot which contains multiple data. The names of the data are used as the legends.
- Parameters
name_to_scores (dict(str:list)) – a dictionary where keys are used as the legends and values are the numbers to be plotted.
x_label (str) – label of x-axis
plot_path (str) – path of the saved plot
- schrodinger.active_learning.al_report.get_image(path, width=72.0)¶
Convert image file to reportlab image object that has the same aspect ratio and specified width.
- Parameters
path (str) – path of the image file.
width (float) – width of the reportlab image.
- Returns
reportlab image
- Return type
reportlab.platypus.Image
- schrodinger.active_learning.al_report.get_report_maker(active_learning_job)¶
Get corresponding report maker for the active learning job. It returns None for evaluate task since we do not have report for it yet.
- Parameters
active_learning_job (ActiveLearningJob) – active learning job to be processed.
- Returns
corresponding report maker
- Return type
- schrodinger.active_learning.al_report.get_time_cost(nodes, node_name)¶
Return the time cost of a node. It returns ‘Unavailable’ if the time cost is not available.
- Parameters
nodes (dict{str: ActiveLearningNode}) – dict that maps node name to node object.
node_name (str) – name of the active learning node of interest.
- Returns
time cost in h/m/s format.
- Return type
str
- schrodinger.active_learning.al_report.get_score_pred_as_array(title_to_score, pred_score_file, discard_cutoff, ascending=True)¶
Return the score, predicted score, prediction uncertainty of the ligands as the N X 3 numpy array.
- Parameters
title_to_score (dict(str:float)) – dict that maps ligand title to score.
pred_score_file (str) – path of the ligand ml prediction .csv file.
discard_cutoff (float) – score cutoff for excluding the ligands in ML training set.
ascending (bool) – lower value means better ligand if ascending is True
- Returns
numpy array of (num_of_ligands X (score, pred, uncertain))
- Return type
N X 3 numpy array
- schrodinger.active_learning.al_report.calculate_recovery_ratio(label_pred, top_ratio)¶
Calculate the recovery ratio of the best ligands based on label in different numbers of the top ligands predicted by ligand_ml. More negative value means better ligand.
- Parameters
label_pred ((number of ligands X 2) numpy array.) – numpy array contains the (label, prediction).
top_ratio (float) – top ratio of the ligands by label.
- Returns
(screen ratio, recovery ratio of top ligands defined by top_ratio) of all the ligands.
- Return type
(number of ligands X 2) numpy array
- schrodinger.active_learning.al_report.plot_regression(y_true, y_pred, fname)¶
Generate regression plot. This function is sightly modified from ligand_ml/plotting.py to change the labels of axis.
- Parameters
y_true (1d numpy array) – test set label.
y_pred (2d numpy array) – ligand_ml prediction and uncertainty
fname (str) – filename to save the image
- schrodinger.active_learning.al_report.plot_recovery(recovery_results, fname)¶
Generate and save recovery plot image.
- Parameters
recovery_results (dict{float:np.array}) – dict that maps top ratio to the recovery ratio numpy array.
fname (str) – path of the saved image.
- schrodinger.active_learning.al_report.make_regress_recovery_plots(y_true, y_pred_uncertain, top_ratio_samples, regress_text, recovery_text)¶
Generate regression plot and recovery plot and include both in a table. Also return the recovery results for the sampled top ratios as a dict.
- schrodinger.active_learning.al_report.make_recovery_table(recovery_results, screen_ratio_samples)¶
Generate a list of list that contains the recovery ratio for certain top ratio and screen ratio.
- Parameters
recovery_results (dict{float:np.array}) – dict that maps top ratio to the recovery ratio numpy array.
screen_ratio_samples (list(float)) – list of screen ratios
- Returns
table as a list of list, table caption, largest enrichment in the table.
- Return type
list(list(str)), str, float
- schrodinger.active_learning.al_report.get_conclusion_string(best_enrichment, job_type, high_enrich=10, low_enrich=2)¶
Return the conclusion string based on the job type and the higheest enrichment we have in the recovery ratio table.
- class schrodinger.active_learning.al_report.ALReportMaker(active_learning_job)¶
Bases:
object
Base class for different types of AL report maker.
- __init__(active_learning_job)¶
Initialize the report maker for an active learning job
- initReport(header)¶
Initialize the report and add header information
- class schrodinger.active_learning.al_report.ALPilotReportMaker(active_learning_job)¶
Bases:
schrodinger.active_learning.al_report.ALReportMaker
- __init__(active_learning_job)¶
Initialize the report maker for an active learning job
- report()¶
Function for building the report
- addRunDetail()¶
Add job specifications and running time cost information to the report
- addRecoveryResults()¶
Add the regression plot, recovery plot, recovery table and conclusion to the report.
- initReport(header)¶
Initialize the report and add header information
- class schrodinger.active_learning.al_report.ALScreenReportMaker(active_learning_job)¶
Bases:
schrodinger.active_learning.al_report.ALReportMaker
- __init__(active_learning_job)¶
Initialize the report maker for an active learning job
- report()¶
Function for building the report
- addRunDetail()¶
Add job specifications and running time cost information to the report
- addRecoveryResults()¶
Add the regression plot, recovery plot, recovery table and conclusion to the report.
- initReport(header)¶
Initialize the report and add header information