Look at the source code here.
Look at the documentation here.
plOtMICS is an R package to visualize omics and sequencing data in R using simple but useful functions:
chromReads()
: draws aggplot2
-based horizontal barplot with the number and the percentage of reads mapped to each chromosome.barDEGs()
: draws aggplot2
-based horizontal barplot with the upregulated and downregulated genes coming from DESeq2.volcanoPlot()
: draws aggplot2
-based volcano plot with the DE data coming out from DESeq2.DEcompare()
: draws aggplot2
-based scatter plot comparing the Log2FCs of two different contrasts.barAnno()
: takes a list of modified outputs fromChIPseeker::annotatePeak()
, computes the proportion of peaks in distal or promoter regions and draws aggplot2
-based barplot with the correseponding proportion for each sample.getVennCounts()
: helper function that callsChIPpeakAnno::makeVennDiagram()
to intersect different sets of peaks and returns the Venn counts and a list of the peaks present in each set of peaks.upsetPeaks()
: callsgetVennCounts()
and draws an UpSet plot using the Venn counts and theUpSetR
package.ggUpsetPeaks()
: callsgetVennCounts()
and draws aggplot2
-based UpSet plot using the Venn counts.ggVennPeaks()
: callsgetVennCounts()
and draws a Venn diagram using the packageggvenn
.plotDendogram()
: helper function to draw a dendogram for the heatmaps inexpressionHeatmap()
andexpressionHeatmap2()
.expressionHeatmap()
: function that takes a data frame of expression data (including Geneid) and plots a heatmap of the selected genes. It can be any expression data, but it is better for expression values, counts, normalized counts in which the frist column is the Geneid and the other columns are each of the samples that are to be plotted.expressionHeatmap2()
: function that takes a list of data frames with the columns Geneid and log2FoldChange (it can be another type data, such as FPKMs, but its easier to maintain the name of log2FoldChange since it is how it output fromDESeq2
) and plots a heatmap with the selected genes. It is better for log2FoldChange heatmaps in which each element in the list is a data frame that outputs fromDESeq2
.chromRegions()
: function that takes the chromosome size information and a list of regions (e.g. BED files) to draw the positions of that regions in the genome.circleRegions()
: function that takes a list of chromosome size information and a list of regions (e.g. BED files) to draw the positions of that regions in the genome. Similar tochromRegions()
, but in a circular plot, allowing different assemblies, pairing regions, etc.
Install plotmics
To install plotmics
, you have to run:
# install the devtools package from CRAN (only if you don't have it)
if(!require(devtools)){ install.packages("devtools"); library(devtools) }
# install plotmics from the GitHub repository
devtools::install_github("amitjavilaventura/plotmics")
If you want to use plotmics
, go to the documentation to see how to run each function.
Versions
plotmics
versions have the structure of 1.2.3
. The first number (1
, major) implies the addition of a function and/or major changes in the packages; the second number (2
,minor) implies the addition of new features to a function and possible corrections; the third number (3
, micro) implies the correction of minor bugs or addition of minor features.
The version history of plotmics
is shown below:
v1.0.0
:- First version.
v1.1.0
:- Rescale
ggVennPeaks()
output to remove blank space around the Venn diagram. - Add possibility to scale (
scale()
) data by rows or columns inexpressionHeatmap()
andexpressionHeatmap2()
.
- Rescale
v1.1.1
:- Add minor formatting options in
expressionHeatmap()
andexpressionHeatmap2()
, such as the possibility to remove the gene names, change sizes of texts and titles, change the color of the border of each cell, etc. - Add minor changes in
ggVennPeaks()
in order to make it easier to visualize more peaks sets.
- Add minor formatting options in
v1.1.2
:- Change chromosome filtering method in
chromReads()
. - Allow dataframes without
DEG
column as input forvolcanoPlot()
. - Change
scale = FALSE
forscale = "none"
involcanoPlot()
.
- Change chromosome filtering method in
v1.1.3
:- Fix error in labelling of
expressionHeatmap()
andexpressionHeatmap2()
.
- Fix error in labelling of
v1.1.4
:- Add possibility to color the NA values in
expressionHeatmap()
andexpressionHeatmap2()
. - Change title format in
barDEGs()
.
- Add possibility to color the NA values in
v2.0.0
(2021-09-22):- Add new function
chromRegions()
.
- Add new function
v2.1.0
(2021-09-26):- Allow
chromRegions()
to take a list of regions as input. - Allow
chromRegions()
to order the region sets.
- Allow
v3.0.0
(2021-09-28):- Add new function
circleRegions()
. - Allow
chromRegions()
to color by different parameters. - Allow
chromRegions()
to add extra info. - Allow
chromRegions()
to remove or change size of text in the Y axis.
- Add new function
v3.0.1
(2021-09-30):- Fix a minor bug about plotting the chromosome labels in
circleRegions()
. - Fix a minor bug in
ggVennPeaks()
that caused a intersection with one region more than expected. - Remove
pkgcond
from required packages ofgetVennCounts()
.
- Fix a minor bug about plotting the chromosome labels in
v3.1.0
(2021-10-04):- Allow
ggVennPeaks()
andgetVennCounts()
to consider strand information.
- Allow
Contributors
This package has been developed by Adrià Mitjavila Ventura, with some contributions from dfernandezperez
If you want to contribute to this package, post an issue in this repository or fork it adding your code and do a pull request.