| Title: | Personalized Network-Based Anti-Cancer Therapy Evaluation | 
| Version: | 1.0.1 | 
| Maintainer: | Ege Ulgen <egeulgen@gmail.com> | 
| Description: | Identification of the most appropriate pharmacotherapy for each patient based on genomic alterations is a major challenge in personalized oncology. 'PANACEA' is a collection of personalized anti-cancer drug prioritization approaches utilizing network methods. The methods utilize personalized "driverness" scores from 'driveR' to rank drugs, mapping these onto a protein-protein interaction network. The "distance-based" method scores each drug based on these scores and distances between drugs and genes to rank given drugs. The "RWR" method propagates these scores via a random-walk with restart framework to rank the drugs. The methods are described in detail in Ulgen E, Ozisik O, Sezerman OU. 2023. PANACEA: network-based methods for pharmacotherapy prioritization in personalized oncology. Bioinformatics <doi:10.1093/bioinformatics/btad022>. | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.2.3 | 
| URL: | https://github.com/egeulgen/PANACEA, https://egeulgen.github.io/PANACEA/ | 
| BugReports: | https://github.com/egeulgen/PANACEA/issues | 
| Imports: | org.Hs.eg.db, DBI, igraph, reshape2 | 
| Suggests: | rmarkdown, knitr, testthat (≥ 3.0.0), covr | 
| Config/testthat/edition: | 3 | 
| Depends: | R (≥ 4.0) | 
| LazyData: | true | 
| LazyDataCompression: | xz | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | yes | 
| Packaged: | 2023-08-19 12:57:02 UTC; egeulgen | 
| Author: | Ege Ulgen | 
| Repository: | CRAN | 
| Date/Publication: | 2023-08-19 13:22:36 UTC | 
PANACEA: Personalized Network-based Anti-Cancer Therapy Evaluation
Description
Identification of the most appropriate pharmacotherapy for each patient based
on genomic alterations is a major challenge in personalized oncology.
PANACEA is a collection of personalized anti-cancer drug prioritization
approaches utilizing network methods. The methods utilize personalized
"driverness" scores from 'driveR' to rank drugs, mapping these onto a
protein-protein interaction network (PIN). The "distance-based" method scores
each drug based on these scores and distances between drugs and genes to rank
given drugs. The "RWR" method propagates these scores via a random-walk with
restart framework to rank the drugs.
Author(s)
Maintainer: Ege Ulgen egeulgen@gmail.com (ORCID) [copyright holder]
See Also
score_drugs for the wrapper function for scoring of
drugs via network-based methods
DGIdb Interactions Expert-curated Sources
Description
Data frame containing drug-gene interactions from expert-curated sources (CancerCommons, CGI, ChemblInteractions, CIViC, ClearityFoundationBiomarkers, ClearityFoundationClinicalTrial, COSMIC, DoCM, MyCancerGenome, MyCancerGenomeClinicalTrial, TALC, TdgClinicalTrial, TEND) from DGIdb.
Usage
DGIdb_interactions_df
Format
a data frame containing 11323 rows and 2 variables:
- drug_name
- Drug name 
- gene_name
- HGNC gene symbol for the interacting gene 
Graph Laplacian Normalization
Description
Graph Laplacian Normalization
Usage
Laplacian.norm(W)
Arguments
| W | square symmetric adjacency matrix | 
Value
normalized adjacency matrix
Adjacency List for STRING v11.5 - High Confidence Interactions
Description
Data frame of adjacency list for STRING v11.5 interactions with combined score > 700 (high confidence)
Usage
STRING_adj_df
Format
a data frame with 887797 rows and 3 variables:
- protein1
- Interactor 1 
- protein2
- Interactor 2 
- value
- edge weight(combined score) 
Add Drugs as Nodes
Description
Add Drugs as Nodes
Usage
add_drugs_as_nodes(W_mat, drug_target_interactions, edge_weight = 1000)
Arguments
| W_mat | adjacency matrix for the chosen PIN | 
| drug_target_interactions | data frame containing (processed) drugs and target genes | 
| edge_weight | edge weight for drug-target gene interaction (default = 1000) | 
Value
adjacency matrix with the drugs added as nodes
Turn Adjacency List into Adjacency Matrix
Description
Turn Adjacency List into Adjacency Matrix
Usage
adj_list2mat(adj_list)
Arguments
| adj_list | Adjacency list | 
Value
Adjacency matrix
Convert Input Gene Symbols to Alias
Description
Convert Input Gene Symbols to Alias
Usage
convert2alias(input_genes, target_genes)
Arguments
| input_genes | vector of input genes | 
| target_genes | vector of target genes | 
Value
vector of converted gene symbols (if any alias in target genes)
Example driveR Result
Description
Data frame containing 'driveR' results for a lung adenocarcinoma case.
Usage
example_driveR_res
Format
a data frame containing 106 rows and 3 variables:
- gene_symbol
- HGNC gene symbol 
- driverness_prob
- 'driverness' probability 
- prediction
- driveR's prediction for whether the gene is a 'driver' or 'non-driver' 
Example PANACEA "RWR" Method Result
Description
Vector containing 'PANACEA' "RWR" results for a lung adenocarcinoma case. Names are drug names, values are scores
Usage
example_scores_RWR
Format
named vector of 1423 values
Example PANACEA "distance-based" Method Result
Description
Vector containing 'PANACEA' "distance-based" results for a lung adenocarcinoma case. Names are drug names, values are scores
Usage
example_scores_dist
Format
named vector of 1423 values
Network Propagation (Random-walk with Restart)
Description
Network Propagation (Random-walk with Restart)
Usage
network_propagation(prior_vec, W_prime, alpha, max.iter = 1000, eps = 1e-04)
Arguments
| prior_vec | vector of prior knowledge on selected genes (names are gene symbols) | 
| W_prime | (Laplacian-normalized, symmetric) adjacency matrix | 
| alpha | restart parameter, controlling trade-off between prior information and network smoothing | 
| max.iter | maximum allowed number of iterations (default = 1000) | 
| eps | epsilon value to assess the L2 norm of the difference between iterations (default = 1e-4) | 
Details
Implementing RWR following the following publications: Cowen L, Ideker T, Raphael BJ, Sharan R. Network propagation: a universal amplifier of genetic associations. Nat Rev Genet. 2017 Sep;18(9):551–62. Shnaps O, Perry E, Silverbush D, Sharan R. Inference of personalized drug targets via network propagation. Pac Symp Biocomput. 2016;21:156–67.
Value
vector of propagation values
Process Drug-Target Interactions
Description
Process Drug-Target Interactions
Usage
process_drug_target_interactions(
  drug_target_interactions,
  PIN_genes,
  drug_name_col = "drug_name",
  target_col = "gene_name"
)
Arguments
| drug_target_interactions | data frame containing drugs and target genes | 
| PIN_genes | gene symbols for the chosen PIN | 
| drug_name_col | name of the column containing drug names (default = "drug_name") | 
| target_col | name of the column containing drug targets (default = "converted_target_gene") | 
Value
processed drug-target interactions. Processing involves converting symbols missing in the PIN, merging drugs that have the same target gene(s)
Scoring of Drugs via Network-based Methods
Description
Scoring of Drugs via Network-based Methods
Usage
score_drugs(driveR_res, drug_interactions_df, W_mat, method, ...)
Arguments
| driveR_res | data frame of driveR results | 
| drug_interactions_df | data frame of drug-gene interactions | 
| W_mat | adjacency matrix for the PIN | 
| method | scoring method (one of 'distance-based' or 'RWR') | 
| ... | additional arguments for  | 
Details
This is the wrapper function for the two proposed methods for personalized scoring of drugs for individual cancer samples via network-based methods. The available methods are 'distance-based' and 'RWR'. For the 'distance-based' method, the score between a gene (g) and drug (d) is formulated as:
score(g, d) = driver(g) / (d(g, d) + 1)^2
where driver(g) is the driverness probability of gene g, as predicted by 'driveR' and d(g, d) is the distance withing the PIN between gene g and drug d. The final score of the drug d is then the average of the scores between each altered gene and d:
score(d) = \Sigma{score(g, d)} / |genes|
For the 'RWR' method, a random-walk with restart framework is used to propagate the driverness probabilities.
By default DGIdb_interactions_df is used as the
drug_interactions_df.
If the W_mat argument is not supplied, the built-in STRNG data
STRING_adj_df is used to generate W_mat.
Value
vector of scores per drug.
Examples
toy_data <- data.frame(
  gene_symbol = c("TP53", "EGFR", "KDR", "ATM"),
  driverness_prob = c(0.94, 0.92, 0.84, 0.72)
)
toy_interactions <- DGIdb_interactions_df[1:25, ]
res <- score_drugs(
  driveR_res = toy_data,
  drug_interactions_df = toy_interactions, # leave blank for default
  W_mat = toy_W_mat, # leave blank for default
  method = "distance-based",
  verbose = FALSE
)
RWR-based Scoring of Drugs
Description
RWR-based Scoring of Drugs
Usage
score_drugs_RWR_based(
  driveR_res,
  drug_interactions_df,
  W_mat,
  alpha = 0.05,
  max.iter = 1000,
  eps = 1e-04,
  drug_name_col = "drug_name",
  target_col = "gene_name",
  verbose = TRUE
)
Arguments
| driveR_res | data frame of driveR results | 
| drug_interactions_df | data frame of drug-gene interactions | 
| W_mat | adjacency matrix for the PIN | 
| alpha | restart parameter, controlling trade-off between prior information and network smoothing | 
| max.iter | maximum allowed number of iterations (default = 1000) | 
| eps | epsilon value to assess the L2 norm of the difference between iterations (default = 1e-4) | 
| drug_name_col | for 'drug_interactions_df', the column name containing drug names/identifiers | 
| target_col | for 'drug_interactions_df', the column name containing target gene symbols | 
| verbose | boolean to control verbosity (default =  | 
Value
vector of scores per drug. Drugs with the same target gene(s) are merged
(via process_drug_target_interactions)
Examples
toy_data <- data.frame(
  gene_symbol = c("TP53", "EGFR", "KDR", "ATM"),
  driverness_prob = c(0.94, 0.92, 0.84, 0.72)
)
toy_interactions <- DGIdb_interactions_df[1:100, ]
res <- score_drugs_RWR_based(
  driveR_res = toy_data,
  drug_interactions_df = toy_interactions,
  W_mat = toy_W_mat, verbose = FALSE
)
Distance-based Scoring of Drugs
Description
Distance-based Scoring of Drugs
Usage
score_drugs_distance_based(
  driveR_res,
  drug_interactions_df,
  W_mat,
  driver_prob_cutoff = 0.05,
  drug_name_col = "drug_name",
  target_col = "gene_name",
  verbose = TRUE
)
Arguments
| driveR_res | data frame of driveR results | 
| drug_interactions_df | data frame of drug-gene interactions | 
| W_mat | adjacency matrix for the PIN | 
| driver_prob_cutoff | cut-off value for 'driverness_prob' (default = 0.05) | 
| drug_name_col | for 'drug_interactions_df', the column name containing drug names/identifiers | 
| target_col | for 'drug_interactions_df', the column name containing target gene symbols | 
| verbose | boolean to control verbosity (default =  | 
Value
vector of scores per drug. Drugs with the same target gene(s) are merged
(via process_drug_target_interactions)
Examples
toy_data <- data.frame(
  gene_symbol = c("TP53", "EGFR", "KDR", "ATM"),
  driverness_prob = c(0.94, 0.92, 0.84, 0.72)
)
toy_interactions <- DGIdb_interactions_df[1:100, ]
res <- score_drugs_distance_based(
  driveR_res = toy_data,
  drug_interactions_df = toy_interactions,
  W_mat = toy_W_mat, verbose = FALSE
)
Toy Adjacency Matrix (for examples)
Description
Symmetric matrix containing example adjacency data
Usage
toy_W_mat
Format
matrix of 84 rows and 84 columns