Wrapper for Clustal Omega.
[jabaws.git] / binaries / src / clustalo / src / clustal / muscle_upgma.h
diff --git a/binaries/src/clustalo/src/clustal/muscle_upgma.h b/binaries/src/clustalo/src/clustal/muscle_upgma.h
new file mode 100644 (file)
index 0000000..64d8352
--- /dev/null
@@ -0,0 +1,43 @@
+/* This the fast UPGMA algorithm (O(N^2)) as implemented in Bob Edgar's
+ * Muscle (UPGMA2.cpp; version 3.7) ported to pure C.
+ *
+ * Muscle's code is public domain and so is this code here.
+ *
+ * From http://www.drive5.com/muscle/license.htm:
+ * """
+ * MUSCLE is public domain software
+ *
+ * The MUSCLE software, including object and source code and
+ * documentation, is hereby donated to the public domain.
+ *
+ * Disclaimer of warranty
+ * THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
+ * EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * """
+ *
+ */
+
+/*
+ *  RCS $Id: muscle_upgma.h 193 2011-02-07 15:45:21Z andreas $
+ */
+
+#ifndef CLUSTALO_UPGMA_H
+#define CLUSTALO_UPGMA_H
+
+#include "symmatrix.h"
+#include "muscle_tree.h"
+
+enum linkage_e {
+    LINKAGE_MIN,
+    LINKAGE_AVG,
+    LINKAGE_MAX,
+    LINKAGE_NEIGHBORJOINING,
+    LINKAGE_BIASED
+};
+typedef enum linkage_e linkage_t;
+
+void MuscleUpgma2(tree_t *tree, symmatrix_t *distmat,
+                   linkage_t linkage, char **names);
+
+#endif