Delete unneeded directory
[jabaws.git] / website / archive / binaries / mac / src / clustalw / src / tree / UPGMA / RootedTreeOutput.cpp
diff --git a/website/archive/binaries/mac/src/clustalw/src/tree/UPGMA/RootedTreeOutput.cpp b/website/archive/binaries/mac/src/clustalw/src/tree/UPGMA/RootedTreeOutput.cpp
deleted file mode 100644 (file)
index f7d50ec..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/**
- * Author: Mark Larkin
- * 
- * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.  
- */
-#ifdef HAVE_CONFIG_H
-    #include "config.h"
-#endif
-#include "RootedTreeOutput.h"
-
-namespace clustalw
-{
-
-RootedTreeOutput::RootedTreeOutput(SeqInfo* seqInfo)
-{
-    firstSeq = seqInfo->firstSeq;
-    lastSeq = seqInfo->lastSeq;
-    numSeqs = seqInfo->numSeqs;  
-}
-
-void RootedTreeOutput::printPhylipTree(RootedGuideTree* tree, ofstream* ptrToFile, Alignment *alignPtr,
-                                    DistMatrix* distMat)
-{
-    if(!ptrToFile || !ptrToFile->is_open())
-    {
-        return;
-    }
-    
-    //cerr << "\n******************* DEBUG AW RootedTreeOutput::printPhylipTree: we only get here when using UPGMA with >2 seqs. Why?\n";
-
-    
-    // If we have only 2 sequences, use the distances in the distMat
-    if (lastSeq - firstSeq + 1 == 2)
-    {
-        (*ptrToFile) << "(" << alignPtr->getName(firstSeq) << ":" << fixed << setprecision(5) 
-        << (*distMat)(firstSeq, firstSeq + 1) << "," << alignPtr->getName(firstSeq + 1) 
-                     << ":" << fixed << setprecision(5)  << (*distMat)(firstSeq, firstSeq + 1)
-            ;
-        // << ")";
-        // AW 2009-05-15: final ")" added here, but not tested
-        // when is this ever used? tried
-        // infile=test.aln -clustering=nj|upgma
-        // on pairwise input, but this is only called for multiple
-        // input. why?
-    } else {
-        // AW 2009-05-08: fixed bug 155 by removing unnecessary, extra
-        // outer parenthesis from output
-        phylipTraverse(ptrToFile, alignPtr, tree->getRoot());
-    }
-    (*ptrToFile) << ";\n";
-}
-
-void RootedTreeOutput::printNexusTree(RootedGuideTree* tree, ofstream* ptrToFile, 
-                                      Alignment *alignPtr, DistMatrix* distMat)
-{
-    if(!ptrToFile || !ptrToFile->is_open())
-    {
-        return;
-    }
-        
-    (*ptrToFile) << "#NEXUS\n\n";
-
-    (*ptrToFile) << "BEGIN TREES;\n\n";
-    (*ptrToFile) << "\tTRANSLATE\n";
-            
-    for(int j = 1; j < numSeqs; j++) 
-    {
-        (*ptrToFile) << "\t\t" << j << "\t" << alignPtr->getName(j) <<",\n";
-    }
-    (*ptrToFile) << "\t\t" << numSeqs << "\t" << alignPtr->getName(numSeqs) << "\n";
-    (*ptrToFile) << "\t\t;\n";
-
-    (*ptrToFile) << "\tUTREE PAUP_1= ";
-    
-    // IF we have only 2 seqs
-    if (lastSeq - firstSeq + 1 == 2)
-    {
-        (*ptrToFile) << "(" << alignPtr->getName(firstSeq) << ":" << fixed << setprecision(5) 
-                     << (*distMat)(firstSeq, firstSeq + 1) << "," << alignPtr->getName(firstSeq + 1) 
-                     << ":" << fixed << setprecision(5)  << (*distMat)(firstSeq, firstSeq + 1);
-    }
-    else
-    {                        
-        (*ptrToFile) << "(";
-        nexusTraverse(ptrToFile, alignPtr, tree->getRoot());
-    }
-    (*ptrToFile) << ");\n";
-    (*ptrToFile) << "\nENDBLOCK;\n";
-}
-
-/**
- * PRIVATE FUNCTIONS
- */ 
-void RootedTreeOutput::phylipTraverse(ofstream* ptrToFile, Alignment *alignPtr, Node* t)
-{
-    if(!ptrToFile)
-    {
-        return;
-    }    
-    if(t != 0)
-    {
-        if(t->isLeafNode())
-        {
-            if(alignPtr)
-            {
-                (*ptrToFile) << alignPtr->getName(t->getSeqNum()) << ":" << t->getHeight();
-            }
-            else
-            {
-                (*ptrToFile) << t->getSeqNum() << ":" << t->getHeight();
-            }
-        }
-        else // Internal node
-        {
-            (*ptrToFile) << "(\n";
-            phylipTraverse(ptrToFile, alignPtr, t->getLeft());
-            (*ptrToFile) << ",\n";
-            phylipTraverse(ptrToFile, alignPtr, t->getRight());
-            (*ptrToFile) << "):" << t->getHeight();
-        }
-    }
-}
-
-void RootedTreeOutput::nexusTraverse(ofstream* ptrToFile, Alignment *alignPtr, Node* t)
-{
-    if(t != 0)
-    {
-        if(!t->isLeafNode()) // Internal node
-        {
-            (*ptrToFile) << "(";
-            nexusTraverse(ptrToFile, alignPtr, t->getLeft());
-            (*ptrToFile) << ",";
-            nexusTraverse(ptrToFile, alignPtr, t->getRight());
-            (*ptrToFile) << "):" << t->getHeight();                    
-        }
-        else // Leaf node
-        {
-            if(alignPtr)
-            {
-                (*ptrToFile) << alignPtr->getName(t->getSeqNum()) << ":" << t->getHeight();
-            }
-            else
-            {
-                (*ptrToFile) << t->getSeqNum() << ":" << t->getHeight();
-            }
-        }
-    }
-
-}
-
-}