Intuitively visualizing and interpreting data from high-throughput genomic technologies continues to be challenging. “Genomic Visualizations in R” (GenVisR) attempts to alleviate this burden by providing highly customizable publication-quality graphics supporting multiple species and focused primarily on a cohort level (i.e., multiple samples/patients). GenVisR attempts to maintain a high degree of flexibility while leveraging the abilities of ggplot2 and bioconductor to achieve this goal.
Read the published Bioinformatics paper!
For the majority of users we recommend installing GenVisR from the release branch of Bioconductor, Installation instructions using this method can be found on the GenVisR landing page on Bioconductor.
Please note that GenVisR imports a few packages that have “system requirements”, in most cases these requirements will already be installed. If they are not please follow the instructions to install these packages given in the R terminal. Briefly these packages are: “libcurl4-openssl-dev” and “libxml2-dev”
Development for GenVisR occurs on the griffith lab github repository available here. For users wishing to contribute to development we recommend cloning the GenVisR repo there and submitting a pull request. Please note that development occurs on the R version that will be available at each Bioconductor release cycle. This ensures that GenVisR will be stable for each Bioconductor release but it may necessitate developers download R-devel.
We also encourage users to report bugs and suggest enhancements to GenVisR on the github issue page available here:
waterfall
provides a method of visualizing the mutational landscape of a cohort. The input to waterfall
consists of a data frame derived from either a .maf (version 2.4) file or a file in MGI annotation format (obtained from The Genome Modeling System) specified via the fileType
parameter. waterfall
will display the mutation occurrence and type in the main panel while showing the mutation burden and the percentage of samples with a mutation in the top and side sub-plots. Conflicts arising from multiple mutations in the same gene/sample cell are resolved by a hierarchical removal of mutations keeping the most deleterious as defined by the order of the “mutation type” legend. Briefly this hierarchy is as follows with the most deleterious defined first:
MAF | MGI |
---|---|
Nonsense_Mutation | nonsense |
Frame_Shift_Ins | frame_shift_del |
Frame_Shift_Del | frame_shift_ins |
Translation_Start_Site | splice_site_del |
Splice_Site | splice_site_ins |
Nonstop_Mutation | splice_site |
In_Frame_Ins | nonstop |
In_Frame_Del | in_frame_del |
Missense_Mutation | in_frame_ins |
5’Flank | missense |
3’Flank | splice_region_del |
5’UTR | splice_region_ins |
3’UTR | splice_region |
RNA | 5_prime_flanking_region |
Intron | 3_prime_flanking_region |
IGR | 3_prime_untranslated_region |
Silent | 5_prime_untranslated_region |
Targeted_Region | rna |
intronic | |
silent |
Occasionally a situation may arise in which it may be desireable to run waterfall
on an unsupported file type. This can be achieved by setting the fileType
parameter to “Custom”. Further the hieararchy of mutations (described above) must be specified with the variant_class_order
parameter which expects a character vector describing the mutations observed in order of most to least important. Note that all mutations in the input data must be specified in the variant_class_order
parameter. Using this option will require the data frame to contain the following column names: “sample”, “gene”, “variant_class”.
To view the general behavior of waterfall
we use the brcaMAF
data structure available within GenVisR. This data structure is a truncated MAF file consisting of 50 samples from the TCGA project corresponding to Breast invasive carcinoma (complete data from TCGA public web portal).
# Plot the mutation landscape
waterfall(brcaMAF, fileType="MAF")
This type of view is of limited use without expanding the graphic device given the large number of genes. Often it is beneficial to reduce the number of cells in the plot by limiting the number of genes plotted. There are three ways to accomplish this, the mainRecurCutoff
parameter accepts a numeric value between 0 and 1 and will remove genes from the data which do not have at least x proportion of samples mutated. For example if it were desireable to plot those genes with mutations in >= 6% of samples:
# Load GenVisR and set seed
library(GenVisR)
set.seed(383)
# Plot only genes with mutations in 6% or more of samples
waterfall(brcaMAF, mainRecurCutoff = 0.06)