Commit bd518428 authored by Jerome Mariette's avatar Jerome Mariette
Browse files

correct speelings

parent 1ea2c57b
...@@ -200,20 +200,23 @@ ...@@ -200,20 +200,23 @@
\begin{abstract} % abstract \begin{abstract} % abstract
\parttitle{Background} %if any \parttitle{Background} %if any
The amount of rich Web applications allowing scientists to store, share and analyze data online is increasing. The amount of rich Web applications allowing scientists to store, share and
This enhances the need of embeddable visualization tools. Scientists often produce lists of known identifiers analyze data on-line is increasing. This enhances the need of embeddable
corresponding to different experimental conditions. The Venn diagram is one of the most popular chart types visualization tools. Scientists often produce lists of known identifiers
used to present list comparison results. corresponding to different experimental conditions. The Venn diagram is one of
the most popular chart types used to present list comparison results.
\parttitle{Results} %if any \parttitle{Results} %if any
jvenn is a JavaScript library providing lists processing and Venn diagram displaying functions. It is the only library jvenn is a JavaScript library providing lists processing and Venn diagram
able to handle up to six input lists presenting results as classical or Edwards-Venn diagrams. Using it, developers can displaying functions. It is able to handle up to six input lists presenting
easily embed dynamic Venn diagramms in Web pages. jvenn is fully configurable and allows to control and customize all results as classical or Edwards-Venn diagrams. Using it, developers can easily
user interactions. embed dynamic Venn diagrams in Web pages. jvenn is fully configurable and
allows to control and customize all user interactions.
\parttitle{Conclusions} %if any \parttitle{Conclusions} %if any
We introduce jvenn, an open source component for Web environments helping scientists to analyse their data. The We introduce jvenn, an open source component for Web environments helping
library package, which comes with full documentation and an integration example, is freely available at scientists to analyze their data. The library package, which comes with full
documentation and an integration example, is freely available at
http://bioinfo.genotoul.fr/jvenn. http://bioinfo.genotoul.fr/jvenn.
...@@ -277,95 +280,130 @@ http://bioinfo.genotoul.fr/jvenn. ...@@ -277,95 +280,130 @@ http://bioinfo.genotoul.fr/jvenn.
\section*{Background} \section*{Background}
Biological projects are increasingly multiplexing samples to assess differences between conditions or individuals, Biological projects are increasingly multiplexing samples to assess differences
thus, it is important to provide researchers with effective visualization tools to explore and extract between conditions or individuals, thus, it is important to provide researchers
relevant differences between these data sets. Data analysis often produces lists of biological identifiers with effective visualization tools to explore and extract relevant differences
(gene names, operational taxonomic unit, ...) which are then compared. List intersection between these data sets. Data analysis often produces lists of biological
results are commonly visualized using Venn diagrams \cite{Venn1880} presenting shared and unshared identifier identifiers (gene names, operational taxonomic unit, ...) which are then
counts, providing an insight on the similarities between the lists. compared. List intersection results are commonly visualized using Venn diagrams
\cite{Venn1880} presenting shared and unshared identifier counts, providing an
Venn diagrams are often used to present results in Web pages. Thus, several Venn diagram applications are insight on the similarities between the lists.
available. BioVenn \cite{Hulsen2008} or venny \cite{venny} are Web applications with identifier input text
areas. Where the first one offers only a three circles area-proportional diagram, the second one offers a Venn diagrams are often used to present results in Web pages. Thus, several Venn
four lists diagram without area proportion respect. Canvasxpress \cite{canvasxpress} and the Google Chart diagram applications are available. BioVenn \cite{Hulsen2008} or venny
API \cite{googleAPI}, meanwhile, are JavaScript libraries including Venn diagram features which can easily \cite{venny} are Web applications with identifier input text areas. Where the
be embedded in any Web page. These libraries generate graphical output given the intersection counts but first one offers only a three circles area-proportional diagram, the second one
cannot perform calculations on the lists. offers a four lists diagram without area proportion respect. Canvasxpress
\cite{canvasxpress} and the Google Chart API \cite{googleAPI}, meanwhile, are
JavaScript libraries including Venn diagram features which can easily be
embedded in any Web page. These libraries generate graphical output given the
intersection counts but cannot perform calculations on the lists.
\cite{Bronwen2012} \cite{Bronwen2012}
\cite{RVennDiagram} \cite{RVennDiagram}
We introduce jvenn, a JavaScript library helping scientists to present their data, in the same spirit as already We introduce jvenn, a JavaScript library helping scientists to present their
existing tools such as jbrowse \cite{Westesson01032013}, Cytoscape-Web \cite{Lopes2010}, and jHeatmap \cite{DeuPons2014}. data, in the same spirit as already existing tools such as jbrowse
jvenn handles up to six input lists, can display classical or Edwards-Venn \cite{Edwards2004} diagrams, can easily be \cite{Westesson01032013}, Cytoscape-Web \cite{Lopes2010}, and jHeatmap
embeded in a Web page, allows three different data formats (lists, intersection counts and count lists), exports PNG or CSV files \cite{DeuPons2014}. jvenn handles up to six input lists, can display classical
and permits to overload the callback function in order to control users interactions. jvenn has already been cited in two scientific or Edwards-Venn \cite{Edwards2004} diagrams, can easily be embedded in a Web
publications \cite{Bianchia2013, Aravindraja2013} and is embeded within nG6 \cite{Mariette2012}, RNAbrowse \cite{Mariette} and page, allows three different data formats (lists, intersection counts and count
WallProtDB \cite{SanClemente} Web applications. lists), exports PNG or CSV files and permits to overload the callback function
in order to control users interactions. jvenn has already been cited in two
scientific publications \cite{Bianchia2013, Aravindraja2013} and is embedded
within nG6 \cite{Mariette2012}, RNAbrowse \cite{Mariette} and WallProtDB
\cite{SanClemente} Web applications.
\section*{Implementation} \section*{Implementation}
jvenn is a JavaScript library written as a jQuery plugin \cite{jquery}. It can be embeded by referencing the JavaScript file jvenn is a JavaScript library written as a jQuery plug-in \cite{jquery}. It can
in an HTML page. For researchers who want to produce a Venn diagram from their identifier lists, jvenn is also available as a be embedded by referencing the JavaScript file in an HTML page. For researchers
Web application at http://bioinfo.genotoul.fr/jvenn/example.html. The installation documentation is included in the software package who want to produce a Venn diagram from their identifier lists, jvenn is also
which can be downloaded from http://bioinfo.genotoul.fr/jvenn. available as a Web application at http://bioinfo.genotoul.fr/jvenn/example.html.
The installation documentation is included in the software package which can be
downloaded from http://bioinfo.genotoul.fr/jvenn.
The library provides an option to define the data inputs: \textit{series}. It accepts three different input formats discribed in The library provides an option to define the data inputs: \textit{series}. It
Table 1. In the case of list or count lists \textit{series} it will first execute a function to compute the overlaps between lists and then accepts three different input formats described in Table 1. In the case of list
display the chart. In the case of intersection counts \textit{series}, the plugin will only display the graphical result. The display or count lists \textit{series} it will first execute a function to compute the
is based on a JavaScript canvas object allowing to export the chart as a PNG file. This feature can be disabled by setting the \textit{exporting} overlaps between lists and then display the chart. In the case of intersection
option to \textit{false} hiding the exporting button. counts \textit{series}, the plug-in will only display the graphical result. The
display is based on a JavaScript canvas object allowing to export the chart as a
PNG file. This feature can be disabled by setting the \textit{exporting} option
to \textit{false} hiding the exporting button.
The Web application developer can also overload the callback function defining the click on an intersection count. This can be done by defining The Web application developer can also overload the callback function defining
the \textit{fnClickCallback} parameter. The overloading function has access to the \textit{this.listnames} and \textit{this.list} variables the click on an intersection count. This can be done by defining
allowing the developer to control the user interactions. This feature can be disabled by setting the \textit{disableClick} option to \textit{true}.
To customize the diagram display, the developer can also settle the \textit{colors} option. the \textit{fnClickCallback} parameter. The overloading function has access to
the \textit{this.listnames} and \textit{this.list} variables allowing the
developer to control the user interactions. This feature can be disabled by
setting the \textit{disableClick} option to \textit{true}. To customize the
diagram display, the developer can also settle the \textit{colors} option.
\section*{Results and Discussion} \section*{Results and Discussion}
Venn diagrams are commonly used to display list intersections because they are simple to read and understand. This is true up to four lists but Venn diagrams are commonly used to display list intersections because they are
scientists are interested in using it with more. This type of diagrams are able to present up to six lists in the classical representations. simple to read and understand. This is true up to four lists but scientists are
Reaching this number, the presented diagrams are not proportional to the list counts and the intersection areas are often too small to display the interested in using it with more. This type of diagrams are able to present up
figures. to six lists in the classical representations. Reaching this number, the
presented diagrams are not proportional to the list counts and the intersection
To present in a user-friendly manner five or six list diagrams, jvenn implements several functionalities. First, the display can be switched to areas are often too small to display the figures.
Edwards-Venn (Fig. 2) by setting the \textit{displayType} option to \textit{edwards}. It gives a clearer graphical representation for six list
diagrams. To enhance the figure's readability on the classical six lists Venn graphic it was decided not to present all the values and to link some areas To present in a user-friendly manner five or six list diagrams, jvenn implements
to their figures using lines. This still did not permit to show all figures, therefore a switch button panel (Fig. 1) was added. This panel enables several functionalities. First, the display can be switched to Edwards-Venn
to switch on and off the different lists and display the corresponding intersection counts. For all the diagrams, when the intersection count size (Fig. 2) by setting the \textit{displayType} option to \textit{edwards}. It
exceeds the allowed space, the value is substituted by a question mark. The real value pops-up on mouse over. This behaviour can be disabled by setting gives a clearer graphical representation for six list diagrams. To enhance the
the \textit{shortNumber} option to \textit{false}. Last, to show the lists taking part in an intersection, jvenn highlights the corresponding areas on figure's readability on the classical six lists Venn graphic it was decided not
mouse over the figure and fades the others out. to present all the values and to link some areas to their figures using lines.
This still did not permit to show all figures, therefore a switch button panel
Scientists are usually interested in extracting identifier lists from some of the intersections, therefore, jvenn implements an one-click function which (Fig. 1) was added. This panel enables to switch on and off the different lists
and display the corresponding intersection counts. For all the diagrams, when
the intersection count size exceeds the allowed space, the value is substituted
by a question mark. The real value pops-up on mouse over. This behavior can be
disabled by setting the \textit{shortNumber} option to \textit{false}. Last, to
show the lists taking part in an intersection, jvenn highlights the
corresponding areas on mouse over the figure and fades the others out.
Scientists are usually interested in extracting identifier lists from some of
the intersections, therefore, jvenn implements an one-click function which
retrieves the names of the corresponding samples and the identifiers. retrieves the names of the corresponding samples and the identifiers.
Having an overview of the list size and comparing multiple diagrams can be difficult using a Venn diagram. Thus, jvenn provides two extra charts (Fig. 1) Having an overview of the list size and comparing multiple diagrams can be
bellow the Venn. The first one represents the input lists size histogram. It allows users to check the list size homogeneity. The second one displays difficult using a Venn diagram. Thus, jvenn provides two extra charts (Fig. 1)
the number of elements located in intersections of a certain size. This feature can be used to compare the compactness of multiple Venn diagrams. bellow the Venn. The first one represents the input lists size histogram. It
Setting the \textit{displayStat} to true enables this feature. allows users to check the list size homogeneity. The second one displays the
number of elements located in intersections of a certain size. This feature can
be used to compare the compactness of multiple Venn diagrams. Setting the
\textit{displayStat} to true enables this feature.
jvenn's performance depends on the client browser. Using the running version (link below) on a standard linux computer, it displays a six lists diagram of jvenn's performance depends on the client browser. Using the running version
(link below) on a standard Linux computer, it displays a six lists diagram of
10 000 identifiers in two seconds. 10 000 identifiers in two seconds.
As examples, we produced two Venn diagrams representing six samples SRR068049, SRR06805, SRR068051, SRR068052, SRR068053 and As examples, we produced two Venn diagrams representing six samples SRR068049,
SRR068054 corresponding to sets of Operational Taxonomic Units observed under different conditions. Fig. 1 shows intersections SRR06805, SRR068051, SRR068052, SRR068053 and SRR068054 corresponding to sets of
between the six of them using the classical Venn diagram display. In Fig. 2, jvenn highlights the intersection between three samples out of Operational Taxonomic Units observed under different conditions. Fig. 1 shows
six from an Edwards-Venn diagram. intersections between the six of them using the classical Venn diagram display.
In Fig. 2, jvenn highlights the intersection between three samples out of six
from an Edwards-Venn diagram.
\section*{Conclusions} \section*{Conclusions}
jvenn is an easy-to-use library which generates Venn and Edwards-Venn diagrams from lists of identifiers or from computed intersection jvenn is an easy-to-use library which generates Venn and Edwards-Venn diagrams
counts. Its implementation as a library allows whoever has some JavaScript programming skills to embed it in a Web page without any from lists of identifiers or from computed intersection counts. Its
dependancies. implementation as a library allows whoever has some JavaScript programming
skills to embed it in a Web page without any dependancies.
\section*{Availability and requirements} \section*{Availability and requirements}
jvenn is freely available under the GNU General Public License (GPL) and can be downloaded with an example and the full documentation jvenn is freely available under the GNU General Public License (GPL) and can be
at http://bioinfo.genotoul.fr/jvenn webcite. A running version is accessible at http://bioinfo.genotoul.fr/jvenn/example.html. downloaded with an example and the full documentation at
http://bioinfo.genotoul.fr/jvenn website. A running version is accessible at
http://bioinfo.genotoul.fr/jvenn/example.html.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %% %% %%
...@@ -379,8 +417,9 @@ at http://bioinfo.genotoul.fr/jvenn webcite. A running version is accessible at ...@@ -379,8 +417,9 @@ at http://bioinfo.genotoul.fr/jvenn webcite. A running version is accessible at
The authors declare that they have no competing interests. The authors declare that they have no competing interests.
\section*{Author's contributions} \section*{Author's contributions}
JM conceived and designed the project. JM, PB, and CD implemented the project. CK evaluated software capabilities, and provided JM conceived and designed the project. JM, PB, and CD implemented the project.
feedback on implementation. JM and CK wrote the manuscript. All authors read and approved the final manuscript. CK evaluated software capabilities, and provided feedback on implementation. JM
and CK wrote the manuscript. All authors read and approved the final manuscript.
\section*{Acknowledgements} \section*{Acknowledgements}
We would like to acknowledge all our users for providing us useful feedback on We would like to acknowledge all our users for providing us useful feedback on
...@@ -427,21 +466,22 @@ the system and for pointing out features worth developing. ...@@ -427,21 +466,22 @@ the system and for pointing out features worth developing.
\section*{Figures} \section*{Figures}
\begin{figure}[h!] \begin{figure}[h!]
\caption{\csentence{A six lists classic Venn diagram.} \caption{\csentence{A six lists classic Venn diagram.}
This Venn diagram displays overlaps between six different biological samples. When This Venn diagram displays overlaps between six different biological
the user clicks on a figure, it calls the developer defined function. samples. When the user clicks on a figure, it calls the developer defined
The icon located on the top-right, allows users to download the diagram as a PNG function. The icon located on the top-right, allows users to download the
file. On the bottom-right of the chart, a switch button panel allowing to activate or diagram as a PNG file. On the bottom-right of the chart, a switch button
disactivate lists to access a specific intersection count. The charts showing the lists panel allowing to activate or dis-activate lists to access a specific
size repartition and the number of common and specific elements are located underneath the intersection count. The charts showing the lists size repartition and the
number of common and specific elements are located underneath the
diagram.} diagram.}
\end{figure} \end{figure}
\begin{figure}[h!] \begin{figure}[h!]
\caption{\csentence{A six lists Edwards-Venn diagram.} \caption{\csentence{A six lists Edwards-Venn diagram.}
On mouse over a figure, the shape corresponding to the list involved in the intersection On mouse over a figure, the shape corresponding to the list involved in
are highlighted and the other ones faded out. In this example, the user points the the intersection are highlighted and the other ones faded out. In
intersection between samples SRR068049, SRR068051 and SRR068052 which contains eight this example, the user points the intersection between samples SRR068049,
different items.} SRR068051 and SRR068052 which contains eight different items.}
\end{figure} \end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment