1 /* 2 This file is part of the BOLT-LMM linear mixed model software package 3 developed by Po-Ru Loh. Copyright (C) 2014-2019 Harvard University. 4 5 This program is free software: you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation, either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 #ifndef SNPINFO_HPP 20 #define SNPINFO_HPP 21 22 #include <string> 23 24 namespace LMM { 25 class SnpInfo { // note: non-POD b/c of string 26 public: 27 static const int MAX_VC_NUM; 28 29 int chrom; 30 std::string ID; 31 double genpos; // Morgans 32 int physpos; 33 std::string allele1, allele2; 34 double MAF; // note: these MAFs are computed on original maskIndivs (pre-QC filtering) 35 int vcNum; // 1-based index of variance comp SNP is assigned to (0 = not in GRM; -1 = exclude) 36 37 bool isProximal(const SnpInfo &snp2, double genWindow) const; 38 bool isProximal(const SnpInfo &snp2, int physWindow) const; 39 }; 40 } 41 42 #endif 43