Class PharmacophoreNode
- java.lang.Object
-
- com.actelion.research.chem.descriptor.pharmacophoretree.PharmacophoreNode
-
public class PharmacophoreNode extends java.lang.Object
A PharmacophoreNode represents a node in a PharmacophoreTree. A PharmacophoreNode is associated with a list of features (hbond donor, hbond acceptor, +charge,-charge,aromatic, lipophilic) which define its chemical properties. The similarity between two pharmacophore nodes is calculated by using a combination of steric and chemical similarity.- Author:
- joel
-
-
Field Summary
Fields Modifier and Type Field Description static double
CHEM_SIM_WEIGHT
static int[]
FUNCTIONALITY_WEIGHTS
static int
LINK_NODE
static int
ZERO_NODE
-
Constructor Summary
Constructors Constructor Description PharmacophoreNode(java.util.List<java.lang.Integer> atoms, int[][] atomFunctionalities, double[] atomVolumes, boolean isRing, boolean isAromatic)
PharmacophoreNode(java.util.List<java.lang.Integer> atoms, int[][] atomFunctionalities, double[] atomVolumes, int role, boolean isRing, boolean isAromatic)
PharmacophoreNode(java.util.List<java.lang.Integer> atoms, int[] functionalities, java.util.List<java.lang.Double> volumes, java.util.List<java.lang.Double> weights, int role)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static double
calcFeatureSim(int[] features1, int[] features2)
void
calculate()
calculates the total volume and size of the node from its elementsstatic PharmacophoreNode
decode(java.lang.String s)
static java.lang.String
encode(PharmacophoreNode node)
java.util.List<java.lang.Integer>
getAtoms()
int[]
getFunctionalities()
static double
getSimilarity(java.util.Collection<PharmacophoreNode> nodes1, java.util.Collection<PharmacophoreNode> nodes2)
static double
getSimilarity(java.util.Collection<java.lang.Integer> nodes1, java.util.Collection<java.lang.Integer> nodes2, java.util.List<PharmacophoreNode> allNodes1, java.util.List<PharmacophoreNode> allNodes2)
double
getSize()
java.util.List<java.lang.Double>
getVolumes()
java.util.List<java.lang.Double>
getWeights()
boolean
isAromatic()
boolean
isLinkNode()
boolean
isRing()
void
setAromatic(boolean isAromatic)
void
setAtoms(java.util.List<java.lang.Integer> atoms)
void
setFunctionalities(int[] functionalities)
void
setRing(boolean isRing)
void
setRole(int role)
void
setVolumes(java.util.List<java.lang.Double> volumes)
void
setWeights(java.util.List<java.lang.Double> weights)
void
updateWeights(java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>> atomToNodes)
-
-
-
Field Detail
-
FUNCTIONALITY_WEIGHTS
public static final int[] FUNCTIONALITY_WEIGHTS
-
CHEM_SIM_WEIGHT
public static final double CHEM_SIM_WEIGHT
- See Also:
- Constant Field Values
-
ZERO_NODE
public static final int ZERO_NODE
- See Also:
- Constant Field Values
-
LINK_NODE
public static final int LINK_NODE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PharmacophoreNode
public PharmacophoreNode(java.util.List<java.lang.Integer> atoms, int[][] atomFunctionalities, double[] atomVolumes, int role, boolean isRing, boolean isAromatic)
-
PharmacophoreNode
public PharmacophoreNode(java.util.List<java.lang.Integer> atoms, int[] functionalities, java.util.List<java.lang.Double> volumes, java.util.List<java.lang.Double> weights, int role)
-
PharmacophoreNode
public PharmacophoreNode(java.util.List<java.lang.Integer> atoms, int[][] atomFunctionalities, double[] atomVolumes, boolean isRing, boolean isAromatic)
-
-
Method Detail
-
updateWeights
public void updateWeights(java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>> atomToNodes)
-
calculate
public void calculate()
calculates the total volume and size of the node from its elements
-
calcFeatureSim
public static double calcFeatureSim(int[] features1, int[] features2)
-
getSimilarity
public static double getSimilarity(java.util.Collection<java.lang.Integer> nodes1, java.util.Collection<java.lang.Integer> nodes2, java.util.List<PharmacophoreNode> allNodes1, java.util.List<PharmacophoreNode> allNodes2)
-
getSimilarity
public static double getSimilarity(java.util.Collection<PharmacophoreNode> nodes1, java.util.Collection<PharmacophoreNode> nodes2)
-
getAtoms
public java.util.List<java.lang.Integer> getAtoms()
-
getWeights
public java.util.List<java.lang.Double> getWeights()
-
getFunctionalities
public int[] getFunctionalities()
-
getVolumes
public java.util.List<java.lang.Double> getVolumes()
-
getSize
public double getSize()
-
setFunctionalities
public void setFunctionalities(int[] functionalities)
-
setVolumes
public void setVolumes(java.util.List<java.lang.Double> volumes)
-
setWeights
public void setWeights(java.util.List<java.lang.Double> weights)
-
setAtoms
public void setAtoms(java.util.List<java.lang.Integer> atoms)
-
setRole
public void setRole(int role)
-
isLinkNode
public boolean isLinkNode()
-
encode
public static java.lang.String encode(PharmacophoreNode node)
-
decode
public static PharmacophoreNode decode(java.lang.String s)
-
isRing
public boolean isRing()
-
setRing
public void setRing(boolean isRing)
-
isAromatic
public boolean isAromatic()
-
setAromatic
public void setAromatic(boolean isAromatic)
-
-