Delete unneeded directory
[jabaws.git] / website / archive / binaries / mac / src / muscle / finddiags.cpp
diff --git a/website/archive/binaries/mac/src/muscle/finddiags.cpp b/website/archive/binaries/mac/src/muscle/finddiags.cpp
deleted file mode 100644 (file)
index 0ddacb3..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-#include "muscle.h"\r
-#include "profile.h"\r
-#include "diaglist.h"\r
-\r
-#define TRACE  0\r
-\r
-const unsigned KTUP = 5;\r
-const unsigned KTUPS = 6*6*6*6*6;\r
-static unsigned TuplePos[KTUPS];\r
-\r
-static char *TupleToStr(int t)\r
-       {\r
-       static char s[7];\r
-       int t1, t2, t3, t4, t5;\r
-\r
-       t1 = t%6;\r
-       t2 = (t/6)%6;\r
-       t3 = (t/(6*6))%6;\r
-       t4 = (t/(6*6*6))%6;\r
-       t5 = (t/(6*6*6*6))%6;\r
-\r
-       s[4] = '0' + t1;\r
-       s[3] = '0' + t2;\r
-       s[2] = '0' + t3;\r
-       s[1] = '0' + t4;\r
-       s[0] = '0' + t5;\r
-       return s;\r
-       }\r
-\r
-static unsigned GetTuple(const ProfPos *PP, unsigned uPos)\r
-       {\r
-       const unsigned t0 = PP[uPos].m_uResidueGroup;\r
-       if (RESIDUE_GROUP_MULTIPLE == t0)\r
-               return EMPTY;\r
-\r
-       const unsigned t1 = PP[uPos+1].m_uResidueGroup;\r
-       if (RESIDUE_GROUP_MULTIPLE == t1)\r
-               return EMPTY;\r
-\r
-       const unsigned t2 = PP[uPos+2].m_uResidueGroup;\r
-       if (RESIDUE_GROUP_MULTIPLE == t2)\r
-               return EMPTY;\r
-\r
-       const unsigned t3 = PP[uPos+3].m_uResidueGroup;\r
-       if (RESIDUE_GROUP_MULTIPLE == t3)\r
-               return EMPTY;\r
-\r
-       const unsigned t4 = PP[uPos+4].m_uResidueGroup;\r
-       if (RESIDUE_GROUP_MULTIPLE == t4)\r
-               return EMPTY;\r
-\r
-       return t0 + t1*6 + t2*6*6 + t3*6*6*6 + t4*6*6*6*6;\r
-       }\r
-\r
-void FindDiags(const ProfPos *PX, unsigned uLengthX, const ProfPos *PY,\r
-  unsigned uLengthY, DiagList &DL)\r
-       {\r
-       if (ALPHA_Amino != g_Alpha)\r
-               Quit("FindDiags: requires amino acid alphabet");\r
-\r
-       DL.Clear();\r
-\r
-       if (uLengthX < 12 || uLengthY < 12)\r
-               return;\r
-\r
-// Set A to shorter profile, B to longer\r
-       const ProfPos *PA;\r
-       const ProfPos *PB;\r
-       unsigned uLengthA;\r
-       unsigned uLengthB;\r
-       bool bSwap;\r
-       if (uLengthX < uLengthY)\r
-               {\r
-               bSwap = false;\r
-               PA = PX;\r
-               PB = PY;\r
-               uLengthA = uLengthX;\r
-               uLengthB = uLengthY;\r
-               }\r
-       else\r
-               {\r
-               bSwap = true;\r
-               PA = PY;\r
-               PB = PX;\r
-               uLengthA = uLengthY;\r
-               uLengthB = uLengthX;\r
-               }\r
-\r
-// Build tuple map for the longer profile, B\r
-       if (uLengthB < KTUP)\r
-               Quit("FindDiags: profile too short");\r
-\r
-       memset(TuplePos, EMPTY, sizeof(TuplePos));\r
-\r
-       for (unsigned uPos = 0; uPos < uLengthB - KTUP; ++uPos)\r
-               {\r
-               const unsigned uTuple = GetTuple(PB, uPos);\r
-               if (EMPTY == uTuple)\r
-                       continue;\r
-               TuplePos[uTuple] = uPos;\r
-               }\r
-\r
-// Find matches\r
-       for (unsigned uPosA = 0; uPosA < uLengthA - KTUP; ++uPosA)\r
-               {\r
-               const unsigned uTuple = GetTuple(PA, uPosA);\r
-               if (EMPTY == uTuple)\r
-                       continue;\r
-               const unsigned uPosB = TuplePos[uTuple];\r
-               if (EMPTY == uPosB)\r
-                       continue;\r
-\r
-       // This tuple is found in both profiles\r
-               unsigned uStartPosA = uPosA;\r
-               unsigned uStartPosB = uPosB;\r
-\r
-       // Try to extend the match forwards\r
-               unsigned uEndPosA = uPosA + KTUP - 1;\r
-               unsigned uEndPosB = uPosB + KTUP - 1;\r
-               for (;;)\r
-                       {\r
-                       if (uLengthA - 1 == uEndPosA || uLengthB - 1 == uEndPosB)\r
-                               break;\r
-                       const unsigned uAAGroupA = PA[uEndPosA+1].m_uResidueGroup;\r
-                       if (RESIDUE_GROUP_MULTIPLE == uAAGroupA)\r
-                               break;\r
-                       const unsigned uAAGroupB = PB[uEndPosB+1].m_uResidueGroup;\r
-                       if (RESIDUE_GROUP_MULTIPLE == uAAGroupB)\r
-                               break;\r
-                       if (uAAGroupA != uAAGroupB)\r
-                               break;\r
-                       ++uEndPosA;\r
-                       ++uEndPosB;\r
-                       }\r
-               uPosA = uEndPosA;\r
-\r
-#if    TRACE\r
-               {\r
-               Log("Match: A %4u-%4u   ", uStartPosA, uEndPosA);\r
-               for (unsigned n = uStartPosA; n <= uEndPosA; ++n)\r
-                       Log("%c", 'A' + PA[n].m_uResidueGroup);\r
-               Log("\n");\r
-               Log("       B %4u-%4u   ", uStartPosB, uEndPosB);\r
-               for (unsigned n = uStartPosB; n <= uEndPosB; ++n)\r
-                       Log("%c", 'A' + PB[n].m_uResidueGroup);\r
-               Log("\n");\r
-               }\r
-#endif\r
-\r
-               const unsigned uLength = uEndPosA - uStartPosA + 1;\r
-               assert(uEndPosB - uStartPosB + 1 == uLength);\r
-\r
-               if (uLength >= g_uMinDiagLength)\r
-                       {\r
-                       if (bSwap)\r
-                               DL.Add(uStartPosB, uStartPosA, uLength);\r
-                       else\r
-                               DL.Add(uStartPosA, uStartPosB, uLength);\r
-                       }\r
-               }\r
-       }\r