Clustal Omega
1.0.3
|
00001 /********************************************************************* 00002 * Clustal Omega - Multiple sequence alignment 00003 * 00004 * Copyright (C) 2010 University College Dublin 00005 * 00006 * Clustal-Omega is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU General Public License as 00008 * published by the Free Software Foundation; either version 2 of the 00009 * License, or (at your option) any later version. 00010 * 00011 * This file is part of Clustal-Omega. 00012 * 00013 ********************************************************************/ 00014 00015 /* 00016 * RCS $Id: symmatrix.h 216 2011-03-19 10:11:53Z andreas $ 00017 */ 00018 00036 #ifndef CLUSTALO_SYMMATRIX_H 00037 #define CLUSTALO_SYMMATRIX_H 00038 00039 00043 typedef struct { 00044 int nrows; 00045 int ncols; 00054 double **data; 00055 } symmatrix_t; 00056 00057 00058 00059 extern int 00060 NewSymMatrix(symmatrix_t **symmat, const int nrows, const int ncols); 00061 00062 extern void 00063 SymMatrixSetValue(symmatrix_t *symmat, const int i, const int j, const double value); 00064 00065 extern double 00066 SymMatrixGetValue(symmatrix_t *symmat, const int i, const int j); 00067 00068 extern void 00069 SymMatrixGetValueP(double **value, symmatrix_t *symmat, const int i, const int j); 00070 00071 extern void 00072 FreeSymMatrix(symmatrix_t **symmat); 00073 00074 extern void 00075 SymMatrixPrint(symmatrix_t *symmat, char **labels, const char *path); 00076 00077 extern int 00078 SymMatrixRead(char *pcFileIn, symmatrix_t **prSymMat_p); 00079 00080 #endif