X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=averagelinkage.cpp;fp=averagelinkage.cpp;h=db2c51edc5b182b52dcf540456baad7b5782c61e;hb=832d53a9dfac6b1795735eec643d8cf627b0d8e3;hp=7a4cb88d366d4f9765d906ce0fc7ea27600a6fdd;hpb=e1cf60b82a48d4d96e3a696a2d221c56cfb0b298;p=mothur.git diff --git a/averagelinkage.cpp b/averagelinkage.cpp index 7a4cb88..db2c51e 100644 --- a/averagelinkage.cpp +++ b/averagelinkage.cpp @@ -11,8 +11,8 @@ /***********************************************************************/ -AverageLinkage::AverageLinkage(RAbundVector* rav, ListVector* lv, SparseMatrix* dm) : - Cluster(rav, lv, dm) +AverageLinkage::AverageLinkage(RAbundVector* rav, ListVector* lv, SparseMatrix* dm, float c) : + Cluster(rav, lv, dm, c) { saveRow = -1; saveCol = -1; @@ -37,8 +37,16 @@ bool AverageLinkage::updateDistance(MatData& colCell, MatData& rowCell) { saveRow = smallRow; saveCol = smallCol; } - + + float oldColCell = colCell->dist; + colCell->dist = (colBin * colCell->dist + rowBin * rowCell->dist) / totalBin; + + //warn user if merge with value above cutoff produces a value below cutoff + if ((colCell->dist < cutoff) && ((oldColCell > cutoff) || (rowCell->dist > cutoff)) ) { + mothurOut("Warning: merging " + toString(oldColCell) + " with " + toString(rowCell->dist) + ", new value = " + toString(colCell->dist) + ". Results will differ from those if cutoff was used in the read.dist command."); mothurOutEndLine(); + } + return(true); } catch(exception& e) {