當前位置: 首頁>>代碼示例>>Java>>正文


Java MutableTree.getChildCount方法代碼示例

本文整理匯總了Java中dr.evolution.tree.MutableTree.getChildCount方法的典型用法代碼示例。如果您正苦於以下問題:Java MutableTree.getChildCount方法的具體用法?Java MutableTree.getChildCount怎麽用?Java MutableTree.getChildCount使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在dr.evolution.tree.MutableTree的用法示例。


在下文中一共展示了MutableTree.getChildCount方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: adjustInternalHeights

import dr.evolution.tree.MutableTree; //導入方法依賴的package包/類
private static void adjustInternalHeights(MutableTree tree, NodeRef node) {

        if (!tree.isExternal(node)) {
            // pre-order recursion
            for (int i = 0; i < tree.getChildCount(node); i++) {
                adjustInternalHeights(tree, tree.getChild(node, i));
            }
        }

        NodeRef parent = tree.getParent(node);

        if (parent != null) {

            if (tree.getNodeHeight(parent) < tree.getNodeHeight(node)) {
                tree.setNodeHeight(parent, tree.getNodeHeight(node));
            }
        }
    }
 
開發者ID:beast-dev,項目名稱:beast-mcmc,代碼行數:19,代碼來源:TreeUtils.java

示例2: addNewClades

import dr.evolution.tree.MutableTree; //導入方法依賴的package包/類
private BitSet addNewClades(final MutableTree tree, final NodeRef node) {

		final BitSet bitSet = new BitSet(tree.getTaxonCount());
		if (tree.isExternal(node)) {
			bitSet.set(hostTaxonList.getTaxonIndex(tree.getNodeTaxon(node).getId()));
		} else {
			for (int i = 0; i < tree.getChildCount(node); ++i) {
				bitSet.or(addNewClades(tree, tree.getChild(node, i)));
			}
		}
		
		if (!clades.containsKey(bitSet))
			clades.put(bitSet, clades.size());

		final int id = clades.get(bitSet);
		ids[(Integer) tree.getNodeAttribute(node, NODE_REF)] = id;
		tree.setNodeAttribute(node, NODE_REF, id);

		return bitSet;
	}
 
開發者ID:armanbilge,項目名稱:BECKY,代碼行數:21,代碼來源:PreAnnotator.java

示例3: simulate

import dr.evolution.tree.MutableTree; //導入方法依賴的package包/類
private void simulate(MutableTree tree, NodeRef node, double value) {
		
	tree.setNodeAttribute(node, traitName, new Double(value));
	int childCount = tree.getChildCount(node);
	double height = tree.getNodeHeight(node);
	for (int i = 0; i < childCount; i++) {
		NodeRef child = tree.getChild(node, i);
		
		simulate(tree, child, diffusionModel.simulateForward(value, height - tree.getNodeHeight(child)));
	}	
}
 
開發者ID:beast-dev,項目名稱:beast-mcmc,代碼行數:12,代碼來源:SimulateTrait.java

示例4: annotateTree

import dr.evolution.tree.MutableTree; //導入方法依賴的package包/類
public void annotateTree(MutableTree tree, NodeRef node, BitSet bits, HeightsSummary heightsOption) {

            BitSet bits2 = new BitSet();

            if (tree.isExternal(node)) {

                int index = taxonList.getTaxonIndex(tree.getNodeTaxon(node).getId());
                bits2.set(index);

                annotateNode(tree, node, bits2, true, heightsOption);
            } else {

                for (int i = 0; i < tree.getChildCount(node); i++) {

                    NodeRef node1 = tree.getChild(node, i);

                    annotateTree(tree, node1, bits2, heightsOption);
                }

                annotateNode(tree, node, bits2, false, heightsOption);
            }

            if (bits != null) {
                bits.or(bits2);
            }
        }
 
開發者ID:whdc,項目名稱:ieo-beast,代碼行數:27,代碼來源:TreeAnnotator.java

示例5: annotateRates

import dr.evolution.tree.MutableTree; //導入方法依賴的package包/類
private static void annotateRates(
        MutableTree targetTree, NodeRef node, Tree timeTree, Tree mutationTree) {

    Set<String> leafSet = Tree.Utils.getDescendantLeaves(targetTree, node);
    if (Tree.Utils.isMonophyletic(timeTree, leafSet)) {
        NodeRef timeNode = Tree.Utils.getCommonAncestorNode(timeTree, leafSet);
        NodeRef mutationNode = Tree.Utils.getCommonAncestorNode(mutationTree, leafSet);

        double height = timeTree.getNodeHeight(timeNode);

        if (!targetTree.isRoot(node)) {
            double time = timeTree.getNodeHeight(timeTree.getParent(timeNode)) - height;
            double mutations = mutationTree.getNodeHeight(mutationTree.getParent(mutationNode)) - mutationTree.getNodeHeight(mutationNode);

            //double rate = mutations/time;
            Number totalMutations = (Number)targetTree.getNodeAttribute(node, "totalMutations");
            Number totalTime = (Number)targetTree.getNodeAttribute(node, "totalTime");
            if (totalMutations == null) {
                targetTree.setNodeAttribute(node, "totalMutations", mutations);
                targetTree.setNodeAttribute(node, "totalTime", time);
                targetTree.setNodeAttribute(node, "count", 1);
            } else {
                Integer count = (Integer)targetTree.getNodeAttribute(node, "count");
                targetTree.setNodeAttribute(node, "totalMutations", totalMutations.doubleValue() + mutations);
                targetTree.setNodeAttribute(node, "totalTime", totalTime.doubleValue() + time);
                targetTree.setNodeAttribute(node, "count", count + 1);
            }
        }
        if (!targetTree.isExternal(node)) {
            java.util.List<Double> list = (java.util.List<Double>)targetTree.getNodeAttribute(node, "heightList");
            if (list == null) {
                list = new ArrayList<Double>() ;
                targetTree.setNodeAttribute(node, "heightList", list);
            }
            list.add(height);
        }
    }


    for (int i = 0; i < targetTree.getChildCount(node); i++) {
        annotateRates(targetTree, targetTree.getChild(node, i), timeTree, mutationTree);
    }
}
 
開發者ID:whdc,項目名稱:ieo-beast,代碼行數:44,代碼來源:BranchRatePlotter.java


注:本文中的dr.evolution.tree.MutableTree.getChildCount方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。