This looks very similar to `treecons`, the diff between them is below.  Is there a reason why you added `tree-majvote`?  Is it ok to remove it?  It's behavior seems identical to `treecons`.

```diff
 
-    Build a consensus tree
+    Build a majority vote tree
 
 """
 
@@ -14,13 +14,10 @@
 from rasmus import treelib
 from rasmus import util
 from rasmus import stats
-from compbio import phylip, fasta, phylo
+from compbio import fasta, phylo
 
-# spidir libs (optional)
-try:
-    import spidir
-except ImportError:
-    pass
+# spidir libs
+import spidir
 
 
 
@@ -42,9 +39,6 @@
 o.add_option("-i", "--maxiter", dest="maxiter", metavar="NUMBER",
              type="int",
              default=20, help="max iterations for ML")
-o.add_option("--binary", dest="binary",
-             action="store_true",
-             help="ensure consensus tree is binary")
 
 conf, files = o.parse_args()
 
@@ -62,37 +56,10 @@
     return bgfreq
 
 
-def read_trees(filename):
-    infile = open(filename)
-    trees = []
-    try:
-        while 1:
-            trees.append(treelib.read_tree(infile))
-    except:
-        pass
-    infile.close()
-
-    return trees
-
-
-def rename_trees_with_ids(trees):
-
-    names = trees[0].leaf_names()
-    for tree in trees:
-        phylip.rename_tree_with_ids(tree, names)
-    return names
-
-
-
-
 for filename in files:
-    args = "y"
-
-    if conf.rooted:
-        args = "r\n" + args
 
     # read trees
-    trees = read_trees(filename)
+    trees = treelib.read_trees(filename)
     ntrees = len(trees)
 
     if conf.numtrees:
@@ -100,16 +67,12 @@
             print "SKIP: %d < %d trees" % (ntrees, conf.numtrees)
             continue

-    tree = phylo.consensus_majority_rule(trees, rooted=conf.rooted)
+    tree = phylo.consensus_majority_vote(trees, rooted=conf.rooted)
 
-    if conf.binary:
-        phylo.ensure_binary_tree(tree)
-
-    
+   
     if conf.align:
         aln = fasta.read_fasta(conf.align)
         bgfreq = est_bgfreq(aln)
-        phylo.ensure_binary_tree(tree)
         
         # find actual branch lengths
         spidir.find_ml_branch_lengths_hky(tree, aln, bgfreq, conf.kappa,
```