The SubtypeDrug package is a systematic biological
tool to optimize cancer subtype-specific drugs. The main capabilities of
this tool are as follows:
1. Identifying drug-regulated subpathways.
2. Infer patient-specific subpathway activity profiles.
3. Calculating drug-disease reverse association score.
4. Identifying cancer subtype-specific drugs.
5. Visualization of results.
We downloaded all pathways from the KEGG database in XML format. For
each KEGG pathway map, we converted each pathway into a gene-gene
network with genes as nodes and bilological relationships as edges. For
metabolic pathways, two genes (enzymes) are connected by an edge if
there is a common compound in their corresponding reaction. For
non-metabolic pathways, two genes are connected by an edge if they have
a relationship (such as interaction, binding or modification, etc.)
indicated in the relation element of the XML file. We used the k-clique
algorithm in SubpathwayMiner package to detect the subpathways, in which
the distance between any two nodes is no greater than k (The default
parameter k of the method was used in the study) (Li et al. 2009). In order to remove redundant
information, we eliminated smaller subpathways with more than 80%
overlap between subpathways that belong to the same pathway (Syed et al. 2018). The subpathway data was
stored in our developed R-based “SubtypeDrugData” package, which is
publicly available on Github (https://github.com/hanjunwei-lab/SubtypeDrugData).
CMap build 02 raw data is downloaded from the CMap website (Lamb et al. 2006). After normalizing gene
expression profiles, the fold-change (FC) method was used to calculate
differentially expressed levels of genes between the drug treatment
(distinguish different concentrations of the same drug) and the control
groups. For a given drug at a specific concentration, the genes in each
subpathway were mapped to the ranked gene list of the drug repectively.
We then used Gene Set Enrichment Analysis (GSEA) (Subramanian et al. 2005) to identify the
subpathways regulated by the drug. A subpathway with a greater positive
or negative enrichment score (ES) indicates that the drug may activate
or inhibit (up- or down-regulate) this subpathway more strongly. An
empirical gene-based permutation test procedure was used to estimate the
statistically significance (p-value) of the ES of subpathway, which
reflects the extent of association between the subpathway and drug.
Finally all results of the drug-regulated subpathway were constituted
the drug-subpatway association data which was stored in our
SubtypeDrugData package (https://github.com/hanjunwei-lab/SubtypeDrugData).
The subpathway data and the drug-subpatway association data can be
downloaded and used by the following code:
## Download SubtypeDrugData package from GitHub.
require(devtools)
install_github("hanjunwei-lab/SubtypeDrugData",force = TRUE)
require(SubtypeDrugData)
## Get subpathway list data.
## If the gene expression profile contains gene Symbol.
data(SpwSymbolList)
## If the gene expression profile contains gene Entrezid.
data(SpwEntrezidList)
## Get drug subpathway association data.
data(DrugSpwData)
To identify cancer subtype-specific drugs, the SubtypeDrug package requires gene expression profiles with normal and cancer samples with subtype labels. The SubtypeDrug package provided two methods: gene set enrichment analysis (GSVA) (Hänzelmann, Castelo, and Guinney 2013) and single sample GSEA (ssGSEA) (Barbie et al. 2009), to infer patient-specific subpathway activity profiles from the gene expression profiles. For each subpathway, the differential activity value of each sample was estimated by comparing its activity with the mean and standard deviation of subpathway activities of accumulated normal samples (Ahn et al. 2014). The formula is as follows: \[{\mathop{{Z}}\nolimits_{{ij}}=\frac{{\mathop{{Sub}}\nolimits_{{ij}}-mean{ \left( {S\mathop{{ub}}\nolimits_{{i,normal}}} \right) }}}{{stdev{ \left( {\mathop{{Sub}}\nolimits_{{i,normal}}} \right) }}}}\] where \(Sub_{ij}\) is the activity value of \(i\) th subpathway in the \(j\) th cancer sample and \(Sub_{i,normal}\) is a vector of activity value of \(i\) th subpahtway in the normal samples. The \(Z_{ij}\) score denotes differential activity extent of the subpathway \(i\) for cancer sample \(j\) relative to normal samples.
To test if a drug could treat a specific cancer sample, we defined a drug-disease reverse association score (\(RS\)) to reflect the treatment extent of drug at the subpathway level. Specifically, for a given cancer sample \(j\), the subpathways were ranked in descending order based on the differential activity score to form a subpathway list \(L_j\). We mapped the up- and down-regulated subpathways induced by a drug respectively to the ranked list \(L_j\) to calculate RS. We provided two methods to estimate this score:
\[{D\mathop{{}}\nolimits_{{1}}=max\mathop{{}}\nolimits_{{g=1}}^{{p}}{ \left[ {\frac{{g}}{{p}}-\frac{{V{ \left( {g} \right) }}}{{q}}} \right] }}\]
\[{\mathop{{D}}\nolimits_{{2}}=max\mathop{{}}\nolimits_{{g=1}}^{{p}}{ \left[ {\frac{{V{ \left( {g} \right) }}}{{q}}-\frac{{{ \left( {g-1} \right) }}}{{p}}} \right] }}\]
We set \(KS_d^{up}\)=\(D_{1}\), if \(D_{1}\)>\(D_{2}\) or \(KS_d^{up}\)=\(-D_{2}\), if \(D_{1}\)<\(D_{2}\). Like the above process, \(KS_d^{down}\) is also calculated for the down-regulation subpathways of drug. The drug-disease reverse association score (\(RS_{dj}\)) of the \(d\) th drug in the j th cancer sample is \(RS_{dj}=KS_d^{up}-KS_d^{down}\).
The magnitude of the \(RS\) depends
on the correlation of the drug with the disease. The greater negative
score indicates the drug may treat the disease with a larger extent, and
the positive score indicates the drug may promote disease development.
To allow inter-drug comparisons with \(RS_{dj}\), we further normalized the \(RS\) for each drug as follows:
\[NS_{dj}=RS_{dj}/|max(RS_d)|, \text{where
}RS_{dj}>0\] or \[NS_{dj}=RS_{dj}/|min(RS_d)|, \text{where
}RS_{dj}<0\] where max(\(RS_d\)) or min(\(RS_d\)) is the maximum or minimum value of
\(RS\) of drug d across all
samples.
For each drug, we calculated the \(NS\) on each sample through the above method. Thus we obtained a normalized drug-disease reverse association matrix \(M = (NS_{dj})\) with rows as drugs and columns as samples. For a given drug, the samples were ranked in the dataset to form a sample list \(L\) according to decreasing \(NS\). If the samples in a cancer subtype enrich at the negative/positive \(NS\) region on the list \(L\), the drug may potentially treat/promote this cancer subtype. This process implements comparison of \(NS\) for the samples in different subtypes, and the different subtypes are competitive relationships in the list. To perform this sample set enrichment analysis, we defined a subype-specific drug score (\(SDS\)), and the formula of \(SDS\) is as follows:
\[{SDS\mathop{{}}\nolimits_{{t}}=\frac{{1}}{{\mathop{{ \beta }}\nolimits_{{t}}}}{\mathop{ \sum }\limits_{{j \in t}}{NS\mathop{{}}\nolimits_{{j}}}}}\]
where, \(\beta_{t}\) is the number
of samples in the t th cancer subtype, \(NS_j\) is the normalized drug-disease
reverse association score of j th cancer sample for the
t th cancer subtype. The greater the negative \(SDS\) indicates the drug may have
potentially stronger the potential therapeutic effect on the cancer
subtype \(t\). Conversely, the greater
positive \(SDS_t\) indicates that the
drug may have stronger side effects on this cancer subtype.
We first estimated the statistical significance (S_Pvalue) of \(SDS\) for each subtype by using an
empirical sample-based permutation test procedure. Specifically, for a
given drug, we permuted the class labels (subtype labels) of subpathway
activity profiles, and recomputed the \(SDS\) for each subtype. In the pakage, the
default permutation times are set at 1000. This will produce a null
distribution \(SDS_{null}^*\) for all
cancer subtypes. Based on law of large numbers, the \(SDS_{null}^*\) follows an approximately
normal distribution. Subsequently, the S_Pvalue of the observerd \(SDS\) for each subtype is estimated based
on the \(SDS_{null}^*\). To correct for
multiple comparisons, we adjusted the S_Pvalues of drugs for each
subtype by using the false discovery rate (FDR) method proposed by
Benjamini and Hochberg (Benjamini, Hochberg, and
etc. 1995).
Furthermore, to evaluate the drug treatment
effect, we constructed subpathway activity profiles that contains only
one cancer subtype and normal samples. The fold change (FC) of
subpathway activity between the cancer subtype and normal samples were
calculated, and the subpathways were ranked in descending order of
log2FC to form a list. For a given drug, the drug targeted up-regulated
and down-regulated subpathways were mapped to the ranked subpathway list
repectively, and the \(RS\) was
calculated, which reflects treatment effect of the drug on the subtype.
Similarly, the permutation test procedure is also used to calculate the
statistical significance (E_Pvalue) of \(RS\) for each drug, and the E_FDR was then
calculated. If the gene expression data only contains cancer and normal
samples, this process could be used to identify cancer candidate drugs.
Finally, the drugs with both S_FDR and E_FDR less than a given threshold
will be deemed as cancer subtype-specific.
Our method can identify not only cancer subtype-specific drugs in the datasets with multi-phenotype categories but also cancer-related drugs in the datasets with cancer and normal samples. Taking the simulative breast cancer data as an example, breast cancer-related and subtype-specific drug identification are as follows:
require(GSVA)
#> Loading required package: GSVA
require(parallel)
#> Loading required package: parallel
## Get simulated breast cancer gene expression profile data.
Geneexp<-get("Geneexp")
## Obtain sample subtype data and calculate breast cancer subtype-specific drugs.
Subtype_labels<-system.file("extdata", "Subtype_labels.cls", package = "SubtypeDrug")
# Identify breast subtype-specific drugs.
Subtype_drugs<-PrioSubtypeDrug(Geneexp,Subtype_labels,"Control",SpwSymbolList,
drug.spw.data=DrugSpwData,E_FDR=1,S_FDR=1)
## Results display.
str(Subtype_drugs)
#> List of 8
#> $ Basal :'data.frame': 1409 obs. of 8 variables:
#> ..$ Drug : chr [1:1409] "1,5-isoquinolinediol(1e-04M)" "2-deoxy-D-glucose(0.01M)" "3-aminobenzamide(0.01M)" "4,5-dianilinophthalimide(1e-05M)" ...
#> ..$ Target_upregulation : chr [1:1409] "00140_10 00450_2 00590_2 00830_2 04010_7 04012_7 04014_3 04015_3 04020_1 04020_2 04022_1 04022_7 04024_2 04060_"| __truncated__ "00250_1 01524_2 03015_4 04022_1 04060_52 04130_2 04137_2 04137_5 04140_5 04140_13 04141_1 04141_5 04151_8 04210"| __truncated__ "00062_8 00071_1 00310_2 00310_4 00380_2 00380_5 00480_2 00510_8 00565_2 00980_11 03015_1 04014_11 04141_1 04261"| __truncated__ "00601_8 00604_5 00980_11 04010_7 04014_3 04015_3 04020_1 04020_2 04024_2 04060_69 04062_1 04064_9 04064_15 0407"| __truncated__ ...
#> ..$ Target_downregulation: chr [1:1409] "00030_2 00071_1 00100_2 00100_5 00100_6 00100_7 00230_1 00230_6 00240_8 00250_1 00270_3 00310_2 00410_1 00510_1"| __truncated__ "00051_1 00100_6 00230_1 00240_8 00564_6 00565_3 00590_2 00790_2 00980_10 00980_11 00983_4 04015_9 04060_83 0406"| __truncated__ "00450_1 00562_8 04070_1 04071_8 04110_8 04141_3 04360_5 04360_6 04360_15 04360_17 04390_17 04670_16 04810_3 051"| __truncated__ "00010_2 00330_5 00510_10 00620_2 00640_5 00790_2 00790_8 03013_2 03013_8 03013_11 03013_18 03013_20 03015_2 041"| __truncated__ ...
#> ..$ SDS : num [1:1409] -0.747 0.172 -0.0823 -0.0887 0.586 -0.261 0.0762 0.0304 0.134 -0.0991 ...
#> ..$ E_Pvalue : num [1:1409] 0.0391 0.9811 0.8075 0.1268 0.1089 ...
#> ..$ E_FDR : num [1:1409] 0.259 0.998 0.96 0.298 0.284 ...
#> ..$ S_Pvalue : num [1:1409] 0.165 0.998 0.748 0.604 0.556 0.536 0.682 0.859 0.658 0.541 ...
#> ..$ S_FDR : num [1:1409] 0.617 1 0.93 0.857 0.843 0.83 0.905 0.973 0.89 0.833 ...
#> $ Her2 :'data.frame': 1409 obs. of 8 variables:
#> ..$ Drug : chr [1:1409] "1,5-isoquinolinediol(1e-04M)" "2-deoxy-D-glucose(0.01M)" "3-aminobenzamide(0.01M)" "4,5-dianilinophthalimide(1e-05M)" ...
#> ..$ Target_upregulation : chr [1:1409] "00140_10 00450_2 00590_2 00830_2 04010_7 04012_7 04014_3 04015_3 04020_1 04020_2 04022_1 04022_7 04024_2 04060_"| __truncated__ "00250_1 01524_2 03015_4 04022_1 04060_52 04130_2 04137_2 04137_5 04140_5 04140_13 04141_1 04141_5 04151_8 04210"| __truncated__ "00062_8 00071_1 00310_2 00310_4 00380_2 00380_5 00480_2 00510_8 00565_2 00980_11 03015_1 04014_11 04141_1 04261"| __truncated__ "00601_8 00604_5 00980_11 04010_7 04014_3 04015_3 04020_1 04020_2 04024_2 04060_69 04062_1 04064_9 04064_15 0407"| __truncated__ ...
#> ..$ Target_downregulation: chr [1:1409] "00030_2 00071_1 00100_2 00100_5 00100_6 00100_7 00230_1 00230_6 00240_8 00250_1 00270_3 00310_2 00410_1 00510_1"| __truncated__ "00051_1 00100_6 00230_1 00240_8 00564_6 00565_3 00590_2 00790_2 00980_10 00980_11 00983_4 04015_9 04060_83 0406"| __truncated__ "00450_1 00562_8 04070_1 04071_8 04110_8 04141_3 04360_5 04360_6 04360_15 04360_17 04390_17 04670_16 04810_3 051"| __truncated__ "00010_2 00330_5 00510_10 00620_2 00640_5 00790_2 00790_8 03013_2 03013_8 03013_11 03013_18 03013_20 03015_2 041"| __truncated__ ...
#> ..$ SDS : num [1:1409] -0.766 0.593 -0.451 -0.142 0.711 -0.489 0.133 -0.115 0.114 0.206 ...
#> ..$ E_Pvalue : num [1:1409] 0.0202 0.5283 0.1565 0.0894 0.0663 ...
#> ..$ E_FDR : num [1:1409] 0.312 0.823 0.363 0.313 0.312 ...
#> ..$ S_Pvalue : num [1:1409] 0.13 0.271 0.0416 0.405 0.191 0.0599 0.475 0.503 0.709 0.205 ...
#> ..$ S_FDR : num [1:1409] 0.577 0.611 0.576 0.69 0.595 0.576 0.745 0.767 0.861 0.595 ...
#> $ LumA :'data.frame': 1409 obs. of 8 variables:
#> ..$ Drug : chr [1:1409] "1,5-isoquinolinediol(1e-04M)" "2-deoxy-D-glucose(0.01M)" "3-aminobenzamide(0.01M)" "4,5-dianilinophthalimide(1e-05M)" ...
#> ..$ Target_upregulation : chr [1:1409] "00140_10 00450_2 00590_2 00830_2 04010_7 04012_7 04014_3 04015_3 04020_1 04020_2 04022_1 04022_7 04024_2 04060_"| __truncated__ "00250_1 01524_2 03015_4 04022_1 04060_52 04130_2 04137_2 04137_5 04140_5 04140_13 04141_1 04141_5 04151_8 04210"| __truncated__ "00062_8 00071_1 00310_2 00310_4 00380_2 00380_5 00480_2 00510_8 00565_2 00980_11 03015_1 04014_11 04141_1 04261"| __truncated__ "00601_8 00604_5 00980_11 04010_7 04014_3 04015_3 04020_1 04020_2 04024_2 04060_69 04062_1 04064_9 04064_15 0407"| __truncated__ ...
#> ..$ Target_downregulation: chr [1:1409] "00030_2 00071_1 00100_2 00100_5 00100_6 00100_7 00230_1 00230_6 00240_8 00250_1 00270_3 00310_2 00410_1 00510_1"| __truncated__ "00051_1 00100_6 00230_1 00240_8 00564_6 00565_3 00590_2 00790_2 00980_10 00980_11 00983_4 04015_9 04060_83 0406"| __truncated__ "00450_1 00562_8 04070_1 04071_8 04110_8 04141_3 04360_5 04360_6 04360_15 04360_17 04390_17 04670_16 04810_3 051"| __truncated__ "00010_2 00330_5 00510_10 00620_2 00640_5 00790_2 00790_8 03013_2 03013_8 03013_11 03013_18 03013_20 03015_2 041"| __truncated__ ...
#> ..$ SDS : num [1:1409] -0.213 0.648 -0.217 0.0296 0.388 -0.0515 -0.276 -0.36 0.097 -0.188 ...
#> ..$ E_Pvalue : num [1:1409] 0.1399 0.0464 0.8708 0.8703 0.212 ...
#> ..$ E_FDR : num [1:1409] 0.429 0.419 1 1 0.458 ...
#> ..$ S_Pvalue : num [1:1409] 0.999 0.144 0.375 0.863 0.96 0.955 0.136 0.0352 0.753 0.247 ...
#> ..$ S_FDR : num [1:1409] 1 1 1 1 1 1 1 0.846 1 1 ...
#> $ LumB :'data.frame': 1409 obs. of 8 variables:
#> ..$ Drug : chr [1:1409] "1,5-isoquinolinediol(1e-04M)" "2-deoxy-D-glucose(0.01M)" "3-aminobenzamide(0.01M)" "4,5-dianilinophthalimide(1e-05M)" ...
#> ..$ Target_upregulation : chr [1:1409] "00140_10 00450_2 00590_2 00830_2 04010_7 04012_7 04014_3 04015_3 04020_1 04020_2 04022_1 04022_7 04024_2 04060_"| __truncated__ "00250_1 01524_2 03015_4 04022_1 04060_52 04130_2 04137_2 04137_5 04140_5 04140_13 04141_1 04141_5 04151_8 04210"| __truncated__ "00062_8 00071_1 00310_2 00310_4 00380_2 00380_5 00480_2 00510_8 00565_2 00980_11 03015_1 04014_11 04141_1 04261"| __truncated__ "00601_8 00604_5 00980_11 04010_7 04014_3 04015_3 04020_1 04020_2 04024_2 04060_69 04062_1 04064_9 04064_15 0407"| __truncated__ ...
#> ..$ Target_downregulation: chr [1:1409] "00030_2 00071_1 00100_2 00100_5 00100_6 00100_7 00230_1 00230_6 00240_8 00250_1 00270_3 00310_2 00410_1 00510_1"| __truncated__ "00051_1 00100_6 00230_1 00240_8 00564_6 00565_3 00590_2 00790_2 00980_10 00980_11 00983_4 04015_9 04060_83 0406"| __truncated__ "00450_1 00562_8 04070_1 04071_8 04110_8 04141_3 04360_5 04360_6 04360_15 04360_17 04390_17 04670_16 04810_3 051"| __truncated__ "00010_2 00330_5 00510_10 00620_2 00640_5 00790_2 00790_8 03013_2 03013_8 03013_11 03013_18 03013_20 03015_2 041"| __truncated__ ...
#> ..$ SDS : num [1:1409] -0.76 0.661 0.125 -0.0546 0.728 -0.292 0.331 0.548 0.415 0.259 ...
#> ..$ E_Pvalue : num [1:1409] 0.0137 0.067 0.9277 0.8274 0.0552 ...
#> ..$ E_FDR : num [1:1409] 0.252 0.262 0.987 0.974 0.253 ...
#> ..$ S_Pvalue : num [1:1409] 0.141 0.122 0.622 0.75 0.155 0.446 0.0737 0.00135 0.103 0.11 ...
#> ..$ S_FDR : num [1:1409] 0.538 0.529 0.812 0.868 0.539 0.704 0.518 0.518 0.52 0.52 ...
#> $ DrugMatrix : num [1:1409, 1:32] -0.711 0.798 0.172 -0.137 0.888 ...
#> ..- attr(*, "dimnames")=List of 2
#> .. ..$ : chr [1:1409] "1,5-isoquinolinediol(1e-04M)" "2-deoxy-D-glucose(0.01M)" "3-aminobenzamide(0.01M)" "4,5-dianilinophthalimide(1e-05M)" ...
#> .. ..$ : chr [1:32] "TCGA-C8-A12M-01A" "TCGA-AO-A03L-01A" "TCGA-AO-A0J8-01A" "TCGA-A2-A0T4-01A" ...
#> $ SubpathwayMatrix : num [1:1113, 1:40] -0.458 0.535 0.38 -0.405 0.659 ...
#> ..- attr(*, "dimnames")=List of 2
#> .. ..$ : chr [1:1113] "00010_1" "00010_2" "00010_5" "00010_6" ...
#> .. ..$ : chr [1:40] "TCGA-BH-A0BZ-11A" "TCGA-BH-A1FR-11B" "TCGA-A7-A0DB-11A" "TCGA-A7-A0CH-11A" ...
#> $ SampleInformation:'data.frame': 40 obs. of 2 variables:
#> ..$ sampleId : chr [1:40] "TCGA-BH-A0BZ-11A" "TCGA-BH-A1FR-11B" "TCGA-A7-A0DB-11A" "TCGA-A7-A0CH-11A" ...
#> ..$ sampleSubtype: chr [1:40] "Control" "Control" "Control" "Control" ...
#> $ Parameter :List of 11
#> ..$ control.label : chr "Control"
#> ..$ spw.min.sz : num 1
#> ..$ spw.max.sz : num Inf
#> ..$ spw.score.method : chr "gsva"
#> ..$ kcdf : chr "Gaussian"
#> ..$ drug.p.val.threshold: num 0.05
#> ..$ drug.spw.min.sz : num 1
#> ..$ drug.spw.max.sz : num Inf
#> ..$ weighted.drug.score : logi TRUE
#> ..$ nperm : num 1000
#> ..$ parallel.sz : num 1
The PrioSubtypeDrug() function can also be used to identify breast cancer-related drugs in only two types of samples: breast cancer and normal.
Cancer_normal_labels<-system.file("extdata", "Cancer_normal_labels.cls", package = "SubtypeDrug")
Disease_drugs<-PrioSubtypeDrug(Geneexp,Cancer_normal_labels,"Control",SpwSymbolList,drug.spw.data=DrugSpwData,
E_FDR=1,S_FDR=1)
The function PrioSubtypeDrug() can also support user-defined data.
## User-defined drug regulation data should resemble the structure below.
UserDS<-get("UserDS")
str(UserDS[1:5])
#> List of 5
#> $ 1,5-isoquinolinediol(1e-04M):List of 2
#> ..$ Target_upregulation : chr [1:64] "00140_10" "00450_2" "00590_2" "00830_2" ...
#> ..$ Target_downregulation: chr [1:76] "00030_2" "00071_1" "00100_2" "00100_5" ...
#> $ 2-deoxy-D-glucose(0.01M) :List of 2
#> ..$ Target_upregulation : chr [1:68] "00250_1" "01524_2" "03013_1" "03015_4" ...
#> ..$ Target_downregulation: chr [1:43] "00051_1" "00100_6" "00230_1" "00240_8" ...
#> $ NA : NULL
#> $ NA : NULL
#> $ NA : NULL
## Need to load gene set data consistent with drug regulation data.
UserGS<-get("UserGS")
str(UserGS[1:5])
#> List of 5
#> $ 00140_10: chr [1:49] "CYP11A1" "HSD3B1" "HSD3B2" "CYP17A1" ...
#> $ 00250_1 : chr [1:17] "NIT2" "ASNS" "NAT8L" "IL4I1" ...
#> $ 00030_2 : chr [1:28] "GPI" "DERA" "PRPS1L1" "PRPS1" ...
#> $ 00071_1 : chr [1:17] "ACADSB" "ACADS" "EHHADH" "HADH" ...
#> $ 00100_2 : chr [1:8] "EBP" "DHCR7" "SC5D" "DHCR24" ...
Drugs<-PrioSubtypeDrug(Geneexp,Subtype_labels,"Control",UserGS,spw.min.sz=1,drug.spw.data=UserDS,drug.spw.min.sz=1,
E_FDR=1,S_FDR=1)
#> Warning in .gsva_newAPI(expr = dataMatrix, gset.idx.list = mappedGeneSets, :
#> Some gene sets have size one. Consider setting 'minSize > 1'.
#> Estimating GSVA scores for 13 gene sets.
#> Estimating ECDFs with Gaussian kernels
#>
|
| | 0%
|
|===== | 8%
|
|=========== | 15%
|
|================ | 23%
|
|====================== | 31%
|
|=========================== | 38%
|
|================================ | 46%
|
|====================================== | 54%
|
|=========================================== | 62%
|
|================================================ | 69%
|
|====================================================== | 77%
|
|=========================================================== | 85%
|
|================================================================= | 92%
|
|======================================================================| 100%
## Plot a heat map of the individualized activity aberrance scores of subpathway regulated by drug pirenperone(1.02e-05M).
## Basal-specific drugs pirenperone(1.02e-05M) regulated subpathways that show opposite activity from normal samples.
plotDSpwHeatmap(data=Subtype_drugs,drug.label="pirenperone(1.02e-05M)",subtype.label="Basal",show.colnames=FALSE)
require(ChemmineR)
require(rvest)
## Plot the chemical structure of drug pirenperone.
Chem_str<-getDrugStructure(drug.label="pirenperone")
plot(Chem_str)