code: def dplptree2dgparentedtree(self):
          
          def transform(dplp_tree):
              """Transform a DPLP parse tree into a more conventional parse tree."""
              if isinstance(dplp_tree, basestring) or not hasattr(dplp_tree, 'label'):
                  return dplp_tree
              assert len(dplp_tree) == 2, "We can only handle binary trees."
  
              match = DPLP_REL_RE.match(dplp_tree.label())
              assert match, "Relation '{}' does not match regex '{}'".format(dplp_tree.label(), DPLP_REL_RE)
              left_child_nuc, right_child_nuc, relname = match.groups()
              dplp_tree._label = relname
  
              for i, child_nuclearity in enumerate([left_child_nuc, right_child_nuc]):
                  child = dplp_tree[i]
                  dplp_tree[i] = Tree(child_nuclearity, [transform(child)])
              return dplp_tree
  
          tree = transform(self.parsetree)
          return DGParentedTree.convert(tree)
docs: Convert the tree from DPLP's format into a conventional binary tree,
          which can be easily converted into output formats like RS3.