Class AtomPositionMap

java.lang.Object
org.biojava.nbio.structure.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:
dmyerstu
  • Field Details

  • Constructor Details

    • 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 Details

    • 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
    • getNavMap

      public NavigableMap<ResidueNumber,Integer> getNavMap()
    • 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
    • getFirst

      public ResidueNumber getFirst(String chainId)
      Parameters:
      chainId -
      Returns:
      The first ResidueNumber of the specified chain (the one highest down in the PDB file)
    • getLast

      public ResidueNumber getLast(String chainId)
      Parameters:
      chainId -
      Returns:
      The last ResidueNumber of the specified chain (the one farthest down in the PDB file)
    • getFirst

      public ResidueNumber getFirst()
      Returns:
      The first ResidueNumber of any chain (the one farthest down in the PDB file)
    • getLast

      public ResidueNumber getLast()
      Returns:
      The last ResidueNumber of any chain (the one farthest down in the PDB file)
    • getRanges

      public List<ResidueRangeAndLength> getRanges()
      Returns a list of ResidueRanges corresponding to this entire AtomPositionMap.
    • trimToValidResidues

      public ResidueRangeAndLength trimToValidResidues(ResidueRange rr)
      Trims a residue range so that both endpoints are contained in this map.
      Parameters:
      rr -
      map -
      Returns: