Class StructureInterfaceList
- java.lang.Object
-
- org.biojava.nbio.structure.contact.StructureInterfaceList
-
- All Implemented Interfaces:
Serializable
,Iterable<StructureInterface>
public class StructureInterfaceList extends Object implements Serializable, Iterable<StructureInterface>
A list of interfaces between 2 molecules (2 sets of atoms)- Author:
- Jose Duarte
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_ASA_SPHERE_POINTS
Default number of points to use when calculating ASAsstatic double
DEFAULT_CONTACT_OVERLAP_SCORE_CLUSTER_CUTOFF
Any 2 interfaces with contact overlap score larger than this value will be considered to be clusteredstatic int
DEFAULT_MIN_COFACTOR_SIZE
Default minimum size of cofactor molecule (non-chain HET atoms) that will be usedstatic double
DEFAULT_MINIMUM_INTERFACE_AREA
Default minimum area for a contact between two chains to be considered a valid interface.
-
Constructor Summary
Constructors Constructor Description StructureInterfaceList()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(StructureInterface interf)
void
addNcsEquivalent(StructureInterface interfaceNew, StructureInterface interfaceRef)
Add an interface to the list, possibly defining it as NCS-equivalent to an interface already in the list.void
calcAsas()
Calculates ASAs for all interfaces in list, both for the unbound chains and for the complex of the two chains together.void
calcAsas(int nSpherePoints, int nThreads, int cofactorSizeToUse)
Calculates ASAs for all interfaces in list, both for the unbound chains and for the complex of the two chains together.static StructureInterfaceList
calculateInterfaces(Structure struc)
Calculates the interfaces for a structure using default parametersStructureInterface
get(int id)
Gets the interface corresponding to given id.List<StructureInterfaceCluster>
getClusters()
Calculate the interface clusters for this StructureInterfaceList using a contact overlap score to measure the similarity of interfaces.List<StructureInterfaceCluster>
getClusters(double contactOverlapScoreClusterCutoff)
Calculate the interface clusters for this StructureInterfaceList using Jaccard contact set scores to measure the similarity of interfaces.List<StructureInterfaceCluster>
getClustersNcs()
Get the interface clusters for this StructureInterfaceList grouped by NCS-equivalence.List<StructureInterface>
getList()
Iterator<StructureInterface>
iterator()
void
removeInterfacesBelowArea()
Removes from this interface list all interfaces with areas below the default cutoff area.void
removeInterfacesBelowArea(double area)
Removes from this interface list all interfaces with areas below the given cutoff area.void
setChainOrigNamesMap(Map<String,String> chainOrigNamesMap)
Sets a map with mapping from NCS chain names to original chain names.int
size()
void
sort()
Sorts the interface list and reassigns ids based on new sortingString
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
DEFAULT_MINIMUM_INTERFACE_AREA
public static final double DEFAULT_MINIMUM_INTERFACE_AREA
Default minimum area for a contact between two chains to be considered a valid interface.- See Also:
- Constant Field Values
-
DEFAULT_ASA_SPHERE_POINTS
public static final int DEFAULT_ASA_SPHERE_POINTS
Default number of points to use when calculating ASAs- See Also:
calcAsas(int, int, int)
, Constant Field Values
-
DEFAULT_MIN_COFACTOR_SIZE
public static final int DEFAULT_MIN_COFACTOR_SIZE
Default minimum size of cofactor molecule (non-chain HET atoms) that will be used- See Also:
calcAsas(int, int, int)
, Constant Field Values
-
DEFAULT_CONTACT_OVERLAP_SCORE_CLUSTER_CUTOFF
public static final double DEFAULT_CONTACT_OVERLAP_SCORE_CLUSTER_CUTOFF
Any 2 interfaces with contact overlap score larger than this value will be considered to be clustered- See Also:
- Constant Field Values
-
-
Constructor Detail
-
StructureInterfaceList
public StructureInterfaceList()
-
-
Method Detail
-
add
public void add(StructureInterface interf)
-
size
public int size()
-
getList
public List<StructureInterface> getList()
-
get
public StructureInterface get(int id)
Gets the interface corresponding to given id. The ids go from 1 to n Ifsort()
was called then the order is descendent by area.- Parameters:
id
-- Returns:
-
calcAsas
public void calcAsas()
Calculates ASAs for all interfaces in list, both for the unbound chains and for the complex of the two chains together. Also sorts the interfaces based on calculated BSA areas (descending).Uses default parameters
-
calcAsas
public void calcAsas(int nSpherePoints, int nThreads, int cofactorSizeToUse)
Calculates ASAs for all interfaces in list, both for the unbound chains and for the complex of the two chains together. Also sorts the interfaces based on calculated BSA areas (descending)- Parameters:
nSpherePoints
-nThreads
-cofactorSizeToUse
- the minimum size of cofactor molecule (non-chain HET atoms) that will be used
-
sort
public void sort()
Sorts the interface list and reassigns ids based on new sorting
-
getClustersNcs
public List<StructureInterfaceCluster> getClustersNcs()
Get the interface clusters for this StructureInterfaceList grouped by NCS-equivalence. This means that for any two interfaces in the same cluster: 1. The chains forming the first interface are NCS-copies of the chains forming the second interface, in any order. 2. Relative orientation of the chains is preserved, i.e. the contacts are identical.- Returns:
- list of
StructureInterfaceCluster
objects. - Since:
- 5.0.0
-
addNcsEquivalent
public void addNcsEquivalent(StructureInterface interfaceNew, StructureInterface interfaceRef)
Add an interface to the list, possibly defining it as NCS-equivalent to an interface already in the list. Used to build up the NCS clustering.- Parameters:
interfaceNew
- an interface to be added to the list.interfaceRef
- interfaceNew will be added to the cluster which contains interfaceRef. If interfaceRef is null, new cluster will be created for interfaceNew.- Since:
- 5.0.0
-
setChainOrigNamesMap
public void setChainOrigNamesMap(Map<String,String> chainOrigNamesMap)
Sets a map with mapping from NCS chain names to original chain names. Necessary whenaddNcsEquivalent(StructureInterface, StructureInterface)
is used and NCS equivalent interfaces exist in this list and their names need mapping when setting ASAs.- Parameters:
chainOrigNamesMap
- a map of NCS chain name to original chain name
-
removeInterfacesBelowArea
public void removeInterfacesBelowArea()
Removes from this interface list all interfaces with areas below the default cutoff area. Note that this must be called aftercalcAsas(int, int, int)
, otherwise all areas would be 0 and thus all removed.- See Also:
DEFAULT_MINIMUM_INTERFACE_AREA
-
removeInterfacesBelowArea
public void removeInterfacesBelowArea(double area)
Removes from this interface list all interfaces with areas below the given cutoff area. Note that this must be called aftercalcAsas(int, int, int)
, otherwise all areas would be 0 and thus all removed.- Parameters:
area
- the minimum interface buried surface area to keep. Interfaces below this value will be removed.
-
getClusters
public List<StructureInterfaceCluster> getClusters()
Calculate the interface clusters for this StructureInterfaceList using a contact overlap score to measure the similarity of interfaces. Subsequent calls will use the cached value without recomputing the clusters. The contact overlap score cutoff to consider a pair in the same cluster is the valueDEFAULT_CONTACT_OVERLAP_SCORE_CLUSTER_CUTOFF
- Returns:
-
getClusters
public List<StructureInterfaceCluster> getClusters(double contactOverlapScoreClusterCutoff)
Calculate the interface clusters for this StructureInterfaceList using Jaccard contact set scores to measure the similarity of interfaces. Subsequent calls will use the cached value without recomputing the clusters. The clusters will be assigned ids by sorting descending byStructureInterfaceCluster.getTotalArea()
- Parameters:
contactOverlapScoreClusterCutoff
- the contact overlap score above which a pair will be clustered- Returns:
-
iterator
public Iterator<StructureInterface> iterator()
- Specified by:
iterator
in interfaceIterable<StructureInterface>
-
calculateInterfaces
public static StructureInterfaceList calculateInterfaces(Structure struc)
Calculates the interfaces for a structure using default parameters- Parameters:
struc
-- Returns:
-
-