{'fraction_non_alphanumeric': 0.027145551023988072, 'fraction_numerical': 0.0050431960706924525, 'mean_word_length': 5.031208674953716, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 1, 'https://': 9, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
MDsrv: visual sharing and analysis of molecular dynamics simulations

Abstract Molecular dynamics simulation is a proven technique for computing and visualizing the time-resolved motion of macromolecules at atomic resolution. The MDsrv is a tool that streams MD trajectories and displays them interactively in web browsers without requiring advanced skills, facilitating interactive exploration and collaborative visual analysis. We have now enhanced the MDsrv to further simplify the upload and sharing of MD trajectories and improve their online viewing and analysis. With the new instance, the MDsrv simplifies the creation of sessions, which allows the exchange of MD trajectories with preset representations and perspectives. An important innovation is that the MDsrv can now access and visualize trajectories from remote datasets, which greatly expands its applicability and use, as the data no longer needs to be accessible on a local server. In addition, initial analyses such as sequence or structure alignments, distance measurements, or RMSD calculations have been implemented, which optionally support visual analysis. Finally, based on Mol*, MDsrv now provides faster and more efficient visualization of even large trajectories compared to its predecessor tool NGL.


INTRODUCTION
Molecular dynamics (MD) simulations are a wellestablished technique to investigate time-resolved motions of biological macromolecules at atomic resolution (1,2). MD simulations are routinely applied to answer many biologically relevant questions and have proven their value in deciphering functional mechanisms of proteins such as of G protein-coupled receptors (GPCRs), DNA or RNA and thereby aiding also in the design of novel drugs (e.g. (3)). Recent approaches using machine learning that push the limitations of classical MD simulation (4) give a glimpse of future applications that may even exceed the time scales of coarse-grained dynamics (5,6). MD simulations can provide unprecedented insight into temporal and spatial W484 Nucleic Acids Research, 2022, Vol. 50, Web Server issue details by calculating the dynamic behavior of proteins in their natural cellular environment in silico.
In recent years, researchers using MD simulations have helped make the field of MD more FAIR (findability, accessibility, interoperability, reproducibility of data (7)) by depositing their data in general-purpose scientific data repositories, making them accessible for further study and research (8). Even if access to MD trajectories is granted, some degree of expert knowledge is required to even load and visually examine a simulation. Visualization itself is a great way to bridge technical knowledge gaps, for example between experimental and computational researchers, as it facilitates and guides data analysis and the complementary strengths of human and machine analysis are potentiated when led by interactive visualization (9). Web-enabled visualization solutions help reach a wider audience. Web visualization tools are now increasingly being developed and made available for visualizing MD trajectories. The popularity of these applications is also due to the free and easy accessibility of the tools for visualization of MD trajectories and their user-friendliness.
The MDsrv was the first tool that made interactive streaming and visualization of MD trajectories in web browsers more accessible (10); others followed including HTMoL (11), UnityMol (12), PCAViz (13) and 3dRS (14). The applications of these tools are broad, and they all cover the same functionalities of in-browser visualization and sharing of remote data. Each one, however, differentiates itself by adding different features, e.g. the programmatic manipulation of the trajectory via text-console (11), the visualization of principal components (13) or of arbitrary collective variables (14). As of to our knowledge, with its simplicity, the MDsrv and in particular the NGL Viewer allowed an easy and streamline embedding into other websites. An example is the GPCRmd platform, which hosts MD simulations of >200 GPCRs and visualizes the intrinsic flexibility of the 3D-GPCRome that in turn provides valuable insights into signaling processes that are also relevant to drug development (15). Furthermore, the NGL Viewer and MDsrv were the basis for 3dRS that improved even more the user experience and facilitate session generation with the goal to make such MD streaming viewers more applicable by the community. 3dRS is well adapted to sharing structures and trajectories, but only up to a certain size. Due to the ever increasing amount of data, MDsrv addresses this aspect by being optimized for arbitrarily large data. This approach led in the development also to smaller restrictions (e.g., possible file formats) that will be addressed in future releases.
MDsrv already allowed MD experts to set up a session to share an intuitive visualization of a trajectory with collaborators. Although it has been adopted by many computational biophysicists, usability was still somewhat limited. First, creating a session required knowledge of JavaScript, and extracting accurate representations, colors, or alignments was tedious. Simple and helpful analysis functions such as distance measurements required even more expert knowledge of the underlying functions of the MDsrv which in turn relied on the NGL Viewer visualization (16). This complicated the application and limited the visualization setup to experts. Here we introduce a new instance of MDsrv that allows non-experts to load and share MD trajectory sessions more easily (see as overview Graphical Abstract, available at https://proteinformatics.informatik.uni-leipzig. de/mdsrv).
The underlying viewer, NGL, has been replaced by its successor Mol* (17), which combines the strengths of the NGL Viewer and the LiteMol Suite (18). Mol* offers a number of benefits for MDsrv, including superior visual quality, improved secondary structure assignment, trajectory animation video export, and fully GUI-driven session support. We created a custom viewer built on top of Mol*. This approach not only allowed the MDsrv to directly benefit from the above-mentioned features of Mol*, but also opened up the possibility of integrating necessary changes directly into Mol*, in addition to creating further specifications at the level of the MDsrv. We contributed an importer for Zenodo (https://zenodo.org/) datasets to Mol* that greatly simplifies access and visualization of trajectories from Zenodo and alleviates the need for one's own MDsrv instance. In addition, interactive trajectory analysis features for distance, RMSD, angle, or dihedral measurements have been added. Finally, we modularized the software for MDsrv in containers to simplify the installation of MDsrv. With our update of the MDsrv, we take another step towards our goal of making MD simulations even more accessible to a broader user base in line with the FAIR principles.

Server
General architecture. The MDsrv web service is designed for sharing and interactively viewing of trajectories from MD simulations. It can be used, for example, to facilitate collaboration between researchers working in experimental and computational groups on different continents. To this end, we provide MDsrv, a platform (see Figure 1) where MD trajectories can be uploaded and their visualization configured. MDsrv is divided into two components. The static server provides access to the MDsrv website and delivers all the functionality of MDsrv to the client. In addition, the streaming server delivers the MD trajectories frame by frame. The client's local web browser then processes this data locally in the frontend provided by the static server. This separation allows MDsrv to scale easily since only the streaming server needs to be expanded in case of heavy usage. The MD expert, who delivers the trajectory data can in the next step design so-called sessions that are saved in the MDsrv to make them publicly available. Such sessions are preconfigured visualizations, e.g. a zoom on a ligandbinding pocket or a specific representation. For this purpose, the MD expert or any user can either directly upload their local trajectories or load publicly available data, such as those deposited at Zenodo directly into MDsrv, since MDsrv can obtain them via their record number. By accessing the frontend of MDsrv, a user can then open these sessions and get the preconfigured visualization presented, where the view, zoom, and also other settings can still be manipulated interactively. a challenge, especially when the trajectory must be loaded over the World Wide Web and then read in entirely by the visualization program. Meanwhile, the size of an MD trajectory can quickly exceed the size of a standard desktop computer's memory and in order to not crash the application, the transferred data of the trajectory must be reduced. We, therefore, introduced a streaming server (see Figure 1) for storing and processing before streaming the trajectory to the viewing client. Sharing MD trajectories via a web application has now been further enhanced for MDsrv. For this purpose, a session is stored on the streaming server after being saved by the MD expert. This streaming server then sends only the necessary simulation steps to the user on request, which makes the memory consumption on the user side negligible. This allows, for example, to open a several gigabyte large MD simulation on a mobile device.
Docker container virtualization. We have modularized the software for MDsrv in containers, as this allows us to simplify the installation of the web service, to offer the software in a more sustainable way, and additionally to provide an easy local installation. In order to make the sessions reusable according to the FAIR principles, MDsrv should also be sustainable in terms of installation and reusability. To archive a session permanently, you need not only the data but also an instance of MDsrv that was used to process the data, since future updates might change the results, e.g. the representation or the distance plots, depending on their default criteria. The software must also be stored in a platform-independent manner to simplify future execution. A promising approach here is the container virtualization by Docker. We have wrapped the frontend and the streaming server of MDsrv (see Figure 1) in containers, so that MDsrv can be operated independently of the underlying operating system. This makes it possible to deploy MDsrv in the future on systems that would no longer be able to do so due to software updates. This principle is also successfully implemented by, for example, the Galaxy Browser (19). For general usage without the necessity to install MDsrv locally, as it was previously the case, we provide a publicly available instance of MDsrv where all sessions are publicly accessible (https://proteininformatics. informatik.uni-leipzig.de/). To allow MD experts to share private MD trajectories e.g. with a reviewer during review process, MDsrv can be easily installed on dedicated hardware by using the Docker images of the frontend and the streaming server.
Web viewer. We updated the underlying viewer application in MDsrv from NGL to Mol*. A crucial feature of Mol* is its support for saving the application state at any time to reload it later. This allows MDsrv to offer the creation of sessions without the need for programming knowledge. MDsrv extends this functionality so that the previously local sessions can now be persistently stored using MDsrv in a publicly accessible manner along with the associated data. To fulfill all the needs of MDsrv we made a number of contributions to Mol*. We added support for more coordinates and topology file formats that can be accessed from the client locally, namely, top, prmtop, trr, and nctraj, in addition to the existing support for psf, dcd, and xtc. Further, we added a Zenodo import extension that allows easy loading of structures, trajectories, and zip archives from any Zenodo dataset. Finally, we leveraged the modular GUI of Mol* to create a custom viewer for MDsrv that adds GUI components for MD analyses including linked time-traces of measurements and precomputed sequence alignments.
Limitations. The software architecture we have chosen has limitations in addition to the aforementioned advantages. Although MDsrv has only low requirements on the client's W486 Nucleic Acids Research, 2022, Vol. 50, Web Server issue hardware, the streaming server must have sufficient computing and storage capacity to process the trajectories. Furthermore, for a public usage scenario with multiple users, the server should be connected to the internet with sufficient network bandwidth. In addition, the streaming server could be hosted in a content delivery network, so that it is optimally accessible worldwide. For users to be able to stream the trajectories, they need a stable internet connection.

MD analysis
The analysis of MD trajectories can range from simple visual inspection of salient features, like (un)binding events, domain motion, interface formation etc, to more datadriven approaches that uncover relationships and events that might otherwise go unnoticed, like subtle bondbreaking, allosteric effects, and transient effects. In order to integrate the visual with the data-driven analysis, some molecular visualization tools (e.g. VMD (20) or Py-MOL (Schrödinger, LLC (November 2015) The PyMOL Molecular Graphics System, Version 1.8) offer the onthe-fly computation of a variety of (geometric) measurements on the displayed geometry. This way, time-traces of distances, angles, dihedrals and RMSDs can be visualized in-program, without resorting to a growing number specialized standalone libraries (MDanalysis (21,22), MDtraj (23), MDciao (Pérez Hernández, G. and Tiwari, S. gph82/mdciao: https://zenodo.org/record/5643177. (November 2021)), BioPython (24)).
On par with the visualization programs mentioned above, MDsrv can compute time-traces of the geometric parameters. However, MDsrv goes one step further in userfriendliness, by making these time-traces interactive and navigable per mouse-click. Key events that might go unnoticed in the visual inspection, become sharp transitions in the navigable time-trace (see Figure 2). Just by clicking on these transitions (or anywhere in the time-trace), the matching 3D frame will also appear in the main panel, making it easier to correlate events in the time-trace with events in the 3D trajectory. When combined with the sharing capabilities of MDsrv, these navigable time-traces make the analysis considerably more accessible to the un-trained user, who might otherwise not distinguish these transitions from the continuous oscillations inherent to MD. Additionally, the values of the plot can be sorted or filtered to a given numerical range (e.g. when a distance between two atoms is between 3 and 4Å), making geometries/frames of interest even easier to locate.
Sequence Alignment is one the most widely used tools in bioinformatics for a broad range of purposes (25,26). Alignments provide insight into both similarities as well as differences between pairs or multiple sequences. The full interpretation of an alignment, however, requires mapping the alignment onto 3D structures. Only in a 3D context can the spatial relationships between distant sequence positions become apparent. MDsrv now offers as a novel feature the upload of an alignment together with two or more structures. By uploading multiple structures and an alignment, one can overlay or superimpose the structures based on the alignment.

Usage
Creating, preparing and sharing sessions can be done via our provided server, or you can set up your own using Docker.

Sharing a prepared session using a URL.
A new session can be created by selecting Start new Session on our server (https://proteininformatics.informatik.unileipzig.de/mdsrv), or by setting up your own. Using the Home menu on the left, structures and trajectories can be uploaded directly into the client from remote data repositories or from local sources. Afterward, the session can be prepared as desired and shared via a URL. The Remote Session feature in the lower panel is used for this purpose. To further describe the session, it can be given a name, description and source to document the origin of the displayed data and establish authorship for the session. This information is then displayed when such a session is used. After selecting the Upload button, the session will be stored on our server. If the session is to be stored on another MDsrv instance, the address of the target server can be changed in the webinterface. The uploaded session will now appear in the list of sessions in the Remote Session list on the left side in the home menu. Right-clicking on the session opens it in a new tab with its own URL. This URL can then be shared. An already saved session can also be further modified and uploaded again as a new session.
Upload and stream a trajectory. The Add Trajectory to Stream Server feature enables the user to upload a trajectory to our streaming server instead of directly viewing the simulations in our frontend which would normally be too large to be held in the memory provided for the visualization client on the users' machine. Once the URL to the file, a name,a more detailed description, and source is provided, the file will be saved on the server and is made available to users when viewing this data. The streaming server always downloads the data to be streamed using a URL, since the data to be streamed is usually not stored on client devices due to its size. Since the streaming server can also be deployed in local environments, users can use their local instance to host and stream non-public data in their accessrestricted usage scenario (e.g. within a lab). The trajectory will now be available to stream in the Match Stream Trajectory feature. A corresponding structure that matches the trajectory must be imported into the client to be able to view the trajectory frame by frame. The trajectory can be played once it has been matched to the structure using the Match Stream Trajectory feature. Currently it is only possible to stream xtc formats, but we plan to expand the supported formats in the future.
Time-traces for trajectories. We extended the measurement function for structures and trajectories by adding the possibility to display a time-trace of the measurement over all frames for a trajectory. After importing a trajectory and adding a measurement by selection, e.g. 2 atoms/residues for the distance or 3 for an angle, its time-trace can be displayed in the Time-trace plot feature. Different interactions with the plot are possible, e.g. sorting by frame, ascending, or descending, filters for values, selection of a specific value in the plot to skip to the corresponding frame, and displaying the RMSD value for the whole structure where the comparison frame can be defined.
Zenodo import. Files from a Zenodo record can be imported using the Zenodo Import feature. The user only has to specify the Record number to get the associated files displayed for import. The Type parameter allows to select what kind of data should be imported: structure, trajectory, volume, or compressed. All the files to the corresponding type will be displayed in a drop-down menu below. If there are no supported files in the record, the user will be notified.
Alignment. Based on the functionality of Mol* to superpose structures, MDsrv extends this functionality by additionally importing externally generated sequence alignments. The quality of a structural alignment depends crucially on the quality of the underlying sequence alignment. Obtaining high quality sequence alignments is far from trivial and often out of the scope of the default methods also implemented in Mol*. It is possible to superpose two or more structures based on an imported alignment. After a ClustalW file and additionally the structures from the alignment have been provided, the sequences in the alignment have to be matched with the corresponding sequences in the structures. The matching is done using the Match Sequence Alignment feature. Once the alignment is complete, the superposition of the structures is calculated based on the alignment. The alignment can be displayed in the View Sequence Alignment feature.
More detailed descriptions including video materials on how to use the features are available online (https:// proteininformatics.informatik.uni-leipzig.de/mdsrv/). Figure 2 shows an example of the time-trace for a selected atomic distance, which makes it possible to identify key events during the course of a trajectory.

CONCLUSION
The MDsrv web service is a simple and fast solution for sharing and interactively visualizing MD simulations in the web browser. Users can inspect MD simulations without having to install special software. The streaming approach thus eliminates the need for sophisticated hardware for use on the user side. In addition, MDsrv offers various tools W488 Nucleic Acids Research, 2022, Vol. 50, Web Server issue for basic analysis of MD simulations that can be used directly in the web service. With the simplified installation using Docker, additional public or private instances can be easily created.
The further development of visualization tools and the requirements for a tool to easily exchange MD trajectories made further adaptations of thee MDsrv necessary. Despite the widespread use of NGL by many web services, the switch to Mol* enabled the immediate use of some features, including superior visual quality, improved secondary structure assignment, trajectory animation video export, and fully GUI-driven session support of this visualization tool, which can be understood as an evolution of NGL and LiteMol Suite. As part of the update, we have added new features to Mol* such as support for additional coordinate and topology file formats and a Zenodo importer extension that allows easy loading of structures, trajectories, and zip archives from any Zenodo dataset. Other new features of MDsrv include easy session creation and interactive RMSD and distance angle analysis. Finally, we have modularized the software for MDsrv in containers to simplify installation and ensure sustainability. This improvement makes the MDsrv user experience even more accessible and easier to use for a growing community.
A release of the docker images is available at https://hub. docker.com/r/dwiegreffe/mdsrv-viewer for the viewer and https://hub.docker.com/r/dwiegreffe/mdsrv-remote for the remote server.
A hosted instance of the webservice can be accessed at https://proteininformatics.informatik.uni-leipzig.de.