Tabnine Logo
TreeNode.getDistanceToParent
Code IndexAdd Tabnine to your IDE (free)

How to use
getDistanceToParent
method
in
phylo.tree.model.TreeNode

Best Java code snippets using phylo.tree.model.TreeNode.getDistanceToParent (Showing top 14 results out of 315)

origin: de.unijena.bioinf.phylo/flipcut-core

  private double calcEdgeWeight(TreeNode node) {
    final double weight = node.getDistanceToParent();
    if (weight == 0d) {
      LOGGER.warn("There are branches with length zero in your input trees. Setting 0 branches to " + MIN_VALUE);
      return MIN_VALUE;
    } else {
      return (weight / longestBranch);

    }
  }
}
origin: de.unijena.bioinf.phylo/phyloTree-lib.model

public static void rerootToOutgroup(Tree tree, TreeNode outgroup) {
  rerootToOutgroup(tree, outgroup, (outgroup.getDistanceToParent() / 2d));
}
origin: de.unijena.bioinf.phylo/phyloTree-lib.utils

public DistanceMatrix(Tree tree) {
  TreeNode[] leafes = tree.getLeaves();
  matrix = new double[leafes.length][leafes.length];
  for (int i = 0; i < leafes.length; i++) {
    leafToIndex.put(leafes[i].getLabel(), i);
    for (int j = 0; j < leafes.length; j++) {
      if (i != j) {
        TreeNode lca = tree.findLeastCommonAncestor(leafes[i], leafes[j]);
        //BigDecimal weight = new BigDecimal(leafes[i].getDistanceToParent());
        double weight = leafes[i].getDistanceToParent();
        TreeNode parent = leafes[i].getParent();
        while (parent != lca) {
          //weight = weight.add(new BigDecimal(parent.getDistanceToParent()));
          weight = weight + parent.getDistanceToParent();
          parent = parent.getParent();
        }
        //weight = weight.add(new BigDecimal(leafes[j].getDistanceToParent()));
        weight = weight + leafes[j].getDistanceToParent();
        parent = leafes[j].getParent();
        while (parent != lca) {
          //weight = weight.add(new BigDecimal(parent.getDistanceToParent()));
          weight = weight + parent.getDistanceToParent();
          parent = parent.getParent();
        }
        matrix[i][j] = weight;//.doubleValue();//weight.multiply(new BigDecimal(ACCURACY)).doubleValue();
        matrix[j][i] = matrix[i][j];
      }
    }
  }
}
origin: de.unijena.bioinf.phylo/phyloTree-lib.model

private static boolean mergeTrees(Map<Set<String>, TreeNode> mergedTreeAsMap, Tree mergedTree, Set<Map<Set<String>, TreeNode>> trees2AddAsMap, Map<Map<Set<String>, TreeNode>, Tree> trees2Add) {
  //merge edges to leaves
  for (Map<Set<String>, TreeNode> tree2AddAsMap : trees2AddAsMap) {
    Tree tree2Add = trees2Add.get(tree2AddAsMap);
    for (TreeNode leaf : mergedTree.getLeaves()) {
      Edge e = leaf.getEdgeToParent();
      e.setWeight(tree2Add.getVertex(leaf.getLabel()).getDistanceToParent() + e.getWeight());
    }
  }
  //merge inner edges
  Iterator<Set<String>> tMerge = mergedTreeAsMap.keySet().iterator();
  while (tMerge.hasNext()) {
    Set<String> nodeMerge = tMerge.next();
    for (Map<Set<String>, TreeNode> tree2AddAsMap : trees2AddAsMap) {
      Iterator<Set<String>> t2Add = tree2AddAsMap.keySet().iterator();
      while (t2Add.hasNext()) {
        Set<String> node2Add = t2Add.next();
        if (node2Add.equals(nodeMerge)) {
          double weight = tree2AddAsMap.get(node2Add).getDistanceToParent();
          tree2AddAsMap.remove(node2Add);
          Edge edge = mergedTreeAsMap.get(nodeMerge).getEdgeToParent();
          edge.setWeight(edge.getWeight() + weight);
          break;
        }
      }
    }
  }
  return true;
}
origin: de.unijena.bioinf.phylo/phyloTree-lib.model

