). In the extreme of simplicity, RStudio’s shinny app (https://shiny.rstudio.com/
). Google Charts is especially simple and allows many types of numerical plots such as scatter, lines, bar, and pie charts (example in Figure 2
A); moreover, its GeoCharts allow mapping of numerical data on geographical representations, as offered also by only a few other libraries.
Some tools for numerical display actually focus on specific kinds of data. SpeckTackle implements charts for 1D and 2D NMR, UV/visible and infrared spectroscopies, charts for mass spectrometry, and other continuous variables like those recorded in a chromatographic run [28
]. More documented and with more examples available, JSpecView [29
] (Figure 2
C) followed by MSAViewer [4
]. There are also tools for visualization of protein features and annotations, such as pViz.js [31
] and Protael [2
]. A related tool, MultiProtScale (Table 2
), computes and displays physicochemical properties of amino acids over sequences and alignments, acting as an interactive extension of Expasy’s ProtScale tool. Moving on to genomics, SnipViz [32
] and BioCircos.js [33
] help visualize and disseminate gene and protein sequences and their annotations, while GenomeD3Plot [34
] and pileup.js [35
] allow for interactive in-browser visualization of genomic data.
Integration of 3D visualizations of biological macromolecules directly inside HTML without plugins is now possible with little effort thanks to tools based on HTML5, CSS, WebGL, and canvases. The full web apps and libraries JSmol [9
], 3dmol.js [11
], and NGLviewer [10
] are among the most widely used, and roughly balance technical features with graphic quality. Some other online visualizers explore advanced features such as gesture interaction [37
] and capabilities for very large macromolecules [38
]. With such easy-to-use resources, researchers publishing biomolecular models shall, and should, make their models available to the scientific community in 3D, as this author does (Figure 3
A and links in Table 2
A–D), born as the Java-free version of Jmol (currently actively developed by Prof. R. Hanson) and likely destined to replace it as Java becomes less compatible with modern browsers. JSmol includes all of Jmol’s capabilities, which means not only potential to display molecules of different formats but also molecular orbitals and any 3D object, useful to draw vectorial information in 3D such as distances or electric field lines. JSmol recently incorporated the capability to display DSSR-derived structural features from RNA structures [45
]. Furthermore, it supports rendering of premade PyMOL [46
] sessions, synchronization of multiple applets inside a web page (as in Figure 3
B, an example of enhanced content [41
JSmol’s capabilities further include modification of atomic coordinates through rotations, translations and even force field-based minimizations, recalculation of hydrogen bonds, aromaticity, secondary structures in proteins, analysis of chiral centers, calculations about molecular electrostatics, and much more. Using these and other JSmol capabilities in conjunction with JSME (see below) and API calls (treated later on) to public chemical data services, Prof. O. Rothenberger built a fully working web-based Virtual Molecular Model Kit [47
] that provides easy access to the potential of all these tools (Table 2
], as well as for calculations and for extracting information from files with molecular data in web applications such as protein sequences from PDB files (Figure 3
]. Also, JSmol is often used for building molecules and submitting them to servers for calculations through third-party programs, as in the MolCalc [49
] web app for fast quantum mechanics-based estimation of molecular properties using GAMESS [50
], whose results are displayed back through JSmol—a very interesting tool for education, outreach, and simple research questions. Further interesting resources built from JSmol are a Crystal Symmetry Explorer, including a tool to create files for 3D printing directly from JSmol [51
], web interfaces that connect structures to spectral data display with JSpecView described above, and a powerful molecular editor dubbed “Hack-a-mol”, described next.
]. Probably the most widely used, free tool for small molecules is JSME [13
D and Table 2
) integrates JSME with JSmol and calls to PubChem, NCI, InCHI, and ChEMBL, to interconvert 2D sketches, 3D structures, SMILES, InChI, and InChIKey codes, and MOL/SDF, XYZ, PDB and CIF file formats of any molecule. When any of Hack-a-mol’s containers are modified (for example, the file contents in text format are manually changed, or a new atom is drawn in JSME, or the SMILES string is modified) the other containers react to update their contents accordingly. Such a tool, originally devised by Prof. R. Hanson for students of cheminformatics, is actually powerful for research in this field as well as in molecular modeling, for example to produce inputs for parameterization of small molecules for molecular dynamics simulations—for which there also exist web-based tools [54
] that would be handy to have streamlined. Other tools like Chemozart [15
] and CH5M3D [14
] are designed to build molecules interactively and directly in 3D.
] for tasks such as (sub)structure searching and comparison, functional group detection, 2D-to-3D conversion and format conversions; and ChemDoodle Web Components [53
] for building molecules and editing them both in 2D and 3D, computation and display of Lewis structures, simulating and displaying NMR and MS spectra, getting IUPAC names from structures, counting numbers of atoms or bonds, and more. Yet other libraries like MarvinJS facilitate 2D drawing of molecules, reactions, and reaction mechanisms, further usable for reshuffling substituents and querying databases and web services; while JSdraw is a complete resource to design graphical web content for chemistry and biology, including chemical structures, spectra, simulated electrophoretic runs, etc.