Class StructureInterfaceList

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Iterable<StructureInterface>

    public class StructureInterfaceList
    extends java.lang.Object
    implements java.io.Serializable, java.lang.Iterable<StructureInterface>
    A list of interfaces between 2 molecules (2 sets of atoms)
    Author:
    Jose Duarte
    See Also:
    Serialized Form
    • 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_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

      • size

        public int size()
      • get

        public StructureInterface get​(int id)
        Gets the interface corresponding to given id. The ids go from 1 to n If sort() 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 java.util.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​(java.util.Map<java.lang.String,​java.lang.String> chainOrigNamesMap)
        Sets a map with mapping from NCS chain names to original chain names. Necessary when addNcsEquivalent(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 after calcAsas(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 after calcAsas(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 java.util.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 value DEFAULT_CONTACT_OVERLAP_SCORE_CLUSTER_CUTOFF
        Returns:
      • getClusters

        public java.util.List<StructureInterfaceCluster> getClusters​(double contactOverlapScoreClusterCutoff)
        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 clusters will be assigned ids by sorting descending by StructureInterfaceCluster.getTotalArea()
        Parameters:
        contactOverlapScoreClusterCutoff - the contact overlap score above which a pair will be clustered
        Returns:
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • calculateInterfaces

        public static StructureInterfaceList calculateInterfaces​(Structure struc)
        Calculates the interfaces for a structure using default parameters
        Parameters:
        struc -
        Returns: