18#ifndef __PEDGLOBALS_H__
19#define __PEDGLOBALS_H__
22#include "StringArray.h"
23#include "StringHash.h"
25#include "MathVector.h"
38 double positionFemale;
55 bool AdjustFrequencies();
59 String GetAlleleLabel(
int allele);
60 int GetAlleleNumber(
char label)
const
64 return(GetAlleleNumber(labelString));
66 int GetAlleleNumber(
const String & label)
const
68 return label ==
"0" ? 0 : alleleNumbers.Integer(label);
71 int NewAllele(
char label)
75 return(NewAllele(labelString));
78 int NewAllele(
const String & label);
91 return alleleLabels.Length() ? alleleLabels.Length() - 1 : 0;
110 static int traitCount;
111 static int markerCount;
112 static int affectionCount;
113 static int covariateCount;
114 static int stringCount;
117 static bool chromosomeX;
120 static bool sexSpecificMap;
137 static int GetTraitID(
const char * name);
138 static int GetMarkerID(
const char * name);
139 static int GetCovariateID(
const char * name);
140 static int GetAffectionID(
const char * name);
141 static int GetStringID(
const char * name);
146 static int LookupTrait(
const char * name)
148 return traitLookup.Integer(name);
150 static int LookupMarker(
const char * name)
152 return markerLookup.Integer(name);
154 static int LookupCovariate(
const char * name)
156 return covariateLookup.Integer(name);
158 static int LookupAffection(
const char * name)
160 return affectionLookup.Integer(name);
162 static int LookupString(
const char * name)
164 return stringLookup.Integer(name);
167 static int markerInfoCount;
168 static int markerInfoSize;
173 static void GrowMarkerInfo();
175 static MarkerInfo * GetMarkerInfo(
int marker);
177 static int SortMarkersInMapOrder(
IntArray & markers,
int chromosome = -1);
178 static void GetOrderedMarkers(
IntArray & markers);
179 static void FlagMissingMarkers(
IntArray & missingMarkers);
181 static bool MarkerPositionsAvailable();
182 static bool AlleleFrequenciesAvailable();
184 static void VerifySexSpecificOrder();
186 static void LoadAlleleFrequencies(
const char * filename,
bool required =
false);
187 static void LoadAlleleFrequencies(
IFILE & file);
189 static void LoadMarkerMap(
const char * filename,
bool filter =
false);
190 static void LoadMarkerMap(
IFILE & file,
bool filter =
false);
192 static void LoadBasepairMap(
const char * filename);
193 static void LoadBasepairMap(
IFILE & file);
195 static void WriteMapFile(
const char * filename);
196 static void WriteMapFile(FILE * file);
198 static void WriteFreqFile(
const char * filename,
bool old_format =
false);
199 static void WriteFreqFile(FILE * file,
bool old_format =
false);
201 static int LoadAllele(
int marker,
String & label);
211 static int instanceCount;