org.forester.phylogeny
Class PhylogenyMethods

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

public class PhylogenyMethods
extends Object


Method Summary
static boolean areAllChildrenDuplications(PhylogenyNode n)
           
static int calculateDepth(PhylogenyNode node)
           
 double calculateDistance(PhylogenyNode node1, PhylogenyNode node2)
          Calculates the distance between PhylogenyNodes node1 and node2.
static double calculateDistanceToRoot(PhylogenyNode node)
           
 double calculateFurthestDistance(Phylogeny phylogeny)
           
static short calculateMaxBranchesToLeaf(PhylogenyNode node)
           
static int calculateMaxDepth(Phylogeny phy)
           
static double calculateMaxDistanceToRoot(Phylogeny phy)
           
static int calculateMaximumNumberOfDescendantsPerNode(Phylogeny phy)
           
static int calculateSumOfDistinctTaxonomies(PhylogenyNode node)
          Returns the sum of different taxonomies of all external nodes of node.
 Object clone()
           
static void deleteExternalNodesNegativeSelection(Set<Integer> to_delete, Phylogeny phy)
           
static void deleteExternalNodesNegativeSelection(String[] node_names_to_delete, Phylogeny p)
           
static void deleteExternalNodesPositiveSelection(Set<Taxonomy> species_to_keep, Phylogeny phy)
           
static void deleteExternalNodesPositiveSelection(String[] node_names_to_keep, Phylogeny p)
           
static Set<PhylogenyNode> getAllDescendants(PhylogenyNode node)
           
static Color getBranchColorValue(PhylogenyNode node)
          Convenience method
static double getBranchWidthValue(PhylogenyNode node)
          Convenience method
static double getConfidenceValue(PhylogenyNode node)
          Convenience method
static double[] getConfidenceValuesAsArray(PhylogenyNode node)
          Convenience method
static Taxonomy getExternalDescendantsTaxonomy(PhylogenyNode node)
          Returns taxonomy t if all external descendants have the same taxonomy t, null otherwise.
 PhylogenyNode getFarthestNode1()
           
 PhylogenyNode getFarthestNode2()
           
static PhylogenyNode getFurthestDescendant(PhylogenyNode node)
           
static PhylogenyMethods getInstance()
           
 PhylogenyNode getLCA(PhylogenyNode node1, PhylogenyNode node2)
          Returns the LCA of PhylogenyNodes node1 and node2.
static double getMaximumConfidenceValue(Phylogeny phy)
          Returns the largest confidence value found on phy.
 List<PhylogenyNode> getOrthologousNodes(Phylogeny phy, PhylogenyNode node)
          Returns all orthologs of the external PhylogenyNode n of this Phylogeny.
static String getSpecies(PhylogenyNode node)
          Convenience method for display purposes.
static List<PhylogenyNode> getSuperOrthologousNodes(PhylogenyNode n)
          Returns all Nodes which are connected to external PhylogenyNode n of this Phylogeny by a path containing only speciation events.
static String getTaxonomyIdentifier(PhylogenyNode node)
          Convenience method for display purposes.
static List<PhylogenyNode> getUltraParalogousNodes(PhylogenyNode n)
          Returns all Nodes which are connected to external PhylogenyNode n of this Phylogeny by a path containing, and leading to, only duplication events.
static String inferCommonPartOfScientificNameOfDescendants(PhylogenyNode node)
           
 boolean isAreOrthologous(PhylogenyNode node1, PhylogenyNode node2)
           
static boolean isHasExternalDescendant(PhylogenyNode node)
           
static void midpointRoot(Phylogeny phylogeny)
           
static void normalizeBootstrapValues(Phylogeny phylogeny, double max_bootstrap_value, double max_normalized_value)
           
static Set<PhylogenyNode> obtainAllNodesAsSet(Phylogeny phy)
           
static void postorderBranchColorAveragingExternalNodeBased(Phylogeny p)
           
static void removeNode(PhylogenyNode remove_me, Phylogeny phylogeny)
           
static Set<PhylogenyNode> searchData(String query, Phylogeny phy, boolean case_sensitive, boolean partial)
           
static Set<PhylogenyNode> searchDataLogicalAnd(String[] queries, Phylogeny phy, boolean case_sensitive, boolean partial)
           
static void setBootstrapConfidence(PhylogenyNode node, double bootstrap_confidence_value)
          Convenience method.
static void setBranchColorValue(PhylogenyNode node, Color color)
           
static void setBranchWidthValue(PhylogenyNode node, double branch_width_value)
          Convenience method
static void setConfidence(PhylogenyNode node, double confidence_value)
          Convenience method.
static void setConfidence(PhylogenyNode node, double confidence_value, String type)
          Convenience method.
static void setScientificName(PhylogenyNode node, String scientific_name)
           
static void setTaxonomyCode(PhylogenyNode node, String taxonomy_code)
          Convenience method to set the taxonomy code of a phylogeny node.
static int 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.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

calculateDistance

public double calculateDistance(PhylogenyNode node1,
                                PhylogenyNode node2)
Calculates the distance between PhylogenyNodes node1 and node2.

Parameters:
node1 -
node2 -
Returns:
distance between node1 and node2

calculateFurthestDistance

public double calculateFurthestDistance(Phylogeny phylogeny)

clone

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

getFarthestNode1

public PhylogenyNode getFarthestNode1()

getFarthestNode2

public PhylogenyNode getFarthestNode2()

getLCA

public PhylogenyNode getLCA(PhylogenyNode node1,
                            PhylogenyNode node2)
