about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/checkpoint.h8
-rw-r--r--src/debug.cpp2
-rw-r--r--src/gemma.cpp8
-rw-r--r--src/gemma_io.cpp2
-rw-r--r--src/lmm.cpp3
5 files changed, 19 insertions, 4 deletions
diff --git a/src/checkpoint.h b/src/checkpoint.h
index c2457d9..ae46361 100644
--- a/src/checkpoint.h
+++ b/src/checkpoint.h
@@ -26,6 +26,14 @@ using namespace std;
 
 extern string checkpoint_name;
 
+/*
+    Checkpoint functions display a message in debug mode when
+    reached. If the (unique) msg (tag) is equal to the global
+    checkpoint_name the program will stop. The idea is that we can
+    stop computation at any checkpoint. Later we can write the code to
+    restart at a checkpoint.
+ */
+
 void checkpoint_run(string msg, string filename, string srcfilename, int line, string funcname);
 
 #define checkpoint(msg, fname)						\
diff --git a/src/debug.cpp b/src/debug.cpp
index 0aa4bfc..b26e173 100644
--- a/src/debug.cpp
+++ b/src/debug.cpp
@@ -139,6 +139,7 @@ inline int fedisableexcept(unsigned int excepts)
 
 #endif
 
+/*
 void enable_segfpe() {
   if (!is_fpe_check_mode() || is_legacy_mode()) return;
   #ifdef __GNUC__
@@ -159,6 +160,7 @@ void disable_segfpe() {
     #endif
   #endif
 }
+*/
 
 void write(const char *s, const char *msg) {
   if (!is_debug_data_mode() && !is_debug_dump_mode()) return;
diff --git a/src/gemma.cpp b/src/gemma.cpp
index 6c2b3f4..63f952e 100644
--- a/src/gemma.cpp
+++ b/src/gemma.cpp
@@ -84,7 +84,7 @@ void gemma_gsl_error_handler (const char * reason,
 void GEMMA::PrintHeader(void) {
 
   cout <<
-    "GEMMA forked executable --- part of PanGEMMA " << version << " (" << date << ") by Xiang Zhou, Pjotr Prins and team (C) 2012-" << year << endl;
+    "Pangemma --- GEMMA 0.98.5 compatible executable " << version << " (" << date << ") by Xiang Zhou, Pjotr Prins and team (C) 2012-" << year << endl;
   return;
 }
 
@@ -1653,7 +1653,7 @@ void GEMMA::BatchRun(PARAM &cPar) {
   clock_t time_begin, time_start;
   time_begin = clock();
 
-  if (is_check_mode()) enable_segfpe(); // fast NaN checking by default
+  // if (is_check_mode()) enable_segfpe(); // fast NaN checking by default
 
   // Read Files.
   cout << "Reading Files ... " << endl;
@@ -1943,7 +1943,7 @@ void GEMMA::BatchRun(PARAM &cPar) {
     VARCOV cVarcov;
     cVarcov.CopyFromParam(cPar);
 
-    if (is_check_mode()) disable_segfpe(); // disable fast NaN checking for now
+    // if (is_check_mode()) disable_segfpe(); // disable fast NaN checking for now
 
     if (!cPar.file_bfile.empty()) {
       cVarcov.AnalyzePlink();
@@ -2058,7 +2058,7 @@ void GEMMA::BatchRun(PARAM &cPar) {
     VARCOV cVarcov;
     cVarcov.CopyFromParam(cPar);
 
-    if (is_check_mode()) disable_segfpe(); // fast NaN checking for now
+    // if (is_check_mode()) disable_segfpe(); // fast NaN checking for now
 
     if (!cPar.file_bfile.empty()) {
       cVarcov.AnalyzePlink();
diff --git a/src/gemma_io.cpp b/src/gemma_io.cpp
index f5a79a2..76f8a35 100644
--- a/src/gemma_io.cpp
+++ b/src/gemma_io.cpp
@@ -1431,6 +1431,7 @@ bool BimbamKin(const string file_geno, const set<string> ksnps,
   auto infilen = file_geno.c_str();
   igzstream infile(infilen, igzstream::in);
   enforce_msg(infilen, "error reading genotype file");
+  checkpoint("read-geno-file",file_geno);
 
   size_t n_miss;
   double geno_mean, geno_var;
@@ -1758,6 +1759,7 @@ bool ReadFile_geno(const string file_geno, vector<int> &indicator_idv,
     cout << "error reading genotype file:" << file_geno << endl;
     return false;
   }
+  checkpoint("read-geno-file",file_geno);
 
   string line;
   char *ch_ptr;
diff --git a/src/lmm.cpp b/src/lmm.cpp
index 85e92fe..ccf880a 100644
--- a/src/lmm.cpp
+++ b/src/lmm.cpp
@@ -44,6 +44,7 @@
 #include "gzstream.h"
 #include "gemma.h"
 #include "gemma_io.h"
+#include "checkpoint.h"
 #include "fastblas.h"
 #include "lapack.h"
 #include "lmm.h"
@@ -1663,6 +1664,7 @@ void LMM::AnalyzeBimbam(const gsl_matrix *U, const gsl_vector *eval,
                         const set<string> gwasnps) {
   debug_msg(file_geno);
   auto infilen = file_geno.c_str();
+  checkpoint("start-read-geno-file",file_geno);
 
   igzstream infile(infilen, igzstream::in);
   enforce_msg(infile, "error reading genotype file");
@@ -2291,6 +2293,7 @@ void LMM::AnalyzeBimbamGXE(const gsl_matrix *U, const gsl_vector *eval,
     cout << "error reading genotype file:" << file_geno << endl;
     return;
   }
+  checkpoint("start-read-geno-file",file_geno);
 
   clock_t time_start = clock();