if (writeWeights && node.getDistanceToParent() >= 0) {
  s.append(":" + node.getDistanceToParent());
origin: de.unijena.bioinf.phylo/phyloTree-lib.model

public static double claculateMinumCharaterDeletionCosts(Tree tree, List<Tree> sourceTrees) {
  Set<TreeNode> deletedNodes = new HashSet<TreeNode>();
  for (Tree sourceTree : sourceTrees) {
    for (TreeNode treeNode : sourceTree.vertices()) {
      if (treeNode.isInnerNode() && treeNode != sourceTree.getRoot()) {
        Set<String> sourceLeafLabels = getLeafLabels(treeNode);
        Set<TreeNode> superLeafes = getLeafesFromLabels(sourceLeafLabels, tree);
        TreeNode lca = tree.findLeastCommonAncestor(new ArrayList<TreeNode>(superLeafes));
        Set<String> superLeafLabels = getLeafLabels(lca);
        if (!sourceLeafLabels.equals(superLeafLabels)) {
          deletedNodes.add(treeNode);
        }
      }
    }
  }
  double costs = 0;
  for (TreeNode deletedNode : deletedNodes) {
    costs += deletedNode.getDistanceToParent();
  }
  return costs;
}
origin: de.unijena.bioinf.phylo/flipcut-core

if (node.getParent() != null && node.isInnerNode()) {
  double branchLength = node.getDistanceToParent();
  if (branchLength > longestBranch)
    longestBranch = branchLength;
origin: de.unijena.bioinf.phylo/phyloTree-lib.model

    TreeNode leaf2 = leafes[j];
    TreeNode ancestor = tree.findLeastCommonAncestor(leaf1, leaf2);
    double distanceToAncestor1 = leaf1.getDistanceToParent();
    TreeNode parent = leaf1.getParent();
    while (parent != ancestor) {
      distanceToAncestor1 += parent.getDistanceToParent();
      parent = parent.getParent();
    double distanceToAncestor2 = leaf2.getDistanceToParent();
    parent = leaf2.getParent();
    while (parent != ancestor) {
      distanceToAncestor2 += parent.getDistanceToParent();
      parent = parent.getParent();
double distanceToAncestor = pathLeaf1.getDistanceToParent();
TreeNode parent = pathLeaf2.getParent();
Edge<TreeNode> edgeToReroot;
if (distToAnc1 >= (pathlength / 2)) {
  distanceToAncestor = pathLeaf1.getDistanceToParent();
  parent = pathLeaf1.getParent();
  edgeToReroot = pathLeaf1.getEdgeToParent();
  while (distanceToAncestor < (pathlength / 2) && parent != anc) {
    distanceToAncestor += parent.getDistanceToParent();
    edgeToReroot = parent.getEdgeToParent();
    parent = parent.getParent();
  distanceToAncestor = pathLeaf1.getDistanceToParent();
  parent = pathLeaf2.getParent();
  edgeToReroot = pathLeaf2.getEdgeToParent();
origin: de.unijena.bioinf.phylo/phyloTree-lib.model

    TreeNode parent = leaf1;
    while (parent != ancestor) {
      distanceToAncestor1 += parent.getDistanceToParent();
      parent = parent.getParent();
    parent = leaf2;
    while (parent != ancestor) {
      distanceToAncestor2 += parent.getDistanceToParent();
      parent = parent.getParent();
double distanceToAncestor = pathLeaf1.getDistanceToParent();
TreeNode parent = pathLeaf2.getParent();
Edge<TreeNode> edgeToReroot;
if (distToAnc1 >= (pathlength / 2)) {
  distanceToAncestor = pathLeaf1.getDistanceToParent();
  parent = pathLeaf1.getParent();
  edgeToReroot = pathLeaf1.getEdgeToParent();
  while (distanceToAncestor < (pathlength / 2) && parent != anc) {
    distanceToAncestor += parent.getDistanceToParent();
    edgeToReroot = parent.getEdgeToParent();
    parent = parent.getParent();
  distanceToAncestor = pathLeaf1.getDistanceToParent();
  parent = pathLeaf2.getParent();
  edgeToReroot = pathLeaf2.getEdgeToParent();
  while (distanceToAncestor < (pathlength / 2) && parent != anc) {
    distanceToAncestor += parent.getDistanceToParent();
    edgeToReroot = parent.getEdgeToParent();
    parent = parent.getParent();
origin: de.unijena.bioinf.phylo/phyloTree-lib.model

@SuppressWarnings("unchecked")
private void hangIn(TreeNode newParent, TreeNode oldParent, Tree tree) {
  for (TreeNode n : oldParent.children()) {
    TreeNode newNode = n.cloneNode();
    newNode.setIndex(-1);
    tree.addVertex(newNode);
    Edge edge = tree.addEdge(newParent, newNode);
    edge.setWeight(n.getDistanceToParent());
    hangIn(newNode, n, tree);
  }
}
origin: de.unijena.bioinf.phylo/phyloTree-lib.model

private static void stepUp(Tree tree, TreeNode child, TreeNode parent, String oldChildLabel) {
  TreeNode newParent = parent.getParent();
  String newOldLabel = parent.getLabel();
  double weight = child.getDistanceToParent();
  tree.removeEdge(parent, child);
  tree.addEdge(child, parent).setWeight(weight);
  parent.setLabel(oldChildLabel);
  if (newParent != null) {
    stepUp(tree, parent, newParent, newOldLabel);
  }
}
origin: de.unijena.bioinf.phylo/phyloTree-lib.model

TreeNode child = node.getChildAt(0);
TreeNode parent = node.getParent();
double weight_parent = node.getDistanceToParent();
double weight_child = child.getDistanceToParent();
tree.removeVertex(node);
if (parent != null) {
origin: de.unijena.bioinf.phylo/phyloTree-lib.model

  edge.setWeight(n.getDistanceToParent());
  return true;
} else {
  edge.setWeight(n.getDistanceToParent());
      edge.setWeight(child.getDistanceToParent());
origin: de.unijena.bioinf.phylo/flipcut-core

TreeNode n = node;
while (n.getParent() != null) {
  pathLength += (n.getDistanceToParent());
  n = n.getParent();
TreeNode n = node;
while (n.getParent() != null) {
  edgeWeight += (n.getDistanceToParent());
  n = n.getParent();
phylo.tree.modelTreeNodegetDistanceToParent

Javadoc

Returns the distance to the parent node. If the node has no parent (root node ) -1 is returned.

Popular methods of TreeNode

  • <init>
    Create a new node with given label
  • childCount
    Returns the number of children of this node.
  • depthFirstIterator
    Returns a depth first Iterable. This enables iterating the subtree rooted at this node in post order
  • getLabel
    The label of this node. If the label is not set, this looks for a label property TreeNodeProperties#
  • getParent
    Return the parent of this node.
  • isInnerNode
    Returns true if this is not a leaf.
  • isLeaf
    Returns true if this node is a leaf.
  • children
    Returns an Iterable over all children of this node. This allow using nodes in foreach loop: for(Tre
  • getChildren
    Get a list of all children of this node. It is helpful if one wants to iterate over all children and
  • getEdgeToParent
    Return the edge to the parent node or null.
  • getLevel
    Lazy and one time computation of the level of this node.
  • getLeaves
    Returns the leaves under this node in depths first traversal order.
  • getLevel,
  • getLeaves,
  • setLabel,
  • cloneNode,
  • equalsNode,
  • getChildAt,
  • getGraph,
  • getIndex,
  • getPartition

Popular in Java

  • Running tasks concurrently on multiple threads
  • orElseThrow (Optional)
    Return the contained value, if present, otherwise throw an exception to be created by the provided s
  • getSystemService (Context)
  • getApplicationContext (Context)
  • System (java.lang)
    Provides access to system-related information and resources including standard input and output. Ena
  • Map (java.util)
    A Map is a data structure consisting of a set of keys and values in which each key is mapped to a si
  • TimeZone (java.util)
    TimeZone represents a time zone offset, and also figures out daylight savings. Typically, you get a
  • TreeMap (java.util)
    Walk the nodes of the tree left-to-right or right-to-left. Note that in descending iterations, next
  • ReentrantLock (java.util.concurrent.locks)
    A reentrant mutual exclusion Lock with the same basic behavior and semantics as the implicit monitor
  • JComboBox (javax.swing)
  • Top plugins for Android Studio
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now