- // public List<PhylogenyNode> groupNodes(float threshold, PhylogenyNode root,
- // double treeHeight)
- // {
- // List<PhylogenyNode> groups = new ArrayList<>();
- // _groupNodes(groups, root, threshold, treeHeight);
- // System.out.println(groups);
- // return groups;
- // }
- //
- // protected void _groupNodes(List<PhylogenyNode> groups, PhylogenyNode nd,
- // float threshold, double treeHeight)
- // {
- // if (nd == null)
- // {
- // return;
- // }
- //
- // if ((nd.calculateDistanceToRoot() / treeHeight) > threshold)
- // {
- // groups.add(nd);
- // }
- // else
- // {
- // for (PhylogenyNode childNode : nd.getDescendants())
- // {
- // _groupNodes(groups, childNode, threshold, treeHeight);
- // }
- // }
- // }
- //
+ treeGroup.setName("Tree Group " + nrTreeGroups);
+ treeGroup.setIdColour(groupColour);
+
+ for (AlignmentPanel associatedPanel : getAssociatedPanels())
+ {
+ AlignViewportI altViewport = associatedPanel
+ .getAlignViewport();
+
+ if (altViewport.getGlobalColourScheme() != null
+ && altViewport.getResidueShading()
+ .conservationApplied())
+ {
+ Conservation conserv = new Conservation(treeGroup.getName(),
+ treeGroup.getSequences(null), treeGroup.getStartRes(),
+ treeGroup.getEndRes());
+ conserv.calculate();
+ conserv.verdict(false, altViewport.getConsPercGaps());
+ treeGroup.getGroupColourScheme().setConservation(conserv);
+ }
+
+ altViewport.getAlignment().addGroup(treeGroup);
+ // TODO can we push all of the below into AlignViewportI?
+ final AlignViewportI codingComplement = altViewport
+ .getCodingComplement();
+ if (codingComplement != null)
+ {
+ SequenceGroup mappedGroup = MappingUtils.mapSequenceGroup(treeGroup,
+ parentAvport, codingComplement);
+ if (mappedGroup.getSequences().size() > 0)
+ {
+ codingComplement.getAlignment().addGroup(mappedGroup);
+ for (SequenceI seq : mappedGroup.getSequences())
+ {
+ codingComplement.setSequenceColour(seq, groupColour.brighter());
+ }
+ }
+ }
+
+ }
+
+ }