docs: def build_tree_from_alignment(aln, moltype=DNA, best_tree=False, params=None):
      """Returns a tree from alignment
  
      Will check MolType of aln object
      """
      if params is None:
          params = {}
  
      if moltype == DNA or moltype == RNA:
          params['-nt'] = True
      elif moltype == PROTEIN:
          params['-nt'] = False
      else:
          raise ValueError, \
                  "FastTree does not support moltype: %s" % moltype.label
  
      app = FastTree(params=params)
  
      if best_tree:
          raise NotImplementedError, "best_tree not implemented yet"
      result = app(aln.toFasta())
      tree = DndParser(result['Tree'].read(), constructor=PhyloNode)
      return tree