From 095a4c7aed0cf5ef79eaf28f0d79d3aa51c2811e Mon Sep 17 00:00:00 2001 From: pschloss Date: Wed, 16 Feb 2011 11:47:54 +0000 Subject: [PATCH] bug fix to seq.error --- makefile | 2 +- seqerrorcommand.cpp | 38 ++++++++++++++++++++------------------ seqerrorcommand.h | 1 - 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/makefile b/makefile index 6ac7e31..7cc71f0 100644 --- a/makefile +++ b/makefile @@ -9,7 +9,7 @@ # Macros # -USEMPI ?= yes +USEMPI ?= no 64BIT_VERSION ?= yes USEREADLINE ?= yes CYGWIN_BUILD ?= no diff --git a/seqerrorcommand.cpp b/seqerrorcommand.cpp index b3a9a39..2e20c57 100644 --- a/seqerrorcommand.cpp +++ b/seqerrorcommand.cpp @@ -196,7 +196,7 @@ SeqErrorCommand::SeqErrorCommand(string option) { convert(temp, ignoreChimeras); substitutionMatrix.resize(6); - for(int i=0;i<6;i++){ substitutionMatrix[i].assign(6,0); } + for(int i=0;i<6;i++){ substitutionMatrix[i].resize(6,0); } } } catch(exception& e) { @@ -301,42 +301,42 @@ int SeqErrorCommand::execute(){ outputNames.push_back(errorChimeraFileName); outputTypes["error.chimera"].push_back(errorChimeraFileName); vector megaAlignVector(numRefs, ""); - + int index = 0; bool ignoreSeq = 0; while(queryFile){ - + if (m->control_pressed) { errorSummaryFile.close(); errorSeqFile.close(); for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } return 0; } Sequence query(queryFile); - + int numParentSeqs = chimeraTest.analyzeQuery(query.getName(), query.getAligned()); int closestRefIndex = chimeraTest.getClosestRefIndex(); if(numParentSeqs > 1 && ignoreChimeras == 1) { ignoreSeq = 1; } else { ignoreSeq = 0; } - Compare minCompare = getErrors(query, referenceSeqs[closestRefIndex]); if(namesFileName != ""){ it = weights.find(query.getName()); minCompare.weight = it->second; } - else { minCompare.weight = 1; } + else{ minCompare.weight = 1; } printErrorData(minCompare, numParentSeqs); - - + if(!ignoreSeq){ + for(int i=0;iopenOutputFile(megAlignmentFileName, megAlignmentFile); + outputNames.push_back(megAlignmentFileName); outputTypes["error.ref-query"].push_back(megAlignmentFileName); for(int i=0;i' << error.queryName << "\tref:" << error.refName << '\n' << error.sequence << endl; - int a=0; int t=1; int g=2; int c=3; int gap=4; int n=5; + if(numParentSeqs == 1 || ignoreChimeras == 0){ substitutionMatrix[a][a] += error.weight * error.AA; substitutionMatrix[a][t] += error.weight * error.TA; @@ -622,7 +624,7 @@ void SeqErrorCommand::printErrorData(Compare error, int numParentSeqs){ substitutionMatrix[a][c] += error.weight * error.CA; substitutionMatrix[a][gap] += error.weight * error.dA; substitutionMatrix[a][n] += error.weight * error.NA; - + substitutionMatrix[t][a] += error.weight * error.AT; substitutionMatrix[t][t] += error.weight * error.TT; substitutionMatrix[t][g] += error.weight * error.GT; diff --git a/seqerrorcommand.h b/seqerrorcommand.h index 00b5367..05afe60 100644 --- a/seqerrorcommand.h +++ b/seqerrorcommand.h @@ -74,7 +74,6 @@ private: vector referenceSeqs; vector > substitutionMatrix; - int a,t,g,c,gap,n; }; #endif -- 2.39.2