Skip to content

Latest commit

 

History

History
257 lines (246 loc) · 9.02 KB

File metadata and controls

257 lines (246 loc) · 9.02 KB

Part 4: Training and validation of predictive system

2024-07-08

This part describes the scripts used to develop and validate the predictive systems for classification of effective and adverse anti-cancer drug combinations using its efficacy and safety estimates.

4.1. Feature selection

Rscript Scripts/Predictive_model/Feature_selection_EfficacySafety.R
Arguments

Mandatory: --disease

Optional: --drug_target_type

Input
  • fgseaNES_EfficacySafety_[disease]_[drug_target_type].rds

  • drugCombs_cat_effVadv_[disease].rds

Output NES_EfficacySafety_selectedFeatures_[disease]_[drug_target_type].csv
Summary The script intakes the NES generated from FGSEA (section 3.2) and performs a one-sided Wilcoxon’s test to identify the features that have statistically significant (p<0.001) differences in the distribution of NES between the effective and adverse drug combinations. The script has been set to use the NES for the combined library consisting the disease and adverse effect related gene sets. For disease related features, the test checks if the effective drug combinations have a higher NES while for the adverse effect related features, it checks if the adverse drug combinations have higher NES.

4.2. Development of predictive system

Rscript Scripts/Predictive_model/train_predictiveSystem_combinedEfficacySafety_NES.R
Arguments

Mandatory: --disease

Optional: --drug_target_type

Input
  • fgseaNES_EfficacySafety_[disease]_[drug_target_type].rds

  • drugCombs_cat_effVadv_[disease].rds

  • NES_EfficacySafety_selectedFeatures_[disease]_[drug_target_type].csv

Output
  • model_characterization_[disease]_[drug_target_type].tiff

  • training_data_partition_[disease]_[drug_target_type].tiff

  • model_NES_combinedEfficacySafety_[disease]_[drug_target_type].rds

Summary The script trains a predictive system to distinguish effective from adverse drug combinations using the efficacy and safety estimates. Ideally, for each feature, the script identifies a threshold that partitions the effective and adverse drug combinations. The threshold forms the basis of the voting scheme that underlies the predictive system. Additionally, the scripts implements a repeated cross-fold validation framework to understand the variability of the threshold and accuracy of the model on changing data. The final predictive system is trained on the complete data. The output is an R list that contains the logistic regression models for each features that was used for threshold identification, the identified thresholds, and the results from the repeated cross-fold validation framework.

4.3. Preparing the validation datasets

Rscript

Scripts/Predictive_model/Validation_data_1.R

Scripts/Predictive_model/Validation_data_2.R

Scripts/Predictive_model/Validation_data_3.R

Arguments Mandatory: --disease
Input
  • drugCombs_data_[disease].rds

  • DrugBank_DDI_processed.rds

  • drugCombs_cat_effVadv_[disease].rds

  • STRING_PPI_Net.rds

  • DrugBank_Drug_Target_associations.rds

  • cancerdrugsdb.txt (Cancer Drug Database)

  • parsed_DrugBank_data.rds

  • 09.04.2024.zip (C-DCDB)

Output drugCombs_validation[1/2/3]_[disease].rds
Summary The scripts generate labelled drug combination data that will be used to validate the predictive systems. The output is a data frame with each row representing a drug combination. The columns include the DrugBank drug IDs for the combination, drug combination class and the drug targets.

4.4. Feature generation for validation datasets

Rscript

Scripts/Predictive_model/Validation_featureGeneration_1.R

Scripts/Predictive_model/Validation_featureGeneration_2.R

Scripts/Predictive_model/Validation_featureGeneration_3.R

Arguments

Mandatory: --disease

Optional: --drug_target_type, --nproc

Input
  • STRING_PPI_Net.rds

  • drugCombs_validation[1/2/3]_[disease].rds

  • Disease2Gene_[disease]_lib.rds

  • curatedAdr2Gene_lib.rds

Output
  • fgseaNES_combinedEfficacySafety_[disease]_[drug_target_type].rds (in Validation_data_[1/2/3] directory)

  • plot_validation[1/2/3]_AD_combinedEfficacySafety_[disease]_[drug_target_type].tiff

Summary The scripts takes in the drug combinations identified in section 4.3 and implements the RWR-FGSEA (as described in part 3) framework to return a data frame of the NES for the drug combinations in column against the gene sets in rows. However, since our predictive system is based on the combined efficacy-safety library, the NES for the validation data is generated only for the same. Additionally, the scripts plot the applicibility domain of the validation drug combinations w.r.t the training set drug combinations by considering one efficacy and one safety feature for the scatter plot.

4.5. Prediction on validation data sets

Rscript

Scripts/Predictive_model/Validation_prediction_1.R

Scripts/Predictive_model/Validation_prediction_2.R

Scripts/Predictive_model/Validation_prediction_3.R

Arguments

Mandatory: --disease

Optional: --drug_target_type

Input
  • model_NES_combinedEfficacySafety_[disease]_[drug_target_type].rds

  • drugCombs_validation[1/2/3]_[disease].rds

  • fgseaNES_combinedEfficacySafety_[disease]_[drug_target_type].rds

  • parsed_DrugBank_data.rds

Output
  • predictions_NES_combinedEfficacySafety_[disease]_[drug_target_type].csv

  • predictionMetrics_NES_combinedEfficacySafety_[disease]_[drug_target_type].csv

Summary The script uses the predictive system developed in section 4.2 and the efficacy and safety estimates calculated in section 4.4 to generate predictions for the validation data set drug combinations. The primary output is a data frame with the final score and the predicted categories along with other drug information. The script also calculates the accuracy of the prediction and writes it as a separate file.