Class AtomPositionMap


  • public class AtomPositionMap
    extends Object
    A map from ResidueNumbers to ATOM record positions in a PDB file.

    To use:

     Atom[] atoms = new AtomCache().getAtoms("1w0p");
     AtomPositionMap map = new AtomPositionMap(atoms);
     ResidueNumber start = new ResidueNumber("A", 100, null);
     ResidueNumber end = map.getEnd("A");
     int pos = map.getPosition(start);
     int length = map.calcLength(start, end);
     

    Note: The getLength() methods were introduced in BioJava 4.0.0 to replace the calcLength methods. The new method returns the number of residues between two residues, inclusive, whereas the previous method returned 1 less than that.

    Author:
    Douglas Myers-Turnbull
    • Constructor Detail

      • AtomPositionMap

        public AtomPositionMap​(Atom[] atoms)
        Creates a new AtomPositionMap containing peptide alpha-carbon atoms
        Parameters:
        atoms -
      • AtomPositionMap

        public AtomPositionMap​(Atom[] atoms,
                               AtomPositionMap.GroupMatcher matcher)
        Creates a new AtomPositionMap containing only atoms matched by matcher. If multiple atoms are present from a group, the first atom encountered will be used.
        Parameters:
        atoms -
      • AtomPositionMap

        public AtomPositionMap​(Structure s)
        Creates a new AtomPositionMap containing representative atoms from a structure.
        Parameters:
        s -
    • Method Detail

      • getLength

        public int getLength​(int positionA,
                             int positionB,
                             String startingChain)
        Calculates the number of residues of the specified chain in a given range, inclusive.
        Parameters:
        positionA - index of the first atom to count
        positionB - index of the last atom to count
        startingChain - Case-sensitive chain
        Returns:
        The number of atoms between A and B inclusive belonging to the given chain
      • getLengthDirectional

        public int getLengthDirectional​(int positionStart,
                                        int positionEnd,
                                        String startingChain)
        Calculates the number of residues of the specified chain in a given range. Will return a negative value if the start is past the end.
        Parameters:
        positionStart - index of the first atom to count
        positionEnd - index of the last atom to count
        startingChain - Case-sensitive chain
        Returns:
        The number of atoms from A to B inclusive belonging to the given chain
      • getLength

        public int getLength​(ResidueNumber start,
                             ResidueNumber end)
        Calculates the number of atoms between two ResidueNumbers, inclusive. Both residues must belong to the same chain.
        Parameters:
        start - First residue
        end - Last residue
        Returns:
        The number of atoms from A to B inclusive
        Throws:
        IllegalArgumentException - if start and end are on different chains, or if either of the residues doesn't exist
      • getLengthDirectional

        public int getLengthDirectional​(ResidueNumber start,
                                        ResidueNumber end)
        Calculates the number of atoms between two ResidueNumbers, inclusive. Both residues must belong to the same chain. Will return a negative value if the start is past the end.
        Parameters:
        start - First residue
        end - Last residue
        Returns:
        The number of atoms from A to B inclusive
        Throws:
        IllegalArgumentException - if start and end are on different chains, or if either of the residues doesn't exist
      • getPosition

        public Integer getPosition​(ResidueNumber residueNumber)
        Gets the 0-based index of residueNumber to the matched atoms
        Parameters:
        residueNumber -
        Returns:
        The position of the ATOM record in the PDB file corresponding to the residueNumber, or null if the residueNumber was not found