Procrustes Documentation Release 0.0.1-Alpha

Total Page:16

File Type:pdf, Size:1020Kb

Procrustes Documentation Release 0.0.1-Alpha Procrustes Documentation Release 0.0.1-alpha The QC-Devs Community Apr 23, 2021 USER DOCUMENTATION 1 Description of Procrustes Methods3 2 Indices and tables 41 Bibliography 43 Python Module Index 45 Index 47 i ii Procrustes Documentation, Release 0.0.1-alpha Procrustes is a free, open-source, and cross-platform Python library for (generalized) Procrustes problems with the goal of finding the optimal transformation(s) that makes two matrices as close as possible to each other. Please use the following citation in any publication using Procrustes library: “Procrustes: A Python Library to Find Transformations that Maximize the Similarity Between Matrices”, F. Meng, M. Richer, A. Tehrani, J. La, T. D. Kim, P. W. Ayers, F. Heidar-Zadeh, JOURNAL 2021; ISSUE PAGE NUMBER. The Procrustes source code is hosted on GitHub and is released under the GNU General Public License v3.0. We welcome any contributions to the Procrustes library in accord with our Code of Conduct; please see our Contributing Guidelines. Please report any issues you encounter while using Procrustes library on GitHub Issues. For further information and inquiries please contact us at [email protected]. USER DOCUMENTATION 1 Procrustes Documentation, Release 0.0.1-alpha 2 USER DOCUMENTATION CHAPTER ONE DESCRIPTION OF PROCRUSTES METHODS Procrustes problems arise when one wishes to find one or two transformations, T 2 Rn×n and S 2 Rm×m, that make matrix A 2 Rm×n (input matrix) resemble matrix B 2 Rm×n (target or reference matrix) as closely as possible: min kSAT − Bk2 |{z} F S;T where, the k · kF denotes the Frobenius norm defined as, v u m n q uX X 2 y kAkF = t jaijj = Tr(A A) i=1 j=1 Here aij and Tr(A) denote the ij-th element and trace of matrix A, respectively. When S is an identity matrix, this is called a one-sided Procrustes problem, and when it is equal to T, this becomes two-sided Procrustes problem with one transformation, otherwise, it is called two-sided Procrustes problem. Different Procrustes problems use different choices for the transformation matrices S and T which are commonly taken to be orthogonal/unitary matri- ces, rotation matrices, symmetric matrices, or permutation matrices. The table below summarizes various Procrustes methods supported: Procrustes Type S T Constraints Generic [1] I T None Orthogonal [2][3][4] I Q Q−1 = Qy ( R−1 = Ry Rotational [4][5][6] I R jRj = 1 Symmetric [7][8][9] I X X = Xy ( [P]ij 2 f0; 1g Permutation [10] I P Pn Pn i=1[P]ij = j=1[P]ij = 1 ( −1 y y Q1 = Q1 Two-sided Orthogonal [11] Q1 Q2 −1 y Q2 = Q2 Two-sided Orthogonal with One Transformation [12] Qy Q Q−1 = Qy 8 >[P1]ij 2 f0; 1g > y <[P2]ij 2 f0; 1g Two-sided Permutation [13] P P2 1 Pn [P ] = Pn [P ] = 1 > i=1 1 ij j=1 1 ij :>Pn Pn i=1[P2]ij = j=1[P2]ij = 1 ( y [P]ij 2 f0; 1g Two-sided Permutation with One Transformation [2][14] P P Pn Pn i=1[P]ij = j=1[P]ij = 1 In addition to these Procrustes methods, summarized in the table above, the generalized Procrustes analysis (GPA) [15][1][16][17][18] and softassign algorithm [19][20][21] are also implemented in our package. The GPA algorithm 3 Procrustes Documentation, Release 0.0.1-alpha seeks the optimal transformation matrices T to superpose the given objects (usually more than 2) with minimum distance, j X 2 min kAiTi − AjTjk (1.1) i<j where Ai and Aj are the configurations and Ti and Tj denotes the transformation matrices for Ai and Aj respec- tively. When only two objects are given, the problem shrinks to generic Procrustes. The softassign algorithm was first proposed to deal with quadratic assignment problem [19] inspired by statistical physics algorithms and has subsequently been developed theoretically [20][21] and extended to many other applica- tions [22][20][23][24][25]. Because the two-sided permutation Procrustes problem is a special quadratic assignment problem it can be used here. The objective function is to minimize Eqap(M; 휇, 휈),[20][26], which is defined as follows, 1 X E (M; 휇, 휈) = − C M M qap 2 ai;bj ai bj aibj ! ! X X X X + 휇a Mai − 1 + 휈i Mai − 1 a i i a 훾 X 1 X − M2 + M log M 2 ai 훽 ai ai ai ai Procrustes problems arise when aligning molecules and other objects, when evaluating optimal basis transformations, when determining optimal mappings between sets, and in many other contexts. This package includes options to translate, scale, and zero-pad matrices, so that matrices with different centers/scaling/sizes can be considered. 1.1 Installation 1.1.1 Downloading Code The latest code can be obtained through theochem (https://github.com/theochem/procrustes) in Github, git clone [email protected]:theochem/procrustes.git 1.1.2 Dependencies The following dependencies will be necessary for Procrustes to build properly, • Python >= 3.6: https://www.python.org/ • SciPy >= 1.5.0: https://www.scipy.org/ • NumPy >= 1.18.5: https://www.numpy.org/ • Pip >= 19.0: https://pip.pypa.io/ • PyTest >= 5.3.4: https://docs.pytest.org/ • PyTest-Cov >= 2.8.0: https://pypi.org/project/pytest-cov/ • Sphinx >= 2.3.0, if one wishes to build the documentation locally: https://www.sphinx-doc.org/ 4 Chapter 1. Description of Procrustes Methods Procrustes Documentation, Release 0.0.1-alpha 1.1.3 Installation The stable release of the package can be easily installed through the pip and conda package management systems, which install the dependencies automatically, if not available. To use pip, simply run the following command: pip install qc-procrustes To use conda, one can either install the package through Anaconda Navigator or run the following command in a desired conda environment: conda install -c theochem procrustes Alternatively, the Procrustes source code can be download from GitHub (either the stable version or the development version) and then installed from source. For example, one can download the latest source code using git by: # download source code git clone [email protected]:theochem/procrustes.git cd procrustes From the parent directory, the dependencies can either be installed using pip by: # install dependencies using pip pip install -r requirements.txt or, through conda by: # create and activate myenv environment # Procruste works with Python 3.6, 3.7, and 3.8 conda create -n myenv python=3.6 conda activate myenv # install dependencies using conda conda install --yes --file requirements.txt Finally, the Procrustes package can be installed (from source) by: # install Procrustes from source pip install . 1.1.4 Testing To make sure that the package is installed properly, the Procrustes tests should be executed using pytest from the parent directory: # testing without coverage report pytest -v . In addition, to generate a coverage report alongside testing, one can use: # testing with coverage report pytest --cov-config=.coveragerc --cov=procrustes procrustes/test 1.1. Installation 5 Procrustes Documentation, Release 0.0.1-alpha 1.2 Quick Start The code block below gives an example of the orthogonal Procrustes problem for random matrices A and B. Here, matrix B is constructed by shifting an orthogonal transformation of matrix A, so the matrices can be perfectly matched. As is the case with all Procrustes flavours, the user can specify whether the matrices should be translated (so that both are centered at origin) and/or scaled (so that both are normalized to unity with respect to the Frobenius norm). In addition, the other optional arguments (not appearing in the code-block below) specify whether the zero columns (on the right-hand side) and rows (at the bottom) should be removed prior to transformation. [1]: import numpy as np from scipy.stats import ortho_group from procrustes import orthogonal # random input 10x7 matrix A a= np.random.rand(10,7) # random orthogonal 7x7 matrix T t= ortho_group.rvs(7) # target matrix B (which is a shifted AxT) b= np.dot(a, t)+ np.random.rand(1,7) # orthogonal Procrustes analysis with translation result= orthogonal(a, b, scale= True, translate=True) # display Procrustes results # error (expected to be zero) print(result.error) 9.945692192702779e-31 [2]: # transformation matrix (same as T) print(result.t) [[ 0.76704368 0.24234201 -0.2443444 -0.03500412 0.13473421 -0.4848402 -0.19687949] [ 0.00853565 -0.68551647 -0.08350729 -0.31427979 -0.29329304 -0.47950741 0.32909102] [ 0.10680518 0.11156386 -0.16906181 -0.5547083 -0.60941328 0.33956084 -0.39137815] [ 0.3117252 -0.28167213 -0.19484105 0.71257785 -0.45491058 0.26552062 0.01769573] [-0.27528981 0.51527592 -0.55432293 0.05562049 -0.26779419 -0.1780102 0.49491144] [ 0.04849826 0.33465191 0.72922801 0.115903 -0.48165441 -0.31040565 0.11002901] [ 0.47418838 0.04528433 0.1665233 -0.26078206 0.11744363 0.47027711 0.66513446]] [3]: print(result.new_b) print(result.new_a) [[ 0.10524259 -0.20171952 -0.00197784 0.09527217 -0.00576083 0.03226466 0.16905405] [ 0.09910817 -0.16527621 -0.05833857 -0.07205314 -0.21556919 0.05246684 -0.10984354] [-0.18236865 0.11982583 -0.13907749 -0.04269053 0.19000499 0.01580882 (continues on next page) 6 Chapter 1. Description of Procrustes Methods Procrustes Documentation, Release 0.0.1-alpha (continued from previous page) 0.03687883] [ 0.00058638 0.13064853 0.14907956 -0.07415179 -0.01526494 -0.14933601 -0.00886503] [ 0.05250876 -0.10823365 0.02606576 -0.04653071 0.16780312 0.06690096 0.09107437] [ 0.08533708 0.27191838 0.00873697 0.01521687 -0.19000507 0.16683213 -0.05890518] [ 0.0517116 -0.18424346 -0.16585383 0.13987241 -0.10713652 -0.14291237 -0.19611888] [-0.2919628 0.0243955 0.13466663 0.00734221 -0.11547638 -0.02873159 -0.04597026] [ 0.02859943 0.12270226 0.07612172 0.02668408 0.01175157 -0.11417017 -0.00790431]
Recommended publications
  • Synchronized Load Quantification from Multiple Data Records for Analysing High-Rise Buildings
    ACEE0195 The 7th Asia Conference on Earthquake Engineering, 22-25 November 2018, Bangkok, Thailand Synchronized Load Quantification from Multiple Data Records for Analysing High-rise Buildings 1st Marco Behrendt 2nd Wonsiri Punurai 3rd Michael Beer Institute for Risk and Reliability Department of Civil and Environmental Institute for Risk and Reliability Leibniz Universtät Hannover Engineering Leibniz Universtät Hannover Hannover, Germany Mahidol University Hannover, Germany [email protected] Bangkok, Thailand [email protected] [email protected] Abstract—To analyse the reliability and durability of large noise compensation for speaker recognition [8], network complex structures such as high-rise buildings, most intrusion detection [9] and calibration of laser sensors in realistically, it is advisable to utilize site-specific load mobile robotics [10]. characteristics. Such load characteristics can be made available as data records, e.g. representing measured wind or In this work, the various influences that make the earthquake loads. Due to various circumstances such as measured signals uncertain are examined in more detail. The measurement errors, equipment failures, or sensor limitations, influence of noise, missing data and rotated sensors are the data records underlie uncertainties. Since these considered. First, the strength of the influence of these uncertainties affect the results of the simulation of complex factors is determined and then a sensitivity analysis is structures, they must be mitigated as much as possible. In this performed. It determines which influences affect the results work, the Procrustes analysis, finding similarity most and whether they distort the results too much. transformations between two sets of points in n-dimensional space is used and is extended to uncertainties so that data This work is organised as follows.
    [Show full text]
  • The Quaternion-Based Spatial Coordinate and Orientation Frame Alignment Problems
    The Quaternion-Based Spatial Coordinate and Orientation Frame Alignment Problems Andrew J. Hanson Luddy School of Informatics, Computing, and Engineering Indiana University, Bloomington, Indiana, 47405, USA Abstract We review the general problem of finding a global rotation that transforms a given set of points and/or coordinate frames (the “test” data) into the best possible alignment with a corresponding set (the “reference” data). For 3D point data, this “orthogonal Procrustes problem” is often phrased in terms of minimizing a root-mean-square deviation or RMSD corresponding to a Euclidean distance measure relating the two sets of matched coordinates. We focus on quaternion eigensystem methods that have been exploited to solve this problem for at least five decades in several different bodies of scientific literature where they were discovered independently. While numerical methods for the eigenvalue solutions dominate much of this literature, it has long been realized that the quaternion-based RMSD optimization problem can also be solved using exact algebraic expressions based on the form of the quartic equation solution published by Cardano in 1545; we focus on these exact solutions to expose the structure of the entire eigensystem for the traditional 3D spatial alignment problem. We then explore the structure of the less-studied orientation data context, investigating how quaternion methods can be extended to solve the corresponding 3D quaternion orientation frame alignment (QFA) problem, noting the interesting equivalence of this problem to the rotation-averaging problem, which also has been the subject of independent literature threads. We conclude with a brief discussion of the combined 3D translation-orientation data alignment problem.
    [Show full text]
  • Uncertainty Characterization of the Orthogonal Procrustes Problem with Arbitrary Covariance Matrices
    Pattern Recognition 61 (2017) 210–220 Contents lists available at ScienceDirect Pattern Recognition journal homepage: www.elsevier.com/locate/pr Uncertainty characterization of the orthogonal Procrustes problem with arbitrary covariance matrices Pedro Lourenço a,n, Bruno J. Guerreiro a,b, Pedro Batista a,b, Paulo Oliveira d,c,a, Carlos Silvestre e,a a Institute for Systems and Robotics, Laboratory for Robotics and Engineering Systems, Portugal b Instituto Superior Técnico, Universidade de Lisboa, Lisbon, Portugal c Department of Mechanical Engineering, Instituto Superior Técnico, Universidade de Lisboa, Lisbon, Portugal d Institute of Mechanical Engineering, Associated Laboratory for Energy, Transports and Aeronautics, Lisbon, Portugal e Department of Electrical and Computer Engineering, Faculty of Science and Technology of the University of Macau, China article info abstract Article history: This paper addresses the weighted orthogonal Procrustes problem of matching stochastically perturbed Received 18 February 2016 point clouds, formulated as an optimization problem with a closed-form solution. A novel uncertainty Received in revised form characterization of the solution of this problem is proposed resorting to perturbation theory concepts, 12 May 2016 which admits arbitrary transformations between point clouds and individual covariance and cross- Accepted 25 July 2016 covariance matrices for the points of each cloud. The method is thoroughly validated through extensive Available online 28 July 2016 Monte Carlo simulations, and particularly interesting cases where nonlinearities may arise are further Keywords: analyzed. Weighted Procrustes statistics & 2016 Elsevier Ltd. All rights reserved. Perturbation theory Uncertainty characterization Map transformation 1. Introduction transformation between the sets, i.e., rotations and reflections were allowed, a more evolved strategy appeared restricting the The problem of finding the similarity transformation between transformation to the special orthogonal group, as detailed in [6,9].
    [Show full text]
  • Package 'Bio3d'
    Package ‘bio3d’ May 11, 2021 Title Biological Structure Analysis Version 2.4-2 Author Barry Grant [aut, cre], Xin-Qiu Yao [aut], Lars Skjaerven [aut], Julien Ide [aut] VignetteBuilder knitr LinkingTo Rcpp Imports Rcpp, parallel, grid, graphics, grDevices, stats, utils Suggests XML, RCurl, lattice, ncdf4, igraph, bigmemory, knitr, rmarkdown, testthat (>= 0.9.1), httr, msa, Biostrings Depends R (>= 3.1.0) LazyData yes Description Utilities to process, organize and explore protein structure, sequence and dynamics data. Features include the ability to read and write structure, sequence and dynamic trajectory data, perform sequence and structure database searches, data summaries, atom selection, alignment, superposition, rigid core identification, clustering, torsion analysis, distance matrix analysis, structure and sequence conservation analysis, normal mode analysis, principal component analysis of heterogeneous structure data, and correlation network analysis from normal mode and molecular dynamics data. In addition, various utility functions are provided to enable the statistical and graphical power of the R environment to work with biological sequence and structural data. Please refer to the URLs below for more information. Maintainer Barry Grant <[email protected]> License GPL (>= 2) URL http://thegrantlab.org/bio3d/, https://bitbucket.org/Grantlab/bio3d/ RoxygenNote 7.1.1 NeedsCompilation yes Repository CRAN Date/Publication 2021-05-11 07:02:15 UTC 1 2 R topics documented: R topics documented: bio3d-package . .6 aa.index . .7 aa.table . .9 aa123 . 10 aa2index . 11 aa2mass . 12 aanma . 14 aanma.pdbs . 17 aln2html . 19 angle.xyz . 21 as.fasta . 22 as.pdb . 23 as.select . 26 atom.index . 27 atom.select . 28 atom2ele . 31 atom2mass . 33 atom2xyz .
    [Show full text]
  • Tracking Internal Frames of Reference for Consistent Molecular Distribution Functions Robin Skånberg, Martin Falk, Mathieu Linares, Anders Ynnerman and Ingrid Hotz
    Tracking Internal Frames of Reference for Consistent Molecular Distribution Functions Robin Skånberg, Martin Falk, Mathieu Linares, Anders Ynnerman and Ingrid Hotz The self-archived postprint version of this journal article is available at Linköping University Institutional Repository (DiVA): http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-174336 N.B.: When citing this work, cite the original publication. Skånberg, R., Falk, M., Linares, M., Ynnerman, A., Hotz, I., (2021), Tracking Internal Frames of Reference for Consistent Molecular Distribution Functions, IEEE Transactions on Visualization and Computer Graphics. https://doi.org/10.1109/TVCG.2021.3051632 Original publication available at: https://doi.org/10.1109/TVCG.2021.3051632 Copyright: Institute of Electrical and Electronics Engineers http://www.ieee.org/index.html ©2021 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE. PREPRINT - ACCEPTED FOR PUBLICATION AT TVCG 1 Tracking Internal Frames of Reference for Consistent Molecular Distribution Functions Robin Skanberg˚ , Martin Falk , Mathieu Linares , Anders Ynnerman , and Ingrid Hotz Abstract—In molecular analysis, Spatial Distribution Functions (SDF) are fundamental instruments in answering questions related to spatial occurrences and relations of atomic structures over time. Given a molecular trajectory, SDFs can, for example, reveal the occurrence of water in relation to particular structures and hence provide clues of hydrophobic and hydrophilic regions. For the computation of meaningful distribution functions, the definition of molecular reference structures is essential.
    [Show full text]
  • Uncertainty Characterization of the Orthogonal Procrustes Problem with Arbitrary Covariance Matrices
    Pattern Recognition 61 (2017) 210–220 Contents lists available at ScienceDirect Pattern Recognition journal homepage: www.elsevier.com/locate/pr Uncertainty characterization of the orthogonal Procrustes problem with arbitrary covariance matrices Pedro Lourenço a,n, Bruno J. Guerreiro a,b, Pedro Batista a,b, Paulo Oliveira d,c,a, Carlos Silvestre e,a a Institute for Systems and Robotics, Laboratory for Robotics and Engineering Systems, Portugal b Instituto Superior Técnico, Universidade de Lisboa, Lisbon, Portugal c Department of Mechanical Engineering, Instituto Superior Técnico, Universidade de Lisboa, Lisbon, Portugal d Institute of Mechanical Engineering, Associated Laboratory for Energy, Transports and Aeronautics, Lisbon, Portugal e Department of Electrical and Computer Engineering, Faculty of Science and Technology of the University of Macau, China article info abstract Article history: This paper addresses the weighted orthogonal Procrustes problem of matching stochastically perturbed Received 18 February 2016 point clouds, formulated as an optimization problem with a closed-form solution. A novel uncertainty Received in revised form characterization of the solution of this problem is proposed resorting to perturbation theory concepts, 12 May 2016 which admits arbitrary transformations between point clouds and individual covariance and cross- Accepted 25 July 2016 covariance matrices for the points of each cloud. The method is thoroughly validated through extensive Available online 28 July 2016 Monte Carlo simulations, and particularly interesting cases where nonlinearities may arise are further Keywords: analyzed. Weighted Procrustes statistics & 2016 Elsevier Ltd. All rights reserved. Perturbation theory Uncertainty characterization Map transformation 1. Introduction transformation between the sets, i.e., rotations and reflections were allowed, a more evolved strategy appeared restricting the The problem of finding the similarity transformation between transformation to the special orthogonal group, as detailed in [6,9].
    [Show full text]
  • Rowan Documentation Release 1.0.0
    rowan Documentation Release 1.0.0 Vyas Ramasubramani Feb 12, 2019 Contents: 1 rowan 3 2 calculus 13 3 geometry 15 4 interpolate 19 5 mapping 21 6 random 25 7 Development Guide 27 7.1 Philosophy................................................ 27 7.2 Source Code Conventions........................................ 28 7.3 Unit Tests................................................. 28 7.4 General Notes.............................................. 28 7.5 Release Guide.............................................. 29 8 License 31 9 Changelog 33 9.1 Unreleased................................................ 33 9.2 v0.6.1 - 2018-04-20........................................... 33 9.3 v0.6.0 - 2018-04-20........................................... 33 9.4 v0.5.1 - 2018-04-13........................................... 34 9.5 v0.5.0 - 2018-04-12........................................... 34 9.6 v0.4.4 - 2018-04-10........................................... 34 9.7 v0.4.3 - 2018-04-10........................................... 34 9.8 v0.4.2 - 2018-04-09........................................... 34 9.9 v0.4.1 - 2018-04-08........................................... 35 9.10 v0.4.0 - 2018-04-08........................................... 35 9.11 v0.3.0 - 2018-03-31........................................... 35 9.12 v0.2.0 - 2018-03-08........................................... 35 9.13 v0.1.0 - 2018-02-26........................................... 36 10 Credits 37 i 11 Support and Contribution 39 12 Indices and tables 41 Bibliography 43 Python Module Index 45 ii rowan Documentation, Release 1.0.0 Welcome to the documentation for rowan, a package for working with quaternions! Quaternions form a number system with various interesting properties, and they have a number of uses. This package provides tools for standard algebraic operations on quaternions as well as a number of additional tools for e.g. measuring distances between quaternions, interpolating between them, and performing basic point-cloud mapping.
    [Show full text]
  • Alignment and Integration of Spatial Transcriptomics Data
    Alignment and Integration of Spatial Transcriptomics Data Ron Zeira1, Max Land1, and Benjamin J. Raphael1 1Department of Computer Science, Princeton University, Princeton NJ 08544, USA S1 Supplementary methods S1.1 Proof of Theorem 1 ¯ P (q) (q)T 1 Theorem 1. Let X = q λqX Π diag( g ) and X = WH. We have, X S(W; H) = gic(x·i; x¯·i) + τ i 2 P vl where c(u; v) = ku − vk or c(u; v) = KL(vjju) = vl log − vl + ul, and τ is a constant l ul that does not depend on W; H Proof. We first prove the theorem for the Euclidean distance c(u; v) = ku − vk2. We write the P (q) P objective function explicitly and simplify it using j Πij = gi and q λq = 1. 2 X X X (q) (q) S(W; H) = λq x·i − x·j πij q i j X X X T (q) T (q) (q) = λq x·i x·iπij − 2x·i x·j πij + β q i j X T X (q) X X X T X (q) (q) = x·i x·i πij λq − 2 x·i λqx·j πij + β i j q i j q X T T X (q) (q)T = gix·i x·i − 2 Tr(X λqX Π ) + β i q X T 1 = Tr(XT X diag(g)) − 2 Tr(XT λ X(q)Π(q) diag( ) diag(g)) + β q g q = Tr(XT X − 2XT X¯ diag(g)) + β X 2 0 = gi kx·i − x¯·ik + β i 1 where β and β0 are constants that do not depend on W; H.
    [Show full text]
  • Chemical Structure Computer Modelling
    JournalJournal of Chemical of Chemical Technology Technology and Metallurgy,and Metallurgy, 55, 4, 55, 2020, 4, 2020 714-718 CHEMICAL STRUCTURE COMPUTER MODELLING Radoslava Topalska, Fatima Sapundzhi South-West University “Neofit Rilski”, 66 Ivan Michailov str. Received 11 January 2019 2700, Blagoevgrad, Bulgaria Accepted 30 July 2019 E-mail: [email protected] ABSTRACT The root-mean-square deviation of atomic positions (RMSD) is one of the most commonly used approaches in bioinformatics. It measures the average distance between the atoms of superimposed proteins. The present study describes a program calculating RMSD between two structures. The software developed detects the surfaces of two molecular structures – a convex and a concave one and the area of their interaction by calculating RMSD between them. The program uses fragments of files from Protein Data Bank format. The Python implementation enabling RMSD computation is suggested on the ground of the Kabsh algorithm. Keywords: computer modelling, RMSD, Python, PDB, ligand-receptor interactions, bioinformatics. INTRODUCTION structure is typically based on the protein name or ID [5]. The objective of this research is to present a program The protein structure prediction refers in general that (i) detects two surfaces – a convex and a concave to the juxtaposition of the predicted structure and the one of two structures and the area of their interaction experimentally determined one obtained by X-ray crys- and (ii) calculates RMSD. tallography and Nuclear Magnetic Resonance Imaging (NMR) technology used in clinical medicine. The degree EXPERIMENTAL of similarity is often expressed as a Root Mean Square Python Deviation (RMSD) measure, which represents the dis- Python is an object-oriented and an open source tance between the corresponding atoms in each molecule.
    [Show full text]
  • The Quaternion-Based Spatial-Coordinate and Orientation-Frame Alignment Problems
    lead articles The quaternion-based spatial-coordinate and orientation-frame alignment problems ISSN 2053-2733 Andrew J. Hanson* Luddy School of Informatics, Computing, and Engineering, Indiana University, Bloomington, Indiana, USA. *Correspondence e-mail: [email protected] Received 4 September 2018 Accepted 25 February 2020 The general problem of finding a global rotation that transforms a given set of spatial coordinates and/or orientation frames (the ‘test’ data) into the best possible alignment with a corresponding set (the ‘reference’ data) is reviewed. Edited by S. J. L. Billinge, Columbia University, For 3D point data, this ‘orthogonal Procrustes problem’ is often phrased in USA terms of minimizing a root-mean-square deviation (RMSD) corresponding to a Euclidean distance measure relating the two sets of matched coordinates. This Keywords: data alignment; spatial-coordinate alignment; orientation-frame alignment; quater- article focuses on quaternion eigensystem methods that have been exploited to nions; quaternion frames; quaternion eigenvalue solve this problem for at least five decades in several different bodies of scientific methods. literature, where they were discovered independently. While numerical methods for the eigenvalue solutions dominate much of this literature, it has long been Andrew J. Hanson is an Emeritus Professor of realized that the quaternion-based RMSD optimization problem can also be Computer Science at Indiana University. He solved using exact algebraic expressions based on the form of the quartic earned a bachelor’s degree in Chemistry and equation solution published by Cardano in 1545; focusing on these exact Physics from Harvard University in 1966 and a PhD in Theoretical Physics from MIT in 1971.
    [Show full text]