Interface AtomBasedTorsionAngleType

All Superinterfaces:
DisplayableExportable, TorsionAngleType
All Known Implementing Classes:
ImmutableAtomBasedTorsionAngleType

@Immutable public interface AtomBasedTorsionAngleType extends TorsionAngleType
A torsion angle which is defined upon four atomic coordinates.
  • Method Details

    • moleculeType

      @Parameter(order=1) MoleculeType moleculeType()
      Specified by:
      moleculeType in interface TorsionAngleType
      Returns:
      The molecule this torsion angle is defined for.
    • calculate

      default TorsionAngleValue calculate(List<PdbResidue> residues, int currentIndex)
      Calculates the value of this torsion angle (see Angle.torsionAngle(Vector3D, Vector3D, Vector3D, Vector3D)).
      Specified by:
      calculate in interface TorsionAngleType
      Parameters:
      residues - The list of residues.
      currentIndex - The index of current residue.
      Returns:
      The value of torsion angle of this type.
    • shortDisplayName

      @Parameter(order=2) String shortDisplayName()
      Specified by:
      shortDisplayName in interface DisplayableExportable
      Returns:
      A short name to be shown in UI summary.
    • longDisplayName

      default String longDisplayName()
      Specified by:
      longDisplayName in interface DisplayableExportable
      Returns:
      A long name to be shown in UI, may contain Unicode.
    • exportName

      @Parameter(order=3) String exportName()
      Specified by:
      exportName in interface DisplayableExportable
      Returns:
      A name to be used during export to output file, should be ASCII only.
    • atoms

      @Parameter(order=4) Quadruple<AtomName> atoms()
      Returns:
      The quadruple of atoms defining this torsion angle type.
    • residueRule

      @Parameter(order=5) Quadruple<Integer> residueRule()
      Returns:
      The quadruple of relative indices to take atoms from. For example, a rule (0, 0, 0, 0) means that all atoms are from the same residue, while a rule (-1, 0, 0, 0) means that the first atom is taken from the preceding residue.
    • isPseudoTorsion

      @Default default boolean isPseudoTorsion()
      Returns:
      True if this is an instance of a pseudo-torsion angle type. A pseudo-torsion angle type is defined on a quadruple of atoms which are not connected (See NucleotideTorsionAngle.ETA or AminoAcidTorsionAngle.CALPHA).
    • calculate

      default TorsionAngleValue calculate(PdbAtomLine a1, PdbAtomLine a2, PdbAtomLine a3, PdbAtomLine a4)
      Calculates a value of this torsion angle type given atoms explicitly.
      Parameters:
      a1 - The first atom.
      a2 - The second atom.
      a3 - The third atom.
      a4 - The fourth atom.
      Returns:
      A value of this torsion angle type.
    • findAtomPairs

      default List<AtomPair> findAtomPairs(List<PdbResidue> residues, int currentIndex)
      Applies residueRule() on the given list of residues to find three pairs of atoms: (a1, a2), (a2, a3), (a3, a4).
      Parameters:
      residues - The list of residues.
      currentIndex - Index of the current residue.
      Returns:
      The list of atom pairs with three entries: (a1, a2), (a2, a3), (a3, a4)