Returns the LCA of PhylogenyNodes node1 and node2.

Parameters:
node1 -
node2 -
Returns:
LCA of node1 and node2

getOrthologousNodes

public List<PhylogenyNode> getOrthologousNodes(Phylogeny phy,
                                               PhylogenyNode node)
Returns all orthologs of the external PhylogenyNode n of this Phylogeny. Orthologs are returned as List of node references.

PRECONDITION: This tree must be binary and rooted, and speciation - duplication need to be assigned for each of its internal Nodes.

Returns null if this Phylogeny is empty or if n is internal.

Parameters:
n - external PhylogenyNode whose orthologs are to be returned
Returns:
Vector of references to all orthologous Nodes of PhylogenyNode n of this Phylogeny, null if this Phylogeny is empty or if n is internal

isAreOrthologous

public boolean isAreOrthologous(PhylogenyNode node1,
                                PhylogenyNode node2)

areAllChildrenDuplications

public static boolean areAllChildrenDuplications(PhylogenyNode n)

calculateDepth

public static int calculateDepth(PhylogenyNode node)

calculateDistanceToRoot

public static double calculateDistanceToRoot(PhylogenyNode node)

calculateMaxBranchesToLeaf

public static short calculateMaxBranchesToLeaf(PhylogenyNode node)

calculateMaxDepth

public static int calculateMaxDepth(Phylogeny phy)

calculateMaxDistanceToRoot

public static double calculateMaxDistanceToRoot(Phylogeny phy)

calculateMaximumNumberOfDescendantsPerNode

public static int calculateMaximumNumberOfDescendantsPerNode(Phylogeny phy)

calculateSumOfDistinctTaxonomies

public static int calculateSumOfDistinctTaxonomies(PhylogenyNode node)
Returns the sum of different taxonomies of all external nodes of node. If at least one the external nodes has no taxonomy, 0 is returned.


deleteExternalNodesNegativeSelection

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

deleteExternalNodesNegativeSelection

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

deleteExternalNodesPositiveSelection

public static void deleteExternalNodesPositiveSelection(Set<Taxonomy> species_to_keep,
                                                        Phylogeny phy)

deleteExternalNodesPositiveSelection

public static void deleteExternalNodesPositiveSelection(String[] node_names_to_keep,
                                                        Phylogeny p)

getAllDescendants

public static Set<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


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)

getInstance

public static PhylogenyMethods getInstance()

getMaximumConfidenceValue

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


getSpecies

public static String getSpecies(PhylogenyNode node)
Convenience method for display purposes. Not intended for algorithms.


getSuperOrthologousNodes

public static List<PhylogenyNode> getSuperOrthologousNodes(PhylogenyNode n)
Returns all Nodes which are connected to external PhylogenyNode n of this Phylogeny by a path containing only speciation events. We call these "super orthologs". Nodes are returned as Vector of references to Nodes.

PRECONDITION: This tree must be binary and rooted, and speciation - duplication need to be assigned for each of its internal Nodes.

Returns null if this Phylogeny is empty or if n is internal.

Parameters:
n - external PhylogenyNode whose strictly speciation related Nodes are to be returned
Returns:
Vector of references to all strictly speciation related Nodes of PhylogenyNode n of this Phylogeny, null if this Phylogeny is empty or if n is internal

getTaxonomyIdentifier

public static String getTaxonomyIdentifier(PhylogenyNode node)
Convenience method for display purposes. Not intended for algorithms.


getUltraParalogousNodes

public static List<PhylogenyNode> getUltraParalogousNodes(PhylogenyNode n)
Returns all Nodes which are connected to external PhylogenyNode n of this Phylogeny by a path containing, and leading to, only duplication events. We call these "ultra paralogs". Nodes are returned as Vector of references to Nodes.

PRECONDITION: This tree must be binary and rooted, and speciation - duplication need to be assigned for each of its internal Nodes.

Returns null if this Phylogeny is empty or if n is internal.

(Last modified: 10/06/01)

Parameters:
n - external PhylogenyNode whose ultra paralogs are to be returned
Returns:
Vector of references to all ultra paralogs of PhylogenyNode n of this Phylogeny, null if this Phylogeny is empty or if n is internal

inferCommonPartOfScientificNameOfDescendants

public static String inferCommonPartOfScientificNameOfDescendants(PhylogenyNode node)

isHasExternalDescendant

public static boolean isHasExternalDescendant(PhylogenyNode node)

midpointRoot

public static void midpointRoot(Phylogeny phylogeny)

normalizeBootstrapValues

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

obtainAllNodesAsSet

public static Set<PhylogenyNode> obtainAllNodesAsSet(Phylogeny phy)

postorderBranchColorAveragingExternalNodeBased

public static void postorderBranchColorAveragingExternalNodeBased(Phylogeny p)

removeNode

public static void removeNode(PhylogenyNode remove_me,
                              Phylogeny phylogeny)

searchData

public static Set<PhylogenyNode> searchData(String query,
                                            Phylogeny phy,
                                            boolean case_sensitive,
                                            boolean partial)

searchDataLogicalAnd

public static Set<PhylogenyNode> searchDataLogicalAnd(String[] queries,
                                                      Phylogeny phy,
                                                      boolean case_sensitive,
                                                      boolean partial)

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)
Convenience method to set the taxonomy code of a phylogeny node.

Parameters:
node -
taxonomy_code -

taxonomyBasedDeletionOfExternalNodes

public static int 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:
number of external nodes removed from to_be_stripped