From: Kathryn Iverson Date: Mon, 30 Apr 2012 18:17:35 +0000 (-0400) Subject: added a matrix "burn in" for sim9 so that the matrix is suitably different from the... X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=494bc3a04ada7ca2bb4a6530606a67ffcdcb17aa;p=mothur.git added a matrix "burn in" for sim9 so that the matrix is suitably different from the initial matrix. --- diff --git a/cooccurrencecommand.cpp b/cooccurrencecommand.cpp index 465ddce..1c683ac 100644 --- a/cooccurrencecommand.cpp +++ b/cooccurrencecommand.cpp @@ -404,77 +404,12 @@ int CooccurrenceCommand::getCooccurrence(vector& thisLookUp double current; double randnum; int count; - - //burn-in - for(int i=0;i<10000;i++){ - nullmatrix.clear(); - //zero-fill the null matrix - nullmatrix.assign(nrows, vector(ncols, 0)); - - if(matrix == "sim1" || matrix == "sim6" || matrix == "sim8" || matrix == "sim7") { - count = 0; - while(count < n) { - nextnum: - previous = 0.0; - randnum = rand() / double(RAND_MAX); - for(int i=0;i previous) { - nullmatrix[i][j] = 1; - count++; - if (count > n) break; - else - goto nextnum; - } - previous = current; - } - } - } - } - - else if(matrix == "sim2" || matrix == "sim4") { - for(int i=0;i previous && nullmatrix[i][j] != 1) { - nullmatrix[i][j] = 1; - count++; - previous = 0.0; - break; - } - previous = current; - } - } - } - } - - else if(matrix == "sim3" || matrix == "sim5") { - //columns - for(int j=0;j previous && nullmatrix[i][j] != 1) { - nullmatrix[i][j] = 1; - count++; - previous = 0.0; - break; - } - previous = current; - } - } - } - } - + + //burn-in for sim9 + if(matrix == "sim9") { + for(int i=0;i<10000;i++) trial.swap_checkerboards (co_matrix, rowtotal, columntotal, ncols, nrows); } - + //populate null matrix from probability matrix, do this a lot. for(int i=0;i