Class PhylogenyMethods


  • public class PhylogenyMethods
    extends java.lang.Object
    • Method Detail

      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Overrides:
        clone in class java.lang.Object
        Throws:
        java.lang.CloneNotSupportedException
      • extractFastaInformation

        public static boolean extractFastaInformation​(Phylogeny phy)
      • calculateDistance

        public static double calculateDistance​(PhylogenyNode node1,
                                               PhylogenyNode node2)
        Calculates the distance between PhylogenyNodes node1 and node2.
        Parameters:
        node1 -
        node2 -
        Returns:
        distance between node1 and node2
      • calculateLCA

        public static final PhylogenyNode calculateLCA​(PhylogenyNode node1,
                                                       PhylogenyNode node2)
        Returns the LCA of PhylogenyNodes node1 and node2.
        Parameters:
        node1 -
        node2 -
        Returns:
        LCA of node1 and node2
      • calculateLCAonTreeWithIdsInPreOrder

        public static final PhylogenyNode calculateLCAonTreeWithIdsInPreOrder​(PhylogenyNode node1,
                                                                              PhylogenyNode node2)
        Returns the LCA of PhylogenyNodes node1 and node2. Precondition: ids are in pre-order (or level-order).
        Parameters:
        node1 -
        node2 -
        Returns:
        LCA of node1 and node2
      • calculateMaxBranchesToLeaf

        public static short calculateMaxBranchesToLeaf​(PhylogenyNode node)
      • calculateMaxDepth

        public static int calculateMaxDepth​(Phylogeny phy)
      • calculateMaxDistanceToRoot

        public static double calculateMaxDistanceToRoot​(Phylogeny phy)
      • calculateNodeWithMaxDistanceToRoot

        public static PhylogenyNode calculateNodeWithMaxDistanceToRoot​(Phylogeny phy)
      • calculateNumberOfExternalNodesWithoutTaxonomy

        public static int calculateNumberOfExternalNodesWithoutTaxonomy​(PhylogenyNode node)
      • calculateNumberOfDescendantsPerNodeStatistics

        public static DescriptiveStatistics calculateNumberOfDescendantsPerNodeStatistics​(Phylogeny phy)
      • collapseSubtreeStructure

        public static final void collapseSubtreeStructure​(PhylogenyNode n)
      • countNumberOfOneDescendantNodes

        public static int countNumberOfOneDescendantNodes​(Phylogeny phy)
      • countNumberOfPolytomies

        public static int countNumberOfPolytomies​(Phylogeny phy)
      • createNameToExtNodeMap

        public static final java.util.HashMap<java.lang.String,​PhylogenyNode> createNameToExtNodeMap​(Phylogeny phy)
      • deleteExternalNodesNegativeSelection

        public static void deleteExternalNodesNegativeSelection​(java.util.Set<java.lang.Long> to_delete,
                                                                Phylogeny phy)
      • deleteExternalNodesNegativeSelection

        public static void deleteExternalNodesNegativeSelection​(java.lang.String[] node_names_to_delete,
                                                                Phylogeny p)
                                                         throws java.lang.IllegalArgumentException
        Throws:
        java.lang.IllegalArgumentException
      • deleteExternalNodesPositiveSelection

        public static java.util.List<java.lang.String> deleteExternalNodesPositiveSelection​(java.lang.String[] node_names_to_keep,
                                                                                            Phylogeny p)
      • deleteExternalNodesPositiveSelectionT

        public static void deleteExternalNodesPositiveSelectionT​(java.util.List<Taxonomy> species_to_keep,
                                                                 Phylogeny phy)
      • deleteInternalNodesWithOnlyOneDescendent

        public static final void deleteInternalNodesWithOnlyOneDescendent​(Phylogeny phy)
      • deleteNonOrthologousExternalNodes

        public static final void deleteNonOrthologousExternalNodes​(Phylogeny phy,
                                                                   PhylogenyNode n)
      • divideIntoSubTrees

        public static final java.util.List<java.util.List<PhylogenyNode>> divideIntoSubTrees​(Phylogeny phy,
                                                                                             double min_distance_to_root)
      • getBranchColorValue

        public static java.awt.Color getBranchColorValue​(PhylogenyNode node)
        Convenience method
        Parameters:
        node -
        Returns:
      • getBranchWidthValue

        public static double getBranchWidthValue​(PhylogenyNode node)
        Convenience method
      • getConfidenceValue

        public static double getConfidenceValue​(PhylogenyNode node)
        Convenience method
      • getConfidenceValuesAsArray

        public static double[] getConfidenceValuesAsArray​(PhylogenyNode node)
        Convenience method
      • getExternalDescendantsTaxonomy

        public static Taxonomy getExternalDescendantsTaxonomy​(PhylogenyNode node)
        Returns taxonomy t if all external descendants have the same taxonomy t, null otherwise.
      • getMaximumConfidenceValue

        public static double getMaximumConfidenceValue​(Phylogeny phy)
        Returns the largest confidence value found on phy.
      • getMinimumDescendentsPerInternalNodes

        public static int getMinimumDescendentsPerInternalNodes​(Phylogeny phy)
      • getSpecies

        public static java.lang.String getSpecies​(PhylogenyNode node)
        Convenience method for display purposes. Not intended for algorithms.
      • getTaxonomyIdentifier

        public static java.lang.String getTaxonomyIdentifier​(PhylogenyNode node)
        Convenience method for display purposes. Not intended for algorithms.
      • isAllDecendentsAreDuplications

        public static final boolean isAllDecendentsAreDuplications​(PhylogenyNode n)
      • isHasExternalDescendant

        public static boolean isHasExternalDescendant​(PhylogenyNode node)
      • isTaxonomyHasIdentifierOfGivenProvider

        public static boolean isTaxonomyHasIdentifierOfGivenProvider​(Taxonomy tax,
                                                                     java.lang.String[] providers)
      • midpointRoot

        public static void midpointRoot​(Phylogeny phylogeny)
      • normalizeBootstrapValues

        public static void normalizeBootstrapValues​(Phylogeny phylogeny,
                                                    double max_bootstrap_value,
                                                    double max_normalized_value)
      • obtainDistinctTaxonomyCounts

        public static java.util.Map<Taxonomy,​java.lang.Integer> obtainDistinctTaxonomyCounts​(PhylogenyNode node)
        Returns a map of distinct taxonomies of all external nodes of node. If at least one of the external nodes has no taxonomy, null is returned.
      • orderAppearance

        public static void orderAppearance​(PhylogenyNode n,
                                           boolean order,
                                           boolean order_ext_alphabetically,
                                           PhylogenyMethods.DESCENDANT_SORT_PRIORITY pri)
        Arranges the order of childern for each node of this Phylogeny in such a way that either the branch with more children is on top (right) or on bottom (left), dependent on the value of boolean order.
        Parameters:
        order - decides in which direction to order
        pri -
      • postorderBranchColorAveragingExternalNodeBased

        public static void postorderBranchColorAveragingExternalNodeBased​(Phylogeny p)
      • preOrderReId

        public static final void preOrderReId​(Phylogeny phy)
      • readPhylogenies

        public static final Phylogeny[] readPhylogenies​(PhylogenyParser parser,
                                                        java.io.File file)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • readPhylogenies

        public static final Phylogeny[] readPhylogenies​(PhylogenyParser parser,
                                                        java.util.List<java.io.File> files)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • searchData

        public static java.util.List<PhylogenyNode> searchData​(java.lang.String query,
                                                               Phylogeny phy,
                                                               boolean case_sensitive,
                                                               boolean partial,
                                                               boolean regex,
                                                               boolean search_domains,
                                                               double domains_confidence_threshold)
      • searchDataLogicalAnd

        public static java.util.List<PhylogenyNode> searchDataLogicalAnd​(java.lang.String[] queries,
                                                                         Phylogeny phy,
                                                                         boolean case_sensitive,
                                                                         boolean partial,
                                                                         boolean search_domains,
                                                                         double domains_confidence_threshold)
      • setAllIndicatorsToZero

        public static void setAllIndicatorsToZero​(Phylogeny phy)
      • setBootstrapConfidence

        public static void setBootstrapConfidence​(PhylogenyNode node,
                                                  double bootstrap_confidence_value)
        Convenience method. Sets value for the first confidence value (created if not present, values overwritten otherwise).
      • setBranchColorValue

        public static void setBranchColorValue​(PhylogenyNode node,
                                               java.awt.Color color)
      • setBranchWidthValue

        public static void setBranchWidthValue​(PhylogenyNode node,
                                               double branch_width_value)
        Convenience method
      • setConfidence

        public static void setConfidence​(PhylogenyNode node,
                                         double confidence_value)
        Convenience method. Sets value for the first confidence value (created if not present, values overwritten otherwise).
      • setConfidence

        public static void setConfidence​(PhylogenyNode node,
                                         double confidence_value,
                                         java.lang.String type)
        Convenience method. Sets value for the first confidence value (created if not present, values overwritten otherwise).
      • setScientificName

        public static void setScientificName​(PhylogenyNode node,
                                             java.lang.String scientific_name)
      • taxonomyBasedDeletionOfExternalNodes

        public static java.util.List<PhylogenyNode> taxonomyBasedDeletionOfExternalNodes​(Phylogeny reference,
                                                                                         Phylogeny to_be_stripped)
        Removes from Phylogeny to_be_stripped all external Nodes which are associated with a species NOT found in Phylogeny reference.
        Parameters:
        reference - a reference Phylogeny
        to_be_stripped - Phylogeny to be stripped
        Returns:
        nodes removed from to_be_stripped
      • transferInternalNamesToBootstrapSupport

        public static final void transferInternalNamesToBootstrapSupport​(Phylogeny phy)
      • isInternalNamesLookLikeConfidences

        public static final boolean isInternalNamesLookLikeConfidences​(Phylogeny phy)
      • transferInternalNodeNamesToConfidence

        public static final void transferInternalNodeNamesToConfidence​(Phylogeny phy,
                                                                       java.lang.String confidence_type)
      • addMolecularSeqsToTree

        public static void addMolecularSeqsToTree​(Phylogeny phy,
                                                  Msa msa)