/*------------------------------------------------------------- Copyright (C) 2000 Rolf Backofen, Peter Clote. All Rights Reserved. Permission to use, copy, modify, and distribute this software and its documentation for NON-COMMERCIAL purposes and without fee is hereby granted provided that this copyright notice appears in all copies. THE AUTHOR AND PUBLISHER MAKE NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THE AUTHORS AND PUBLISHER SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. -------------------------------------------------------------*/ /**************************************************************************** * createPolarReq.c: Creates an upper triangular matrix M, where M[i][j] is ( PR[i] - PR[j] )^2, and PR[i] is Woese's polar requirement for the i-th amino acid (in list of 20 amino acids in alphabetical order). PR[i] values come from p 413 of D.~Haig and L.~Hurst. A quantitative measure of error minimization in the genetic code. {\em J. Mol. Evol.}, 33:412--417, 1991. though one should note that Asp, Asn, Glu, Gln are not in correct alphabetical order in Haig, Hurst paper. ****************************************************************************/ /* Include section */ #include #define NUM_ACIDS 20 /* Polar requirement values */ float PC[NUM_ACIDS] = { 7.0, 9.1, 10.0, 13.0, 4.8, 8.6, 12.5, 7.9, 8.4, 4.9, 4.9, 10.1, 5.3, 5.0, 6.6, 7.5, 6.6, 5.2, 5.4, 5.6 }; main() { int i,j,k; for (i=0;i