public class StructureInterface extends Object implements Serializable, Comparable<StructureInterface>
Constructor and Description |
---|
StructureInterface()
Constructs an empty StructureInterface
|
StructureInterface(Atom[] firstMolecule,
Atom[] secondMolecule,
String firstMoleculeId,
String secondMoleculeId,
AtomContactSet contacts,
CrystalTransform firstTransf,
CrystalTransform secondTransf)
Constructs a StructureInterface
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(StructureInterface o) |
protected Atom[] |
getAtomsForAsa(int cofactorSizeToUse) |
StructureInterfaceCluster |
getCluster() |
double |
getContactOverlapScore(StructureInterface other,
boolean invert)
Calculates the contact overlap score between this StructureInterface and
the given one.
|
AtomContactSet |
getContacts() |
Pair<List<Group>> |
getCoreResidues(double bsaToAsaCutoff,
double minAsaForSurface)
Returns the residues belonging to the interface core, defined as those residues at
the interface (BSA>0) and for which the BSA/ASA ratio is above the given bsaToAsaCutoff
|
Pair<String> |
getCrystalIds()
Returns a pair of identifiers for each of the 2 member molecules that
identify them uniquely in the crystal:
<molecule id (asym unit id)>+<operator id>+<crystal translation>
|
protected Atom[] |
getFirstAtomsForAsa(int cofactorSizeToUse) |
GroupAsa |
getFirstGroupAsa(ResidueNumber resNum)
Gets the GroupAsa for the corresponding residue number of first chain
|
Map<ResidueNumber,GroupAsa> |
getFirstGroupAsas()
Gets a map of ResidueNumbers to GroupAsas for all groups of first chain.
|
GroupContactSet |
getGroupContacts() |
int |
getId() |
Pair<List<Group>> |
getInterfacingResidues(double minAsaForSurface)
Returns the residues belonging to the interface, i.e. the residues
at the surface with BSA>0
|
Pair<String> |
getMoleculeIds()
Return the pair of identifiers identifying each of the 2 molecules of this interface
in the asymmetry unit (usually the chain identifier if this interface is between 2 chains)
|
Pair<Atom[]> |
getMolecules() |
Pair<Chain> |
getParentChains()
Finds the parent chains by looking up the references of first atom of each side of this interface
|
Pair<EntityInfo> |
getParentCompounds()
Finds the parent compounds by looking up the references of first atom of each side of this interface
|
Pair<List<Group>> |
getRimResidues(double bsaToAsaCutoff,
double minAsaForSurface)
Returns the residues belonging to the interface rim, defined as those residues at
the interface (BSA>0) and for which the BSA/ASA ratio is below the given bsaToAsaCutoff
|
protected Atom[] |
getSecondAtomsForAsa(int cofactorSizeToUse) |
GroupAsa |
getSecondGroupAsa(ResidueNumber resNum)
Gets the GroupAsa for the corresponding residue number of second chain
|
Map<ResidueNumber,GroupAsa> |
getSecondGroupAsas()
Gets a map of ResidueNumbers to GroupAsas for all groups of second chain.
|
Pair<List<Group>> |
getSurfaceResidues(double minAsaForSurface)
Returns the residues belonging to the surface
|
double |
getTotalArea()
Returns the total area buried upon formation of this interface,
defined as: 1/2[ (ASA1u-ASA1c) + (ASA2u-ASA2u) ] , with:
ASAxu = ASA of first/second unbound chain
ASAxc = ASA of first/second complexed chain
In the area calculation HETATOM groups not part of the main protein/nucleotide chain
are not included.
|
Pair<CrystalTransform> |
getTransforms()
Return the 2 crystal transform operations performed on each of the
molecules of this interface.
|
boolean |
isHomomeric()
Returns true if the 2 molecules of this interface are the same entity (i.e. homomeric interface), false
otherwise (i.e. heteromeric interface)
|
boolean |
isInfinite()
Returns true if the transformation applied to the second molecule of this interface
has an infinite character (pure translation or screw rotation)
and both molecules of the interface have the same asymmetric unit identifier (chain id): in such cases the
interface would lead to infinite fiber-like (linear or helical) assemblies
|
boolean |
isIsologous()
Tell whether the interface is isologous, i.e. it is formed
by the same patches of same Compound on both sides.
|
boolean |
isSymRelated()
Tells whether the interface corresponds to one mediated by crystallographic symmetry,
i.e. it is between symmetry-related molecules (with same chain identifier)
|
protected void |
setAsas(double[] asas1,
double[] asas2,
int nSpherePoints,
int nThreads,
int cofactorSizeToUse) |
void |
setCluster(StructureInterfaceCluster cluster) |
void |
setContacts(AtomContactSet contacts) |
void |
setFirstGroupAsa(GroupAsa groupAsa) |
void |
setId(int id) |
void |
setMoleculeIds(Pair<String> moleculeIds) |
void |
setMolecules(Pair<Atom[]> molecules) |
void |
setSecondGroupAsa(GroupAsa groupAsa) |
void |
setTotalArea(double totalArea) |
void |
setTransforms(Pair<CrystalTransform> transforms) |
String |
toMMCIF()
Return a String representing the 2 molecules of this interface in mmCIF format.
|
String |
toPDB()
Return a String representing the 2 molecules of this interface in PDB format.
|
String |
toString() |
public StructureInterface(Atom[] firstMolecule, Atom[] secondMolecule, String firstMoleculeId, String secondMoleculeId, AtomContactSet contacts, CrystalTransform firstTransf, CrystalTransform secondTransf)
firstMolecule
- the atoms of the first moleculesecondMolecule
- the atoms of the second moleculefirstMoleculeId
- an identifier that identifies the first molecule within the Asymmetric UnitsecondMoleculeId
- an identifier that identifies the second molecule within the Asymmetric Unitcontacts
- the contacts between the 2 moleculesfirstTransf
- the transformation (crystal operator) applied to first moleculesecondTransf
- the transformation (crystal operator) applied to second moleculepublic StructureInterface()
public int getId()
public void setId(int id)
public Pair<String> getCrystalIds()
public double getTotalArea()
ASAxu = ASA of first/second unbound chain
ASAxc = ASA of first/second complexed chain
In the area calculation HETATOM groups not part of the main protein/nucleotide chain are not included.public void setTotalArea(double totalArea)
public AtomContactSet getContacts()
public void setContacts(AtomContactSet contacts)
public Pair<Atom[]> getMolecules()
public void setMolecules(Pair<Atom[]> molecules)
public Pair<String> getMoleculeIds()
public void setMoleculeIds(Pair<String> moleculeIds)
public Pair<CrystalTransform> getTransforms()
public void setTransforms(Pair<CrystalTransform> transforms)
protected void setAsas(double[] asas1, double[] asas2, int nSpherePoints, int nThreads, int cofactorSizeToUse)
protected Atom[] getFirstAtomsForAsa(int cofactorSizeToUse)
protected Atom[] getSecondAtomsForAsa(int cofactorSizeToUse)
protected Atom[] getAtomsForAsa(int cofactorSizeToUse)
public boolean isSymRelated()
public boolean isInfinite()
public boolean isHomomeric()
public Map<ResidueNumber,GroupAsa> getFirstGroupAsas()
public GroupAsa getFirstGroupAsa(ResidueNumber resNum)
resNum
- public void setFirstGroupAsa(GroupAsa groupAsa)
public Map<ResidueNumber,GroupAsa> getSecondGroupAsas()
public void setSecondGroupAsa(GroupAsa groupAsa)
public GroupAsa getSecondGroupAsa(ResidueNumber resNum)
resNum
- public Pair<List<Group>> getCoreResidues(double bsaToAsaCutoff, double minAsaForSurface)
bsaToAsaCutoff
- minAsaForSurface
- the minimum ASA to consider a residue on the surfacepublic Pair<List<Group>> getRimResidues(double bsaToAsaCutoff, double minAsaForSurface)
bsaToAsaCutoff
- minAsaForSurface
- the minimum ASA to consider a residue on the surfacepublic Pair<List<Group>> getInterfacingResidues(double minAsaForSurface)
minAsaForSurface
- the minimum ASA to consider a residue on the surfacepublic Pair<List<Group>> getSurfaceResidues(double minAsaForSurface)
minAsaForSurface
- the minimum ASA to consider a residue on the surfacepublic StructureInterfaceCluster getCluster()
public void setCluster(StructureInterfaceCluster cluster)
public double getContactOverlapScore(StructureInterface other, boolean invert)
EntityInfo.getAlignedResIndex(Group, Chain)
are
used to match residues, thus if no SEQRES is present or if FileParsingParameters.setAlignSeqRes(boolean)
is not used, this calculation is not guaranteed to work properly.other
- invert
- if false the comparison will be done first-to-first and second-to-second,
if true the match will be first-to-second and second-to-firstpublic GroupContactSet getGroupContacts()
public boolean isIsologous()
public Pair<Chain> getParentChains()
public Pair<EntityInfo> getParentCompounds()
public String toPDB()
public String toMMCIF()
getTransforms()
public int compareTo(StructureInterface o)
compareTo
in interface Comparable<StructureInterface>
Copyright © 2000–2018 BioJava. All rights reserved.