docs: def lca_taxonomy(self, deduplicated_sequences, taxonomy_hash):
          r'''Given a set of deduplicated sequences and a taxonomy hash,
          return the respective LCAs of taxonomy
          
          Parameters
          ----------
          deduplicated_sequences: Array of arrays of Sequence objects
              as output from deduplicate()
          taxonomy_hash: dictionary 
              of sequence names to taxonomy array (i.e. array of str)
          
          Returns
          -------
          Array of taxonomy LCAs'''
          
          to_return = []
          for dup_group in deduplicated_sequences:
              lca = taxonomy_hash[dup_group[0].name]
              for s in dup_group[1:]:
                  for i, tax in enumerate(taxonomy_hash[s.name]):
                      if i >= len(lca) or tax != lca[i]:
                          lca = lca[:i]
                          break
                  if len(lca) > len(taxonomy_hash[s.name]):
                      lca = lca[:len(taxonomy_hash[s.name])]
              to_return.append(lca)
          return to_return