3Dstructgen: an Interactive Web-Based 3D Structure Generation
Total Page:16
File Type:pdf, Size:1020Kb
Chen et al. J Cheminform (2020) 12:7 https://doi.org/10.1186/s13321-020-0411-2 Journal of Cheminformatics SOFTWARE Open Access 3DStructGen: an interactive web-based 3D structure generation for non-periodic molecule and crystal Pin Chen1 , Yu Wang1,2 , Hui Yan1 , Sen Gao1 , Zexin Xu1 , Yangzhong Li1 , Qing Mo1 , Junkang Huang1 , Jun Tao1 , GeChuanqi Pan1 , Jiahui Li1 and Yunfei Du1* Abstract Background: The increasing number of organic and inorganic structures promotes the development of the “Big Data” in chemistry and material science, and raises the need for cross-platform and web-based methods to search, view and edit structures. Many web-based three-dimensional (3D) structure tools have been developed for displaying existing models, building new models, and preparing initial input fles for external calculations. But few of these tools can deal with crystal structures. Results: We developed a user-friendly and versatile program based on standard web techniques, such as Hyper Text Markup Language 5 (HTML5), Cascade Style Sheet (CSS) and JavaScript. Both non-periodic organic molecule and crystal structure can be visualized, built and edited interactively. The atom, bond, angle and dihedral in a mol- ecule can be viewed and modifed using sample mouse operations. A wide range of cheminformatics algorithms for crystal structure are provided, including cleaving surfaces, establishing vacuum layers, and building supercells. Four displayed styles, namely “Primitive cell”, “Original”, “In-cell” and “Packing” can be used to visualize a unit cell. Additionally, the initial input fles for Vienna Ab-initio Simulation Package (VASP) and Gaussian can be obtained by interacting with dialog boxes in 3DStructGen. Conclusions: 3DStructGen is a highly platform-independent program. It can provide web service independently or can be integrated into other web platforms. Other than local desktop software, it does not require any additional efort to install the system but a web browser supporting HTML5. 3DStructGen may play a valuable role in online chemistry education and pre-processing of quantum calculations. The program has been released under MIT open- source license and is available on: https ://matge n.nscc-gz.cn/Tools .html. Keywords: Visualization, HTML5, Structure editor, 3D Background analyzing the trajectory coordinates in real time. Visual- Molecular visualization plays a vital role in constructing izing and interactively editing the structure of the mol- databases and repositories, preparing initial structures ecules can efectively reduce the simulation threshold for quantum and molecular dynamics calculations, and and improve efciency. Recent development in the feld of high-performance computing (HPC) and cloud com- puting has led to many online computing platforms. *Correspondence: [email protected] 1 National Supercomputer Center in Guangzhou, School of Data For instance, MatCloud [1], rescale [2], WebMO [3], and Computer Science, Sun Yat-sen University, 132 East Circle at and MolCalc [4], provide web services for materials and University City, Guangzhou 510006, China chemistry calculation. Tese web-based tools provide Full list of author information is available at the end of the article remotely controlling computing resources, and their © The Author(s) 2020. This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creat iveco mmons .org/licen ses/by/4.0/. The Creative Commons Public Domain Dedication waiver (http://creat iveco mmons .org/publi cdoma in/ zero/1.0/) applies to the data made available in this article, unless otherwise stated in a credit line to the data. Chen et al. J Cheminform (2020) 12:7 Page 2 of 11 accessibility and compatibility make them extremely ChemKit API provides extensions of 3DStructGen by popular. Nowadays, it is common to use the web-based integrating other cheminformatics tools. 3D structural visualization and editor tools to gener- ate the model structures and prepare the input fles for Element, atom and molecule simulations. Te parameters of elements (e.g., atom number, ele- Te state-of-the-art visualization software in the feld ment symbol, atomic mass, color, covalent radii, etc.) are of computational chemistry is mainly developed on defned as a list in “element ()” function. Te “addElem desktop environment, such as Avogadro [5], Materials ()” function is used to add an element specifed by users, Studio [6], and VESTA [7]. With the increasing demand and the corresponding atom model will be visualized on for web-based visualization, several relevant tools have canvas. All elements are displayed in the same color as in emerged. For instance, 3Dmol [8], JSmol [9] and Web3D- the VESTA program. Te methane molecule is presented Mol [10] contain powerful visualization capabilities, but in the canvas when 3DStructGen is initialized. Te “ball- the structure editing function is missing. Another tools, and-stick” representation of the structures with the size such as ChemdoodleWeb [11], Kekule.js [12], JSME [13], of atoms based on their covalent radii by default. Besides, can only edit 2 dimension (2D) structures. 3D structure the “stick-and-line” models can be specifed by users as editing tools (e.g., ChemMozart [14], CH5M3D [15]) are well. also reported in the literature. However, these tools focus Te “addAtom ()” and “delAtom ()” functions are used on organic molecular modeling and do not support pro- to add a new atom and delete an existing atom in a mole- cessing of crystal structure. In addition, ChemMozart is cule, respectively. By default, a suitable number of hydro- implemented using node.js framework, and it cannot be gen atoms will be added according to the rule of octet used as a lightweight library alone. theory, and the bond angles are assigned a value based on In order to process chemical information on web orbital hybridization (sp3 in default) selected by users. server, we developed an advanced chemical visualization When a new atom is added, a bond is created within its and editor program with the following features. Firstly, value of the sum of covalent radii of the bonded atoms. both non-periodic organic molecule and crystal structure Te connection between pairs of atoms can be added can be visualized, built and edited interactively. Secondly, using mouse operations by calling “addBond ()” function, a wide range of cheminformatics algorithms for crystal defned in fles or calculated by the 3DStructGen. Te structure are provided, such as cleaving surfaces, estab- “createBond ()” function describes the detailed the bond- lishing vacuum layers, and creating supercells. Tirdly, ing rule: frstly, a list of possible bonding atoms based on it is a lightweight library implemented using JavaScript, the bond valance model [20] are built, and then the dis- and it can be easily used to provide web service indepen- tance for these possible bonding atoms are calculated. A dently or integrated into other web platforms. Finally, the bond is created if the distance falls between 0.5 and 1.2 initial input fles for VASP [16, 17] and Gaussian [18] can times the sum of the covalent radii for these bonding be generated by interacting with dialog boxes. atoms. Here, the 0.5 times distance is used to avoid bond- ing between the closed atoms (maybe overlap atoms). Implementation Te “bondMatrix ()” function defnes a public routine to Same as most graphical user interface (GUI) programs store and return the bond list. Te graph-labeling algo- for computing chemistry [5–7, 19], 3DStructGen focuses rithm [21] (pseudo code in Fig. 2) used for recogniz- on generation of initial molecular geometry. As shown in ing framework and guest (including solvent molecule) Fig. 1, the basic modules of molecule, crystal and surface are developed to deal with metal–organic frameworks slab consist of several methods to deal with non-periodic (MOF) in Cambridge structural database (CSD) data- molecule, periodic crystal, as well as surface slab system, base. Our bonding method has shown satisfactory results respectively. Te HTML5 canvas is the central module for for this task, and the visualization results can be found in displaying 3D structures and connecting all other mod- the “Structure visualization” section. ules. Te mouse module provides a number of interactive When a structure is created, an atom or a group of operations by mouse for users. Te processing methods atoms selected by users can be moved in up, down, left for general chemical fle formats (XYZ, SD, MOL, CIF) and right directions by a user-specifed distance. A crude are supported in IO module, and the initial input fle geometry optimization is supported for non-periodic for VASP and Gaussian can be produced using interface molecule by optimizing the bond lengths, bond angles module. Te explorer module prints the interactive infor- and dihedral following the same method in CH5M3D mation (e.g., fle name, lattice parameter, atom distance, [15]. An optional geometry optimization based on force atom coordinate, etc.) for users in real-time. Additionally, fled method is also provided by the using ChemKit API, Chen et al. J Cheminform (2020) 12:7 Page 3 of 11 Fig. 1 Overview of the core modules and functions in 3DStructGen which is explained in further details in the “ChemKit p1 = (M/h)a = M k b API” section.