Title: | Prioritizing Cancer Driver Genes Using Genomics Data |
---|---|
Description: | Cancer genomes contain large numbers of somatic alterations but few genes drive tumor development. Identifying cancer driver genes is critical for precision oncology. Most of current approaches either identify driver genes based on mutational recurrence or using estimated scores predicting the functional consequences of mutations. 'driveR' is a tool for personalized or batch analysis of genomic data for driver gene prioritization by combining genomic information and prior biological knowledge. As features, 'driveR' uses coding impact metaprediction scores, non-coding impact scores, somatic copy number alteration scores, hotspot gene/double-hit gene condition, 'phenolyzer' gene scores and memberships to cancer-related KEGG pathways. It uses these features to estimate cancer-type-specific probability for each gene of being a cancer driver using the related task of a multi-task learning classification model. The method is described in detail in Ulgen E, Sezerman OU. 2021. driveR: driveR: a novel method for prioritizing cancer driver genes using somatic genomics data. BMC Bioinformatics <doi:10.1186/s12859-021-04203-7>. |
Authors: | Ege Ulgen [aut, cre, cph] |
Maintainer: | Ege Ulgen <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.4.1.9001 |
Built: | 2024-11-21 05:24:09 UTC |
Source: | https://github.com/egeulgen/driver |
Create Data Frame of Features for Driver Gene Prioritization
create_features_df( annovar_csv_path, scna_segs_df, scna_genes_df, phenolyzer_annotated_gene_list_path, batch_analysis = FALSE, prep_phenolyzer_input = FALSE, build = "GRCh37", log2_ratio_threshold = 0.25, gene_overlap_threshold = 25, MCR_overlap_threshold = 25, hotspot_threshold = 5L, log2_hom_loss_threshold = -1, verbose = TRUE, na.string = "." )
create_features_df( annovar_csv_path, scna_segs_df, scna_genes_df, phenolyzer_annotated_gene_list_path, batch_analysis = FALSE, prep_phenolyzer_input = FALSE, build = "GRCh37", log2_ratio_threshold = 0.25, gene_overlap_threshold = 25, MCR_overlap_threshold = 25, hotspot_threshold = 5L, log2_hom_loss_threshold = -1, verbose = TRUE, na.string = "." )
annovar_csv_path |
path to 'ANNOVAR' csv output file |
scna_segs_df |
the SCNA segments data frame. Must contain:
|
scna_genes_df |
data frame of gene-level SCNAs (can be output of |
phenolyzer_annotated_gene_list_path |
path to 'phenolyzer' 'annotated_gene_list' file |
batch_analysis |
boolean to indicate whether to perform batch analysis
( |
prep_phenolyzer_input |
boolean to indicate whether or not to create
a vector of genes for use as the input of 'phenolyzer' (default = |
build |
genome build for the SCNA segments data frame (default = 'GRCh37') |
log2_ratio_threshold |
the log2 ratio threshold for keeping high-confidence SCNA events (default = 0.25) |
gene_overlap_threshold |
the percentage threshold for the overlap between a segment and a transcript (default = 25). This means that if only a segment overlaps a transcript more than this threshold, the transcript is assigned the segment's SCNA event. |
MCR_overlap_threshold |
the percentage threshold for the overlap between a gene and an MCR region (default = 25). This means that if only a gene overlaps an MCR region more than this threshold, the gene is assigned the SCNA density of the MCR |
hotspot_threshold |
to determine hotspot genes, the (integer) threshold for the minimum number of cases with certain mutation in COSMIC (default = 5) |
log2_hom_loss_threshold |
to determine double-hit events, the log2 threshold for identifying homozygous loss events (default = -1). |
verbose |
boolean controlling verbosity (default = |
na.string |
string that was used to indicate when a score is not available during annotation with ANNOVAR (default = '.') |
If prep_phenolyzer_input=FALSE
(default), a data frame of
features for prioritizing cancer driver genes (gene_symbol
as
the first column and 26 other columns containing features). If
prep_phenolyzer_input=TRUE
, the functions returns a vector gene symbols
(union of all gene symbols for which scores are available) to be used as the
input for performing 'phenolyzer' analysis.
The features data frame contains the following columns:
HGNC gene symbol
the maximum metapredictor (coding) impact score for the gene
the maximum non-coding PHRED-scaled CADD score for the gene
SCNA proxy score. SCNA density (SCNA/Mb) of the minimal common region (MCR) in which the gene is located
boolean indicating whether the gene is a hotspot gene (indication of oncogenes) or subject to double-hit (indication of tumor-suppressor genes)
'phenolyzer' score for the gene
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
prioritize_driver_genes
for prioritizing cancer driver genes
path2annovar_csv <- system.file('extdata/example.hg19_multianno.csv', package = 'driveR') path2phenolyzer_out <- system.file('extdata/example.annotated_gene_list', package = 'driveR') features_df <- create_features_df(annovar_csv_path = path2annovar_csv, scna_segs_df = example_scna_table, phenolyzer_annotated_gene_list_path = path2phenolyzer_out)
path2annovar_csv <- system.file('extdata/example.hg19_multianno.csv', package = 'driveR') path2phenolyzer_out <- system.file('extdata/example.annotated_gene_list', package = 'driveR') features_df <- create_features_df(annovar_csv_path = path2annovar_csv, scna_segs_df = example_scna_table, phenolyzer_annotated_gene_list_path = path2phenolyzer_out)
Create Gene-level SCNA Data Frame
create_gene_level_scna_df( scna_segs_df, build = "GRCh37", gene_overlap_threshold = 25 )
create_gene_level_scna_df( scna_segs_df, build = "GRCh37", gene_overlap_threshold = 25 )
scna_segs_df |
the SCNA segments data frame. Must contain:
|
build |
genome build for the SCNA segments data frame (default = 'GRCh37') |
gene_overlap_threshold |
the percentage threshold for the overlap between a segment and a transcript (default = 25). This means that if only a segment overlaps a transcript more than this threshold, the transcript is assigned the segment's SCNA event. |
data frame of gene-level SCNA events, i.e. table of genes overlapped by SCNA segments.
Create Non-coding Impact Score Data Frame
create_noncoding_impact_score_df(annovar_csv_path, na.string = ".")
create_noncoding_impact_score_df(annovar_csv_path, na.string = ".")
annovar_csv_path |
path to 'ANNOVAR' csv output file |
na.string |
string that was used to indicate when a score is not available during annotation with ANNOVAR (default = '.') |
data frame of meta-prediction scores containing 2 columns:
HGNC gene symbol
PHRED-scaled CADD score
Create SCNA Score Data Frame
create_SCNA_score_df( scna_genes_df, build = "GRCh37", log2_ratio_threshold = 0.25, MCR_overlap_threshold = 25 )
create_SCNA_score_df( scna_genes_df, build = "GRCh37", log2_ratio_threshold = 0.25, MCR_overlap_threshold = 25 )
scna_genes_df |
data frame of gene-level SCNAs (can be output of |
build |
genome build for the SCNA segments data frame (default = 'GRCh37') |
log2_ratio_threshold |
the log2 ratio threshold for keeping high-confidence SCNA events (default = 0.25) |
MCR_overlap_threshold |
the percentage threshold for the overlap between a gene and an MCR region (default = 25). This means that if only a gene overlaps an MCR region more than this threshold, the gene is assigned the SCNA density of the MCR |
The function first aggregates SCNA log2 ratio on gene-level (by keeping the ratio with the maximal |log2| ratio over all the SCNA segments overlapping a gene). Next, it identifies the minimal common regions (MCRs) that the genes overlap and finally assigns the SCNA density (SCNA/Mb) values as proxy SCNA scores.
data frame of SCNA proxy scores containing 2 columns:
HGNC gene symbol
SCNA proxy score. SCNA density (SCNA/Mb) of the minimal common region (MCR) in which the gene is located.
Determine Double-Hit Genes
determine_double_hit_genes( annovar_csv_path, scna_genes_df, log2_hom_loss_threshold = -1, batch_analysis = FALSE )
determine_double_hit_genes( annovar_csv_path, scna_genes_df, log2_hom_loss_threshold = -1, batch_analysis = FALSE )
annovar_csv_path |
path to 'ANNOVAR' csv output file |
scna_genes_df |
data frame of gene-level SCNAs (can be output of |
log2_hom_loss_threshold |
to determine double-hit events, the log2 threshold for identifying homozygous loss events (default = -1). |
batch_analysis |
boolean to indicate whether to perform batch analysis
( |
vector of gene symbols that are subject to double-hit event(s), i.e. non-synonymous mutation + homozygous copy-number loss
Determine Hotspot Containing Genes
determine_hotspot_genes(annovar_csv_path, hotspot_threshold = 5L)
determine_hotspot_genes(annovar_csv_path, hotspot_threshold = 5L)
annovar_csv_path |
path to 'ANNOVAR' csv output file |
hotspot_threshold |
to determine hotspot genes, the (integer) threshold for the minimum number of cases with certain mutation in COSMIC (default = 5) |
vector of gene symbols of genes containing hotspot mutation(s)
Cancer genomes contain large numbers of somatic alterations but few genes drive tumor development. Identifying cancer driver genes is critical for precision oncology. Most of current approaches either identify driver genes based on mutational recurrence or using estimated scores predicting the functional consequences of mutations.
driveR is a tool for personalized or batch analysis of genomic data for driver gene prioritization by combining genomic information and prior biological knowledge. As features, driveR uses coding impact metaprediction scores, non-coding impact scores, somatic copy number alteration scores, hotspot gene/double-hit gene condition, 'phenolyzer' gene scores and memberships to cancer-related KEGG pathways. It uses these features to estimate cancer-type-specific probabilities for each gene of being a cancer driver using the related task of a multi-task learning classification model.
Maintainer: Ege Ulgen [email protected] (ORCID) [copyright holder]
predict_coding_impact
for metaprediction of impact of
coding variants.
create_features_df
for creating the features table to
be used to prioritize cancer driver genes.
See prioritize_driver_genes
for prioritizing cancer driver genes
The example dataset containing features for prioritizing cancer driver genes for 10 randomly selected samples from TCGA's LAML (Acute Myeloid Leukemia) cohort
example_cohort_features_table
example_cohort_features_table
A data frame with 349 rows and 27 variables:
HGNC gene symbol
the maximum metapredictor (coding) impact score for the gene
the maximum non-coding PHRED-scaled CADD score for the gene
SCNA proxy score. SCNA density (SCNA/Mb) of the minimal common region (MCR) in which the gene is located
boolean indicating whether the gene is a hotspot gene (indication of oncogenes) or subject to double-hit (indication of tumor-suppressor genes)
'phenolyzer' score for the gene
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
KEGG_cancer_pathways_descriptions
for descriptions of
KEGG 'Pathways in cancer'-related pathways.
A data set containing the somatic copy number alteration data for 10 randomly selected samples from TCGA's LAML (Acute Myeloid Leukemia) cohort
example_cohort_scna_table
example_cohort_scna_table
A data frame with 126147 rows and 5 variables:
chromosome the segment is located in
start position of the segment
end position of the segment
ratio of the segment
ID for the tumor containing the SCNA segment
https://dcc.icgc.org/releases/release_28
The example dataset containing features for prioritizing cancer driver genes for the lung adenocarcinoma patient studied in Imielinski M, Greulich H, Kaplan B, et al. Oncogenic and sorafenib-sensitive ARAF mutations in lung adenocarcinoma. J Clin Invest. 2014;124(4):1582-6.
example_features_table
example_features_table
A data frame with 4901 rows and 27 variables:
HGNC gene symbol
the maximum metapredictor (coding) impact score for the gene
the maximum non-coding PHRED-scaled CADD score for the gene
SCNA proxy score. SCNA density (SCNA/Mb) of the minimal common region (MCR) in which the gene is located
boolean indicating whether the gene is a hotspot gene (indication of oncogenes) or subject to double-hit (indication of tumor-suppressor genes)
'phenolyzer' score for the gene
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
boolean indicating whether or not the gene takes part in this KEGG pathway
KEGG_cancer_pathways_descriptions
for descriptions of
KEGG 'Pathways in cancer'-related pathways.
A data set containing the gene-level somatic copy number alteration data for the lung adenocarcinoma patient studied in Imielinski M, Greulich H, Kaplan B, et al. Oncogenic and sorafenib-sensitive ARAF mutations in lung adenocarcinoma. J Clin Invest. 2014;124(4):1582-6.
example_gene_scna_table
example_gene_scna_table
A data frame with 46270 rows and 2 variables:
gene symbol
ratio of the gene
https://pubmed.ncbi.nlm.nih.gov/24569458/
A data set containing the somatic copy number alteration data for the lung adenocarcinoma patient studied in Imielinski M, Greulich H, Kaplan B, et al. Oncogenic and sorafenib-sensitive ARAF mutations in lung adenocarcinoma. J Clin Invest. 2014;124(4):1582-6.
example_scna_table
example_scna_table
A data frame with 3160 rows and 4 variables:
chromosome the segment is located in
start position of the segment
end position of the segment
ratio of the segment
https://pubmed.ncbi.nlm.nih.gov/24569458/
A data frame containing descriptions for KEGG 'Pathways in cancer' (hsa05200)-related pathways. Generated on Nov 17, 2020.
KEGG_cancer_pathways_descriptions
KEGG_cancer_pathways_descriptions
A data frame with 21 rows and 2 variables:
KEGG pathway ID
KEGG pathway description
A data frame containing descriptions for all sub-models of the MTL model.
MTL_submodel_descriptions
MTL_submodel_descriptions
A data frame with 21 rows and 2 variables:
short name for the cancer type
description of the cancer type
Create Coding Impact Meta-prediction Score Data Frame
predict_coding_impact( annovar_csv_path, keep_highest_score = TRUE, keep_single_symbol = TRUE, na.string = "." )
predict_coding_impact( annovar_csv_path, keep_highest_score = TRUE, keep_single_symbol = TRUE, na.string = "." )
annovar_csv_path |
path to 'ANNOVAR' csv output file |
keep_highest_score |
boolean to indicate whether to keep only the maximal
impact score per gene (default = |
keep_single_symbol |
in ANNOVAR outputs, a variant may be annotated as
exonic in multiple genes. This boolean argument controls whether or not to
keep only the first encountered symbol for a variant (default = |
na.string |
string that was used to indicate when a score is not available during annotation with ANNOVAR (default = '.') |
data frame of meta-prediction scores containing 2 columns:
HGNC gene symbol
metapredictor impact score
path2annovar_csv <- system.file('extdata/example.hg19_multianno.csv', package = 'driveR') metapred_df <- predict_coding_impact(path2annovar_csv)
path2annovar_csv <- system.file('extdata/example.hg19_multianno.csv', package = 'driveR') metapred_df <- predict_coding_impact(path2annovar_csv)
Prioritize Cancer Driver Genes
prioritize_driver_genes(features_df, cancer_type)
prioritize_driver_genes(features_df, cancer_type)
features_df |
the features data frame for all genes, containing the following columns:
|
cancer_type |
short name of the cancer type. All available cancer types
are listed in |
data frame with 3 columns:
HGNC gene symbol
estimated probability for each gene in features_df
of being a
cancer driver. The probabilities are calculated using the selected (via
cancer_type
) cancer type's sub-model.
prediction based on the cancer-type-specific threshold (either 'driver' or 'non-driver')
create_features_df
for creating the features table.
drivers_df <- prioritize_driver_genes(example_features_table, 'LUAD')
drivers_df <- prioritize_driver_genes(example_features_table, 'LUAD')
Driver gene probability thresholds for all 21 cancer types (submodels).
specific_thresholds
specific_thresholds
vector with 21 elements