当前位置: 首页>>代码示例>>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;未经允许,请勿转载。