Class PhylogenyMethods

java.lang.Object
org.forester.phylogeny.PhylogenyMethods

public class PhylogenyMethods extends Object
  • Method Details

    • clone

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

      public static boolean extractFastaInformation(Phylogeny phy)
    • calculateBranchLengthStatistics

      public static DescriptiveStatistics calculateBranchLengthStatistics(Phylogeny phy)
    • calculateConfidenceStatistics

      public static List<DescriptiveStatistics> calculateConfidenceStatistics(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 HashMap<String,PhylogenyNode> createNameToExtNodeMap(Phylogeny phy)
    • deleteExternalNodesNegativeSelection

      public static void deleteExternalNodesNegativeSelection(Set<Long> to_delete, Phylogeny phy)
    • deleteExternalNodesNegativeSelection

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

      public static List<String> deleteExternalNodesPositiveSelection(String[] node_names_to_keep, Phylogeny p)
    • deleteExternalNodesPositiveSelectionT

      public static void deleteExternalNodesPositiveSelectionT(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 List<List<PhylogenyNode>> divideIntoSubTrees(Phylogeny phy, double min_distance_to_root)
    • getAllDescendants

      public static List<PhylogenyNode> getAllDescendants(PhylogenyNode node)
    • getBranchColorValue

      public static 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
    • getEventAtLCA

      public static final Event getEventAtLCA(PhylogenyNode n1, PhylogenyNode n2)
    • getExternalDescendantsTaxonomy

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

      public static PhylogenyNode getFurthestDescendant(PhylogenyNode node)
    • 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 String getSpecies(PhylogenyNode node)
      Convenience method for display purposes. Not intended for algorithms.
    • getTaxonomyIdentifier

      public static 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, String[] providers)
    • midpointRoot

      public static void midpointRoot(Phylogeny phylogeny)
    • normalizeBootstrapValues

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

      public static List<PhylogenyNode> obtainAllNodesAsList(Phylogeny phy)
    • obtainDistinctTaxonomyCounts

      public static Map<Taxonomy,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, File file) throws IOException
      Throws:
      IOException
    • readPhylogenies

      public static final Phylogeny[] readPhylogenies(PhylogenyParser parser, List<File> files) throws IOException
      Throws:
      IOException
    • removeNode

      public static void removeNode(PhylogenyNode remove_me, Phylogeny phylogeny)
    • searchData

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

      public static List<PhylogenyNode> searchDataLogicalAnd(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, 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, 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, String scientific_name)
    • setTaxonomyCode

      public static void setTaxonomyCode(PhylogenyNode node, String taxonomy_code) throws PhyloXmlDataFormatException
      Convenience method to set the taxonomy code of a phylogeny node.
      Parameters:
      node -
      taxonomy_code -
      Throws:
      PhyloXmlDataFormatException
    • sortNodeDescendents

      public static final void sortNodeDescendents(PhylogenyNode node, PhylogenyMethods.DESCENDANT_SORT_PRIORITY pri)
    • taxonomyBasedDeletionOfExternalNodes

      public static 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, String confidence_type)
    • transferNodeNameToField

      public static final void transferNodeNameToField(Phylogeny phy, PhylogenyMethods.PhylogenyNodeField field, boolean external_only) throws PhyloXmlDataFormatException
      Throws:
      PhyloXmlDataFormatException
    • addMolecularSeqsToTree

      public static void addMolecularSeqsToTree(Phylogeny phy, Msa msa)