gene_plot()
defaults now to NULL in the intgroup
parameter, which translates into using the first colData
itemmosdef
Bioconductor is complete, with the original functions now being deprecated. This applies to goseqTable()
(now replaced by mosdef::run_goseq()
), which has now been made faster and more robust in its functionality and in the ways it can be executedgene_plot()
function from mosdef
, instead of the previous ggplotCounts()
function - gene_plot()
is more flexible and has more options to control the behavior of the final plot objectdeseqresult2tbl()
and deseqresult2DEgenes()
are now replaced by the more flexible mosdef::deresult_to_df()
createLinkENS()
, createLinkGeneSymbol()
, and createLinkGO()
are now replaced by the equivalent functions in mosdef
igraph
- no changes happening
for the end userdescribe_gtl()
correctly extracts the number of up and down regulated genes from the DE resultsgs_scores()
to handle cases where only one gene would be included in the
signature to plotenhance_table()
has now the possibility to plot the visual summaries as ridge lines.gene_plot()
to fail early when providing an invalid value to the intgroup
parameter.gs_heatmap
gains the winsorize_threshold
parameter, to control the behavior of the geneset heatmap in presence of extreme values, either negative or positive ones. If not specified, the heatmap is not introducing any winsorization.map2color()
has a behavior that better accounts for asymmetric ranges of values. This propagates to some of the functions that use it for mapping to colors, such as enrichment_map()
, or ggs_backbone()
.GeneTonicList
object at runtime.gs_heatmap
functionenhance_table()
function can handle the case where a gene is in the enrichment results table but not present in the annotation (e.g. annotations are updated, so some correspondences might get lost). It also presents an informative message on which genesets/genes are potentially responsible for the behavior.z_score
of a geneset is detected as NA (e.g. because there was a mismatch between gene names and identifiers in the annotation).GeneTonic
now offers the possibility to upload a GeneTonicList
at runtime. This makes it possible to use the app as a server-like dashboard, which runs by default on no dataset provided, and populates its components upon successfully providing the data as expectedGeneSpector
functionality in the Welcome panel provides a means to explore any gene in the expression set, coloring and grouping by any experimental covariate of interestGeneTonicList
- this, combined to the upload functionality, makes it possible to easily compare different gtl
objectsGeneTonic
app has a button to export the currently provided dataset - regardless of the input format - as a GeneTonicList
. This is especially useful if one is providing the individual components (dds
, res_de
, res_enrich
, annotation_obj
) and would like to obtain the correct serialized objectgs_upset
adds the possibility to represent the results of enrichment analyses as upset plots, with the option to decorate them with DE-related informationGeneTonic
is now published on BMC Bioinformatics at https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04461-5 - the citation item has been updated accordinglygene_plot
is now completely reproducible, by setting a seed internally in the jitter generating functionGeneTonic
can now accept the input of clusterProfiler
's gene set enrichment analysis functions (gseGO
and GSEA
), as implemented in the shake_gsenrichResult()
functionGeneTonic
is now available on bioRxiv at https://www.biorxiv.org/content/10.1101/2021.05.19.444862v1 - the citation item has been updated accordinglyGeneTonic
's Shiny app now uses the latest version of bs4Dash
, which introduced some breaking changes. Most elements should be now available as they were in the original implementationThe main function GeneTonic()
gains an extra parameter, gtl
- this can be used to provided a named list object where a single parameter is passed (e.g. after loading in a single serialized object), while the functionality stays unaltered.
The same gtl
parameter is also exposed in other functions of the package - see the vignette for some examples, or check the documentation of each specific function.
To create this object in a standardized manner, the function GeneTonic_list()
is now available.
A new function to perform fuzzy clustering (following the implementation of DAVID) is added - see gs_fuzzyclustering()
. It returns a table with additional information on the cluster of genesets and the status of each set in the group.
The ggs_backbone()
function can extract the bipartite graph backbone from the Gene-Geneset graph, this can be further explored below the main element in the Gene-Geneset panel. Once the backbone is created, you are one step away from checking out the genes that act as "hubs" in the Gene-Geneset graph, and possibly identify the nodes playing an essential role based on their connectivity.
A new function, signature_volcano()
, adds a signature volcano plot to the Gene-Geneset panel. This plot displays the genes of a chosen geneset in color, while the remaining genes of the data are shown as shaded dots in the background.
The color and transparency of the displayed genes can be chosen by the user, as well as the option to display the gene names of all genes in the geneset.
gs_summary_overview()
can also generate bar plots instead of the default segment-dot (lollipop) plots.
A new function, summarize_ggs_hubgenes()
, builds a DT datatable
for the Gene-Geneset panel. This table lists the individual genes of the input data and their respective degree in the Gene-Geneset graph. Furthermore, action buttons
linking to the NCBI, GeneCards and GTEx databases are included for each gene.
gene_plot()
gains the extra labels_display
argument to control whether the labels are at all shown; now the display of the labels is also respecting the jitter of the points
gs_heatmap()
has now the possibility to set the arguments to the call to heatmap generating function, via ellipsisgs_heatmap()
handles the colors in a consistent way over the different executions, without relying on the random palettes provided by the Heatmap
's annotation functionality - could have been misleading if encountering too similar hues are randomly pickedgs_mds()
and gs_volcano()
now always display the line segments for the data points to be labeled (increasing the readability - as "matching back the label to the drawn circle" - thanks for the suggestion!)The geneset distillery is officially open! GeneTonic
offers functionality to aggregate together gene sets into overarching biological themes, based on a network-based refinement of the enrichment map.
Corresponding graphical functionalities are also extended to accommodate meta-genesets.
An efficient implementation for the Markov clustering on graph objects is also provided
GeneTonic
can now receive the input of many other tools for functional enrichment analysis - this includes the output (text export) of DAVID (shake_davidResult
), enrichr (from website and via the package, with shake_enrichrResult
), fgsea (shake_fgseaResult
), and g:Profiler (with shake_gprofilerResult
, which can handle the textual output from the website, as well the one from the call to the gost
in gprofiler2
)
An export button to a SummarizedExperiment
object for iSEE
and its underlying machinery has been added. If the visualization options in GeneTonic
are not exactly what you would expect, you might find an excellent venue in the iSEE
framework
GO.db
package, or also mistyped if entered by hand at some point.gs_heatmap
has a new parameter, plot_title
, to override the title to be displayed and set it to any custom stringvisNetwork
export_to_sif
enables to export a graph object to a text file, encoded with the SIF formatGeneTonic
has become a part of Bioconductor!GeneTonic
is now submitted to Bioconductor!res_enrich
, namely gs_radar
, gs_summary_overview_pair
, and gs_horizon
were internally rewritten to accept correctly the comparison elementsGeneTonic
GeneTonic
. Feel free to try them out!GeneTonic
to enable finer control of the output aspectcheck_colors
verify that color palettes are correctly providedGeneTonic
is now provided with modal dialog windows, rather than in a separate tabbs4Card
UI elementGeneTonic
sports a blazing new hex sticker - say bye to the original draft!datatable
s has some styling with color bars - e.g. for DE results - to enhance the visual perception of numeric values (e.g. log2FoldChange)gs_heatmap
can now take a custom list of gene identifiers (when no geneset is passed)gs_mds
is now optionally returning a data.frame, to be further used for custom plotting or downstream processinggs_summary_overview
now has coloring enabled by the variable of choicegs_spider
is equivalent to gs_radar
, and gs_sankey
is equivalent to gs_alluvial
GeneTonic
now delivers bundled example objects to make examples and tests slimgs_volcano
can now plot points by different colors according to the columns of interestGeneTonic
has a fully fledged manual describing its functionality and user interfaceenrichment_map()
, gs_mds()
)gs_dendro()
to display distance matrices with some visualization sugar, as an alternative to other methodsn_gs
and gs_ids
are exposed to more functions to enable custom subsets of the enrichment results to be inspectedgs_heatmap
now relies on ComplexHeatmap
, to avoid the issues with Shiny of not displaying the outputs in the app, and enabling a comfortable heatmap annotationgs_mds
, gs_volcano
(parameter: gs_labels
), gs_alluvial
, ggs_network
, enrichment_map
, and enhance_table
(using gs_ids
)gs_ggheatmap
got renamed to gs_scoresheat
GeneTonic
now enforces a format for res_enrich
, and provides some conversion functions, shake_*()
. Requirements are specified in the documentation, if an appropriate converter does not (yet) exist.gene_plot
can enforce a plot type overriding the default based on the number of samples per conditionGeneTonic
uses now bs4Dash
and many of its nice features, replacing the previous implementation based on shinydashboard