1 /* 2 Genome-wide Efficient Mixed Model Association (GEMMA) 3 Copyright © 2011-2017, Xiang Zhou 4 Copyright © 2017, Peter Carbonetto 5 Copyright © 2017, Pjotr Prins 6 7 This program is free software: you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 21 #ifndef __GEMMA_H__ 22 #define __GEMMA_H__ 23 24 #include "param.h" 25 26 using namespace std; 27 28 // OPTIONS 29 // ------- 30 // gk: 21-22 31 // gs: 25-26 32 // gq: 27-28 33 // eigen: 31-32 34 // lmm: 1-5 35 // bslmm: 11-15 36 // predict: 41-43 37 // lm: 51 38 // vc: 61 39 // ci: 66-67 40 // calccor: 71 41 // gw: 72 42 43 enum M_MODE { M_LMM1=1, M_LMM2=2, M_LMM3=3, M_LMM4=4, M_LMM5=5, 44 M_BSLMM5=15, 45 M_KIN=21, M_KIN2=22, M_EIGEN=31 }; 46 47 class GEMMA { 48 49 public: 50 // Parameters. 51 string version; 52 string date; 53 string year; 54 55 // Constructor. 56 GEMMA(void); 57 58 // Functions. 59 void PrintHeader(void); 60 void PrintHelp(size_t option); 61 void PrintLicense(void); 62 void Assign(int argc, char **argv, PARAM &cPar); 63 void BatchRun(PARAM &cPar); 64 void WriteLog(int argc, char **argv, PARAM &cPar); 65 }; 66 67 #endif 68