X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=formatmatrix.h;h=7e7a99c1dbcf4bf495ad7b1a7c7caec49bef3e90;hb=5b72d1cf3fa48730e5bb70d59cced1e43e1fe424;hp=a02ef6cc27ac634eda25ec0c5b7cbc81b13c121a;hpb=e1cf60b82a48d4d96e3a696a2d221c56cfb0b298;p=mothur.git diff --git a/formatmatrix.h b/formatmatrix.h index a02ef6c..7e7a99c 100644 --- a/formatmatrix.h +++ b/formatmatrix.h @@ -15,15 +15,52 @@ #include "nameassignment.hpp" +//********************************************************************************************************************** +// This class takes a distance matrix file and converts it to a file where each row contains all distances below the cutoff +// for a given sequence. + +// Example: + /* 5 + A + B 0.01 + C 0.015 0.03 + D 0.03 0.02 0.02 + E 0.04 0.05 0.03 0.02 + + becomes + + 0 4 1 0.01 2 0.015 3 0.03 4 0.04 + 1 4 0 0.01 2 0.03 3 0.02 4 0.05 + 2 4 0 0.015 1 0.03 3 0.02 4 0.03 + 3 4 0 0.03 1 0.02 2 0.02 4 0.02 + 4 4 0 0.04 1 0.05 2 0.03 3 0.02 + + column 1 - sequence name converted to row number + column 2 - numDists under cutoff + rest of line - sequence row -> distance, sequence row -> distance + + if you had a cutoff of 0.03 then the file would look like, + + 0 3 1 0.01 2 0.015 3 0.03 + 1 3 0 0.01 2 0.03 3 0.02 + 2 4 0 0.015 1 0.03 3 0.02 4 0.03 + 3 4 0 0.03 1 0.02 2 0.02 4 0.02 + 4 2 2 0.03 3 0.02 + + This class also creates a vector of ints, rowPos. + + rowPos[0] = position in the file of distances related to sequence 0. + If a sequence is excluded by the cutoff, it's rowPos = -1. +*/ //********************************************************************************************************************** class FormatMatrix { public: - FormatMatrix(){ } + FormatMatrix(){ m = MothurOut::getInstance(); } virtual ~FormatMatrix() {} - virtual void read(NameAssignment*){}; + virtual int read(NameAssignment*){ return 1; } void setCutoff(float c) { cutoff = c; } ListVector* getListVector() { return list; } @@ -35,6 +72,7 @@ protected: float cutoff; string distFile; vector rowPos; + MothurOut* m; }; //**********************************************************************************************************************